DOCS

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

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

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?