DOCS

Integra l'API di spedizione

Crea spedizioni di Zonos dalla tua piattaforma

Dai ai clienti la possibilità di creare spedizioni e etichette di Zonos dalla tua piattaforma.

Se sei una piattaforma di spedizione che supporta i clienti di Zonos che spediscono a livello internazionale, collegarsi a Zonos per la creazione delle spedizioni dovrebbe essere una considerazione prioritaria. Questo ti permetterà di offrire l'esperienza più fluida per i tuoi commercianti e i loro clienti sfruttando le funzionalità esistenti della tua piattaforma, mentre Zonos gestisce la creazione della spedizione, dell'etichetta e della documentazione doganale di supporto.

I vantaggi dell'utilizzo di Zonos per creare spedizioni includono:

  • Fatturazione di terze parti per dazi e tasse - Ci assicureremo che il numero di conto del corriere tuo o del tuo commerciante venga utilizzato per le spese di spedizione, mentre le fatture per dazi e tasse arriveranno a Zonos.
  • Flessibilità - Invece di eseguire lavori di sviluppo per garantire che tu possa generare etichette conformi con la tua piattaforma, integra la nostra API e lascia a noi la compliance in continua evoluzione per le spedizioni internazionali.
  • Documentazione doganale accurata - Quando utilizzi Zonos per generare etichette, ci assicuriamo che i dettagli corretti vengano trasmessi al corriere per garantire che il pacco superi rapidamente la dogana.

Questa guida ti guiderà attraverso i passaggi per implementare un'integrazione completa end-to-end che ti permetterà di chiamare Zonos per le spedizioni dalla tua piattaforma.

Abilita i clienti a stampare etichette di Zonos dalla tua piattaforma 

Segui i passaggi seguenti per consentire ai tuoi clienti di recuperare etichette di Zonos dalla tua piattaforma.

1

Consenti ai clienti di inserire le loro credenziali API di Zonos

LAPI di Zonos è accessibile tramite un credentialToken. La tua piattaforma dovrà dare ai clienti la possibilità di inserire il loro credentialToken dal Dashboard di Zonos nella tua piattaforma. Da qui, sarai in grado di effettuare richieste a Zonos per loro conto.

2

Crea una spedizione

Per recuperare un label, è necessario creare una shipment con cui il label sarà associato. Zonos gestisce questo processo con un flusso di lavoro che crea shipments e labels nella stessa richiesta. Quando esegui questa mutazione, non è necessario passare un serviceLevel poiché utilizzeremo il serviceLevel utilizzato dal landedCost che è legato all'order. Per l'orderId, puoi utilizzare l'ID dell'ordine di Zonos o il accountOrderNumber che probabilmente è già nel tuo sistema. Quando una spedizione e le etichette vengono create con successo, restituiremo le etichette come un labelImage che è un BASE64_ENCODED_IMAGE, o come un url da cui l'etichetta può essere recuperata.

Mutazione

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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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
    }
  }
}

Risposta

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
{
  "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"
        }
      ]
    }
  }
}
3

Annullare una spedizione

Nel caso in cui un cliente desideri annullare una spedizione, puoi utilizzare la seguente mutazione che annullerà tutte le etichette collegate alla spedizione.

Richiesta

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

Questa pagina è stata utile?