CreateDeclarationShipment GraphQL-workflowet tager en Japan Post-forsendelse fra rå input til en printbar label i ét round-trip.
CreateDeclarationShipment kæder seks *Workflow-mutationer sammen i én enkelt GraphQL-anmodning. Hvert trin bygger på data fra de foregående trin, og de sendes alle sammen, så en komplet forsendelse kan oprettes i ét round-trip:
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-mutationerne er designet til at blive kædet: du behøver ikke at sende ID'er fra ét trin til det næste, og du behøver ikke sende en separat anmodning pr. trin. Send hele dokumentet, få den endelige Shipment tilbage.
Når serviceLevel i det sidste trin er et Japan Post-serviceniveau (japan_post.*), kalder Zonos Japan Post Label API (kode 52) på dine vegne med din Verified Accounts Later Pay Numbers, genererer label og trackingnummer, opretter Declaration ID og kæder dem sammen — alt sammen i det sidste shipmentCreateWorkflow-trin.
Hvorfor én mutation? Hvert trin afhænger af det foregående (landed cost kræver varer + parter; labelen kræver alt). At samle dem i ét GraphQL-dokument holder data konsistente og undgår fem ekstra round-trips.
En komplet CreateDeclarationShipment-anmodning, du kan kopiere og tilpasse — mutationen, dens variabler og svaret — for én Japan Post-pakke sendt DDP til USA. Hvert input er beskrevet trin for trin nedenfor.
Dette er den pris, køberen fik ved checkout. Den indgår i landed-cost-beregningen som „shipping"-subtotal, så told og skat beregnes mod den korrekte CIF-værdi.
5. landedCostCalculateWorkflow
Kører beregning af told, skat og gebyrer for destinationslandet. Bruger varer, parter og forsendelsesomkostninger fra de foregående trin.
Felt↕
Status↕
Bemærkninger↕
endUse
Required
NOT_FOR_RESALE eller FOR_RESALE. Nogle destinationer anvender forskellige satser for kommerciel vs. privat slutanvendelse.
tariffRate
Required
Standard er ZONOS_PREFERRED, hvis udeladt. Fortæller Zonos, hvilken toldkilde/metodologi der skal anvendes.
calculationMethod
Recommended
DDP (køber forudbetaler) eller DDU (køber betaler ved døren). Brug DDP til forudbetaling. Styrer om LandedCost.amountSubtotals inkluderer told/skat.
currencyCode
Optional
Valuta, subtotaler for landed cost returneres i.
arrivalDate
Optional
Valutakurser og toldplaner fastlåses til denne dato, hvis angivet.
Svaret inkluderer amountSubtotals (duties, taxes, fees, shipping, landedCostTotal) — disse er tallene, du viser køberen ved checkout og som printes på handelsfakturaen.
6. shipmentCreateWorkflow
Det afsluttende trin — opretter Shipment-entiteten, genererer carrier-labelen og (valgfrit) handelsfaktura / pakkeliste.
For Japan Post Verified Accounts er det også her, Zonos kalder Japan Post Label API (kode 52) på dine vegne, indsætter dine Later Pay Numbers, opretter Declaration ID og kæder Declaration ID til trackingnummeret returneret af Japan Post.
Vigtige felter:
Felt↕
Status↕
Bemærkninger↕
serviceLevel
Required for label
Japan Post-servicen, der skal sendes med (f.eks. japan_post.air.ems_merchandise). Skal være et japan_post.*-serviceniveau.
generateLabel
Optional
Standard er true; skal være true for at returnere en label.
contentsType
Recommended
Styrer toldbehandling. Én af SALE_OF_GOODS, ECOMMERCE_GOODS, COMMERCIAL_GOODS, COMMERCIAL_SAMPLE, RETURNED_GOODS, GIFT, DOCUMENTS, OTHER.
nonDelivery
Optional
Hvad Japan Post skal gøre, hvis pakken ikke kan leveres. Se nedenfor.
references
Optional
Forhandlerleverede referencenumre printet på label og handelsfaktura. Se nedenfor.
Om contentsType: de to mest almindelige værdier for Verified Account-trafik er ECOMMERCE_GOODS (solgt til en forbruger, BtoC) og COMMERCIAL_GOODS (solgt mellem virksomheder, BtoB). Disse sætter den pkgType, Zonos sender i Japan Post-labelkaldet, så valget ændrer, hvad der printes på tolddeklarationen — det er ikke kun en label.
nonDelivery sub-input
Fortæller Japan Post, hvad der skal ske med pakken, hvis den ikke kan leveres — afvist af modtageren, afvist ved grænsen eller ikke leverbar som adresseret.
option accepterer præcis disse fire værdier. Der findes ingen RETURN-værdi — brug RETURN_AFTER_RETENTION eller RETURN_IMMEDIATELY til at vælge, hvornår pakken kommer tilbage.
option↕
Dashboard-ækvivalent↕
Hvad Japan Post gør↕
RETURN_AFTER_RETENTION
Return
Holder pakken hos destinationspostkontoret i dets tilbageholdelsesperiode og returnerer den derefter til afsenderen.
RETURN_IMMEDIATELY
Return
Returnerer pakken til afsenderen med det samme, uden tilbageholdelsesperiode.
FORWARD
Redirection
Omdirigerer pakken til en anden adresse. Ekstra porto gælder.
ABANDON
Renounce
Bortskaffer pakken på destinationen. Intet returneres, og der opkræves ingen returporto.
API'et eksponerer begge return-varianter separat; Dashboardets Return-mulighed dækker begge.
transportMethod accepterer AIR eller MOST_ECONOMICAL og angiver, hvordan en returneret pakke transporteres tilbage. Det gælder kun for de to RETURN_*-muligheder — Dashboardet viser kun det tilsvarende felt Return method, når Return er valgt.
Vælgeren If undeliverable i Dashboardets dialog Create label skriver til det samme felt, så en label oprettet i Dashboardet og en label oprettet via API'et opfører sig identisk.
references sub-input
Disse felter printes på carrier-labelen og/eller handelsfakturaen. Brug dem til PO-numre, licensnumre og fritekstbemærkninger, modtageren eller toldmyndigheden skal se.
Felt↕
Status↕
Bemærkninger↕
Længde↕
invoiceNumber
Optional
Forhandlerfakturanummer.
—
purchaseOrderNumber
Optional
Forhandler-PO-nummer.
—
licenseNumber
Optional
Eksport/import-licensnummer.
—
certificateNumber
Optional
Toldcertifikatnummer.
—
paymentConditions
Optional
Fritekst betalingsbetingelser vist på handelsfakturaen.
Begræns til 200 tegn — længere værdier overløber på den printede faktura.
customsRemarks
Optional
Fritekst toldbemærkninger.
—
taxCode
Optional
Brugerdefineret skattekode printet på labelen.
—
Response
De interessante felter på den returnerede Shipment er:
{
id
trackingDetails {
number
}
shipmentCartons {
label {
url
labelImage
}}}
trackingDetails.number er Japan Post-trackingnummeret.
label-objektet kan returnere labelen på to måder — anmod om det, der passer til dit workflow (eller begge):
Felt↕
Returnerer↕
Brug når↕
url
Et hostet link til den renderede labelfil (PDF), klar til download eller print.
Du vil give et link — åbn det, send det på mail eller hent filen senere uden at holde den i payload.
labelImage
Base64-kodet labelbillede (PNG/PDF/ZPL) inline i svaret.
Du vil have labelbytes direkte i svaret til at vedhæfte til et fulfillment-workflow eller gemme i dit WMS.
Vælg kun de felter, du har brug for. Anmodning om url holder svaret lille; anmodning om labelImage returnerer hele labelen inline, så du ikke behøver et andet round-trip for at hente den. Eksemplet ovenfor anmoder om url.
Servicekoder for serviceniveau bruger punktummer, ikke understregninger. Du kan se understregningsformen (japan_post_air_parcel) i fejlmeddelelser og interne referencer, men den er ikke gyldigt input.
Luftservices
Kode↕
Japan Post-service↕
Posttype↕
japan_post.air.ems_documents
EMS (documents)
1-0
japan_post.air.ems_merchandise
EMS (merchandise)
1-1
japan_post.air.parcel
International parcel
1-5
japan_post.air.packet
International Air Packet
1-8
japan_post.air.small_packet
Small packet
1-9
japan_post.air.printed_matter_registered
Printed matter, registered
1-A
japan_post.air.printed_matter
Printed matter
1-B
japan_post.air.letter_registered
Letter, registered
1-C
japan_post.air.letter
Letter
1-D
Overfladeservices
Kode↕
Japan Post-service↕
Posttype↕
japan_post.surface.parcel
International parcel
2-5
japan_post.surface.small_packet
Small packet
2-9
japan_post.surface.printed_matter
Printed matter
2-B
japan_post.surface.letter
Letter
2-D
Valg mellem lignende services
Small packet vs. International Air Packet. Begge er begrænset til 2 kg. japan_post.air.packet er Japan Posts trackede small-packet-service. japan_post.air.small_packet er den utrackede pendant. Hvis du har brug for tracking på en let pakke, brug japan_post.air.packet.
Registrerede varianter. For breve og tryksager tilføjes tracking af den registrerede (書留) version af servicen. japan_post.air.printed_matter og japan_post.air.letter inkluderer det ikke i sig selv.
Udgåede koder
japan_post.air.epacket_light var International e-Packet Light. Japan Post omdøbte servicen til International Air Packet den 1. juni 2026 og udvidede den til alle lande og regioner. Selve servicen er uændret.
Den gamle kode fungerer stadig, så eksisterende integrationer bliver ved med at virke, men brug japan_post.air.packet til nyt arbejde.
Transportmetode-koder
japan_post.air, japan_post.surface, japan_post.economy_air og japan_post.custom fungerer også, men de angiver en transportmetode eller et fallback frem for et specifikt postprodukt. Brug en af servicekoderne ovenfor til almindelige forsendelser.
Valider koden, du sender
En ukendt serviceLevelCodeudløser ikke en fejl. Anmodningen returnerer HTTP 200 uden et errors-array, serviceLevel kommer tilbage som null, og shipping falder ud af landed cost-totalen — så svaret ser korrekt ud, mens beløbene er forkerte.
Sørg altid for at kontrollere, at shipmentRatingCreateWorkflow.serviceLevel ikke er null, før du stoler på totalerne.
For at hente den aktuelle liste når som helst:
{
serviceLevels(carrier:"carrier_00004c9b-9431-4518-bfbc-b9f8476335b1"){
code
name
}}
Denne query tager carrierens ID. Hvis du sender carrier-koden japan_post, returneres en tom liste uden fejl.
Valideringsfejl (manglende påkrævede felter, ugyldige landekoder osv.) returneres i det standard GraphQL errors-array og afbryder resten af kæden.
Japan Post-fejl (labelgenerering fejlede, ugyldig adresse osv.) vises som GraphQL-fejl på shipmentCreateWorkflow. Hvis et nyt forsøg er nødvendigt, kontakt support — den anbefalede vej er at sende hele mutationen igen med rettet input.
VALIDATION_INVALID_TYPE_VARIABLE
{"errors":[{"message":"invalid type for variable: 'shipmentInput'","extensions":{"name":"shipmentInput","code":"VALIDATION_INVALID_TYPE_VARIABLE"}}]}
Denne fejl navngiver hele variablen, ikke det felt, der faktisk er forkert. Det betyder næsten altid, at en enum-værdi inde i den variabel ikke er et medlem af sin enum — oftest nonDelivery.option, contentsType eller serviceLevel.
Det er ikke et JSON-typeproblem. At sætte eller fjerne anførselstegn omkring dine booleans og tal ændrer ikke noget, fordi payloaden aldrig når så langt — enum'et afvises først.
For at finde det forkerte felt skal du tjekke hvert enum-felt i variablen mod dets accepterede værdier:
Felt↕
Accepterede værdier↕
nonDelivery.option
RETURN_AFTER_RETENTION, RETURN_IMMEDIATELY, FORWARD, ABANDON — ingen RETURN
nonDelivery.transportMethod
AIR, MOST_ECONOMICAL
contentsType
SALE_OF_GOODS, ECOMMERCE_GOODS, COMMERCIAL_GOODS, COMMERCIAL_SAMPLE, RETURNED_GOODS, GIFT, DOCUMENTS, OTHER
serviceLevel
En japan_post.*-servicekode
De fulde enum-medlemmer for ethvert input er angivet på dets type-side i API-referencen.
Hvert trin er uafhængigt sikret. Din API-nøgle skal have write-scope for hver entitet i kæden (ITEM_WRITE, CARTON_WRITE, SHIPMENT_RATING_WRITE, LANDED_COST_WRITE, SHIPMENT_WRITE). Standard forhandlerrollen på en Verified Account giver alle disse.
Opret en enkelt forsendelse
Opret en enkelt forsendelse
CreateDeclarationShipmentGraphQL-workflowet tager en Japan Post-forsendelse fra rå input til en printbar label i ét round-trip.CreateDeclarationShipmentkæder seks*Workflow-mutationer sammen i én enkelt GraphQL-anmodning. Hvert trin bygger på data fra de foregående trin, og de sendes alle sammen, så en komplet forsendelse kan oprettes i ét round-trip:Workflow-mutationerne er designet til at blive kædet: du behøver ikke at sende ID'er fra ét trin til det næste, og du behøver ikke sende en separat anmodning pr. trin. Send hele dokumentet, få den endeligeShipmenttilbage.Når
serviceLeveli det sidste trin er et Japan Post-serviceniveau (japan_post.*), kalder Zonos Japan Post Label API (kode 52) på dine vegne med din Verified Accounts Later Pay Numbers, genererer label og trackingnummer, opretter Declaration ID og kæder dem sammen — alt sammen i det sidsteshipmentCreateWorkflow-trin.Endpoint og godkendelse
Anmodningerne i denne kæde bruger alle samme endpoint. Hvad du sender i headers, afhænger af din opsætning — vælg din fane.
URL:
Headers:
Du sender dine egne ordrer under din egen Verified Account. Godkend som dig selv — ingen account key nødvendig.
Hvor du finder den: Zonos Dashboard → Settings → Integrations → sektionen Account Key. Kopiér tokenet på rækken API key; det er din
credentialToken.Eksempelanmodning
En komplet
CreateDeclarationShipment-anmodning, du kan kopiere og tilpasse — mutationen, dens variabler og svaret — for én Japan Post-pakke sendt DDP til USA. Hvert input er beskrevet trin for trin nedenfor.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}}}}Trin for trin
Status-kolonnen i hver tabel nedenfor bruger disse termer:1.
partyCreateWorkflowOpretter parterne i forsendelsen — mindst en
ORIGIN(hvor forsendelsen sendes fra) og enDESTINATION(køber / modtager).typeORIGINogDESTINATIONer de to, dette workflow har brug for. Andre (CONSIGNEE,EXPORTER,IMPORTER_OF_RECORD,PAYORosv.) findes, men bruges ikke her.location.countryCodelocation.line1,locality,administrativeAreaCode,postalCodeperson.firstName,lastName,phoneperson.companyName,emailEksempel-payload:
[ { "type": "DESTINATION", "location": { "countryCode": "US" }, "person": {} }, { "type": "ORIGIN", "location": { "countryCode": "JP" }, "person": {} } ]Svaret returnerer de oprettede
Party-ID'er og de opløste adressefelter.2.
itemCreateWorkflowOpretter linjeposterne, der udgør forsendelsen. Dette er SKU'erne, der vises på handelsfakturaen og driver landed-cost-beregningen.
currencyCodequantityamounttotalAmounter angivet.totalAmountamount;amountafledes fratotalAmount / quantity.hsCodecountryOfOriginname,descriptioncustomsDescriptionsku,productIdmeasurementsHS-kode, oprindelsesland og beløb er de tre felter, der mest påvirker told/skat-resultatet i trin 5.
3.
cartonsCreateWorkflowOpretter de fysiske pakker — kasser, polyposer eller breve, der indeholder varerne.
dimensionalUnitINCHellerCENTIMETER.weight,weightUnitlength,width,heighttypePACKAGE.Hver karton bliver én pakke på carrier-labelen i trin 6. Flere kartoner → flerstyksforsendelse med ét trackingnummer pr. karton.
4.
shipmentRatingCreateWorkflowRegistrerer prisudbuddet, forhandleren opkræver køberen for forsendelse.
amount0hvis gratis.currencyCodeamount.serviceLevelCodejapan_post.air.parcel). Se Japan Post-serviceniveauer for den fulde liste.displayNameDette er den pris, køberen fik ved checkout. Den indgår i landed-cost-beregningen som „shipping"-subtotal, så told og skat beregnes mod den korrekte CIF-værdi.
5.
landedCostCalculateWorkflowKører beregning af told, skat og gebyrer for destinationslandet. Bruger varer, parter og forsendelsesomkostninger fra de foregående trin.
endUseNOT_FOR_RESALEellerFOR_RESALE. Nogle destinationer anvender forskellige satser for kommerciel vs. privat slutanvendelse.tariffRateZONOS_PREFERRED, hvis udeladt. Fortæller Zonos, hvilken toldkilde/metodologi der skal anvendes.calculationMethodDDP(køber forudbetaler) ellerDDU(køber betaler ved døren). BrugDDPtil forudbetaling. Styrer omLandedCost.amountSubtotalsinkluderer told/skat.currencyCodearrivalDateSvaret inkluderer
amountSubtotals(duties,taxes,fees,shipping,landedCostTotal) — disse er tallene, du viser køberen ved checkout og som printes på handelsfakturaen.6.
shipmentCreateWorkflowDet afsluttende trin — opretter
Shipment-entiteten, genererer carrier-labelen og (valgfrit) handelsfaktura / pakkeliste.For Japan Post Verified Accounts er det også her, Zonos kalder Japan Post Label API (kode 52) på dine vegne, indsætter dine Later Pay Numbers, opretter Declaration ID og kæder Declaration ID til trackingnummeret returneret af Japan Post.
Vigtige felter:
serviceLeveljapan_post.air.ems_merchandise). Skal være etjapan_post.*-serviceniveau.generateLabeltrue; skal væretruefor at returnere en label.contentsTypeSALE_OF_GOODS,ECOMMERCE_GOODS,COMMERCIAL_GOODS,COMMERCIAL_SAMPLE,RETURNED_GOODS,GIFT,DOCUMENTS,OTHER.nonDeliveryreferencesdeclaredValue/isDeclaredValueshipmentConsolidationIdOm
contentsType: de to mest almindelige værdier for Verified Account-trafik erECOMMERCE_GOODS(solgt til en forbruger, BtoC) ogCOMMERCIAL_GOODS(solgt mellem virksomheder, BtoB). Disse sætter denpkgType, Zonos sender i Japan Post-labelkaldet, så valget ændrer, hvad der printes på tolddeklarationen — det er ikke kun en label.nonDeliverysub-inputFortæller Japan Post, hvad der skal ske med pakken, hvis den ikke kan leveres — afvist af modtageren, afvist ved grænsen eller ikke leverbar som adresseret.
optionaccepterer præcis disse fire værdier. Der findes ingenRETURN-værdi — brugRETURN_AFTER_RETENTIONellerRETURN_IMMEDIATELYtil at vælge, hvornår pakken kommer tilbage.option↕RETURN_AFTER_RETENTIONRETURN_IMMEDIATELYFORWARDABANDONAPI'et eksponerer begge return-varianter separat; Dashboardets Return-mulighed dækker begge.
transportMethodacceptererAIRellerMOST_ECONOMICALog angiver, hvordan en returneret pakke transporteres tilbage. Det gælder kun for de toRETURN_*-muligheder — Dashboardet viser kun det tilsvarende felt Return method, når Return er valgt.{ "nonDelivery": { "option": "RETURN_AFTER_RETENTION", "transportMethod": "MOST_ECONOMICAL" } }Vælgeren If undeliverable i Dashboardets dialog Create label skriver til det samme felt, så en label oprettet i Dashboardet og en label oprettet via API'et opfører sig identisk.
referencessub-inputDisse felter printes på carrier-labelen og/eller handelsfakturaen. Brug dem til PO-numre, licensnumre og fritekstbemærkninger, modtageren eller toldmyndigheden skal se.
invoiceNumberpurchaseOrderNumberlicenseNumbercertificateNumberpaymentConditionscustomsRemarkstaxCodeResponse
De interessante felter på den returnerede
Shipmenter:{ id trackingDetails { number } shipmentCartons { label { url labelImage } } }trackingDetails.numberer Japan Post-trackingnummeret.label-objektet kan returnere labelen på to måder — anmod om det, der passer til dit workflow (eller begge):urllabelImageVælg kun de felter, du har brug for. Anmodning om
urlholder svaret lille; anmodning omlabelImagereturnerer hele labelen inline, så du ikke behøver et andet round-trip for at hente den. Eksemplet ovenfor anmoder omurl.Japan Post-serviceniveauer
Send en af disse koder som
serviceLevelCodeishipmentRatingCreateWorkflow.Servicekoder for serviceniveau bruger punktummer, ikke understregninger. Du kan se understregningsformen (
japan_post_air_parcel) i fejlmeddelelser og interne referencer, men den er ikke gyldigt input.Luftservices
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-DOverfladeservices
japan_post.surface.parcel2-5japan_post.surface.small_packet2-9japan_post.surface.printed_matter2-Bjapan_post.surface.letter2-DValg mellem lignende services
Small packet vs. International Air Packet. Begge er begrænset til 2 kg.
japan_post.air.packeter Japan Posts trackede small-packet-service.japan_post.air.small_packeter den utrackede pendant. Hvis du har brug for tracking på en let pakke, brugjapan_post.air.packet.Registrerede varianter. For breve og tryksager tilføjes tracking af den registrerede (書留) version af servicen.
japan_post.air.printed_matterogjapan_post.air.letterinkluderer det ikke i sig selv.Udgåede koder
japan_post.air.epacket_lightvar International e-Packet Light. Japan Post omdøbte servicen til International Air Packet den 1. juni 2026 og udvidede den til alle lande og regioner. Selve servicen er uændret.Den gamle kode fungerer stadig, så eksisterende integrationer bliver ved med at virke, men brug
japan_post.air.packettil nyt arbejde.Transportmetode-koder
japan_post.air,japan_post.surface,japan_post.economy_airogjapan_post.customfungerer også, men de angiver en transportmetode eller et fallback frem for et specifikt postprodukt. Brug en af servicekoderne ovenfor til almindelige forsendelser.Valider koden, du sender
En ukendt
serviceLevelCodeudløser ikke en fejl. Anmodningen returnerer HTTP 200 uden eterrors-array,serviceLevelkommer tilbage somnull, og shipping falder ud af landed cost-totalen — så svaret ser korrekt ud, mens beløbene er forkerte.Sørg altid for at kontrollere, at
shipmentRatingCreateWorkflow.serviceLevelikke er null, før du stoler på totalerne.For at hente den aktuelle liste når som helst:
{ serviceLevels(carrier: "carrier_00004c9b-9431-4518-bfbc-b9f8476335b1") { code name } }Denne query tager carrierens ID. Hvis du sender carrier-koden
japan_post, returneres en tom liste uden fejl.Fejlhåndtering
errors-array og afbryder resten af kæden.shipmentCreateWorkflow. Hvis et nyt forsøg er nødvendigt, kontakt support — den anbefalede vej er at sende hele mutationen igen med rettet input.VALIDATION_INVALID_TYPE_VARIABLE{ "errors": [ { "message": "invalid type for variable: 'shipmentInput'", "extensions": { "name": "shipmentInput", "code": "VALIDATION_INVALID_TYPE_VARIABLE" } } ] }Denne fejl navngiver hele variablen, ikke det felt, der faktisk er forkert. Det betyder næsten altid, at en enum-værdi inde i den variabel ikke er et medlem af sin enum — oftest
nonDelivery.option,contentsTypeellerserviceLevel.Det er ikke et JSON-typeproblem. At sætte eller fjerne anførselstegn omkring dine booleans og tal ændrer ikke noget, fordi payloaden aldrig når så langt — enum'et afvises først.
For at finde det forkerte felt skal du tjekke hvert enum-felt i variablen mod dets accepterede værdier:
nonDelivery.optionRETURN_AFTER_RETENTION,RETURN_IMMEDIATELY,FORWARD,ABANDON— ingenRETURNnonDelivery.transportMethodAIR,MOST_ECONOMICALcontentsTypeSALE_OF_GOODS,ECOMMERCE_GOODS,COMMERCIAL_GOODS,COMMERCIAL_SAMPLE,RETURNED_GOODS,GIFT,DOCUMENTS,OTHERserviceLeveljapan_post.*-servicekodeDe fulde enum-medlemmer for ethvert input er angivet på dets type-side i API-referencen.
Tilladelser
Hvert trin er uafhængigt sikret. Din API-nøgle skal have write-scope for hver entitet i kæden (
ITEM_WRITE,CARTON_WRITE,SHIPMENT_RATING_WRITE,LANDED_COST_WRITE,SHIPMENT_WRITE). Standard forhandlerrollen på en Verified Account giver alle disse.Næste skridt
CartonCreateWorkflowInput ItemCreateWorkflowInput LandedCostWorkFlowInput PartyCreateWorkflowInput ShipmentCreateWorkflowInput ShipmentRatingCreateWorkflowInput
cartonsCreateWorkflow itemCreateWorkflow landedCostCalculateWorkflow partyCreateWorkflow shipmentCreateWorkflow shipmentRatingCreateWorkflow
Var denne side nyttig?