GraphQL-arbetsflödet CreateDeclarationShipment tar en Japan Post-försändelse från rådata till en utskrivbar etikett i ett enda anrop.
CreateDeclarationShipment kedjar samman sex *Workflow-mutationer i en enda GraphQL-förfrågan. Varje steg bygger på de data föregående steg gav, och alla skickas in tillsammans så att en komplett försändelse kan skapas i ett enda anrop:
partyCreateWorkflow → describe origin + destination parties
itemCreateWorkflow → describe the line items
cartonsCreateWorkflow → describe the physical packaging
shipmentRatingCreateWorkflow → record the carrier rate quote
landedCostCalculateWorkflow → calculate duties / taxes / fees
shipmentCreateWorkflow → create the shipment + label
Workflow-mutationerna är utformade för att vara kedjade: du behöver inte skicka med ID:n från ett steg till nästa, och du behöver inte skicka en separat förfrågan för varje steg. Skicka in hela dokumentet och få tillbaka den slutliga Shipment-posten.
När serviceLevel i det sista steget är en Japan Post-servicenivå (japan_post.*) anropar Zonos Japan Post Label API (kod 52) å dina vägnar med hjälp av ditt verifierade kontos Later Pay-nummer, genererar etiketten och spårningsnumret, skapar deklarations-ID:t och kopplar samman dem — allt inom det sista shipmentCreateWorkflow-steget.
Varför en enda mutation? Varje steg är beroende av det föregående (landed cost behöver artiklarna och parterna; etiketten behöver allt). Genom att samla dem i ett enda GraphQL-dokument hålls data konsekvent och du undviker fem extra anrop.
Alla förfrågningar i den här kedjan använder samma slutpunkt. Vad du skickar i headers beror på din uppsättning — välj din flik.
URL:
https://api.zonos.com/graphql
Headers:
Du skickar dina egna beställningar under ditt eget verifierade konto. Autentisera dig som dig själv — ingen kontonyckel behövs.
credentialToken: {{YOUR_API_TOKEN}}
Var du hittar den: Zonos Dashboard → Inställningar → Integrationer → avsnittet Kontonyckel. Kopiera token på raden API-nyckel; det är din credentialToken.
En komplett CreateDeclarationShipment-förfrågan som du kan kopiera och anpassa — mutationen, dess variabler och svaret — för en enskild Japan Post-försändelse som skickas DDP till USA. Varje indata beskrivs i detalj i avsnittet steg för steg nedan.
Svaret returnerar de skapade Party-ID:erna och de matchade adressfälten.
2. itemCreateWorkflow
Skapar de radartiklar som utgör försändelsen. Dessa är de SKU:er som visas på handelsfakturan och som styr beräkningen av landed cost.
Fält↕
Status↕
Anteckningar↕
currencyCode
Krävs
Valuta för enhetspriset.
quantity
Krävs
Antal enheter av denna artikel.
amount
Villkorat
Enhetspris (inte totalt). Krävs om inte totalAmount anges.
totalAmount
Valfritt
Alternativ till amount; amount beräknas som totalAmount / quantity.
hsCode
Rekommenderas
HS-kod (Harmonized System). Styr tullsatser.
countryOfOrigin
Rekommenderas
ISO-2-kod för landet där artikeln tillverkades. Styr tull/frihandelsavtal.
name, description
Rekommenderas
Produktnamn och beskrivning som visas för kunden.
customsDescription
Valfritt
Åsidosätter tullbeskrivningen.
sku, productId
Valfritt
Dina interna identifierare.
measurements
Valfritt
Vikt/mått per enhet.
HS-koden, ursprungslandet och beloppet är de tre fält som mest påverkar resultatet för tull/skatt i steg 5.
3. cartonsCreateWorkflow
Skapar de fysiska paketen — de kartonger, polybags eller brev som ska innehålla artiklarna.
Fält↕
Status↕
Anteckningar↕
dimensionalUnit
Krävs
INCH eller CENTIMETER.
weight, weightUnit
Krävs för etikett
Japan Post kräver paketets vikt.
length, width, height
Valfritt
Yttermått.
type
Valfritt
Förpackningstyp (kartong, polybag, brev). Standardvärde är PACKAGE.
Varje kartong blir ett paket på transportörens etikett i steg 6. Flera kartonger → en försändelse med flera delar och ett spårningsnummer per kartong.
4. shipmentRatingCreateWorkflow
Registrerar den fraktprisuppgift som handlaren tar ut av köparen för frakten.
Fält↕
Status↕
Anteckningar↕
amount
Krävs
Vad köparen betalar för frakten. Ange 0 om den är gratis.
currencyCode
Krävs
Valuta för amount.
serviceLevelCode
Krävs
Transportörens servicekod (t.ex. japan_post.air.parcel). Se Japan Post-servicenivåer för den fullständiga listan.
displayName
Valfritt
Visningsnamn för kvittot/fakturan.
Det här är det pris köparen fick vid kassan. Det ingår i beräkningen av landed cost som delsumman shipping, så att tullar och skatter beräknas mot rätt CIF-värde.
5. landedCostCalculateWorkflow
Kör beräkningen av tullar, skatter och avgifter för destinationslandet. Använder artiklarna, parterna och fraktkostnaden från de föregående stegen.
Fält↕
Status↕
Anteckningar↕
endUse
Krävs
NOT_FOR_RESALE eller FOR_RESALE. Vissa destinationer tillämpar olika satser för kommersiell respektive privat slutanvändning.
tariffRate
Krävs
Standardvärde är ZONOS_PREFERRED om det utelämnas. Anger för Zonos vilken tullkälla/metod som ska tillämpas.
calculationMethod
Rekommenderas
DDP (köparen förbetalar) eller DDU (köparen betalar vid dörren). Använd DDP för förbetalning. Styr om LandedCost.amountSubtotals inkluderar tull/skatt.
currencyCode
Valfritt
Valutan som delsummorna för landed cost returneras i.
arrivalDate
Valfritt
Växelkurser och tulltaxor låses till detta datum om det anges.
Svaret innehåller amountSubtotals (duties, taxes, fees, shipping, landedCostTotal) — det är de belopp du visar för köparen i kassan och som skrivs ut på handelsfakturan.
6. shipmentCreateWorkflow
Det avslutande steget — skapar entiteten Shipment, genererar transportörens etikett och (valfritt) handelsfakturan/packlistan.
För Japan Post-verifierade konton är det också här Zonos anropar Japan Post Label API (kod 52) å dina vägnar, infogar dina Later Pay-nummer, skapar deklarations-ID:t och kopplar deklarations-ID:t till spårningsnumret som returneras av Japan Post.
Viktiga fält:
Fält↕
Status↕
Anteckningar↕
serviceLevel
Krävs för etikett
Japan Post-tjänsten att skicka med (t.ex. japan_post.air.ems_merchandise). Måste vara en japan_post.*-servicenivå.
generateLabel
Valfritt
Standardvärde är true; måste vara true för att en etikett ska returneras.
contentsType
Rekommenderas
Styr tullhanteringen. En av SALE_OF_GOODS, ECOMMERCE_GOODS, COMMERCIAL_GOODS, COMMERCIAL_SAMPLE, RETURNED_GOODS, GIFT, DOCUMENTS, OTHER.
nonDelivery
Valfritt
Vad Japan Post ska göra om paketet inte kan levereras. Se nedan.
references
Valfritt
Referensnummer från handlaren som skrivs ut på etiketten och handelsfakturan. Se nedan.
För contentsType är de två vanligaste värdena för trafik från verifierade konton ECOMMERCE_GOODS (säljs till en konsument, B2C) och COMMERCIAL_GOODS (säljs mellan företag, B2B). Dessa styr det pkgType som Zonos skickar i anropet till Japan Post-etiketten, så valet påverkar vad som skrivs ut på tulldeklarationen — det är inte bara en etikett.
Underindata nonDelivery
Anger vad Japan Post ska göra med paketet om det inte kan levereras — nekas av mottagaren, avvisas vid gränsen eller är omöjligt att leverera till den angivna adressen.
option accepterar exakt dessa fyra värden. Det finns inget värde RETURN — använd RETURN_AFTER_RETENTION eller RETURN_IMMEDIATELY för att välja när paketet skickas tillbaka.
option↕
Motsvarighet i Dashboard↕
Vad Japan Post gör↕
RETURN_AFTER_RETENTION
Retur
Håller kvar paketet hos destinationspostkontoret under dess uppehållsperiod och returnerar det därefter till avsändaren.
RETURN_IMMEDIATELY
Retur
Returnerar paketet till avsändaren omedelbart, utan uppehållsperiod.
FORWARD
Omdirigering
Omdirigerar paketet till en annan adress. Ytterligare porto tillkommer.
ABANDON
Avstå
Gör sig av med paketet på destinationen. Inget returneras och inget returporto tas ut.
API:et exponerar båda returvarianterna separat; Dashboard-alternativet Retur täcker båda.
transportMethod accepterar AIR eller MOST_ECONOMICAL och anger hur ett returnerat paket transporteras tillbaka. Det gäller endast de två RETURN_*-alternativen — Dashboard visar motsvarande fält Returmetod endast när Retur är valt.
Väljaren Om ej leveransbar i Dashboard-dialogen Skapa etikett skriver till samma fält, så en etikett som skapas i Dashboard och en etikett som skapas via API:et beter sig identiskt.
Underindata references
Dessa fält skrivs ut på transportörens etikett och/eller handelsfakturan. Använd dem för att visa PO-nummer, licensnummer och fritextanmärkningar som mottagaren eller tullmyndigheten behöver se.
Fält↕
Status↕
Anteckningar↕
Längd↕
invoiceNumber
Valfritt
Handlarens fakturanummer.
—
purchaseOrderNumber
Valfritt
Handlarens PO-nummer.
—
licenseNumber
Valfritt
Export-/importlicensnummer.
—
certificateNumber
Valfritt
Tullcertifikatnummer.
—
paymentConditions
Valfritt
Fritext med betalningsvillkor som visas på handelsfakturan.
Begränsa till 200 tecken — längre värden får inte plats på den utskrivna fakturan.
customsRemarks
Valfritt
Fritext med tullanmärkningar.
—
taxCode
Valfritt
Anpassad skattekod som skrivs ut på etiketten.
—
Svar
De mest relevanta fälten på det returnerade Shipment-objektet är:
{
id
trackingDetails {
number
}
shipmentCartons {
label {
url
labelImage
}}}
trackingDetails.number är Japan Posts spårningsnummer.
Objektet label kan returnera etiketten på två sätt — begär det som passar ditt arbetsflöde (eller båda):
Fält↕
Returnerar↕
Använd när↕
url
En värdbaserad länk till den renderade etikettfilen (PDF), redo att laddas ner eller skrivas ut.
Du vill lämna över en länk — öppna den, mejla den eller hämta filen senare utan att behöva ha den i nyttolasten.
labelImage
Den base64-kodade etikettbilden (PNG/PDF/ZPL) direkt i svaret.
Du vill ha etikettens bytes direkt i svaret för att bifoga i ett orderhanteringsflöde eller spara i ditt WMS.
Välj bara de fält du behöver. Om du begär url hålls svaret litet; om du begär labelImage returneras hela etiketten direkt så att du inte behöver ett andra anrop för att hämta den. Exemplet ovan begär url.
Servicenivåkoder använder punkter, inte understreck. Du kan se understrecksformen (japan_post_air_parcel) i felmeddelanden och interna referenser, men den är inte giltig indata.
Flygtjänster
Kod↕
Japan Post-tjänst↕
Posttyp↕
japan_post.air.ems_documents
EMS (dokument)
1-0
japan_post.air.ems_merchandise
EMS (varor)
1-1
japan_post.air.parcel
Internationellt paket
1-5
japan_post.air.packet
International Air Packet
1-8
japan_post.air.small_packet
Litet paket
1-9
japan_post.air.printed_matter_registered
Trycksaker, rekommenderat
1-A
japan_post.air.printed_matter
Trycksaker
1-B
japan_post.air.letter_registered
Brev, rekommenderat
1-C
japan_post.air.letter
Brev
1-D
Yttjänster
Kod↕
Japan Post-tjänst↕
Posttyp↕
japan_post.surface.parcel
Internationellt paket
2-5
japan_post.surface.small_packet
Litet paket
2-9
japan_post.surface.printed_matter
Trycksaker
2-B
japan_post.surface.letter
Brev
2-D
Att välja mellan liknande tjänster
Litet paket jämfört med International Air Packet. Båda är begränsade till 2 kg. japan_post.air.packet är Japan Posts spårbara tjänst för mindre paket. japan_post.air.small_packet är motsvarigheten utan spårning. Om du behöver spårning för ett lätt paket, använd japan_post.air.packet.
Rekommenderade varianter. För brev och trycksaker läggs spårning till av den rekommenderade (書留) versionen av tjänsten. japan_post.air.printed_matter och japan_post.air.letter inkluderar den inte på egen hand.
Utfasade koder
japan_post.air.epacket_light var International e-Packet Light. Japan Post bytte namn på tjänsten till International Air Packet den 1 juni 2026 och utökade den till alla länder och regioner. Tjänsten i sig är oförändrad.
Den gamla koden fungerar fortfarande, så befintliga integrationer fortsätter att fungera, men använd japan_post.air.packet för nytt arbete.
Transportsättskoder
japan_post.air, japan_post.surface, japan_post.economy_air och japan_post.custom fungerar också, men de anger ett transportsätt eller en reservlösning snarare än en specifik posttjänst. Använd en av servicekoderna ovan för vanliga försändelser.
Validera koden du skickar
En okänd serviceLevelCodegenererar inget fel. Förfrågan returnerar HTTP 200 utan någon errors-array, serviceLevel kommer tillbaka som null, och frakten faller bort ur den totala landed cost-summan — så svaret ser korrekt ut trots att beloppen är fel.
Kontrollera alltid att shipmentRatingCreateWorkflow.serviceLevel inte är null innan du litar på totalsummorna.
Hämta den aktuella listan när som helst:
{
serviceLevels(carrier:"carrier_00004c9b-9431-4518-bfbc-b9f8476335b1"){
code
name
}}
Den här frågan tar transportörens ID. Om du skickar transportörskoden japan_post returneras en tom lista utan fel.
Valideringsfel (saknade obligatoriska fält, ogiltiga landskoder osv.) kommer tillbaka i den vanliga GraphQL-arrayen errors och avbryter resten av kedjan.
Japan Post-fel (fel vid etikettgenerering, ogiltig adress osv.) visas som GraphQL-fel på shipmentCreateWorkflow. Om ett nytt försök behövs, kontakta supporten — den rekommenderade vägen är att skicka in hela mutationen igen med korrigerad indata.
VALIDATION_INVALID_TYPE_VARIABLE
{"errors":[{"message":"invalid type for variable: 'shipmentInput'","extensions":{"name":"shipmentInput","code":"VALIDATION_INVALID_TYPE_VARIABLE"}}]}
Det här felet anger hela variabeln, inte det fält som faktiskt är felaktigt. Det betyder nästan alltid att ett enum-värde inuti variabeln inte är en medlem av sin enum — oftast nonDelivery.option, contentsType eller serviceLevel.
Det är inte ett JSON-typningsproblem. Att sätta eller ta bort citattecken kring dina booleaner och nummer ändrar inget, eftersom nyttolasten aldrig kommer så långt — enum-värdet avvisas först.
För att hitta det felaktiga fältet, kontrollera varje enum-fält i variabeln mot dess tillåtna värden:
Varje steg säkras separat. Din API-nyckel måste ha skrivbehörighet (write scope) för varje entitet i kedjan (ITEM_WRITE, CARTON_WRITE, SHIPMENT_RATING_WRITE, LANDED_COST_WRITE, SHIPMENT_WRITE). Standardrollen för handlare på ett verifierat konto ger alla dessa.
Skapa en enskild försändelse
Skapa en enskild försändelse
GraphQL-arbetsflödet
CreateDeclarationShipmenttar en Japan Post-försändelse från rådata till en utskrivbar etikett i ett enda anrop.CreateDeclarationShipmentkedjar samman sex*Workflow-mutationer i en enda GraphQL-förfrågan. Varje steg bygger på de data föregående steg gav, och alla skickas in tillsammans så att en komplett försändelse kan skapas i ett enda anrop:Workflow-mutationerna är utformade för att vara kedjade: du behöver inte skicka med ID:n från ett steg till nästa, och du behöver inte skicka en separat förfrågan för varje steg. Skicka in hela dokumentet och få tillbaka den slutligaShipment-posten.När
serviceLeveli det sista steget är en Japan Post-servicenivå (japan_post.*) anropar Zonos Japan Post Label API (kod 52) å dina vägnar med hjälp av ditt verifierade kontos Later Pay-nummer, genererar etiketten och spårningsnumret, skapar deklarations-ID:t och kopplar samman dem — allt inom det sistashipmentCreateWorkflow-steget.Slutpunkt och autentisering
Alla förfrågningar i den här kedjan använder samma slutpunkt. Vad du skickar i headers beror på din uppsättning — välj din flik.
URL:
Headers:
Du skickar dina egna beställningar under ditt eget verifierade konto. Autentisera dig som dig själv — ingen kontonyckel behövs.
Var du hittar den: Zonos Dashboard → Inställningar → Integrationer → avsnittet Kontonyckel. Kopiera token på raden API-nyckel; det är din
credentialToken.Exempel på förfrågan
En komplett
CreateDeclarationShipment-förfrågan som du kan kopiera och anpassa — mutationen, dess variabler och svaret — för en enskild Japan Post-försändelse som skickas DDP till USA. Varje indata beskrivs i detalj i avsnittet steg för steg nedan.mutation CreateDeclarationShipment($partyInput: [PartyCreateWorkflowInput!]!$itemInput: [ItemCreateWorkflowInput!]!$cartonInput: [CartonCreateWorkflowInput!]!$shipmentRatingInput: ShipmentRatingCreateWorkflowInput!$landedCostInput: LandedCostWorkFlowInput!$shipmentInput: ShipmentCreateWorkflowInput!) {partyCreateWorkflow(input: $partyInput) {idtypelocation {line1localitypostalCodecountryCode}}itemCreateWorkflow(input: $itemInput) {idnameskuamountcurrencyCodehsCode}cartonsCreateWorkflow(input: $cartonInput) {idlengthwidthheightdimensionalUnitweightweightUnit}shipmentRatingCreateWorkflow(input: $shipmentRatingInput) {idamount}landedCostCalculateWorkflow(input: $landedCostInput) {idmethodcurrencyCodeamountSubtotals {dutiestaxesfeesshippinglandedCostTotal}}shipmentCreateWorkflow(input: $shipmentInput) {idtrackingDetails {number}shipmentCartons {label {url}}}}Steg för steg
Kolumnen
Statusi tabellerna nedan använder följande termer:1.
partyCreateWorkflowSkapar de parter som ingår i försändelsen — minst en
ORIGIN(varifrån försändelsen skickas) och enDESTINATION(köparen/mottagaren).typeORIGINochDESTINATIONär de två som detta flöde behöver. Andra (CONSIGNEE,EXPORTER,IMPORTER_OF_RECORD,PAYORosv.) finns men används inte här.location.countryCodelocation.line1,locality,administrativeAreaCode,postalCodeperson.firstName,lastName,phoneperson.companyName,emailExempel på nyttolast:
[ { "type": "DESTINATION", "location": { "countryCode": "US" }, "person": {} }, { "type": "ORIGIN", "location": { "countryCode": "JP" }, "person": {} } ]Svaret returnerar de skapade
Party-ID:erna och de matchade adressfälten.2.
itemCreateWorkflowSkapar de radartiklar som utgör försändelsen. Dessa är de SKU:er som visas på handelsfakturan och som styr beräkningen av landed cost.
currencyCodequantityamounttotalAmountanges.totalAmountamount;amountberäknas somtotalAmount / quantity.hsCodecountryOfOriginname,descriptioncustomsDescriptionsku,productIdmeasurementsHS-koden, ursprungslandet och beloppet är de tre fält som mest påverkar resultatet för tull/skatt i steg 5.
3.
cartonsCreateWorkflowSkapar de fysiska paketen — de kartonger, polybags eller brev som ska innehålla artiklarna.
dimensionalUnitINCHellerCENTIMETER.weight,weightUnitlength,width,heighttypePACKAGE.Varje kartong blir ett paket på transportörens etikett i steg 6. Flera kartonger → en försändelse med flera delar och ett spårningsnummer per kartong.
4.
shipmentRatingCreateWorkflowRegistrerar den fraktprisuppgift som handlaren tar ut av köparen för frakten.
amount0om den är gratis.currencyCodeamount.serviceLevelCodejapan_post.air.parcel). Se Japan Post-servicenivåer för den fullständiga listan.displayNameDet här är det pris köparen fick vid kassan. Det ingår i beräkningen av landed cost som delsumman
shipping, så att tullar och skatter beräknas mot rätt CIF-värde.5.
landedCostCalculateWorkflowKör beräkningen av tullar, skatter och avgifter för destinationslandet. Använder artiklarna, parterna och fraktkostnaden från de föregående stegen.
endUseNOT_FOR_RESALEellerFOR_RESALE. Vissa destinationer tillämpar olika satser för kommersiell respektive privat slutanvändning.tariffRateZONOS_PREFERREDom det utelämnas. Anger för Zonos vilken tullkälla/metod som ska tillämpas.calculationMethodDDP(köparen förbetalar) ellerDDU(köparen betalar vid dörren). AnvändDDPför förbetalning. Styr omLandedCost.amountSubtotalsinkluderar tull/skatt.currencyCodearrivalDateSvaret innehåller
amountSubtotals(duties,taxes,fees,shipping,landedCostTotal) — det är de belopp du visar för köparen i kassan och som skrivs ut på handelsfakturan.6.
shipmentCreateWorkflowDet avslutande steget — skapar entiteten
Shipment, genererar transportörens etikett och (valfritt) handelsfakturan/packlistan.För Japan Post-verifierade konton är det också här Zonos anropar Japan Post Label API (kod 52) å dina vägnar, infogar dina Later Pay-nummer, skapar deklarations-ID:t och kopplar deklarations-ID:t till spårningsnumret som returneras av Japan Post.
Viktiga fält:
serviceLeveljapan_post.air.ems_merchandise). Måste vara enjapan_post.*-servicenivå.generateLabeltrue; måste varatrueför att en etikett ska returneras.contentsTypeSALE_OF_GOODS,ECOMMERCE_GOODS,COMMERCIAL_GOODS,COMMERCIAL_SAMPLE,RETURNED_GOODS,GIFT,DOCUMENTS,OTHER.nonDeliveryreferencesdeclaredValue/isDeclaredValueshipmentConsolidationIdFör
contentsTypeär de två vanligaste värdena för trafik från verifierade kontonECOMMERCE_GOODS(säljs till en konsument, B2C) ochCOMMERCIAL_GOODS(säljs mellan företag, B2B). Dessa styr detpkgTypesom Zonos skickar i anropet till Japan Post-etiketten, så valet påverkar vad som skrivs ut på tulldeklarationen — det är inte bara en etikett.Underindata
nonDeliveryAnger vad Japan Post ska göra med paketet om det inte kan levereras — nekas av mottagaren, avvisas vid gränsen eller är omöjligt att leverera till den angivna adressen.
optionaccepterar exakt dessa fyra värden. Det finns inget värdeRETURN— användRETURN_AFTER_RETENTIONellerRETURN_IMMEDIATELYför att välja när paketet skickas tillbaka.option↕RETURN_AFTER_RETENTIONRETURN_IMMEDIATELYFORWARDABANDONAPI:et exponerar båda returvarianterna separat; Dashboard-alternativet Retur täcker båda.
transportMethodaccepterarAIRellerMOST_ECONOMICALoch anger hur ett returnerat paket transporteras tillbaka. Det gäller endast de tvåRETURN_*-alternativen — Dashboard visar motsvarande fält Returmetod endast när Retur är valt.{ "nonDelivery": { "option": "RETURN_AFTER_RETENTION", "transportMethod": "MOST_ECONOMICAL" } }Väljaren Om ej leveransbar i Dashboard-dialogen Skapa etikett skriver till samma fält, så en etikett som skapas i Dashboard och en etikett som skapas via API:et beter sig identiskt.
Underindata
referencesDessa fält skrivs ut på transportörens etikett och/eller handelsfakturan. Använd dem för att visa PO-nummer, licensnummer och fritextanmärkningar som mottagaren eller tullmyndigheten behöver se.
invoiceNumberpurchaseOrderNumberlicenseNumbercertificateNumberpaymentConditionscustomsRemarkstaxCodeSvar
De mest relevanta fälten på det returnerade
Shipment-objektet är:{ id trackingDetails { number } shipmentCartons { label { url labelImage } } }trackingDetails.numberär Japan Posts spårningsnummer.Objektet
labelkan returnera etiketten på två sätt — begär det som passar ditt arbetsflöde (eller båda):urllabelImageVälj bara de fält du behöver. Om du begär
urlhålls svaret litet; om du begärlabelImagereturneras hela etiketten direkt så att du inte behöver ett andra anrop för att hämta den. Exemplet ovan begärurl.Japan Post-servicenivåer
Skicka en av dessa koder som
serviceLevelCodeishipmentRatingCreateWorkflow.Servicenivåkoder använder punkter, inte understreck. Du kan se understrecksformen (
japan_post_air_parcel) i felmeddelanden och interna referenser, men den är inte giltig indata.Flygtjänster
japan_post.air.ems_documents1-0japan_post.air.ems_merchandise1-1japan_post.air.parcel1-5japan_post.air.packet1-8japan_post.air.small_packet1-9japan_post.air.printed_matter_registered1-Ajapan_post.air.printed_matter1-Bjapan_post.air.letter_registered1-Cjapan_post.air.letter1-DYttjänster
japan_post.surface.parcel2-5japan_post.surface.small_packet2-9japan_post.surface.printed_matter2-Bjapan_post.surface.letter2-DAtt välja mellan liknande tjänster
Litet paket jämfört med International Air Packet. Båda är begränsade till 2 kg.
japan_post.air.packetär Japan Posts spårbara tjänst för mindre paket.japan_post.air.small_packetär motsvarigheten utan spårning. Om du behöver spårning för ett lätt paket, användjapan_post.air.packet.Rekommenderade varianter. För brev och trycksaker läggs spårning till av den rekommenderade (書留) versionen av tjänsten.
japan_post.air.printed_matterochjapan_post.air.letterinkluderar den inte på egen hand.Utfasade koder
japan_post.air.epacket_lightvar International e-Packet Light. Japan Post bytte namn på tjänsten till International Air Packet den 1 juni 2026 och utökade den till alla länder och regioner. Tjänsten i sig är oförändrad.Den gamla koden fungerar fortfarande, så befintliga integrationer fortsätter att fungera, men använd
japan_post.air.packetför nytt arbete.Transportsättskoder
japan_post.air,japan_post.surface,japan_post.economy_airochjapan_post.customfungerar också, men de anger ett transportsätt eller en reservlösning snarare än en specifik posttjänst. Använd en av servicekoderna ovan för vanliga försändelser.Validera koden du skickar
En okänd
serviceLevelCodegenererar inget fel. Förfrågan returnerar HTTP 200 utan någonerrors-array,serviceLevelkommer tillbaka somnull, och frakten faller bort ur den totala landed cost-summan — så svaret ser korrekt ut trots att beloppen är fel.Kontrollera alltid att
shipmentRatingCreateWorkflow.serviceLevelinte är null innan du litar på totalsummorna.Hämta den aktuella listan när som helst:
{ serviceLevels(carrier: "carrier_00004c9b-9431-4518-bfbc-b9f8476335b1") { code name } }Den här frågan tar transportörens ID. Om du skickar transportörskoden
japan_postreturneras en tom lista utan fel.Felhantering
errorsoch avbryter resten av kedjan.shipmentCreateWorkflow. Om ett nytt försök behövs, kontakta supporten — den rekommenderade vägen är att skicka in hela mutationen igen med korrigerad indata.VALIDATION_INVALID_TYPE_VARIABLE{ "errors": [ { "message": "invalid type for variable: 'shipmentInput'", "extensions": { "name": "shipmentInput", "code": "VALIDATION_INVALID_TYPE_VARIABLE" } } ] }Det här felet anger hela variabeln, inte det fält som faktiskt är felaktigt. Det betyder nästan alltid att ett enum-värde inuti variabeln inte är en medlem av sin enum — oftast
nonDelivery.option,contentsTypeellerserviceLevel.Det är inte ett JSON-typningsproblem. Att sätta eller ta bort citattecken kring dina booleaner och nummer ändrar inget, eftersom nyttolasten aldrig kommer så långt — enum-värdet avvisas först.
För att hitta det felaktiga fältet, kontrollera varje enum-fält i variabeln mot dess tillåtna värden:
nonDelivery.optionRETURN_AFTER_RETENTION,RETURN_IMMEDIATELY,FORWARD,ABANDON— ingetRETURNnonDelivery.transportMethodAIR,MOST_ECONOMICALcontentsTypeSALE_OF_GOODS,ECOMMERCE_GOODS,COMMERCIAL_GOODS,COMMERCIAL_SAMPLE,RETURNED_GOODS,GIFT,DOCUMENTS,OTHERserviceLeveljapan_post.*-servicenivåkodAlla enum-medlemmar för en indatatyp finns listade på dess typsida i API-referensen.
Behörigheter
Varje steg säkras separat. Din API-nyckel måste ha skrivbehörighet (write scope) för varje entitet i kedjan (
ITEM_WRITE,CARTON_WRITE,SHIPMENT_RATING_WRITE,LANDED_COST_WRITE,SHIPMENT_WRITE). Standardrollen för handlare på ett verifierat konto ger alla dessa.Nästa steg
CartonCreateWorkflowInput ItemCreateWorkflowInput LandedCostWorkFlowInput PartyCreateWorkflowInput ShipmentCreateWorkflowInput ShipmentRatingCreateWorkflowInput
cartonsCreateWorkflow itemCreateWorkflow landedCostCalculateWorkflow partyCreateWorkflow shipmentCreateWorkflow shipmentRatingCreateWorkflow
Var den här sidan till hjälp?