Позвольте клиентам печатать ярлыки Zonos с вашей платформы
Следуйте приведенным ниже шагам, чтобы позволить вашим клиентам получать ярлыки Zonos с вашей платформы.
Позвольте клиентам вводить свои учетные данные API Zonos
Zonos API доступен с помощью credentialToken
. Ваша платформа должна предоставить клиентам возможность ввести свой credentialToken
из Zonos Dashboard в вашу платформу. Отсюда вы сможете делать запросы к Zonos от их имени.
Создайте отправление
Чтобы получить label
, вам необходимо создать shipment
, с которым будет связан label
. Zonos управляет этим процессом с помощью рабочего процесса, который создает shipments
и labels
в одном запросе. При выполнении этой мутации вам не нужно передавать serviceLevel
, так как мы используем serviceLevel
, использованный из landedCost
, который связан с order
. Для orderId
вы можете использовать идентификатор заказа Zonos или accountOrderNumber
, который, вероятно, уже есть в вашей системе. Когда отправление и ярлыки успешно созданы, мы вернем ярлыки как labelImage
, который является BASE64_ENCODED_IMAGE
, или как url
, откуда можно получить ярлык.
Мутация
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"
firstName: "Tom"
}
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"
}
type: DESTINATION
}
]
) {
type
id
organization
}
itemCreateWorkflow(
input: [
{
amount: 50
currencyCode: USD
countryOfOrigin: US
quantity: 1
metadata: { key: "tags", value: "accessory" }
sku: "ow-accessory-gtr"
productId: "1892949164056"
}
]
) {
amount
id
quantity
sku
productId
}
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_f648793c-2585-4684-afa0-da1fdb0d4f94" }
) {
id
serviceLevel {
id
name
carrier {
id
name
}
}
shipmentCartons {
id
tracking {
number
}
label {
labelImage
labelFileType
}
carton {
id
width
length
height
weight
items {
item {
id
amount
description
}
}
}
}
customsDocuments {
id
fileType
fileUrl
}
}
}
Ответ
{
"data": {
"shipmentCreateWorkflow": {
"id": "shipment_90f3c62a-c50e-466c-a317-70ececb26dc4",
"serviceLevel": {
"id": "service_level_a7129244-7334-4e8b-8b10-6494b0e49a7d",
"name": "UPS Worldwide Express",
"carrier": {
"id": "carrier_26bf7275-cac2-47b5-979a-4325fa2efa82",
"name": "UPS"
}
},
"shipmentCartons": [
{
"id": "shipment_carton_d254a6df-9dcd-47fc-926b-48eaeaea232c",
"tracking": {
"number": "1Z2030216698896462"
},
"label": {
"labelImage": "{{BASE64_ENCODED_IMAGE}}",
"labelFileType": "PDF",
"labelAmounts": [
{
"amount": 41.88,
"amountType": "QUOTE"
}
]
},
"carton": {
"id": "carton_0jhg9mxk431q7",
"width": 10.0,
"length": 5.0,
"height": 5.0,
"weight": 5.0,
"items": [
{
"item": {
"id": "item_0jhg9mxdwm77w",
"amount": 50,
"description": null
}
}
]
}
}
],
"customsDocuments": [
{
"id": "customs_doc_d8bedf7a-2de0-4729-8bdd-ebd901b67127",
"fileType": "PDF",
"fileUrl": "https://prod-zonos-shipping-label.s3.us-east-2.amazonaws.com/organization_a61090a2-d18b-415c-9870-03b9087cbf2d/shipment_90f3c62a-c50e-466c-a317-70ececb26dc4/customs/International_Forms.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250117T231615Z&X-Amz-SignedHeaders=host&X-Amz-Credential=AKIAR3GS2GP6V4LZE3OI%2F20250117%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Expires=14400&X-Amz-Signature=6c17e358a038c3cd7d61391302909ee503344249405974e490d9b46051c79dba"
}
]
}
}
}
Аннулирование отправления
В случае, если клиент хочет аннулировать отправление
, вы можете использовать следующую мутацию, которая аннулирует все этикетки
, связанные с отправлением
.
Запрос
mutation {
shipmentStatusUpdate(
input: {
shipment: "shipment_f1fe4dbd-e471-49fa-94e7-84e369083223"
status: VOIDED
note: "Voiding shipment"
}
) {
id
status
}
}
Создайте Zonos отправления с вашей платформы
Предоставьте клиентам возможность создавать Zonos отправления и ярлыки с вашей платформы.
Если вы являетесь платформой для доставки, которая поддерживает клиентов Zonos при международной отправке, интеграция с Zonos для создания отправлений должна быть вашим приоритетом. Это позволит вам предложить наиболее бесшовный опыт для ваших торговцев и их клиентов, используя существующие функции вашей платформы, позволяя Zonos управлять созданием отправления, ярлыка и сопроводительной таможенной документацией.
Преимущества использования Zonos для создания отправлений включают:
Этот гид проведет вас через шаги для реализации полной интеграции от начала до конца, которая позволит вам вызывать Zonos для отправлений с вашей платформы.