DOCS

Integrate label api

/

Erstellen Sie Zonos-Sendungen von Ihrer Plattform

Geben Sie den Kunden die Möglichkeit, Zonos-Sendungen und -Etiketten von Ihrer Plattform aus zu erstellen.

Wenn Sie eine Versandplattform sind, die Zonos-Kunden beim internationalen Versand unterstützt, sollte die Anbindung an Zonos zur Erstellung von Sendungen eine oberste Priorität haben. Dies ermöglicht es Ihnen, das nahtloseste Erlebnis für Ihre Händler und deren Kunden zu bieten, indem Sie die bestehenden Funktionen Ihrer Plattform nutzen und gleichzeitig Zonos die Erstellung der Sendung, des Etiketts und der unterstützenden Zollunterlagen verwalten lassen.

Die Vorteile der Verwendung von Zonos zur Erstellung von Sendungen umfassen:

  • Drittanbieterabrechnung von Zöllen und Steuern - Wir stellen sicher, dass die Kontonummer des Versanddienstleisters Ihres oder Ihres Händlers für die Versandkosten verwendet wird, während die Rechnungen für Zoll und Steuern an Zonos gehen.
  • Flexibilität - Anstatt Entwicklungsarbeit zu leisten, um sicherzustellen, dass Sie konforme Etiketten mit Ihrer Plattform generieren können, integrieren Sie sich in unsere API und überlassen Sie uns die sich ständig ändernde grenzüberschreitende Compliance.
  • Genauigkeit der Zollunterlagen - Wenn Sie Zonos zur Erstellung von Etiketten verwenden, stellen wir sicher, dass die richtigen Details an den Versanddienstleister übermittelt werden, damit das Paket schnell durch den Zoll kommt.

Dieser Leitfaden führt Sie durch die Schritte zur Implementierung einer vollständigen End-to-End-Integration, die es Ihnen ermöglicht, Zonos für Sendungen von Ihrer Plattform aus aufzurufen.

Ermöglichen Sie es den Kunden, Zonos-Etiketten von Ihrer Plattform aus zu drucken 

Befolgen Sie die folgenden Schritte, um Ihren Kunden zu ermöglichen, Zonos-Etiketten von Ihrer Plattform abzurufen.

1

Ermöglichen Sie es den Kunden, ihre Zonos-API-Anmeldeinformationen einzugeben

Die Zonos-API ist über ein credentialToken zugänglich. Ihre Plattform muss den Kunden die Möglichkeit geben, ihr credentialToken vom Zonos-Dashboard in Ihre Plattform einzugeben. Von hier aus können Sie im Namen der Kunden Anfragen an Zonos stellen.

2

Erstellen Sie eine Sendung

Um ein label abzurufen, müssen Sie eine shipment erstellen, die mit dem label verknüpft ist. Zonos verwaltet diesen Prozess mit einem Workflow, der shipments und labels in derselben Anfrage erstellt. Bei dieser Mutation müssen Sie kein serviceLevel übergeben, da wir das serviceLevel verwenden, das aus dem landedCost stammt, das mit der order verknüpft ist. Für die orderId können Sie die Zonos-Bestell-ID oder die accountOrderNumber verwenden, die wahrscheinlich bereits in Ihrem System vorhanden ist. Wenn eine Sendung und Etiketten erfolgreich erstellt werden, geben wir die Etiketten als labelImage zurück, das ein BASE64_ENCODED_IMAGE ist, oder als url, von der das Etikett abgerufen werden kann.

Mutation

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
    }
  }
}

Antwort

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

Eine Sendung stornieren

Wenn ein Kunde eine Sendung stornieren möchte, können Sie die folgende Mutation verwenden, die alle mit der Sendung verknüpften Labels storniert.

Anfrage

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
  }
}

War diese Seite hilfreich?