feat: dideban docs

This commit is contained in:
2025-08-26 17:38:07 +03:30
parent b562864704
commit 41ee3cf137
6 changed files with 1583 additions and 0 deletions

435
docs/services/dideban.qmd Normal file
View File

@@ -0,0 +1,435 @@
---
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))
}
```
:::