CreateDeclarationShipment GraphQL 工作流程可在單次往返中,將日本郵便出貨從原始輸入轉換為可列印的標籤。
CreateDeclarationShipment
CreateDeclarationShipment 將六個 *Workflow 變動鏈結為單一 GraphQL 請求。每個步驟都以前一個步驟提供的資料為基礎,且所有步驟會一起提交,因此完整的出貨可在單次往返中建立完成:
*Workflow
partyCreateWorkflow → 描述始發地和目的地各方 itemCreateWorkflow → 描述產品線項目 cartonsCreateWorkflow → 描述實體包裝 shipmentRatingCreateWorkflow → 記錄運輸商報價 landedCostCalculateWorkflow → 計算關稅/稅金/手續費 shipmentCreateWorkflow → 建立出貨和標籤
Workflow 變動的設計即為鏈結使用:您不需要將某一步驟的 ID 傳遞到下一步,也不需要為每個步驟各自發送請求。提交整份文件,即可取得最終的 Shipment。
Workflow
Shipment
當最後一步的 serviceLevel 為日本郵便服務等級(japan_post.*)時,Zonos 會代表您使用驗證帳戶的後付款號碼呼叫日本郵便標籤 API(代碼 52),產生標籤和追蹤號碼、建立申報單號,並在該最終 shipmentCreateWorkflow 步驟中將它們連結起來。
serviceLevel
japan_post.*
shipmentCreateWorkflow
為什麼要用單一變動? 每個步驟都取決於前一步(Landed Cost 需要產品項目和各方資料;標籤需要所有內容)。將它們整合為單一 GraphQL 文件可確保資料一致性,並省去五次額外的往返。
此鏈中的所有請求都使用相同的端點。您在標頭中傳遞的內容取決於您的設定 — 請選擇您適用的分頁。
URL:
https://api.zonos.com/graphql
標頭:
您在自己的驗證帳戶下運送自己的訂單。以自己的身份進行驗證 — 不需要帳戶金鑰。
credentialToken: {{YOUR_API_TOKEN}}
查找位置: Zonos Dashboard → Settings → Integrations → Account Key 區段。複製 API key 列上的權杖;這就是您的 credentialToken。
credentialToken
一個完整的 CreateDeclarationShipment 請求,您可以複製並依需求調整 — 包含變動、其變數與回應 — 適用於以 DDP 方式寄往美國的單筆日本郵便包裹。下方的逐步說明會詳細列出每個輸入欄位。
mutation CreateDeclarationShipment(
$partyInput: [PartyCreateWorkflowInput!]!
$itemInput: [ItemCreateWorkflowInput!]!
$cartonInput: [CartonCreateWorkflowInput!]!
$shipmentRatingInput: ShipmentRatingCreateWorkflowInput!
$landedCostInput: LandedCostWorkFlowInput!
$shipmentInput: ShipmentCreateWorkflowInput!
) {
partyCreateWorkflow(input: $partyInput) {
id
type
location {
line1
locality
postalCode
countryCode
}
itemCreateWorkflow(input: $itemInput) {
name
sku
amount
currencyCode
hsCode
cartonsCreateWorkflow(input: $cartonInput) {
length
width
height
dimensionalUnit
weight
weightUnit
shipmentRatingCreateWorkflow(input: $shipmentRatingInput) {
landedCostCalculateWorkflow(input: $landedCostInput) {
method
amountSubtotals {
duties
taxes
fees
shipping
landedCostTotal
shipmentCreateWorkflow(input: $shipmentInput) {
trackingDetails {
number
shipmentCartons {
label {
url
下列各表中的狀態欄使用以下用語:
partyCreateWorkflow
建立出貨中涉及的各方資料 — 至少需要一個 ORIGIN(出貨的來源地)和一個 DESTINATION(買家/收貨人)。
ORIGIN
DESTINATION
CONSIGNEE
EXPORTER
IMPORTER_OF_RECORD
PAYOR
location.countryCode
location.line1
administrativeAreaCode
person.firstName
lastName
phone
person.companyName
email
範例負載:
[ { "type": "DESTINATION", "location": { "countryCode": "US" }, "person": {} }, { "type": "ORIGIN", "location": { "countryCode": "JP" }, "person": {} } ]
回應會傳回已建立的 Party ID 及解析後的地址欄位。
Party
itemCreateWorkflow
建立組成出貨的產品線項目。這些即是將出現在商業發票上,並用於計算 Landed Cost 的 SKU。
quantity
totalAmount
totalAmount / quantity
countryOfOrigin
description
customsDescription
productId
measurements
HS 代碼、原產國和金額,是第 5 步中對關稅/稅金結果影響最大的三個欄位。
cartonsCreateWorkflow
建立實體包裝 — 也就是將用來容納商品的箱子、聚合袋或信封。
INCH
CENTIMETER
PACKAGE
每個紙箱在第 6 步會成為運輸商標籤上的一個包裹。多個紙箱 → 多件式出貨,每個紙箱各有一個追蹤號碼。
shipmentRatingCreateWorkflow
記錄商家向買家收取的運費報價。
0
serviceLevelCode
japan_post.air.parcel
displayName
這是買家在結帳時所看到的運費報價。它會作為「shipping」小計項目納入 Landed Cost 計算,確保關稅和稅金是依正確的 CIF 值計算。
landedCostCalculateWorkflow
針對目的地國家執行關稅、稅金與手續費計算。會使用先前步驟中的商品、各方資料及運費。
endUse
NOT_FOR_RESALE
FOR_RESALE
tariffRate
ZONOS_PREFERRED
calculationMethod
DDP
DDU
LandedCost.amountSubtotals
arrivalDate
回應包含 amountSubtotals(duties、taxes、fees、shipping、landedCostTotal)— 這些數字即是您在結帳時顯示給買家、並列印於商業發票上的金額。
amountSubtotals
最終步驟 — 建立 Shipment 實體、產生運輸商標籤,並(視需要)產生商業發票/裝箱單。
對於日本郵便驗證帳戶而言,Zonos 也會在此步驟代表您呼叫日本郵便標籤 API(代碼 52),代入您的後付款號碼、建立申報單號,並將申報單號與日本郵便回傳的追蹤號碼連結。
關鍵欄位:
japan_post.air.ems_merchandise
generateLabel
true
contentsType
SALE_OF_GOODS
ECOMMERCE_GOODS
COMMERCIAL_GOODS
COMMERCIAL_SAMPLE
RETURNED_GOODS
GIFT
DOCUMENTS
OTHER
nonDelivery
references
declaredValue
isDeclaredValue
shipmentConsolidationId
就 contentsType 而言,驗證帳戶流量中最常見的兩個值是 ECOMMERCE_GOODS(售予消費者,BtoC)和 COMMERCIAL_GOODS(企業對企業銷售,BtoB)。這兩個值會決定 Zonos 在呼叫日本郵便標籤 API 時傳送的 pkgType,因此這項選擇會影響報關單上實際列印的內容 — 不只是標籤上的顯示而已。
pkgType
指示日本郵便在包裹無法送達時該如何處理 — 收貨人拒收、於邊境遭拒,或因地址錯誤而無法投遞。
option 僅接受以下四種值。並沒有 RETURN 這個值 — 請使用 RETURN_AFTER_RETENTION 或 RETURN_IMMEDIATELY 來選擇包裹「何時」退回。
option
RETURN
RETURN_AFTER_RETENTION
RETURN_IMMEDIATELY
FORWARD
ABANDON
API 將兩種退回變體分開公開;Dashboard 的 Return 選項則同時涵蓋這兩者。
transportMethod 接受 AIR 或 MOST_ECONOMICAL,用於設定退回包裹的運送方式。此欄位僅適用於兩個 RETURN_* 選項 — Dashboard 只有在選擇 Return 時,才會顯示對應的 Return method 欄位。
transportMethod
AIR
MOST_ECONOMICAL
RETURN_*
{ "nonDelivery": { "option": "RETURN_AFTER_RETENTION", "transportMethod": "MOST_ECONOMICAL" } }
Dashboard Create label 對話方塊中的 If undeliverable 選擇器所寫入的即是同一個欄位,因此無論標籤是透過 Dashboard 或 API 建立,行為都相同。
這些欄位會列印在運輸商標籤和/或商業發票上。使用它們來呈現收貨人或海關機關需要看到的 PO 號碼、許可證號碼及自由文字備註。
invoiceNumber
purchaseOrderNumber
licenseNumber
certificateNumber
paymentConditions
customsRemarks
taxCode
傳回的 Shipment 中,值得留意的欄位如下:
{ id trackingDetails { number } shipmentCartons { label { url labelImage } } }
trackingDetails.number 是日本郵便追蹤號碼。
trackingDetails.number
label 物件可用兩種方式傳回標籤 — 請依您的工作流程選擇其中一種(或兩者皆用):
label
labelImage
只請求您所需要的欄位。請求 url 可讓回應內容保持精簡;請求 labelImage 則會在回應中內嵌完整標籤,讓您不需要再發送第二次請求來擷取它。上方範例請求的是 url。
在 shipmentRatingCreateWorkflow 中,將下列其中一個代碼作為 serviceLevelCode 傳入。
服務等級代碼使用點號,而非底線。您可能會在錯誤訊息或內部參考資料中看到底線形式(japan_post_air_parcel),但這並非有效的輸入格式。
japan_post_air_parcel
航空服務
japan_post.air.ems_documents
1-0
1-1
1-5
japan_post.air.packet
1-8
japan_post.air.small_packet
1-9
japan_post.air.printed_matter_registered
1-A
japan_post.air.printed_matter
1-B
japan_post.air.letter_registered
1-C
japan_post.air.letter
1-D
水陸服務
japan_post.surface.parcel
2-5
japan_post.surface.small_packet
2-9
japan_post.surface.printed_matter
2-B
japan_post.surface.letter
2-D
小型包裹 vs. 國際航空小包。 兩者皆以 2 公斤為上限。japan_post.air.packet 是日本郵便可追蹤的小型包裹服務。japan_post.air.small_packet 則是不可追蹤的對應服務。若輕量包裹需要追蹤功能,請使用 japan_post.air.packet。
掛號變體。 就信件與印刷品而言,追蹤功能是由該服務的掛號(書留)版本所提供。japan_post.air.printed_matter 和 japan_post.air.letter 本身並不包含追蹤功能。
japan_post.air.epacket_light 曾是國際 e-Packet Light 服務。日本郵便已於2026 年 6 月 1 日將此服務更名為國際航空小包,並將其擴展至所有國家和地區。服務內容本身並無變更。
japan_post.air.epacket_light
舊代碼仍可正常解析,因此現有整合可繼續運作,但新開發的功能請改用 japan_post.air.packet。
japan_post.air、japan_post.surface、japan_post.economy_air 和 japan_post.custom 同樣可以解析,但它們代表的是運輸方式或備援選項,而非特定的郵件產品。一般出貨請使用上方列出的其中一個服務代碼。
japan_post.air
japan_post.surface
japan_post.economy_air
japan_post.custom
無法辨識的 serviceLevelCode 不會觸發錯誤。請求會傳回 HTTP 200,且不含 errors 陣列,serviceLevel 會傳回 null,運費也會從 Landed Cost 總額中消失 — 因此回應看起來正常,但金額卻是錯的。
errors
null
在使用總額之前,請務必確認 shipmentRatingCreateWorkflow.serviceLevel 不是 null。
shipmentRatingCreateWorkflow.serviceLevel
若要隨時取得目前的清單:
{ serviceLevels(carrier: "carrier_00004c9b-9431-4518-bfbc-b9f8476335b1") { code name } }
此查詢使用的是運輸商的 ID。若傳入運輸商代碼 japan_post,則會傳回空清單且不會出現錯誤。
japan_post
VALIDATION_INVALID_TYPE_VARIABLE
{ "errors": [ { "message": "invalid type for variable: 'shipmentInput'", "extensions": { "name": "shipmentInput", "code": "VALIDATION_INVALID_TYPE_VARIABLE" } } ] }
此錯誤指出的是整個變數,而不是實際有問題的欄位。它幾乎都代表該變數內有某個列舉值不屬於其列舉定義 — 最常見的是 nonDelivery.option、contentsType 或 serviceLevel。
nonDelivery.option
這並非 JSON 型別的問題。為布林值或數字加上或移除引號都不會有任何影響,因為酬載根本還沒被解析到那一步 — 列舉值會先被拒絕。
若要找出有問題的欄位,請逐一檢查該變數中每個列舉欄位是否符合其可接受的值:
nonDelivery.transportMethod
任何輸入類型的完整列舉成員清單,皆列於其在 API reference 中的類型頁面。
每個步驟都是獨立受保護的。您的 API 金鑰必須對鏈中的每個實體 (ITEM_WRITE、CARTON_WRITE、SHIPMENT_RATING_WRITE、LANDED_COST_WRITE、SHIPMENT_WRITE) 保有寫入權限。驗證帳戶上的標準商家角色會授予所有這些權限。
ITEM_WRITE
CARTON_WRITE
SHIPMENT_RATING_WRITE
LANDED_COST_WRITE
SHIPMENT_WRITE
CartonCreateWorkflowInput ItemCreateWorkflowInput LandedCostWorkFlowInput PartyCreateWorkflowInput ShipmentCreateWorkflowInput ShipmentRatingCreateWorkflowInput
cartonsCreateWorkflow itemCreateWorkflow landedCostCalculateWorkflow partyCreateWorkflow shipmentCreateWorkflow shipmentRatingCreateWorkflow
建立單筆出貨
建立單筆出貨
CreateDeclarationShipmentGraphQL 工作流程可在單次往返中,將日本郵便出貨從原始輸入轉換為可列印的標籤。CreateDeclarationShipment將六個*Workflow變動鏈結為單一 GraphQL 請求。每個步驟都以前一個步驟提供的資料為基礎,且所有步驟會一起提交,因此完整的出貨可在單次往返中建立完成:Workflow變動的設計即為鏈結使用:您不需要將某一步驟的 ID 傳遞到下一步,也不需要為每個步驟各自發送請求。提交整份文件,即可取得最終的Shipment。當最後一步的
serviceLevel為日本郵便服務等級(japan_post.*)時,Zonos 會代表您使用驗證帳戶的後付款號碼呼叫日本郵便標籤 API(代碼 52),產生標籤和追蹤號碼、建立申報單號,並在該最終shipmentCreateWorkflow步驟中將它們連結起來。端點和認證
此鏈中的所有請求都使用相同的端點。您在標頭中傳遞的內容取決於您的設定 — 請選擇您適用的分頁。
URL:
標頭:
您在自己的驗證帳戶下運送自己的訂單。以自己的身份進行驗證 — 不需要帳戶金鑰。
查找位置: Zonos Dashboard → Settings → Integrations → Account Key 區段。複製 API key 列上的權杖;這就是您的
credentialToken。範例請求
一個完整的
CreateDeclarationShipment請求,您可以複製並依需求調整 — 包含變動、其變數與回應 — 適用於以 DDP 方式寄往美國的單筆日本郵便包裹。下方的逐步說明會詳細列出每個輸入欄位。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}}}}逐步說明
下列各表中的狀態欄使用以下用語:
1.
partyCreateWorkflow建立出貨中涉及的各方資料 — 至少需要一個
ORIGIN(出貨的來源地)和一個DESTINATION(買家/收貨人)。typeORIGIN和DESTINATION這兩種。其他類型(CONSIGNEE、EXPORTER、IMPORTER_OF_RECORD、PAYOR等)雖然存在,但此處不會用到。location.countryCodelocation.line1、locality、administrativeAreaCode、postalCodeperson.firstName、lastName、phoneperson.companyName、email範例負載:
[ { "type": "DESTINATION", "location": { "countryCode": "US" }, "person": {} }, { "type": "ORIGIN", "location": { "countryCode": "JP" }, "person": {} } ]回應會傳回已建立的
PartyID 及解析後的地址欄位。2.
itemCreateWorkflow建立組成出貨的產品線項目。這些即是將出現在商業發票上,並用於計算 Landed Cost 的 SKU。
currencyCodequantityamounttotalAmount,否則為必須。totalAmountamount的替代方案;amount會由totalAmount / quantity推算而得。hsCodecountryOfOriginname、descriptioncustomsDescriptionsku、productIdmeasurementsHS 代碼、原產國和金額,是第 5 步中對關稅/稅金結果影響最大的三個欄位。
3.
cartonsCreateWorkflow建立實體包裝 — 也就是將用來容納商品的箱子、聚合袋或信封。
dimensionalUnitINCH或CENTIMETER。weight、weightUnitlength、width、heighttypePACKAGE。每個紙箱在第 6 步會成為運輸商標籤上的一個包裹。多個紙箱 → 多件式出貨,每個紙箱各有一個追蹤號碼。
4.
shipmentRatingCreateWorkflow記錄商家向買家收取的運費報價。
amount0。currencyCodeamount所使用的貨幣。serviceLevelCodejapan_post.air.parcel)。完整清單請參閱日本郵便服務等級。displayName這是買家在結帳時所看到的運費報價。它會作為「shipping」小計項目納入 Landed Cost 計算,確保關稅和稅金是依正確的 CIF 值計算。
5.
landedCostCalculateWorkflow針對目的地國家執行關稅、稅金與手續費計算。會使用先前步驟中的商品、各方資料及運費。
endUseNOT_FOR_RESALE或FOR_RESALE。部分目的地會對商業用途與個人用途適用不同稅率。tariffRateZONOS_PREFERRED。用於告知 Zonos 應套用哪個稅則來源/計算方法。calculationMethodDDP(買家預付)或DDU(買家到付)。預付情境請使用DDP。此欄位決定LandedCost.amountSubtotals是否包含關稅/稅金。currencyCodearrivalDate回應包含
amountSubtotals(duties、taxes、fees、shipping、landedCostTotal)— 這些數字即是您在結帳時顯示給買家、並列印於商業發票上的金額。6.
shipmentCreateWorkflow最終步驟 — 建立
Shipment實體、產生運輸商標籤,並(視需要)產生商業發票/裝箱單。對於日本郵便驗證帳戶而言,Zonos 也會在此步驟代表您呼叫日本郵便標籤 API(代碼 52),代入您的後付款號碼、建立申報單號,並將申報單號與日本郵便回傳的追蹤號碼連結。
關鍵欄位:
serviceLeveljapan_post.air.ems_merchandise)。必須是japan_post.*服務等級。generateLabeltrue;必須為true才會傳回標籤。contentsTypeSALE_OF_GOODS、ECOMMERCE_GOODS、COMMERCIAL_GOODS、COMMERCIAL_SAMPLE、RETURNED_GOODS、GIFT、DOCUMENTS、OTHER其中之一。nonDeliveryreferencesdeclaredValue/isDeclaredValueshipmentConsolidationId就
contentsType而言,驗證帳戶流量中最常見的兩個值是ECOMMERCE_GOODS(售予消費者,BtoC)和COMMERCIAL_GOODS(企業對企業銷售,BtoB)。這兩個值會決定 Zonos 在呼叫日本郵便標籤 API 時傳送的pkgType,因此這項選擇會影響報關單上實際列印的內容 — 不只是標籤上的顯示而已。nonDelivery子輸入指示日本郵便在包裹無法送達時該如何處理 — 收貨人拒收、於邊境遭拒,或因地址錯誤而無法投遞。
option僅接受以下四種值。並沒有RETURN這個值 — 請使用RETURN_AFTER_RETENTION或RETURN_IMMEDIATELY來選擇包裹「何時」退回。option↕RETURN_AFTER_RETENTIONRETURN_IMMEDIATELYFORWARDABANDONAPI 將兩種退回變體分開公開;Dashboard 的 Return 選項則同時涵蓋這兩者。
transportMethod接受AIR或MOST_ECONOMICAL,用於設定退回包裹的運送方式。此欄位僅適用於兩個RETURN_*選項 — Dashboard 只有在選擇 Return 時,才會顯示對應的 Return method 欄位。{ "nonDelivery": { "option": "RETURN_AFTER_RETENTION", "transportMethod": "MOST_ECONOMICAL" } }Dashboard Create label 對話方塊中的 If undeliverable 選擇器所寫入的即是同一個欄位,因此無論標籤是透過 Dashboard 或 API 建立,行為都相同。
references子輸入這些欄位會列印在運輸商標籤和/或商業發票上。使用它們來呈現收貨人或海關機關需要看到的 PO 號碼、許可證號碼及自由文字備註。
invoiceNumberpurchaseOrderNumberlicenseNumbercertificateNumberpaymentConditionscustomsRemarkstaxCode回應
傳回的
Shipment中,值得留意的欄位如下:{ id trackingDetails { number } shipmentCartons { label { url labelImage } } }trackingDetails.number是日本郵便追蹤號碼。label物件可用兩種方式傳回標籤 — 請依您的工作流程選擇其中一種(或兩者皆用):urllabelImage只請求您所需要的欄位。請求
url可讓回應內容保持精簡;請求labelImage則會在回應中內嵌完整標籤,讓您不需要再發送第二次請求來擷取它。上方範例請求的是url。日本郵便服務等級
在
shipmentRatingCreateWorkflow中,將下列其中一個代碼作為serviceLevelCode傳入。服務等級代碼使用點號,而非底線。您可能會在錯誤訊息或內部參考資料中看到底線形式(
japan_post_air_parcel),但這並非有效的輸入格式。航空服務
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-D水陸服務
japan_post.surface.parcel2-5japan_post.surface.small_packet2-9japan_post.surface.printed_matter2-Bjapan_post.surface.letter2-D在相似服務之間選擇
小型包裹 vs. 國際航空小包。 兩者皆以 2 公斤為上限。
japan_post.air.packet是日本郵便可追蹤的小型包裹服務。japan_post.air.small_packet則是不可追蹤的對應服務。若輕量包裹需要追蹤功能,請使用japan_post.air.packet。掛號變體。 就信件與印刷品而言,追蹤功能是由該服務的掛號(書留)版本所提供。
japan_post.air.printed_matter和japan_post.air.letter本身並不包含追蹤功能。已淘汰的代碼
japan_post.air.epacket_light曾是國際 e-Packet Light 服務。日本郵便已於2026 年 6 月 1 日將此服務更名為國際航空小包,並將其擴展至所有國家和地區。服務內容本身並無變更。舊代碼仍可正常解析,因此現有整合可繼續運作,但新開發的功能請改用
japan_post.air.packet。運輸方式代碼
japan_post.air、japan_post.surface、japan_post.economy_air和japan_post.custom同樣可以解析,但它們代表的是運輸方式或備援選項,而非特定的郵件產品。一般出貨請使用上方列出的其中一個服務代碼。驗證您傳送的代碼
無法辨識的
serviceLevelCode不會觸發錯誤。請求會傳回 HTTP 200,且不含errors陣列,serviceLevel會傳回null,運費也會從 Landed Cost 總額中消失 — 因此回應看起來正常,但金額卻是錯的。在使用總額之前,請務必確認
shipmentRatingCreateWorkflow.serviceLevel不是null。若要隨時取得目前的清單:
{ serviceLevels(carrier: "carrier_00004c9b-9431-4518-bfbc-b9f8476335b1") { code name } }此查詢使用的是運輸商的 ID。若傳入運輸商代碼
japan_post,則會傳回空清單且不會出現錯誤。錯誤處理
errors陣列中,並中止其餘的鏈結流程。shipmentCreateWorkflow上顯示為 GraphQL 錯誤。如果需要重試,請聯絡支援 — 建議的作法是使用更正後的輸入重新提交完整變動。VALIDATION_INVALID_TYPE_VARIABLE{ "errors": [ { "message": "invalid type for variable: 'shipmentInput'", "extensions": { "name": "shipmentInput", "code": "VALIDATION_INVALID_TYPE_VARIABLE" } } ] }此錯誤指出的是整個變數,而不是實際有問題的欄位。它幾乎都代表該變數內有某個列舉值不屬於其列舉定義 — 最常見的是
nonDelivery.option、contentsType或serviceLevel。這並非 JSON 型別的問題。為布林值或數字加上或移除引號都不會有任何影響,因為酬載根本還沒被解析到那一步 — 列舉值會先被拒絕。
若要找出有問題的欄位,請逐一檢查該變數中每個列舉欄位是否符合其可接受的值:
nonDelivery.optionRETURN_AFTER_RETENTION、RETURN_IMMEDIATELY、FORWARD、ABANDON— 沒有RETURNnonDelivery.transportMethodAIR、MOST_ECONOMICALcontentsTypeSALE_OF_GOODS、ECOMMERCE_GOODS、COMMERCIAL_GOODS、COMMERCIAL_SAMPLE、RETURNED_GOODS、GIFT、DOCUMENTS、OTHERserviceLeveljapan_post.*服務等級代碼任何輸入類型的完整列舉成員清單,皆列於其在 API reference 中的類型頁面。
權限
每個步驟都是獨立受保護的。您的 API 金鑰必須對鏈中的每個實體 (
ITEM_WRITE、CARTON_WRITE、SHIPMENT_RATING_WRITE、LANDED_COST_WRITE、SHIPMENT_WRITE) 保有寫入權限。驗證帳戶上的標準商家角色會授予所有這些權限。後續步驟
CartonCreateWorkflowInput ItemCreateWorkflowInput LandedCostWorkFlowInput PartyCreateWorkflowInput ShipmentCreateWorkflowInput ShipmentRatingCreateWorkflowInput
cartonsCreateWorkflow itemCreateWorkflow landedCostCalculateWorkflow partyCreateWorkflow shipmentCreateWorkflow shipmentRatingCreateWorkflow
這個頁面有幫助嗎?