DOCS

Shipping label | Declaration ID 검증

Declaration ID status 조회 및 customs documentation 자동 입력

postal label을 생성하는 경우 user가 Declaration ID를 제공하면 Zonos를 호출하여 complete customs declaration 상세를 조회할 수 있습니다. user가 customs documentation을 manual로 작성할 필요가 없어 duty가 prepaid되고 customs form이 자동으로 채워지는 원활한 shipping experience를 제공합니다.

Customs declaration 자동 입력 

아래 단계에 따라 platform의 Declaration ID로 customs declaration 자동 입력을 활성화합니다.

1. Label creation flow에 Declaration ID field 활성화

postal label creation interface에 Declaration ID field를 추가합니다. user가 valid Declaration ID를 입력하면 platform이 customs declaration을 auto-populate하여 manual data entry를 제거합니다.

2. Declaration ID status 및 customs declaration 상세 query

다음 query로 Declaration ID를 사용해 complete customs declaration data를 조회합니다. validation status와 item 상세, value, HS code, recipient information(가능한 경우)을 반환합니다

1query DeclarationQuery($id: ID!) {
2 declaration(id: $id) {
3 id
4 status
5 paymentStatus
6 landedCost {
7 id
8 method
9 landedCostGuaranteeCode
10 amountSubtotals {
11 duties
12 taxes
13 fees
14 landedCostTotal
15 }
16 }
17 items {
18 id
19 sku
20 productId
21 amount
22 currencyCode
23 name
24 hsCode
25 description
26 hsCodeSource
27 countryOfOrigin
28 quantity
29 measurements {
30 type
31 value
32 unitOfMeasure
33 }
34 }
35 parties {
36 id
37 type
38 person {
39 firstName
40 lastName
41 email
42 phone
43 }
44 location {
45 id
46 line1
47 line2
48 countryCode
49 postalCode
50 }
51 }
52 }
53}

3. Response 처리 및 customs declaration auto-populate

API response에는 validation status와 customs data가 포함됩니다. status 정보로 Declaration ID valid 여부를 판단한 후 available customs data를 auto-populate하거나 manual entry를 요청합니다.

Response 예제

Complete customs data가 있는 valid Declaration ID:

{
  "data": {
    "declaration": {
      "id": "0mm1993s0mdcn",
      "status": "OPEN",
      "paymentStatus": "OPEN",
      "landedCost": {
        "id": "landed_cost_eabb13ab-df23-45df-9ce8-96dd29d396d1",
        "method": "DAP",
        "landedCostGuaranteeCode": "NOT_APPLICABLE",
        "amountSubtotals": {
          "duties": 0.0,
          "taxes": 0.0,
          "fees": 2.62,
          "landedCostTotal": 2.62
        }
      },
      "items": [
        {
          "id": "item_0mm199388v57g",
          "sku": "item_1",
          "productId": "item_1",
          "amount": 70.0,
          "currencyCode": "USD",
          "name": "Item 1",
          "hsCode": "9504.90.4000",
          "description": "This is the description for Item 1",
          "hsCodeSource": "TARIFF_COMPLETED",
          "countryOfOrigin": "CN",
          "quantity": 2,
          "measurements": [
            {
              "type": "WEIGHT",
              "value": 1,
              "unitOfMeasure": "POUND"
            }
          ]
        }
      ],
      "parties": [
        {
          "id": "party_0kesb32rw5hfa",
          "type": "DESTINATION",
          "person": {
            "firstName": "test",
            "lastName": "origin",
            "email": null,
            "phone": "1234567890"
          },
          "location": {
            "id": "location_c7882546-652e-49cb-81a4-98962a54c49f",
            "line1": "123 Test Street",
            "line2": "",
            "countryCode": "US",
            "postalCode": "84790"
          }
        },
        {
          "id": "party_0mjfz59bgg175",
          "type": "ORIGIN",
          "person": {
            "firstName": "test",
            "lastName": "destination",
            "email": null,
            "phone": "1234567890"
          },
          "location": {
            "id": "location_0mdzb9vk8bp7c",
            "line1": "998 Ridgehaven",
            "line2": null,
            "countryCode": "CA",
            "postalCode": "N0N 0N0"
          }
        }
      ]
    }
  }
}

4. Shipment 생성

Declaration ID에서 auto-populated data 또는 manual 입력 declaration information으로 label creation을 처리합니다.

label creation 후 declarationShipmentCreate mutation으로 tracking number와 Declaration ID를 연결하여 proper duty payment validation과 shipment tracking을 보장합니다.

1mutation DeclarationShipmentCreate($input: DeclarationShipmentCreateInput!) {
2 declarationShipmentCreate(input: $input)
3}

trackingNumbers array와 shipment에 사용된 declarationID를 전달하여 Declaration ID에 연결된 shipment을 생성할 수 있습니다.

declarationID와 carton 및 carton 내 item 상세를 전달하여 shipment을 생성할 수 있으며, shipmentCarton과 해당 carton의 trackingNumber를 함께 전달합니다.

GraphQL API ReferenceTypes, inputs, and operations used in this guide

이 페이지가 도움이 되었나요?