Zbierz wszystkie paczki Japan Post z jednego dnia w jeden arkusz wysyłkowy z opóźnioną zapłatą, korzystając z przepływu konsolidacji.
W tym dokumencie opisujemy trzyetapowy proces tworzenia zbiorczej wysyłki z opóźnioną zapłatą Japan Post za pośrednictwem API Zonos GraphQL: otworzenie konsolidacji, dołączenie n przesyłek, a następnie zamknięcie, aby otrzymać arkusz wysyłkowy Japan Post (dokument manifestu).
Program opóźnionej zapłaty Japan Post (後納) pozwala handlowcowi rozliczyć swoją dzienną opłatę wysyłkową w jednej transakcji na koniec dnia, zamiast płacić za każdą paczkę oddzielnie. Handlowiec przynosi wszystkie paczki z tego dnia na pocztę wraz z jednym arkuszem wysyłkowym (差出票) obejmującym do 250 przesyłek. Opłaty pocztowe są rozliczane na wstępnie zarejestrowany numer Later Pay handlowca.
Jeśli wysyłasz poszczególne etykiety Japan Post i płacisz za paczkę przy oknie, nie musisz używać tego przepływu — bezpośrednio wywołaj przepływ dla pojedynczej przesyłki bez konsolidacji.
1. shipmentConsolidationCreate → otwarcie partii (zwraca ID konsolidacji)
2. Dołączenie przesyłek × n → utworzenie każdej przesyłki + etykiety, dołączonej do partii
3. shipmentConsolidationUpdate(CLOSED) → zamknięcie partii (zwraca arkusz wysyłkowy)
Istnieją dwa sposoby dołączenia przesyłek do partii — wybierz ten, który pasuje do Twojej integracji (lub mieszaj):
Dołączenie w momencie tworzenia etykiety — przekaż ID konsolidacji z kroku 1 do każdego wywołania shipmentCreateWorkflow za pośrednictwem pola shipmentConsolidationId.
Dołączenie istniejących przesyłek według ID — przekaż shipmentIds na shipmentConsolidationCreate (w celu zainicjowania partii) lub na shipmentConsolidationUpdate (w celu dodania do otwartej partii). Każda przesyłka musi już mieć etykietę Japan Post.
W każdym przypadku każda etykieta jest tworzona z wbudowanym numerem Later Pay, dzięki czemu Japan Post zaakceptuje ją w arkuszu wysyłkowym, gdy krok 3 zamknie partię.
Dlaczego oddzielne wywołania zamiast jednej mutacji? Kroki 2.1, 2.2, ..., 2.n odbywają się w ciągu dnia handlowca — etykiety są drukowane, a paczki są zamykane w miarę napływu zamówień. Partia nie może być zrealizowana w jednym wywołaniu, tak jak przepływ dla pojedynczej przesyłki: istnieje wielogodzinna przerwa między otwarciem konsolidacji a jej zamknięciem.
Zanim ten przepływ zadziała dla danego Zweryfikowanego Konta:
Twoje konto musi mieć zapisany numer Later Pay Japan Post do opóźnionej zapłaty (後納お客様番号) — wartość w formacie ze łącznikami, np. 1111111111-222222-3333333333-444444. Przekaż go na shipmentConsolidationCreate za pośrednictwem accountNumber (Krok 1).
Twój klucz API musi mieć SHIPMENT_WRITE oraz standardowe uprawnienia wymagane przez przepływ dla każdej przesyłki.
Wszystkie trzy kroki poniżej to operacje GraphQL wysyłane do tego samego punktu końcowego. To, co przesyłasz w nagłówkach, zależy od Twojej konfiguracji — wybierz swoją kartę.
URL:
https://api.zonos.com/graphql
Nagłówki:
Wysyłasz własne zamówienia na podstawie własnego Zweryfikowanego Konta. Uwierzytelniaj się jako siebie — klucz konta nie jest potrzebny.
credentialToken: {{YOUR_API_TOKEN}}
Gdzie go znaleźć: Zonos Dashboard → Ustawienia → Integracje → sekcja Account Key. Skopiuj token z wiersza API key — to Twój credentialToken.
Przykład do skopiowania i dostosowania otwierania konsolidacji — mutacja, jej zmienne i odpowiedź. To jest wywołanie specyficzne dla partii, które rozpoczyna przepływ; dołączenie przesyłek (Krok 2) ponownie wykorzystuje przykład dla pojedynczej przesyłki, a zamknięcie partii (Krok 3) zwraca dokument manifestu. Każde pole jest opisane w krokach poniżej.
Otwiera konsolidację. Kod przewoźnika blokuje partię na Japan Post; wszystkie przesyłki członkowskie muszą używać poziomów usług Japan Post. Jeśli masz już oznaczone przesyłki, zainicjuj partię ich identyfikatorami za pośrednictwem shipmentIds — w przeciwnym razie utwórz ją pustą i dołącz przesyłki w kroku 2.
Mutacja:
mutation{
shipmentConsolidationCreate(input:{carrierCode: JAPAN_POST
accountNumber:"1111111111-222222-3333333333-444444"name:"Tokyo dispatch — 2026-05-01"externalId:"merchant-batch-20260501-001"shipmentIds:["shipment_01hxa...", "shipment_01hxb..."]}){
id
status
accountNumber
carrierCode
shipments {
id
}}}
Pole↕
Uwagi↕
carrierCode
Wymagane. Użyj JAPAN_POST.
accountNumber
Numer Later Pay w formacie ze łącznikami. Format jest weryfikowany w momencie tworzenia — złe wartości są odrzucane natychmiast zamiast przy zamknięciu. Jeśli zostanie pominięty, używany jest domyślny numer konta zapisany na Twoim koncie Japan Post.
name
Opcjonalnie. Czytelna etykieta do Twoich zapisów. Domyślnie ID wygenerowane konsolidacji.
externalId
Opcjonalnie. Twój wewnętrzny identyfikator partii; domyślnie ID wygenerowane konsolidacji, jeśli zostanie pominięty.
shipmentIds
Opcjonalnie. Identyfikatory początkowych przesyłek do dołączenia. Pozostaw puste, aby najpierw otworzyć partię i dołączyć przesyłki w miarę tworzenia ich etykiet w kroku 2.
Dla każdej paczki, którą musisz wysłać dzisiaj, uruchom pełny łańcuch przepływu dla pojedynczej przesyłki, aby utworzyć przesyłkę i jej etykietę. Następnie dołącz przesyłkę do partii, korzystając z jednej z poniższych metod.
Opcja A: Dołączenie w momencie tworzenia etykiety
Przekaż ID konsolidacji na finalnym kroku shipmentCreateWorkflow łańcucha. Wszystkie poprzednie mutacje w łańcuchu są identyczne z przepływem dla pojedynczej przesyłki.
Odpowiednie pola na shipmentCreateWorkflow:
shipmentCreateWorkflow(input:{serviceLevel:"japan_post.air.ems_merchandise"shipmentConsolidationId:"shco_01hjk..."generateLabel:true}){
id
trackingDetails {
number
}
shipmentCartons {
label {
labelImage
}}}
Pole↕
Uwagi↕
shipmentConsolidationId
ID z Kroku 1. Mówi platformie "dołącz tę przesyłkę do tej partii." To jedyne pole, które odróżnia przesyłkę powiązaną z konsolidacją od samodzielnej.
serviceLevel
Musi być poziomem usług Japan Post (japan_post.*). Mieszanie przewoźników w ramach jednej konsolidacji nie jest wspierane.
Opcja B: Dołączenie istniejących przesyłek według ID
Jeśli Twoje przesyłki są już utworzone i oznaczone, dodaj je do otwartej partii za pośrednictwem shipmentIds na shipmentConsolidationUpdate:
mutation{
shipmentConsolidationUpdate(input:{id:"shco_01hjk..."shipmentIds:["shipment_01hxd...", "shipment_01hxe..."]}){
id
status
shipments {
id
}}}
Pomiń status w wejściu, gdy nadal dodajesz przesyłki — partia pozostanie OPEN. Każda przesyłka musi używać poziomu usług Japan Post i mieć etykietę (numer śledzenia) zanim partia zostanie zamknięta w Kroku 3.
Co oznacza dołączenie dla etykiety
Niezależnie od wybranej opcji, gdy przesyłka Japan Post jest częścią konsolidacji:
Przesyłka ma numer śledzenia, jak zwykle.
Plik PDF etykiety wysyłkowej nie zawiera kopii dla klienta/poczty. Te kopie są odłożone do Kroku 3, gdzie są łączone w dokument arkusza wysyłkowego dla całej partii.
Przesyłka jest powiązana z konsolidacją; możesz ponownie wyszukać ją za pośrednictwem shipmentConsolidation(id: ...), aby zobaczyć jej członków.
Powtórz ten krok dla każdej paczki w dziennej partii. Do 250 przesyłek na konsolidację; próba zamknięcia większej partii nie powiedzie się z wyraźnym komunikatem błędu walidacji, zanim zostanie wykonane jakiekolwiek wywołanie Japan Post.
Możesz również zweryfikować zawartość partii przed zamknięciem:
query{
shipmentConsolidation(id:"shco_01hjk..."){
status
shipments {
id
trackingDetails {
number
}}}}
Każda przesyłka powinna tutaj pokazać numer śledzenia. Jeśli tego nie robi, jej etykieta nigdy nie została utworzona — rozwiąż to zanim zamkniesz. status to OPEN aż do zamknięcia konsolidacji w Kroku 3.
Zamyka partię. To jest wywołanie, które prosi Japan Post o wygenerowanie arkusza wysyłkowego z opóźnioną zapłatą obejmującego każdy numer śledzenia członka i dołącza wynikowy plik PDF do konsolidacji.
Operacja GraphQL nosi nazwę CloseConsolidation, aby opisać jej cel — zamknięcie partii. Uruchamia mutację shipmentConsolidationUpdate z status: CLOSED.
Mutacja:
mutation CloseConsolidation {
shipmentConsolidationUpdate(input:{id:"shco_01hjk...", status: CLOSED }){
id
status
statusTransitions {
status
changedAt
note
}
customsDocuments {
documentType
fileUrl
}}}
Pole↕
Uwagi↕
id
ID konsolidacji z Kroku 1.
status
Ustaw na CLOSED, aby zamknąć partię i wytworzyć arkusz wysyłkowy.
shipmentIds
Opcjonalnie. Dodanie przesyłek i zamknięcie w tym samym wywołaniu jest wspierane — przesyłki są najpierw dołączone, a następnie partia jest zamknięta.
Na żądaniu CLOSED:
Konsolidacja jest weryfikowana: ≤250 przesyłek, i każdy członek musi mieć numer śledzenia. Jeśli przesyłka nie ma numeru śledzenia (jej etykieta nigdy nie została utworzona), wywołanie jest odrzucane.
Japan Post jest proszony o wygenerowanie arkusza wysyłkowego z opóźnioną zapłatą obejmującego każdy numer śledzenia członka.
Status krótko przechodzi do MANIFEST_CREATED, podczas gdy pobranie arkusza PDF jest w toku, a następnie do CLOSED, gdy dokument został dołączony.
PDF arkusza wysyłkowego (jeden plik zawierający arkusz plus kopie dla każdego członka) jest dołączony do konsolidacji jako CustomsDocument z documentType: MANIFEST_DOCUMENT.
Odpowiedź:
{"data":{"shipmentConsolidationUpdate":{"id":"shco_01hjk...","status":"CLOSED","statusTransitions":[{"status":"OPEN","changedAt":"2026-05-01T08:00:00Z","note":"Shipment batch created"},{"status":"MANIFEST_CREATED","changedAt":"2026-05-01T17:30:12Z","note":"Dispatch slip created with Japan Post"},{"status":"CLOSED","changedAt":"2026-05-01T17:30:14Z","note":"Dispatch slip downloaded and uploaded"}],"customsDocuments":[{"documentType":"MANIFEST_DOCUMENT","fileUrl":"https://customs-docs.zonos.com/.../japanpost-dispatch-slip.pdf"}]}}}
Pobieranie dokumentów
Arkusz wysyłkowy jest dołączony bezpośrednio do konsolidacji jako CustomsDocument z documentType: MANIFEST_DOCUMENT — weź fileUrl z odpowiedzi zamknięcia powyżej lub wyszukaj ją w dowolnym momencie później:
query{
shipmentConsolidation(id:"shco_01hjk..."){
status
customsDocuments {
documentType
fileUrl
}}}
Wydrukuj plik PDF z fileUrl. Zawiera:
Strona 1: Arkusz wysyłkowy z opóźnioną zapłatą (後納差出票) — przekaż to na pocztę. Każda przesyłka w partii jest tutaj wymieniona, niezależnie od użytego poziomu usług.
Strony 2+: Kopie dla klienta/poczty — jedna przyczepiona do każdej paczki, druga przechowywana przez pocztę. Te strony są generowane wyłącznie dla przesyłek EMS i International Parcel, ponieważ są powiązane z numerem śledzenia.
Po wydrukowaniu przynieś paczki + arkusz wysyłkowy + kopie na pocztę w jednej wizycie. Japan Post rozlicza Twój numer Later Pay na koniec okresu rozliczeniowego.
Przesyłka na stronie 1 bez strony z kopią nie jest brakującą przesyłką. Small Packet (小形包装物) nie jest śledzoną usługą Japan Post, więc jest wymieniona na stronie 1 i nie otrzymuje strony 2+ z kopią. Partia pięciu paczek może zasadnie wygenerować stronę 1 wymieniającą wszystkie pięć oraz strony z kopiami tylko dla przesyłek EMS i International Parcel, a partia składająca się wyłącznie z przesyłek Small Packet generuje stronę 1 i żadnych dalszych stron. To jest oczekiwane zachowanie Japan Post, a nie nieudana etykieta czy nieudane wywołanie manifestu. Nie musisz otwierać oddzielnej konsolidacji dla każdego poziomu usług. Potwierdzone z Japan Post, sierpień 2026.
Wolisz zbierać na koniec dnia? Utwórz etykiety dnia bez ID konsolidacji, a następnie otwórz konsolidację raz ze wszystkimi wartościami shipmentIds (lub dodaj je w partiach za pośrednictwem shipmentConsolidationUpdate) i zamknij ją w tym samym lub następnym wywołaniu.
Jeśli wysyłasz w ramach wielu jednostek biznesowych / kont rozliczeniowych, uruchom oddzielną konsolidację na konto — przekaż inny accountNumber na każdym shipmentConsolidationCreate i rozsyłaj przesyłki odpowiednio. Wysyłasz więcej niż 250 paczek dziennie? Otwórz drugą konsolidację.
Błędy walidacji (przechwycone przed każdym wywołaniem Japan Post)
accountNumber zniekształcony — odrzucony w Kroku 1 (shipmentConsolidationCreate) zanim konsolidacja zostanie nawet zapisana. Komunikat błędu identyfikuje problematyczny segment.
>250 przesyłek — odrzucone w Kroku 3, przed wywołaniem Japan Post.
Przesyłka członkowska bez numeru śledzenia — odrzucone w Kroku 3. Oznacza, że wcześniej utworzenie etykiety bezgłośnie nie powiodło się; zbadaj przesyłkę poprzez shipment(id: ...) { trackingDetails }.
Brak numeru opóźnionej zapłaty ustawionego na konsolidacji — odrzucone w Kroku 3. Przekaż accountNumber na shipmentConsolidationCreate lub zapisz domyślny numer konta na swoim koncie operatora Japan Post.
Błędy API Japan Post
Jeśli Japan Post odrzuci żądanie arkusza wysyłkowego, mutacja zamknięcia zawiera kod błędu operatora i komunikat jako błąd GraphQL. Najczęstsze:
Kod↕
Znaczenie↕
Co sprawdzić↕
E034
Brakujące numery klientów z opóźnioną zapłatą
accountNumber na konsolidacji.
E035
Numery śledzenia muszą mieć 13 znaków oddzielonych -
Przesyłki członkowskie mają zniekształcone numery śledzenia.
E036
Numery śledzenia muszą być alfanumeryczne
Jak powyżej.
E037
Nieprawidłowa przesyłka z opóźnioną zapłatą
Etykieta członka została utworzona bez numeru klienta opóźnionej zapłaty. Skontaktuj się z pomocą Zonos.
E046
Wymagana całkowita waga
Upstream tworzenie etykiety było zniekształcone. Skontaktuj się z pomocą Zonos.
50
Błąd formatu parametru
Naruszenie długości pola lub typu na wejściu.
51
Błąd uwierzytelniania
Skontaktuj się z pomocą Zonos.
Ponowne próby
Jeśli wywołanie zamknięcia nie powiedzie się po zaakceptowaniu żądania arkusza wysyłkowego przez Japan Post (tj. podczas pobierania pliku PDF), ponowne próbowanie shipmentConsolidationUpdate(status: CLOSED) jest bezpieczne — platforma pominie wywołanie operatora i ponownie spróbuje pobrać i dołączyć dokument.
Jeśli zamknięcie nie powiedzie się przed zaakceptowaniem żądania przez Japan Post (błąd walidacji, E0xx, timeout sieci), żaden stan nie zmienił się — napraw przyczynę główną i ponów próbę.
GraphQL API ReferenceTypes, inputs, and operations used in this guide
Wysyłka zbiorcza (konsolidacja)
Wysyłka zbiorcza (konsolidacja)
Zbierz wszystkie paczki Japan Post z jednego dnia w jeden arkusz wysyłkowy z opóźnioną zapłatą, korzystając z przepływu konsolidacji.
W tym dokumencie opisujemy trzyetapowy proces tworzenia zbiorczej wysyłki z opóźnioną zapłatą Japan Post za pośrednictwem API Zonos GraphQL: otworzenie konsolidacji, dołączenie
nprzesyłek, a następnie zamknięcie, aby otrzymać arkusz wysyłkowy Japan Post (dokument manifestu).Kiedy używać tego przepływu
Program opóźnionej zapłaty Japan Post (後納) pozwala handlowcowi rozliczyć swoją dzienną opłatę wysyłkową w jednej transakcji na koniec dnia, zamiast płacić za każdą paczkę oddzielnie. Handlowiec przynosi wszystkie paczki z tego dnia na pocztę wraz z jednym arkuszem wysyłkowym (差出票) obejmującym do 250 przesyłek. Opłaty pocztowe są rozliczane na wstępnie zarejestrowany numer Later Pay handlowca.
Jeśli wysyłasz poszczególne etykiety Japan Post i płacisz za paczkę przy oknie, nie musisz używać tego przepływu — bezpośrednio wywołaj przepływ dla pojedynczej przesyłki bez konsolidacji.
Przegląd
Istnieją dwa sposoby dołączenia przesyłek do partii — wybierz ten, który pasuje do Twojej integracji (lub mieszaj):
shipmentCreateWorkflowza pośrednictwem polashipmentConsolidationId.shipmentIdsnashipmentConsolidationCreate(w celu zainicjowania partii) lub nashipmentConsolidationUpdate(w celu dodania do otwartej partii). Każda przesyłka musi już mieć etykietę Japan Post.W każdym przypadku każda etykieta jest tworzona z wbudowanym numerem Later Pay, dzięki czemu Japan Post zaakceptuje ją w arkuszu wysyłkowym, gdy krok 3 zamknie partię.
Wymagania wstępne
Zanim ten przepływ zadziała dla danego Zweryfikowanego Konta:
1111111111-222222-3333333333-444444. Przekaż go nashipmentConsolidationCreateza pośrednictwemaccountNumber(Krok 1).SHIPMENT_WRITEoraz standardowe uprawnienia wymagane przez przepływ dla każdej przesyłki.Punkt końcowy i uwierzytelnianie
Wszystkie trzy kroki poniżej to operacje GraphQL wysyłane do tego samego punktu końcowego. To, co przesyłasz w nagłówkach, zależy od Twojej konfiguracji — wybierz swoją kartę.
URL:
Nagłówki:
Wysyłasz własne zamówienia na podstawie własnego Zweryfikowanego Konta. Uwierzytelniaj się jako siebie — klucz konta nie jest potrzebny.
Gdzie go znaleźć: Zonos Dashboard → Ustawienia → Integracje → sekcja Account Key. Skopiuj token z wiersza API key — to Twój
credentialToken.Przykładowe żądanie
Przykład do skopiowania i dostosowania otwierania konsolidacji — mutacja, jej zmienne i odpowiedź. To jest wywołanie specyficzne dla partii, które rozpoczyna przepływ; dołączenie przesyłek (Krok 2) ponownie wykorzystuje przykład dla pojedynczej przesyłki, a zamknięcie partii (Krok 3) zwraca dokument manifestu. Każde pole jest opisane w krokach poniżej.
mutation ShipmentConsolidationCreate($input: ShipmentConsolidationCreateInput!) {shipmentConsolidationCreate(input: $input) {idstatusaccountNumbercarrierCode}}Krok 1:
shipmentConsolidationCreateOtwiera konsolidację. Kod przewoźnika blokuje partię na Japan Post; wszystkie przesyłki członkowskie muszą używać poziomów usług Japan Post. Jeśli masz już oznaczone przesyłki, zainicjuj partię ich identyfikatorami za pośrednictwem
shipmentIds— w przeciwnym razie utwórz ją pustą i dołącz przesyłki w kroku 2.Mutacja:
mutation { shipmentConsolidationCreate( input: { carrierCode: JAPAN_POST accountNumber: "1111111111-222222-3333333333-444444" name: "Tokyo dispatch — 2026-05-01" externalId: "merchant-batch-20260501-001" shipmentIds: ["shipment_01hxa...", "shipment_01hxb..."] } ) { id status accountNumber carrierCode shipments { id } } }carrierCodeJAPAN_POST.accountNumbernameexternalIdshipmentIdsshipmentIdshipmentIds.Odpowiedź:
{ "data": { "shipmentConsolidationCreate": { "id": "shco_01hjk...", "status": "OPEN", "accountNumber": "1111111111-222222-3333333333-444444", "carrierCode": "JAPAN_POST", "shipments": [ { "id": "shipment_01hxa..." }, { "id": "shipment_01hxb..." } ] } } }Zapamiętaj
id(np.shco_01HJK...) — będzie potrzebny na wszystko poniżej.statustoOPENaż do kroku 3.Krok 2: Dołączenie przesyłek
Dla każdej paczki, którą musisz wysłać dzisiaj, uruchom pełny łańcuch przepływu dla pojedynczej przesyłki, aby utworzyć przesyłkę i jej etykietę. Następnie dołącz przesyłkę do partii, korzystając z jednej z poniższych metod.
Opcja A: Dołączenie w momencie tworzenia etykiety
Przekaż ID konsolidacji na finalnym kroku
shipmentCreateWorkflowłańcucha. Wszystkie poprzednie mutacje w łańcuchu są identyczne z przepływem dla pojedynczej przesyłki.Odpowiednie pola na
shipmentCreateWorkflow:shipmentCreateWorkflow( input: { serviceLevel: "japan_post.air.ems_merchandise" shipmentConsolidationId: "shco_01hjk..." generateLabel: true } ) { id trackingDetails { number } shipmentCartons { label { labelImage } } }shipmentConsolidationIdserviceLeveljapan_post.*). Mieszanie przewoźników w ramach jednej konsolidacji nie jest wspierane.Opcja B: Dołączenie istniejących przesyłek według ID
Jeśli Twoje przesyłki są już utworzone i oznaczone, dodaj je do otwartej partii za pośrednictwem
shipmentIdsnashipmentConsolidationUpdate:mutation { shipmentConsolidationUpdate( input: { id: "shco_01hjk..." shipmentIds: ["shipment_01hxd...", "shipment_01hxe..."] } ) { id status shipments { id } } }Pomiń
statusw wejściu, gdy nadal dodajesz przesyłki — partia pozostanieOPEN. Każda przesyłka musi używać poziomu usług Japan Post i mieć etykietę (numer śledzenia) zanim partia zostanie zamknięta w Kroku 3.Co oznacza dołączenie dla etykiety
Niezależnie od wybranej opcji, gdy przesyłka Japan Post jest częścią konsolidacji:
shipmentConsolidation(id: ...), aby zobaczyć jej członków.Powtórz ten krok dla każdej paczki w dziennej partii. Do 250 przesyłek na konsolidację; próba zamknięcia większej partii nie powiedzie się z wyraźnym komunikatem błędu walidacji, zanim zostanie wykonane jakiekolwiek wywołanie Japan Post.
Możesz również zweryfikować zawartość partii przed zamknięciem:
query { shipmentConsolidation(id: "shco_01hjk...") { status shipments { id trackingDetails { number } } } }Każda przesyłka powinna tutaj pokazać numer śledzenia. Jeśli tego nie robi, jej etykieta nigdy nie została utworzona — rozwiąż to zanim zamkniesz.
statustoOPENaż do zamknięcia konsolidacji w Kroku 3.Krok 3:
shipmentConsolidationUpdate(status: CLOSED)Zamyka partię. To jest wywołanie, które prosi Japan Post o wygenerowanie arkusza wysyłkowego z opóźnioną zapłatą obejmującego każdy numer śledzenia członka i dołącza wynikowy plik PDF do konsolidacji.
Operacja GraphQL nosi nazwę
CloseConsolidation, aby opisać jej cel — zamknięcie partii. Uruchamia mutacjęshipmentConsolidationUpdatezstatus: CLOSED.Mutacja:
mutation CloseConsolidation { shipmentConsolidationUpdate(input: { id: "shco_01hjk...", status: CLOSED }) { id status statusTransitions { status changedAt note } customsDocuments { documentType fileUrl } } }idstatusCLOSED, aby zamknąć partię i wytworzyć arkusz wysyłkowy.shipmentIdsNa żądaniu
CLOSED:MANIFEST_CREATED, podczas gdy pobranie arkusza PDF jest w toku, a następnie doCLOSED, gdy dokument został dołączony.CustomsDocumentzdocumentType: MANIFEST_DOCUMENT.Odpowiedź:
{ "data": { "shipmentConsolidationUpdate": { "id": "shco_01hjk...", "status": "CLOSED", "statusTransitions": [ { "status": "OPEN", "changedAt": "2026-05-01T08:00:00Z", "note": "Shipment batch created" }, { "status": "MANIFEST_CREATED", "changedAt": "2026-05-01T17:30:12Z", "note": "Dispatch slip created with Japan Post" }, { "status": "CLOSED", "changedAt": "2026-05-01T17:30:14Z", "note": "Dispatch slip downloaded and uploaded" } ], "customsDocuments": [ { "documentType": "MANIFEST_DOCUMENT", "fileUrl": "https://customs-docs.zonos.com/.../japanpost-dispatch-slip.pdf" } ] } } }Pobieranie dokumentów
Arkusz wysyłkowy jest dołączony bezpośrednio do konsolidacji jako
CustomsDocumentzdocumentType: MANIFEST_DOCUMENT— weźfileUrlz odpowiedzi zamknięcia powyżej lub wyszukaj ją w dowolnym momencie później:query { shipmentConsolidation(id: "shco_01hjk...") { status customsDocuments { documentType fileUrl } } }Wydrukuj plik PDF z
fileUrl. Zawiera:Po wydrukowaniu przynieś paczki + arkusz wysyłkowy + kopie na pocztę w jednej wizycie. Japan Post rozlicza Twój numer Later Pay na koniec okresu rozliczeniowego.
Złożenie razem
Reprezentatywny dzień handlowca wysyłającego 50 paczek Japan Post wygląda następująco:
Wolisz zbierać na koniec dnia? Utwórz etykiety dnia bez ID konsolidacji, a następnie otwórz konsolidację raz ze wszystkimi wartościami
shipmentIds(lub dodaj je w partiach za pośrednictwemshipmentConsolidationUpdate) i zamknij ją w tym samym lub następnym wywołaniu.Jeśli wysyłasz w ramach wielu jednostek biznesowych / kont rozliczeniowych, uruchom oddzielną konsolidację na konto — przekaż inny
accountNumberna każdymshipmentConsolidationCreatei rozsyłaj przesyłki odpowiednio. Wysyłasz więcej niż 250 paczek dziennie? Otwórz drugą konsolidację.Obsługa błędów
Błędy walidacji (przechwycone przed każdym wywołaniem Japan Post)
accountNumberzniekształcony — odrzucony w Kroku 1 (shipmentConsolidationCreate) zanim konsolidacja zostanie nawet zapisana. Komunikat błędu identyfikuje problematyczny segment.shipment(id: ...) { trackingDetails }.accountNumbernashipmentConsolidationCreatelub zapisz domyślny numer konta na swoim koncie operatora Japan Post.Błędy API Japan Post
Jeśli Japan Post odrzuci żądanie arkusza wysyłkowego, mutacja zamknięcia zawiera kod błędu operatora i komunikat jako błąd GraphQL. Najczęstsze:
E034accountNumberna konsolidacji.E035-E036E037E0465051Ponowne próby
Jeśli wywołanie zamknięcia nie powiedzie się po zaakceptowaniu żądania arkusza wysyłkowego przez Japan Post (tj. podczas pobierania pliku PDF), ponowne próbowanie
shipmentConsolidationUpdate(status: CLOSED)jest bezpieczne — platforma pominie wywołanie operatora i ponownie spróbuje pobrać i dołączyć dokument.Jeśli zamknięcie nie powiedzie się przed zaakceptowaniem żądania przez Japan Post (błąd walidacji,
E0xx, timeout sieci), żaden stan nie zmienił się — napraw przyczynę główną i ponów próbę.ShipmentConsolidationCreateInput
shipmentConsolidationCreate shipmentConsolidationUpdate shipmentCreateWorkflow
Czy ta strona była pomocna?