DOCS

Integrate label api

/

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

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
{
  "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

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?