Mutasyon girişini hazırlayın
GraphQL API aracılığıyla bir landed cost hesaplamak için birden fazla adım gereklidir; bu adımları iş akışlarına organize ettik. Sonunda, gönderim hedefine, sepetinizdeki öğelere ve nakliyeye dayalı bir landed cost almak için tek bir çağrı yapmanız gereken her şeye sahip olacaksınız.
Her iş akışı belirli giriş verilerine ihtiyaç duyar. GraphQL, gerekliden fazla bilgi eklemenize olanak tanır; lütfen tüm olası alanları görmek için tam API referansımıza başvurun. Gerekli alanlar, işlevsellik için gereken alanlar olarak işaretlenir, ancak bu işaret yalnızca garanti gerektiren alanlar için geçerlidir. Garantimizi kullandığınızda birkaç ek alan gereklidir.
Aşağıda, garantili bir landed cost hesaplamak için gereken tüm alanları listeledik. Bu bilgilere hazır olduğunuzdan emin olun.
Garantili hesaplamalar için gerekli girişler
partyCreateWorkflowInput
partyCreateWorkflowInput
, ilgili tarafları ve konumlarını tanımlar. Tam şemayı GraphQL API referansımızda görüntüleyin. Gerekli alanlar şunlardır:
location
administrativeAreaCode
: İki harfli bir eyalet veya il kodu. Yalnızca CA ve BR için gereklidir.countryCode
: Ülkenin iki harfli ISO kodu.line1
: Adresin ilk satırı.postalCode
: Adresin posta kodu veya posta kodu.
person
email
: Kişinin e-posta adresi.firstName
: Kişinin adı.lastName
: Kişinin soyadı.phone
: Kişinin telefon numarası.
type
DESTINATION
: Nakliye hedefi içinlocation
veperson
bilgileri.ORIGIN
: Nakliye kaynağı içinlocation
bilgileri. Nakliye kaynağıyla ilişkilendirilenperson
gerekli değildir.
itemCreateWorkflowInput
itemCreateWorkflowInput
, sepetteki öğeleri listeler. Birçok isteğe bağlı alan vardır (tüm olasılıkları API referansımızda görün), ancak aşağıdaki alanlar gereklidir.
amount
: Öğenin fiyatı.currencyCode
: Öğe miktarı için para birimi kodu.quantity
: Öğenin miktarı.- Aşağıdakilerden biri (hangisi öğe anahtar tercihiniz olarak ayarlanmışsa). Öğe anahtarınız, Katalog'da saklanan bilgileri sepetinizdeki öğeyle bağlar ve etiket oluşturulurken kullanılır.)
productId
: Öğenin ürün kimliği.sku
: Öğenin SKU'su.
measurements
(WEIGHT
, LENGTH
, WIDTH
, HEIGHT
), gönderi puanı alırken öğelerinizi kartonize etmek istiyorsanız yalnızca gereklidir.
shipmentRatingCreateWorkflowInput
Bu iş akışı, zaten nakliye hizmetini ve maliyetini bildiğinizde kullanılır; Zonos'un etkinleştirdiğiniz hizmetler için bu maliyetleri hesaplamasını istiyorsanız, bu iş akışını değiştirin ve bunun yerine shipmentRatingCalculateWorkflow
'u kullanın.
shipmentRatingCreateWorkflowInput
, nakliye maliyetini iletişim kurar. Tam şemayı GraphQL API referansımızda görüntüleyin. Gerekli alanlar şunlardır:
amount
: Nakliye maliyeti.currencyCode
: Nakliye maliyetinin para birimi kodu.serviceLevelCode
: Gönderi puanında kullanılan nakliye hizmet seviyesini belirten kod.
landedCostWorkflowInput
landedCostWorkflowInput
, landed cost hesaplaması için tercihleri belirler. Tam şemayı GraphQL API referansımızda görüntüleyin. Gerekli alanlar şunlardır:
calculationMethod
: Nasıl gönderim yapmayı planladığınızı belirten bir değer: Önceden ödenmiş gümrük vergileri ve vergiler (DDP) veya teslimatta ödenen gümrük vergileri ve vergiler (DAP) veya bir ödeme planı uygulanıyorsa, bunlar bir vergi kimliği aracılığıyla iletilebilir.- landed cost garantimizi kullanıyorsanız, bu değer her zaman
DDP_PREFERRED
olmalıdır, böylece mümkün olduğunda bir DDP teklifi sağlar ve bir DDP teklifi izin verilmiyorsa bir DAP teklifi sağlar. Bunun yerineDAP
kullanmak, genellikle teslimatta ödenen gümrük vergileri ve vergileri sonucu garanti altına alınan maliyetlerin artık garanti altında olmamasına neden olabilir.
- landed cost garantimizi kullanıyorsanız, bu değer her zaman
endUse
: Malların başka bir işletmeye (FOR_RESALE
) mi yoksa bir tüketiciye (NOT_FOR_RESALE
) mi satıldığını belirtir.tariffRate
: Bu teklif için uygulanabilecek bir dizi tarife oranını hesaplamak için Zonos'un hangi yöntemi kullanması gerektiğini belirtir. *landed cost garantimizi kullanırken, bu her zamanZONOS_PREFERRED
olmalıdır.
Hesaplanmış nakliye ekleyin: Zonos'un nakliye maliyetini hesaplamasını istiyorsanız,
shipmentRatingCreateWorkflow
'ushipmentRatingCalculateWorkflow
ile değiştirin. Zonos'un öğelerinizi kartonlara ayırmasını istiyorsanız, nakliye maliyetini bulmadan önce öğelerinizi kartonlara yerleştirmek içincartonizeWorkflow
'u ekleyin (boyut ağırlığı için kullanılır).
Bir landed cost hesaplarken seçenekler
GraphQL, isteğinizi tercihlerinize göre özelleştirme esnekliği sunar. İsteğe HS kodları ve nakliye maliyetlerini dahil etmenin birkaç seçeneği vardır.
HS kodları
HS kodları, gümrük vergisi oranlarını etkiler ve bu nedenle gereklidir. Her bir ürün için HS kodunu geçirebilir veya Classify'nın bunları oluşturmasına izin verebilirsiniz.
Zonos ürün spesifik HS kodlarını kullanmanızı şiddetle önerir, çünkü bu daha doğru bir landed cost teklifi sağlar. HS kodlarınızı biliyorsanız, itemCreateWorkflow
sırasında her item
için hsCode
'u geçirin.
Bir HS kodu geçerseniz, Zonos bunu landed cost teklifi alırken anında doğrulayacaktır. Geçtiğiniz HS kodu geçersizse (yani mevcut değilse), Zonos ürününüzü anında yeniden-classify sınıflandıracak ve geçerli yeni HS kodunu kullanacaktır.
Ürünleriniz için HS kodları oluşturma konusunda yardıma ihtiyacınız varsa, Zonos Classify hakkında bilgi edinin ve sınıflandırma talep etme sürecini öğrenin.
Eğer Zonos'ya bir hsCode
geçmezseniz, önce Zonos Kataloğu üzerinden ürününüz için bir HS kodu saklayıp saklamadığınızı kontrol edeceğiz. Eğer yoksa, Classify'yı çağırarak landed cost hesaplamanızı desteklemek için bir sınıflandırma oluşturacağız. Bu, itemCreateWorkflow
ürün detay alanları olan description
, category
ve material
temelinde yapılacaktır. Eğer ürün detay alanlarınız, Classify's'nın güven skoru temelinde bir sınıflandırma oluşturmak için yeterince detaylı değilse, mağazanıza atanmış varsayılan HS kodu kullanılacaktır.
Varsayılan olarak, eğer bir hsCode
sağlamazsanız ve Classify'yı çağırırsak, Classify tarafından oluşturulan hsCode
yanıt içinde döndürülmeyecek, yalnızca landed cost'unuzu oluşturmak için dahili olarak kullanılacaktır. Ancak, bir Classify aboneliğiniz varsa, Classify's'nın HS kodunu landed cost yanıtınızda döndüreceğiz.
Nakliye maliyeti
Nakliye hizmet seviyesi ve maliyeti, gümrük vergileri, vergiler ve ücretler üzerinde etki yapar ve bu nedenle gereklidir. Zonos nakliye hesaplayabilir veya bunu bize geçebilirsiniz.
Zonos'nun nakliye maliyetlerini hesaplaması için shipmentRatingCalculateWorkflow
'u kullanın. Hesaplanan nakliye yanıtında döndürülen nakliye seçenekleri, Dashboard üzerinde nakliye profillerine atadığınız serviceLevels
ile ilişkilendirilecektir.
Sorun Giderme: Yanıt içinde bir
serviceLevel
bekliyorsanız ancak görünmüyorsa, lütfenserviceLevel
'ın etkin olduğundan ve seçtiğinizmethod
tarafından desteklendiğinden emin olun.
Nakliye maliyetini bulmadan önce Zonos'nun ürünlerinizi kutulara ayırmasını istiyorsanız, cartonizeWorkflow
'u ekleyin (girdi gerektirmeyen).
Eğer bir gönderim için serviceLevel
ve amount
'ı biliyorsanız, bunları isteğin shipmentRatingCreateWorkflow
kısmında geçebilirsiniz. Bu değerleri kullanarak ilgili taşıyıcı ücretlerini hesaplayacağız ve yanıt içinde döndüreceğiz.
Mutasyonu gönderin
Gerekli giriş verilerine sahip olduğunuzda, GraphQL mutasyonunu seçtiğiniz istemci kütüphanesi veya aracı kullanarak API uç noktasına gönderin. İşte mutasyonu nasıl yapılandırabileceğinize dair bazı örnekler.
Mutasyon
mutation {
partyCreateWorkflow(
input: [
{
location: {
administrativeArea: "Utah"
administrativeAreaCode: "UT"
countryCode: US
line1: "345 N 2450 E"
line2: "#151"
locality: "St George"
postalCode: "84790"
}
type: ORIGIN
}
{
location: {
administrativeArea: "BC"
administrativeAreaCode: "BC"
countryCode: CA
line1: "27 Sussex Dr."
locality: "Victoria"
postalCode: "V8T 2V9"
}
person: {
email: "test@gmail.com"
firstName: "firstName"
lastName: "lastName"
phone: "5022303021"
companyName: "goProTest"
metadata: { key: "key", value: "value" }
}
type: DESTINATION
}
{
type: PAYOR
location: {
administrativeArea: "ON"
administrativeAreaCode: "ON"
countryCode: CA
latitude: 1.2
line1: "asdf"
line2: "asdf"
locality: "locality"
longitude: 3423.2
postalCode: "M4C 1A1"
}
person: {
email: "test@gmail.com"
firstName: "firstName"
lastName: "lastName"
phone: "5022303021"
companyName: "goProTest"
metadata: { key: "key", value: "value" }
}
}
]
) {
type
id
organization
}
itemCreateWorkflow(
input: [
{
amount: 69
currencyCode: USD
countryOfOrigin: US
quantity: 1
productId: "productId"
hsCode: "1006.30"
description: "description"
measurements: [
{ type: WIDTH, value: 2, unitOfMeasure: CENTIMETER }
{ type: WEIGHT, value: 2, unitOfMeasure: POUND }
]
}
{
amount: 62
currencyCode: CAD
countryOfOrigin: US
hsCode: "1006.30"
quantity: 1
productId: "productId2"
description: "description2"
measurements: [
{ type: WIDTH, value: 2, unitOfMeasure: CENTIMETER }
{ type: WEIGHT, value: 2, unitOfMeasure: POUND }
]
}
]
) {
id
amount
}
cartonizeWorkflow {
id
type
items {
item {
id
}
}
}
shipmentRatingCalculateWorkflow {
id
amount
}
landedCostCalculateWorkflow(
input: { endUse: FOR_RESALE, method: DAP, tariffRate: ZONOS_PREFERRED }
) {
id
duties {
amount
currency
}
taxes {
amount
currency
}
fees {
amount
currency
}
}
}
Yanıt
{
"data": {
"partyCreateWorkflow": [
{
"type": "ORIGIN",
"id": "party_749959ae-b9ff-4de4-b4ac-59cc990c53ba",
"organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
},
{
"type": "DESTINATION",
"id": "party_cd7ff245-76b6-464f-a7bf-151ebe1f8833",
"organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
},
{
"type": "PAYOR",
"id": "party_00e63a9e-9735-44d9-b129-3b3e76c5df25",
"organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
}
],
"itemCreateWorkflow": [
{
"id": "item_eb27f071-de8b-4578-9db9-ae69aaf9be3e",
"amount": 69
},
{
"id": "item_fffa8ba8-cc8d-4e13-bed6-55044a71c115",
"amount": 62
}
],
"cartonizeWorkflow": [
{
"id": "carton_b34b29c1-ce27-464b-b91b-df8e4a696312",
"type": "PACKAGE",
"items": [
{
"item": {
"id": "item_eb27f071-de8b-4578-9db9-ae69aaf9be3e"
}
},
{
"item": {
"id": "item_fffa8ba8-cc8d-4e13-bed6-55044a71c115"
}
}
]
}
],
"shipmentRatingCalculateWorkflow": [
{
"id": "shipment_rating_96787309-9510-43cc-b4fa-c341ff80f4cc",
"amount": 173.2
},
{
"id": "shipment_rating_b0ccb109-7794-4c7c-b5cc-e2cfbbc5c8ac",
"amount": 190.1
}
],
"landedCostCalculateWorkflow": [
{
"id": "landed_cost_74d3ce11-bff2-4326-9e6f-368e03ac88b4",
"duties": [
{
"amount": 0.0,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
}
],
"taxes": [
{
"amount": 3.45,
"currency": "USD"
},
{
"amount": 3.1,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
}
],
"fees": [
{
"amount": 0.13,
"currency": "USD"
},
{
"amount": 1.44,
"currency": "USD"
}
]
},
{
"id": "landed_cost_7bbfd354-028c-457f-8c8e-c81bb8fa09a0",
"duties": [
{
"amount": 0.0,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
}
],
"taxes": [
{
"amount": 3.45,
"currency": "USD"
},
{
"amount": 3.1,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
}
],
"fees": [
{
"amount": 0.13,
"currency": "USD"
},
{
"amount": 1.44,
"currency": "USD"
}
]
}
]
}
}
Bir landed cost hesapla
Görevler, vergiler ve ücretleri GraphQL ile hesaplayın.GraphQL
Zonos, gümrük, aracılar veya taşıma şirketlerinin talep edebileceği vergiler, harçlar ve ek ücretleri içeren gönderiler için toplam landed cost hesaplar. Bu hesaplamaları genellikle garanti altına alarak yaparız, yani gümrük, vergi ve ücret faturasını kendimiz öderken sizi tam olarak hesapladığımız tutarı ödemeye zorlarız. Nadir durumlarda, hesaplamalarımız garanti olmadan da kullanılabilir, burada hesapladığımız tutar ile gümrük vergi faturası arasındaki farkı siz üstlenirsiniz.