DOCS

Integrate label api

/

从您的平台创建 Zonos 运输

让客户能够从您的平台创建 Zonos 运输和标签。

如果您是一个支持 Zonos 客户国际运输的运输平台,将 Zonos 进行运输创建应是首要考虑。这将使您能够利用您平台现有的功能,为您的商家及其客户提供最无缝的体验,同时让 Zonos 管理运输、标签和支持的海关文件的创建。

使用 Zonos 创建运输的优势包括:

  • 第三方关税和税费计费 - 我们将确保您或您的商家的承运人账户号码用于运输费用,而关税和税费的账单将发送到 Zonos。
  • 灵活性 - 不必进行开发工作以确保您能够生成符合要求的标签,集成我们的 API,将不断变化的跨境合规性留给我们。
  • 准确的海关文件 - 当您使用 Zonos 生成标签时,我们确保将正确的细节传递给承运人,以确保包裹快速通关。

本指南将引导您完成实施完整端到端集成的步骤,使您能够从您的平台调用 Zonos 进行运输。

使客户能够从您的平台打印 Zonos 标签 

按照以下步骤操作,以允许您的客户从您的平台检索 Zonos 标签。

1

允许客户传入他们的 Zonos API 凭证

Zonos API 通过 credentialToken 进行访问。您的平台需要让客户能够在您的平台中输入他们的 credentialToken,该凭证来自 Zonos Dashboard。从这里,您将能够代表他们向 Zonos 发出请求。

2

创建运输

为了检索 label,您需要创建一个与之关联的 shipment。Zonos 通过一个工作流管理此过程,该工作流在同一请求中创建 shipmentslabels。在执行此变更时,您无需传递 serviceLevel,因为我们将使用与 order 关联的 landedCost 中使用的 serviceLevel。对于 orderId,您可以使用 Zonos 订单 ID 或可能已经在您系统中的 accountOrderNumber。当运输和标签成功创建时,我们将返回标签作为 labelImage,这是一个 BASE64_ENCODED_IMAGE,或作为可以从中获取标签的 url

变更

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
mutation {
  partyCreateWorkflow(
    input: [
      {
        location: {
          administrativeArea: "Utah"
          administrativeAreaCode: "UT"
          countryCode: US
          line1: "123 Test Street"
          locality: "St George"
          postalCode: "84770"
        }
        person: { companyName: "test Corp", phone: "8018565714" }
        type: ORIGIN
      }
      {
        location: {
          administrativeArea: "Quebec"
          administrativeAreaCode: "QC"
          countryCode: CA
          line1: "2147 Pitfield Blvd"
          locality: "Pierrefonds"
          postalCode: "H9H 3C7"
        }
        person: {
          email: "test@gmail.com"
          firstName: "firstName"
          lastName: "lastName"
          phone: "5022303021"
          companyName: "goProTest"
          metadata: { key: "key", value: "value" }
        }
        type: DESTINATION
      }
    ]
  ) {
    type
    id
    organization
  }
  itemCreateWorkflow(
    input: {
      amount: "50"
      currencyCode: USD
      quantity: 1
      sku: "test1"
      description: "shoes"
      hsCode: "670121"
    }
  ) {
    amount
    id
    sku
  }
  cartonsCreateWorkflow(
    input: {
      dimensionalUnit: INCH
      height: "5"
      length: "5"
      weight: "5"
      weightUnit: POUND
      width: "10"
    }
  ) {
    items {
      item {
        amount
        id
        quantity
        sku
      }
    }
    length
    width
    weight
    weightUnit
    height
    id
  }
  shipmentCreateWorkflow(
    input: { orderId: "order_627db90e-d2e2-4499-b388-bfd5d8d33e18" }
  ) {
    id
    status
    shipmentCartons {
      id
      label {
        id
        url
        labelAmounts {
          amount
          amountType
        }
      }
    }
    customsDocuments {
      id
      fileType
      fileUrl
    }
  }
}

响应

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
  "data": {
    "shipmentCreateWorkflow": {
      "id": "shipment_cd535d6f-c92a-41a9-ae70-f6e67ed30dc9",
      "status": "CREATED"
    },
    "shipmentCartons": [
      {
        "id": "label_171c7cf5-b005-45cb-bac4-2bfc141dbacb",
        "trackingNumber": "794602938880",
        "status": "CREATED",
        "documentFiling": "ELECTRONIC",
        "labelImage": "{{BASE64_ENCODED_IMAGE}}",
        "labelAmounts": [
          {
            "amount": 137.87,
            "amountType": "QUOTE"
          }
        ],
        "shipmentCarton": "shipment_carton_480d776e-48d8-4699-9b37-bc26c7d0cd1b",
        "statusTransitions": [
          {
            "changedAt": "2024-02-09T18:54:37.158Z",
            "note": "Label created",
            "status": "CREATED"
          }
        ]
      }
    ]
  }
}
3

作废发货

如果客户想要作废一个 shipment,您可以使用以下变更,这将作废所有与该 shipment 相关的 labels

请求

1
2
3
4
5
6
7
8
9
10
11
12
mutation {
  shipmentStatusUpdate(
    input: {
      shipment: "shipment_f1fe4dbd-e471-49fa-94e7-84e369083223"
      status: VOIDED
      note: "Voiding shipment"
    }
  ) {
    id
    status
  }
}

这个页面有帮助吗?


有问题吗?

联系我们。