DOCS

Chuẩn bị tờ khai hải quan

Chuẩn bị tờ khai hải quan cho lô hàng Mỹ.

Cung cấp cho Zonos dữ liệu lô hàng bưu chính nhập khẩu.

Zonos sẽ chuẩn bị các tờ khai hải quan toàn diện bao gồm tất cả các thông tin cần thiết cho các lô hàng bưu chính vào Mỹ.

Chuẩn bị yêu cầu 

Tạo một tờ khai yêu cầu tổ chức dữ liệu lô hàng của bạn thành cấu trúc phù hợp. API sử dụng cách tiếp cận phân cấp, nơi bạn trước tiên tạo tờ khai, sau đó thêm các dòng tờ khai chứa chi tiết lô hàng riêng lẻ.

Mỗi thành phần có các trường bắt buộc cụ thể để đảm bảo tuân thủ hải quan và tài liệu chính xác. Dưới đây chúng tôi đã phác thảo cấu trúc dữ liệu cần thiết và các đầu vào bắt buộc.

Các loại đầu vào chính

API tờ khai sử dụng nhiều loại đầu vào để tổ chức dữ liệu lô hàng:

  • ManifestInput: Thông tin lô hàng cấp cao bao gồm sân bay, loại hoá đơn vận chuyển và chi tiết chuyến bay
  • ManifestLineInput: Chi tiết lô hàng riêng lẻ được liên kết với tờ khai
  • ManifestLineItemInput: Thông tin sản phẩm để phân loại hải quan
  • CreatePartyInput: Chi tiết bên và vị trí cho nguồn gốc và đích đến

Xem các định nghĩa trường hoàn chỉnh và các tùy chọn trong tài liệu tham khảo API GraphQL của chúng tôi.

Tạo tờ khai thông qua API 

Khi bạn đã tổ chức dữ liệu lô hàng, hãy gửi đột biến GraphQL để tạo tờ khai.

Bước 1: Tạo tiêu đề tờ khai

1mutation ManifestCreate($input: ManifestInput!) {
2 manifestCreate(input: $input) {
3 id
4 amount
5 arrivalDate
6 awbNumber
7 awbPrefix
8 carrierCode
9 createdAt
10 createdBy
11 destinationCode
12 operatorDestination
13 operatorOrigin
14 originCode
15 postalOperatorCode
16 serviceNumber
17 source
18 transportationMode
19 updatedAt
20 updatedBy
21 weight
22 weightUnit
23 statusTransitions {
24 createdAt
25 createdBy
26 note
27 source
28 }
29 lines(first: 5) {
30 totalCount
31 edges {
32 cursor
33 node {
34 id
35 trackingNumber
36 endUse
37 currencyCode
38 createdAt
39 createdBy
40 updatedAt
41 updatedBy
42 landedCost {
43 id
44 }
45 }
46 }
47 }
48 }
49}

RESPONSE

json

{
  "data": {
    "manifestCreate": {
      "id": "manifest_abc123def456",
      "amount": "0",
      "arrivalDate": "2026-03-15T14:30:00.000Z",
      "awbNumber": "1234",
      "awbPrefix": "001",
      "carrierCode": "AA",
      "createdAt": "2026-01-06T12:00:00.000Z",
      "createdBy": "organization_xyz789",
      "destinationCode": "JFK",
      "operatorDestination": "US",
      "originCode": "LHR",
      "postalOperatorCode": "J1CGBA",
      "serviceNumber": "1234",
      "source": "API",
      "transportationMode": "AIR",
      "updatedAt": "2026-01-06T12:00:00.000Z",
      "updatedBy": "organization_xyz789",
      "weight": "0",
      "weightUnit": "KILOGRAM",
      "statusTransitions": [],
      "lines": {
        "totalCount": 0,
        "edges": []
      }
    }
  }
}

Bước 2: Thêm dòng tờ khai

Sử dụng ID được trả về từ đột biến manifestCreate, bây giờ bạn có thể liên kết các lô hàng riêng lẻ với tờ khai.

1mutation ManifestLineCreate($manifestId: ID!, $input: ManifestLineInput!) {
2 manifestLineCreate(manifestId: $manifestId, input: $input) {
3 id
4 manifestId
5 trackingNumber
6 endUse
7 currencyCode
8 referenceNumber
9 arrivalDate
10 createdAt
11 createdBy
12 updatedAt
13 updatedBy
14 landedCost {
15 id
16 }
17 }
18}

RESPONSE

json

