DOCS

Integrate label api

/

Opprett Zonos forsendelser fra plattformen din

Gi kundene muligheten til å opprette Zonos forsendelser og etiketter fra plattformen din.

Hvis du er en fraktplattform som støtter Zonos kunder som sender internasjonalt, bør det å knytte seg til Zonos for opprettelse av forsendelser være en topp prioritet. Dette vil gjøre det mulig for deg å tilby den mest sømløse opplevelsen for dine handelsmenn og deres kunder ved å utnytte plattformens eksisterende funksjoner, samtidig som Zonos håndterer opprettelsen av forsendelsen, etiketten og støttende tolldokumentasjon.

Fordelene med å bruke Zonos til å opprette forsendelser inkluderer:

  • Fakturering av avgifter og skatter fra tredjepart - Vi vil sikre at du eller handelsmannens fraktkonto brukes for fraktkostnader, mens regningene for avgift og skatt går til Zonos.
  • Fleksibilitet - I stedet for å utføre utviklingsarbeid for å sikre at du kan generere samsvarende etiketter med plattformen din, integrer med vårt API og la oss håndtere den stadig skiftende grenseoverskridende samsvar.
  • Nøyaktig tolldokumentasjon - Når du bruker Zonos til å generere etiketter, sikrer vi at de riktige detaljene sendes til fraktselskapet for å sikre at pakken klarerer tollen raskt.

Denne guiden vil lede deg gjennom trinnene for å implementere en komplett ende-til-ende-integrasjon som vil tillate deg å kalle Zonos for forsendelser fra plattformen din.

Aktiver kunder til å skrive ut Zonos etiketter fra plattformen din 

Følg trinnene nedenfor for å la kundene dine hente Zonos etiketter fra plattformen din.

1

La kundene sende inn sine Zonos API-legitimasjoner

Den Zonos API er tilgjengelig med en credentialToken. Plattformen din må gi kundene muligheten til å skrive inn sin credentialToken fra Zonos Dashboard inn i plattformen din. Herfra vil du kunne gjøre forespørsel til Zonos på deres vegne.

2

Opprett en forsendelse

For å hente en label, må du opprette en shipment som label vil være knyttet til. Zonos håndterer denne prosessen med en arbeidsflyt som oppretter shipments og labels i samme forespørsel. Når du utfører denne mutasjonen, trenger du ikke å sende inn et serviceLevel, da vi vil bruke serviceLevel fra landedCost som er knyttet til order. For orderId kan du bruke Zonos bestillings-ID eller accountOrderNumber som sannsynligvis allerede er i systemet ditt. Når en forsendelse og etiketter er opprettet vellykket, vil vi returnere etiketter som en labelImage som er et BASE64_ENCODED_IMAGE, eller som en url hvor etiketten kan hentes fra.

Mutasjon

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

Svar

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

Avbryt en forsendelse

I tilfelle en kunde ønsker å avbryte en forsendelse, kan du bruke følgende mutasjon som vil avbryte alle etiketter knyttet til forsendelsen.

Forespørsel

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

Var denne siden nyttig?