DOCS

Integrate label api

/

Platformunuzdan Zonos gönderileri oluşturun

Müşterilere platformunuzdan Zonos gönderileri ve etiketleri oluşturma imkanı verin.

Eğer uluslararası gönderim yapan Zonos müşterilerini destekleyen bir gönderim platformuysanız, gönderi oluşturma için Zonos ile entegrasyon sağlamak en önemli önceliklerinizden biri olmalıdır. Bu, mevcut platform özelliklerinizi kullanarak tüccarlarınız ve onların müşterileri için en sorunsuz deneyimi sunmanızı sağlayacak, aynı zamanda Zonos'un gönderi, etiket ve destekleyici gümrük belgelerinin oluşturulmasını yönetmesine olanak tanıyacaktır.

Zonos kullanarak gönderi oluşturmanın avantajları şunlardır:

  • Üçüncü taraf gümrük ve vergi faturalandırması - Gönderim ücretleri için sizin veya tüccarınızın taşıyıcı hesap numarasının kullanılmasını sağlarken, gümrük ve vergi faturalarının Zonos'a ulaşmasını garanti edeceğiz.
  • Esneklik - Platformunuzla uyumlu etiketler oluşturmak için geliştirme çalışması yapmak yerine, API'mizle entegre olun ve sürekli değişen uluslararası uyumluluğu bize bırakın.
  • Doğru gümrük belgeleri - Zonos'u etiket oluşturmak için kullandığınızda, paketin hızlı bir şekilde gümrükten geçmesini sağlamak için doğru bilgilerin taşıyıcıya iletilmesini garanti ediyoruz.

Bu kılavuz, platformunuzdan gönderiler için Zonos'u çağırmanıza olanak tanıyan tam uçtan uca entegrasyonu uygulamak için gereken adımları size gösterecektir.

Müşterilerin platformunuzdan Zonos etiketlerini yazdırmalarını sağlayın 

Müşterilerinize platformunuzdan Zonos etiketlerini alabilmeleri için aşağıdaki adımları izleyin.

1

Müşterilerin Zonos API kimlik bilgilerini girmelerine izin verin

Zonos API'si bir credentialToken ile erişilebilir. Platformunuz, müşterilerin Zonos Dashboard üzerinden credentialToken'larını girme imkanı sağlamalıdır. Buradan, onların adına Zonos'a isteklerde bulunabileceksiniz.

2

Bir gönderi oluşturun

Bir label almak için, label ile ilişkilendirilecek bir shipment oluşturmanız gerekmektedir. Zonos bu süreci, aynı istekte shipments ve labels oluşturan bir iş akışı ile yönetir. Bu mutasyonu gerçekleştirirken, order ile bağlantılı olan landedCost'tan kullanılan serviceLevel'ı geçmenize gerek yoktur. orderId için, Zonos sipariş kimliğini veya sisteminizde muhtemelen zaten bulunan accountOrderNumber'ı kullanabilirsiniz. Bir gönderi ve etiketler başarıyla oluşturulduğunda, etiketleri BASE64_ENCODED_IMAGE olan bir labelImage olarak veya etiketin alınabileceği bir url olarak döndüreceğiz.

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

Yanıt

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

Bir gönderimi iptal etme

Bir müşterinin bir gönderimi iptal etmek istemesi durumunda, gönderim ile bağlantılı tüm etiketleri iptal edecek olan aşağıdaki mutasyonu kullanabilirsiniz.

İstek

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

Bu sayfa yardımcı oldu mu?