{
  "data": {
    "manifestLineCreate": {
      "id": "manifest_line_def456ghi789",
      "manifestId": "manifest_abc123def456",
      "trackingNumber": "LX123456789GB",
      "endUse": "NOT_FOR_RESALE",
      "currencyCode": "USD",
      "referenceNumber": "ORDER-2026-001",
      "arrivalDate": "2026-03-15T14:30:00.000Z",
      "createdAt": "2026-01-06T12:05:00.000Z",
      "createdBy": "organization_xyz789",
      "updatedAt": "2026-01-06T12:05:00.000Z",
      "updatedBy": "organization_xyz789",
      "landedCost": null
    }
  }
}

Bước 3: Thêm nhiều dòng tờ khai (hàng loạt)

Để hiệu quả, bạn có thể thêm nhiều dòng tờ khai trong một yêu cầu duy nhất bằng cách sử dụng đột biến manifestLinesCreate. Mỗi dòng yêu cầu mảng parties riêng để xác định nguồn gốc và đích đến của lô hàng.

1mutation ManifestLinesCreate($manifestId: ID!, $input: [ManifestLineInput!]!) {
2 manifestLinesCreate(manifestId: $manifestId, input: $input) {
3 id
4 manifestId
5 trackingNumber
6 endUse
7 currencyCode
8 createdAt
9 }
10}

RESPONSE

json

{
  "data": {
    "manifestLinesCreate": [
      {
        "id": "manifest_line_aaa111bbb222",
        "manifestId": "manifest_abc123def456",
        "trackingNumber": "LX123456789GB",
        "endUse": "NOT_FOR_RESALE",
        "currencyCode": "USD",
        "createdAt": "2026-01-06T12:10:00.000Z"
      },
      {
        "id": "manifest_line_ccc333ddd444",
        "manifestId": "manifest_abc123def456",
        "trackingNumber": "LX987654321GB",
        "endUse": "GIFT",
        "currencyCode": "USD",
        "createdAt": "2026-01-06T12:10:00.000Z"
      }
    ]
  }
}

Bước 4: Cập nhật tờ khai

Trong trường hợp chi tiết chuyến bay thay đổi, bạn có thể cập nhật chi tiết tờ khai bằng cách sử dụng đột biến sau. Trường source là bắt buộc và cho biết nguồn dữ liệu cho bản cập nhật.

1mutation ManifestUpdate($id: ID!, $input: ManifestUpdateInput!) {
2 manifestUpdate(id: $id, input: $input) {
3 id
4 amount
5 arrivalDate
6 awbNumber
7 awbPrefix
8 carrierCode
9 createdAt
10 createdBy
11 destinationCode
12 operatorDestination
13 operatorOrigin
14 originCode
15 postalOperatorCode
16 serviceNumber
17 source
18 transportationMode
19 updatedAt
20 updatedBy
21 weight
22 weightUnit
23 statusTransitions {
24 createdAt
25 createdBy
26 note
27 source
28 }
29 }
30}

RESPONSE

json

{
  "data": {
    "manifestUpdate": {
      "id": "manifest_abc123def456",
      "amount": "150.50",
      "arrivalDate": "2026-03-16T10:00:00.000Z",
      "awbNumber": "5678",
      "awbPrefix": "001",
      "carrierCode": "BA",
      "createdAt": "2026-01-06T12:00:00.000Z",
      "createdBy": "organization_xyz789",
      "destinationCode": "JFK",
      "operatorDestination": "US",
      "originCode": "LHR",
      "postalOperatorCode": "J1CGBA",
      "serviceNumber": "5678",
      "source": "RESDIT",
      "transportationMode": "AIR",
      "updatedAt": "2026-01-06T14:30:00.000Z",
      "updatedBy": "organization_xyz789",
      "weight": "25.5",
      "weightUnit": "KILOGRAM",
      "statusTransitions": [
        {
          "createdAt": "2026-01-06T14:30:00.000Z",
          "createdBy": "organization_xyz789",
          "note": "Flight rescheduled due to weather",
          "source": "RESDIT"
        }
      ]
    }
  }
}

Giá trị nguồn dữ liệu

Trường source trong ManifestUpdateInput chấp nhận các giá trị sau:

Giá trịMô tả
CARDITTrao đổi dữ liệu hãng vận chuyển
PRECONThông báo trước khi ký gửi
PREDESThông báo trước khi gửi hàng
RESDITPhản hồi việc gửi hàng

Trang này có hữu ích không?