DOCS

Integracja przesyłek w platformie

Tworzenie przesyłek z Twojej platformy

Daj klientom możliwość tworzenia przesyłek i etykiet Zonos z Twojej platformy.

Ten przewodnik jest przeznaczony dla deweloperów platform wysyłkowych, którzy chcą zintegrować możliwości tworzenia przesyłek Zonos w swojej platformie dla swoich klientów. Jeśli już korzystasz z API Zonos i potrzebujesz tylko tworzyć przesyłki dla istniejących zamówień, zapoznaj się z naszym przewodnikiem po tworzeniu przesyłek.

Jeśli jesteś platformą wysyłkową, która wspiera klientów Zonos wysyłających międzynarodowo, integracja z Zonos w celu tworzenia przesyłek powinna być priorytetem. Pozwoli to na zaoferowanie najbardziej bezproblemowego doświadczenia dla Twoich sprzedawców i ich klientów, wykorzystując istniejące funkcje Twojej platformy, jednocześnie pozwalając Zonos zarządzać tworzeniem przesyłki, etykiety i dokumentacji celnej.

Zalety korzystania z Zonos do tworzenia przesyłek obejmują:

  • Fakturowanie opłat celnych i podatków przez stronę trzecią - Zapewnimy, że numer konta przewoźnika Twojego lub Twojego sprzedawcy będzie używany do opłat za wysyłkę, podczas gdy rachunki za cło i podatek trafią do Zonos.
  • Elastyczność - Zamiast wykonywać prace deweloperskie, aby zapewnić, że możesz generować zgodne etykiety z Twoją platformą, zintegrować się z naszym API i pozostawić zmieniające się przepisy dotyczące międzynarodowej zgodności nam.
  • Dokumentacja celna - Kiedy używasz Zonos do generowania etykiet, zapewniamy, że odpowiednie szczegóły są przekazywane do przewoźnika, aby paczka szybko przeszła przez odprawę celną.

Ten przewodnik przeprowadzi Cię przez kroki, aby wdrożyć pełną integrację end-to-end, która pozwoli Ci wywoływać Zonos w celu przesyłek z Twojej platformy.

Włącz drukowanie etykiet 

Postępuj zgodnie z poniższymi krokami, aby umożliwić swoim klientom pobieranie etykiet Zonos z Twojej platformy.

1

Zezwól na dane uwierzytelniające API

API Zonos jest dostępne za pomocą credentialToken. Twoja platforma musi umożliwić klientom wprowadzenie ich credentialToken z Panelu Zonos do Twojej platformy. Stąd będziesz mógł składać zapytania do Zonos w ich imieniu.

2

Utwórz przesyłkę

Aby pobrać label, musisz utworzyć shipment, z którym label będzie powiązany. Zonos zarządza tym procesem za pomocą workflow, który tworzy shipments i labels w tym samym żądaniu. Podczas wykonywania tej mutacji nie musisz przekazywać serviceLevel, ponieważ użyjemy serviceLevel używanego z landedCost, który jest powiązany z order. Dla orderId możesz użyć identyfikatora zamówienia Zonos lub accountOrderNumber, który prawdopodobnie już znajduje się w Twoim systemie.

Gdy przesyłka i etykiety zostaną pomyślnie utworzone, zwrócimy etykiety jako labelImage, które jest BASE64_ENCODED_IMAGE, lub jako url, z którego etykieta może być pobrana.

Użyj tego workflow, gdy tworzysz przesyłkę dla istniejącego zamówienia i nie musisz modyfikować szczegółów przedmiotów lub stron. Obsługuje opcjonalne numery śledzenia, centra realizacji, wybór poziomu usługi i ubezpieczenie wartości zadeklarowanej.

Mutacja

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
mutation CreateShipment($input: ShipmentCreateWorkflowInput!) {
  shipmentCreateWorkflow(input: $input) {
    id
    status
    trackingDetails {
      number
    }
    serviceLevel {
      id
      name
      carrier {
        id
        name
      }
    }
    shipmentCartons {
      id
      carton {
        id
        width
        length
        height
        weight
        items {
          item {
            id
            amount
            description
          }
        }
      }
      label {
        url
        trackingNumber
        id
        documentFiling
      }
    }
  }
}

Podstawowe zmienne

1
2
3
4
5
6
{
  "input": {
    "generateLabel": true,
    "orderId": "order_12345678-1234-1234-1234-123456789abc"
  }
}

Z Centrum Realizacji Zamówień

1
2
3
4
5
6
7
{
  "input": {
    "generateLabel": true,
    "orderId": "order_12345678-1234-1234-1234-123456789def",
    "fulfillmentCenter": "fulfillment_center_12345"
  }
}

Z niestandardowym śledzeniem

1
2
3
4
5
6
7
{
  "input": {
    "generateLabel": false,
    "orderId": "order_12345678-1234-1234-1234-123456789ghi",
    "trackingNumbers": ["tracking_example_1", "tracking_example_2"]
  }
}

Z poziomem usługi

1
2
3
4
5
6
7
{
  "input": {
    "generateLabel": true,
    "orderId": "order_12345678-1234-1234-1234-123456789jkl",
    "serviceLevel": "dhl.express_example"
  }
}

Z ubezpieczeniem wartości zadeklarowanej

1
2
3
4
5
6
7
{
  "input": {
    "generateLabel": true,
    "orderId": "order_12345678-1234-1234-1234-123456789mno",
    "isDeclaredValue": true
  }
}

Wartość zadeklarowana

Ustaw "isDeclaredValue": true, aby włączyć pokrycie wartości zadeklarowanej dla wszystkich przedmiotów w Twojej przesyłce. Zonos automatycznie zgłasza pełną wartość wszystkich przedmiotów zgłoszonych w zamówieniu; sprzedawcy nie mogą modyfikować tej kwoty. Ustala to maksymalne zobowiązanie, które przewoźnik zaakceptuje w przypadku utraty, uszkodzenia lub kradzieży podczas transportu. Ta funkcja jest obsługiwana tylko dla przesyłek UPS, FedEx i DHL. Zonos automatycznie obsługuje specyficzną dla przewoźnika implementację, gdy włączysz wartość zadeklarowaną, w tym odpowiednie parametry w naszych wywołaniach API do tych przewoźników, więc nie musisz zarządzać różnymi wymaganiami przewoźników.

Ograniczenia UPS: UPS pokrywa tylko wartości między 100-50,000 USD i przetwarza wartość zadeklarowaną na poziomie kartonu. W przypadku przesyłek wielokartonowych sprzedawcy muszą podzielić przesyłkę, aby wyznaczyć pokrycie na każdy karton. UPS generuje również dodatkowy formularz ubezpieczenia, który musi być wydrukowany razem z etykietami.

FedEx i DHL: Przetwarzają wartość zadeklarowaną na poziomie przesyłki bez dodatkowych ograniczeń.

3

Anulowanie przesyłki

W przypadku, gdy klient chce anulować przesyłkę, możesz użyć następującej mutacji, która anuluje wszystkie etykiety powiązane z przesyłką.

Żądanie

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

Czy ta strona była pomocna?