DOCS

Integrate label api

/

Opret Zonos forsendelser fra din platform

Giv kunderne mulighed for at oprette Zonos forsendelser og etiketter fra din platform.

Hvis du er en forsendelsesplatform, der understøtter Zonos kunder, der sender internationalt, bør integrationen med Zonos til oprettelse af forsendelser være en topprioritet. Dette vil give dig mulighed for at tilbyde den mest problemfri oplevelse for dine handlende og deres kunder ved at udnytte din platforms eksisterende funktioner, mens Zonos håndterer oprettelsen af forsendelsen, etiketten og den understøttende tolddokumentation.

Fordele ved at bruge Zonos til at oprette forsendelser inkluderer:

  • Tredjeparts fakturering af afgifter og skatter - Vi vil sikre, at dit eller din handels kundes transportørkonto bruges til forsendelsesomkostninger, mens regningerne for afgift og skat sendes til Zonos.
  • Fleksibilitet - I stedet for at udføre udviklingsarbejde for at sikre, at du kan generere overensstemmende etiketter med din platform, kan du integrere med vores API og lade os håndtere den konstant skiftende grænseoverskridende overholdelse.
  • Præcise tolddokumenter - Når du bruger Zonos til at generere etiketter, sikrer vi, at de rigtige oplysninger sendes til transportøren for at sikre, at pakken hurtigt klarerer tolden.

Denne vejledning vil guide dig gennem trinene til at implementere en komplet end-to-end integration, der vil give dig mulighed for at kalde Zonos for forsendelser fra din platform.

Giv kunderne mulighed for at udskrive Zonos etiketter fra din platform 

Følg trinene nedenfor for at give dine kunder mulighed for at hente Zonos etiketter fra din platform.

1

Tillad kunder at indtaste deres Zonos API legitimationsoplysninger

Zonos API er tilgængelig via en credentialToken. Din platform skal give kunderne mulighed for at indtaste deres credentialToken fra Zonos Dashboard ind i din platform. Herfra vil du kunne foretage anmodninger til Zonos på deres vegne.

2

Opret en forsendelse

For at hente en label er det nødvendigt at oprette en shipment, som label vil være knyttet til. Zonos håndterer denne proces med et workflow, der opretter shipments og labels i samme anmodning. Når du udfører denne mutation, behøver du ikke at angive et serviceLevel, da vi vil bruge det serviceLevel, der er anvendt fra den landedCost, der er knyttet til ordren. For orderId kan du bruge Zonos ordre-ID'et eller accountOrderNumber, som sandsynligvis allerede er i dit system. Når en forsendelse og etiketter er oprettet med succes, vil vi returnere etiketter som en labelImage, som er et BASE64_ENCODED_IMAGE, eller som en url, hvor etiketten kan hentes fra.

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

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

Annuller en forsendelse

I tilfælde af at en kunde ønsker at annullere en forsendelse, kan du bruge følgende mutation, der vil annullere alle etiketter, der er knyttet til forsendelsen.

Anmodning

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 side nyttig?