feat: dideban docs
This commit is contained in:
435
docs/services/dideban.qmd
Normal file
435
docs/services/dideban.qmd
Normal 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))
|
||||
|
||||
}
|
||||
```
|
||||
:::
|
||||
Reference in New Issue
Block a user