Files
wiki/docs/services/dideban.qmd
2025-08-26 17:38:07 +03:30

435 lines
16 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "درخواست ثبت OCR کانتینرها"
author: "تیم توسعه"
date: "2025-08-26"
format: html
lang: fa
---
# توضیحات
سرویس ثبت اطلاعات استخراج شده توسط OCR. سرویس مربوطه در بستر وب و معماری REST پیاده‌سازی شده است.
جهت ارسال اطلاعات به این سرویس، باید کاربر و api-key احراز هویت شده را از تیم توسعه دریافت کنید و طبق نمونه کدهای ارائه شده در راهنمای زیر، اقدام به ارسال اطلاعات نمایید.
# راهنما
نمونه پیاده‌سازی در زبان‌های برنامه‌نویسی مختلف
:::{.callout-note}
بعد از دریافت api-key باید مقدار آن در header درخواست `x-api-key` قرار دهید.
هدر درخواست: `x-api-key: api-key`
نوع درخواست: `POST`
:::
آدرس اصلی سامانه:
```bash
https://api.main.accessport.ir/api/v1/container-ocr/
```
اطلاعات
### نمونه کدها
متن your-api-key را با api-key خودتان جایگزین کنید.
::: {.panel-tabset}
### cURL
```bash
curl --request POST \
--url https://api.main.accessport.ir/api/v1/container-ocr/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: your-api-key' \
--data '{
"event_id": "b4a13fc8-2663-4f69-9d1d-1c1a5bb8e9a3",
"timestamp_utc": "2025-08-17T14:22:35Z",
"source_system": "dideban-hazmat-ocr",
"camera": {
"id": "11111111-1111-1111-1111-111111111111",
"name": "North Gate Camera 3",
"group": "Gate Cameras",
"location": {
"latitude": 35.6892,
"longitude": 51.3890,
"description": "Tehran Port North Entrance"
}
},
"image": {
"id": "649ab03d-f633-4e19-8a9f-2f312d0f90e0",
"url": "https://your-system.local/images/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg",
"local_path": "data/uploads/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg",
"sha256": "9b1c3ff3469dc70fbd5d7e6dc926fdf2b45a...",
"resolution": {"width": 1920, "height": 1080}
},
"container": {
"number": "MSCU1234567",
"owner_code": "MSCU",
"equipment_category": "U",
"serial_number": "123456",
"check_digit": "7",
"iso_code": "22G1",
"size_type_code": "22G1",
"read_confidence": 0.95
},
"hazmat_labels": [
{
"un_number": "1203",
"class_code": "3",
"subclass_code": null,
"label_name": "Flammable Liquid",
"confidence": 0.96,
"bounding_box": {
"x": 0.62,
"y": 0.33,
"width": 0.12,
"height": 0.18
}
},
{
"un_number": "3082",
"class_code": "9",
"label_name": "Miscellaneous Dangerous Substances",
"confidence": 0.88,
"bounding_box": {
"x": 0.21,
"y": 0.55,
"width": 0.10,
"height": 0.16
}
}
],
"processing_info": {
"pipeline_version": "1.2.0",
"validated": true,
"corrected": false,
"processing_duration_ms": 842
}
}'
```
### JavaScript
```js
import axios from "axios";
const options = {
method: 'POST',
url: 'https://api.main.accessport.ir/api/v1/container-ocr/',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'your-api-key'
},
data: {
event_id: 'b4a13fc8-2663-4f69-9d1d-1c1a5bb8e9a3',
timestamp_utc: '2025-08-17T14:22:35Z',
source_system: 'dideban-hazmat-ocr',
camera: {
id: '11111111-1111-1111-1111-111111111111',
name: 'North Gate Camera 3',
group: 'Gate Cameras',
location: {
latitude: 35.6892,
longitude: 51.389,
description: 'Tehran Port North Entrance'
}
},
image: {
id: '649ab03d-f633-4e19-8a9f-2f312d0f90e0',
url: 'https://your-system.local/images/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg',
local_path: 'data/uploads/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg',
sha256: '9b1c3ff3469dc70fbd5d7e6dc926fdf2b45a...',
resolution: {width: 1920, height: 1080}
},
container: {
number: 'MSCU1234567',
owner_code: 'MSCU',
equipment_category: 'U',
serial_number: '123456',
check_digit: '7',
iso_code: '22G1',
size_type_code: '22G1',
read_confidence: 0.95
},
hazmat_labels: [
{
un_number: '1203',
class_code: '3',
subclass_code: null,
label_name: 'Flammable Liquid',
confidence: 0.96,
bounding_box: {x: 0.62, y: 0.33, width: 0.12, height: 0.18}
},
{
un_number: '3082',
class_code: '9',
label_name: 'Miscellaneous Dangerous Substances',
confidence: 0.88,
bounding_box: {x: 0.21, y: 0.55, width: 0.1, height: 0.16}
}
],
processing_info: {
pipeline_version: '1.2.0',
validated: true,
corrected: false,
processing_duration_ms: 842
}
}
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});
```
### Python
```python
import requests
url = "https://api.main.accessport.ir/api/v1/container-ocr/"
payload = {
"event_id": "b4a13fc8-2663-4f69-9d1d-1c1a5bb8e9a3",
"timestamp_utc": "2025-08-17T14:22:35Z",
"source_system": "dideban-hazmat-ocr",
"camera": {
"id": "11111111-1111-1111-1111-111111111111",
"name": "North Gate Camera 3",
"group": "Gate Cameras",
"location": {
"latitude": 35.6892,
"longitude": 51.389,
"description": "Tehran Port North Entrance"
}
},
"image": {
"id": "649ab03d-f633-4e19-8a9f-2f312d0f90e0",
"url": "https://your-system.local/images/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg",
"local_path": "data/uploads/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg",
"sha256": "9b1c3ff3469dc70fbd5d7e6dc926fdf2b45a...",
"resolution": {
"width": 1920,
"height": 1080
}
},
"container": {
"number": "MSCU1234567",
"owner_code": "MSCU",
"equipment_category": "U",
"serial_number": "123456",
"check_digit": "7",
"iso_code": "22G1",
"size_type_code": "22G1",
"read_confidence": 0.95
},
"hazmat_labels": [
{
"un_number": "1203",
"class_code": "3",
"subclass_code": None,
"label_name": "Flammable Liquid",
"confidence": 0.96,
"bounding_box": {
"x": 0.62,
"y": 0.33,
"width": 0.12,
"height": 0.18
}
},
{
"un_number": "3082",
"class_code": "9",
"label_name": "Miscellaneous Dangerous Substances",
"confidence": 0.88,
"bounding_box": {
"x": 0.21,
"y": 0.55,
"width": 0.1,
"height": 0.16
}
}
],
"processing_info": {
"pipeline_version": "1.2.0",
"validated": True,
"corrected": False,
"processing_duration_ms": 842
}
}
headers = {
"Content-Type": "application/json",
"x-api-key": "your-api-key"
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
```
### CSharp
```csharp
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://api.main.accessport.ir/api/v1/container-ocr/"),
Headers =
{
{ "x-api-key", "your-api-key" },
},
Content = new StringContent("{\n \"event_id\": \"b4a13fc8-2663-4f69-9d1d-1c1a5bb8e9a3\",\n \"timestamp_utc\": \"2025-08-17T14:22:35Z\",\n \"source_system\": \"dideban-hazmat-ocr\",\n \"camera\": {\n \"id\": \"11111111-1111-1111-1111-111111111111\",\n \"name\": \"North Gate Camera 3\",\n \"group\": \"Gate Cameras\",\n \"location\": {\n \"latitude\": 35.6892,\n \"longitude\": 51.3890,\n \"description\": \"Tehran Port North Entrance\"\n }\n },\n \"image\": {\n \"id\": \"649ab03d-f633-4e19-8a9f-2f312d0f90e0\",\n \"url\": \"https://your-system.local/images/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg\",\n \"local_path\": \"data/uploads/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg\",\n \"sha256\": \"9b1c3ff3469dc70fbd5d7e6dc926fdf2b45a...\",\n \"resolution\": {\"width\": 1920, \"height\": 1080}\n },\n \"container\": {\n \"number\": \"MSCU1234567\",\n \"owner_code\": \"MSCU\",\n \"equipment_category\": \"U\", \n \"serial_number\": \"123456\",\n \"check_digit\": \"7\",\n \"iso_code\": \"22G1\",\n \"size_type_code\": \"22G1\",\n \"read_confidence\": 0.95\n },\n \"hazmat_labels\": [\n {\n \"un_number\": \"1203\",\n \"class_code\": \"3\",\n \"subclass_code\": null,\n \"label_name\": \"Flammable Liquid\",\n \"confidence\": 0.96,\n \"bounding_box\": {\n \"x\": 0.62,\n \"y\": 0.33,\n \"width\": 0.12,\n \"height\": 0.18\n }\n },\n {\n \"un_number\": \"3082\",\n \"class_code\": \"9\",\n \"label_name\": \"Miscellaneous Dangerous Substances\",\n \"confidence\": 0.88,\n \"bounding_box\": {\n \"x\": 0.21,\n \"y\": 0.55,\n \"width\": 0.10,\n \"height\": 0.16\n }\n }\n ],\n \"processing_info\": {\n \"pipeline_version\": \"1.2.0\",\n \"validated\": true,\n \"corrected\": false,\n \"processing_duration_ms\": 842\n }\n}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
```
### PHP (http v1)
```php
<?php
$request = new HttpRequest();
$request->setUrl('https://api.main.accessport.ir/api/v1/container-ocr/');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders([
'Content-Type' => 'application/json',
'x-api-key' => 'your-api-key'
]);
$request->setBody('{
"event_id": "b4a13fc8-2663-4f69-9d1d-1c1a5bb8e9a3",
"timestamp_utc": "2025-08-17T14:22:35Z",
"source_system": "dideban-hazmat-ocr",
"camera": {
"id": "11111111-1111-1111-1111-111111111111",
"name": "North Gate Camera 3",
"group": "Gate Cameras",
"location": {
"latitude": 35.6892,
"longitude": 51.3890,
"description": "Tehran Port North Entrance"
}
},
"image": {
"id": "649ab03d-f633-4e19-8a9f-2f312d0f90e0",
"url": "https://your-system.local/images/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg",
"local_path": "data/uploads/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg",
"sha256": "9b1c3ff3469dc70fbd5d7e6dc926fdf2b45a...",
"resolution": {"width": 1920, "height": 1080}
},
"container": {
"number": "MSCU1234567",
"owner_code": "MSCU",
"equipment_category": "U",
"serial_number": "123456",
"check_digit": "7",
"iso_code": "22G1",
"size_type_code": "22G1",
"read_confidence": 0.95
},
"hazmat_labels": [
{
"un_number": "1203",
"class_code": "3",
"subclass_code": null,
"label_name": "Flammable Liquid",
"confidence": 0.96,
"bounding_box": {
"x": 0.62,
"y": 0.33,
"width": 0.12,
"height": 0.18
}
},
{
"un_number": "3082",
"class_code": "9",
"label_name": "Miscellaneous Dangerous Substances",
"confidence": 0.88,
"bounding_box": {
"x": 0.21,
"y": 0.55,
"width": 0.10,
"height": 0.16
}
}
],
"processing_info": {
"pipeline_version": "1.2.0",
"validated": true,
"corrected": false,
"processing_duration_ms": 842
}
}');
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
```
### JAVA
```java
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "https://api.main.accessport.ir/api/v1/container-ocr/")
.setHeader("Content-Type", "application/json")
.setHeader("x-api-key", "your-api-key")
.setBody("{\n \"event_id\": \"b4a13fc8-2663-4f69-9d1d-1c1a5bb8e9a3\",\n \"timestamp_utc\": \"2025-08-17T14:22:35Z\",\n \"source_system\": \"dideban-hazmat-ocr\",\n \"camera\": {\n \"id\": \"11111111-1111-1111-1111-111111111111\",\n \"name\": \"North Gate Camera 3\",\n \"group\": \"Gate Cameras\",\n \"location\": {\n \"latitude\": 35.6892,\n \"longitude\": 51.3890,\n \"description\": \"Tehran Port North Entrance\"\n }\n },\n \"image\": {\n \"id\": \"649ab03d-f633-4e19-8a9f-2f312d0f90e0\",\n \"url\": \"https://your-system.local/images/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg\",\n \"local_path\": \"data/uploads/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg\",\n \"sha256\": \"9b1c3ff3469dc70fbd5d7e6dc926fdf2b45a...\",\n \"resolution\": {\"width\": 1920, \"height\": 1080}\n },\n \"container\": {\n \"number\": \"MSCU1234567\",\n \"owner_code\": \"MSCU\",\n \"equipment_category\": \"U\", \n \"serial_number\": \"123456\",\n \"check_digit\": \"7\",\n \"iso_code\": \"22G1\",\n \"size_type_code\": \"22G1\",\n \"read_confidence\": 0.95\n },\n \"hazmat_labels\": [\n {\n \"un_number\": \"1203\",\n \"class_code\": \"3\",\n \"subclass_code\": null,\n \"label_name\": \"Flammable Liquid\",\n \"confidence\": 0.96,\n \"bounding_box\": {\n \"x\": 0.62,\n \"y\": 0.33,\n \"width\": 0.12,\n \"height\": 0.18\n }\n },\n {\n \"un_number\": \"3082\",\n \"class_code\": \"9\",\n \"label_name\": \"Miscellaneous Dangerous Substances\",\n \"confidence\": 0.88,\n \"bounding_box\": {\n \"x\": 0.21,\n \"y\": 0.55,\n \"width\": 0.10,\n \"height\": 0.16\n }\n }\n ],\n \"processing_info\": {\n \"pipeline_version\": \"1.2.0\",\n \"validated\": true,\n \"corrected\": false,\n \"processing_duration_ms\": 842\n }\n}")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
```
### Go
```go
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.main.accessport.ir/api/v1/container-ocr/"
payload := strings.NewReader("{\n \"event_id\": \"b4a13fc8-2663-4f69-9d1d-1c1a5bb8e9a3\",\n \"timestamp_utc\": \"2025-08-17T14:22:35Z\",\n \"source_system\": \"dideban-hazmat-ocr\",\n \"camera\": {\n \"id\": \"11111111-1111-1111-1111-111111111111\",\n \"name\": \"North Gate Camera 3\",\n \"group\": \"Gate Cameras\",\n \"location\": {\n \"latitude\": 35.6892,\n \"longitude\": 51.3890,\n \"description\": \"Tehran Port North Entrance\"\n }\n },\n \"image\": {\n \"id\": \"649ab03d-f633-4e19-8a9f-2f312d0f90e0\",\n \"url\": \"https://your-system.local/images/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg\",\n \"local_path\": \"data/uploads/649ab03d-f633-4e19-8a9f-2f312d0f90e0.jpg\",\n \"sha256\": \"9b1c3ff3469dc70fbd5d7e6dc926fdf2b45a...\",\n \"resolution\": {\"width\": 1920, \"height\": 1080}\n },\n \"container\": {\n \"number\": \"MSCU1234567\",\n \"owner_code\": \"MSCU\",\n \"equipment_category\": \"U\", \n \"serial_number\": \"123456\",\n \"check_digit\": \"7\",\n \"iso_code\": \"22G1\",\n \"size_type_code\": \"22G1\",\n \"read_confidence\": 0.95\n },\n \"hazmat_labels\": [\n {\n \"un_number\": \"1203\",\n \"class_code\": \"3\",\n \"subclass_code\": null,\n \"label_name\": \"Flammable Liquid\",\n \"confidence\": 0.96,\n \"bounding_box\": {\n \"x\": 0.62,\n \"y\": 0.33,\n \"width\": 0.12,\n \"height\": 0.18\n }\n },\n {\n \"un_number\": \"3082\",\n \"class_code\": \"9\",\n \"label_name\": \"Miscellaneous Dangerous Substances\",\n \"confidence\": 0.88,\n \"bounding_box\": {\n \"x\": 0.21,\n \"y\": 0.55,\n \"width\": 0.10,\n \"height\": 0.16\n }\n }\n ],\n \"processing_info\": {\n \"pipeline_version\": \"1.2.0\",\n \"validated\": true,\n \"corrected\": false,\n \"processing_duration_ms\": 842\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("x-api-key", "your-api-key")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
```
:::