Позвольте клиентам печатать ярлыки 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" }
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
}
}
}
Ответ
{
"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"
}
]
}
]
}
}
Аннулирование отправления
В случае, если клиент хочет аннулировать отправление
, вы можете использовать следующую мутацию, которая аннулирует все этикетки
, связанные с отправлением
.
Запрос
mutation {
shipmentStatusUpdate(
input: {
shipment: "shipment_f1fe4dbd-e471-49fa-94e7-84e369083223"
status: VOIDED
note: "Voiding shipment"
}
) {
id
status
}
}
Создайте Zonos отправления с вашей платформы
Предоставьте клиентам возможность создавать Zonos отправления и ярлыки с вашей платформы.
Если вы являетесь платформой для доставки, которая поддерживает клиентов Zonos при международной отправке, интеграция с Zonos для создания отправлений должна быть вашим приоритетом. Это позволит вам предложить наиболее бесшовный опыт для ваших торговцев и их клиентов, используя существующие функции вашей платформы, позволяя Zonos управлять созданием отправления, ярлыка и сопроводительной таможенной документацией.
Преимущества использования Zonos для создания отправлений включают:
Этот гид проведет вас через шаги для реализации полной интеграции от начала до конца, которая позволит вам вызывать Zonos для отправлений с вашей платформы.