Talebi Hazırlayın
Bir landed cost API'si hesaplamak için birkaç girdi gereklidir; bunları iş akışlarına organize ettik. Tamamlandığında, gönderim yeri, sepet içindeki ürünler ve gönderim detaylarına dayalı olarak bir landed cost döndürmek için tek bir istek yapabileceksiniz.
Her iş akışının kendi gerekli girdileri vardır. GraphQL, gerekli olandan daha fazla veri geçirmenize izin verir, ancak yalnızca belirli alanlar bir landed cost döndürmek için gereklidir. Bunlar, tüm olası alanları görmek için API referansımızda açıkça işaretlenmiştir.
Hesaplamanızın garantili olmasını istiyorsanız, bazı alanların koşullu olarak gerekli olduğunu unutmayın.
Aşağıda, garantili bir landed cost hesaplamak için gereken tüm alanları özetledik. Talebinizi yapmadan önce bu bilgilerin dahil olduğundan emin olun.
Garantili hesaplamalar için gerekli girdiler
partyCreateWorkflowInputpartyCreateWorkflowInput, ilgili tarafları ve konumlarını tanımlar. Tam şemayı GraphQL API'mizde referans bölümünde görüntüleyin. Gerekli alanlar:
locationadministrativeAreaCode: Eyalet veya il kodu, iki harf. Sadece CA ve BR için gereklidir.countryCode: Ülkenin iki harfli ISO kodu.line1: Adresin ilk satırı.postalCode: Adresin posta kodu veya zip kodu.
personemail: Kişinin e-posta adresi.firstName: Kişinin adı.lastName: Kişinin soyadı.phone: Kişinin telefon numarası.
typeDESTINATION: Gönderim yeri içinlocation&personbilgisi.ORIGIN: Gönderim kaynağı içinlocationbilgisi. Gönderim kaynağı ile ilişkilipersongerekli değildir.
itemCreateWorkflowInputitemCreateWorkflowInput, sepet içindeki ürünleri listeler. Birçok isteğe bağlı alan vardır (tüm olasılıkları API referansımızda görebilirsiniz), ancak aşağıdaki alanlar gereklidir.
amount: Gönderilen ürünün birim değerinin miktarı, miktar ile çarpılmadan önce. Bu, bir postal öğesinin postal tanımından farklıdır. Eğer ürününquantity'si 1 ise, bu ürünün toplam maliyetidir. Eğer ürününquantity'si >1 ise, API, ürünamount'ını ürününquantity'si ile çarparak satır öğesinin toplamını alır.amount'a tüm birimlerin toplam fiyatını koymayın.currencyCode: Ürün miktarı için para birimi kodu.quantity: Ürünün miktarı. API, ürünamount'ını ürününquantity'si ile çarparak satır öğesinin toplamını alır.countryOfOrigin: Ürünün üretildiği ülke.- Aşağıdakilerden biri (hangisi ürün anahtar tercihiniz olarak ayarlandıysa. Ürün anahtarınız, Katalogda saklanan bilgileri sepet içindeki ürünle bağlar ve etiket oluşturma sırasında kullanılır.)
productId: Ürünün ürün kimliği.sku: Ürünün SKU'su.
measurements (WEIGHT, LENGTH, WIDTH, HEIGHT) yalnızca ürünlerinizi gönderim değerlendirmesi alırken kartonlaştırmak istiyorsanız gereklidir.
cartonsCreateWorkflowInputcartonsCreateWorkflowInput yalnızca girdiyi gerektirir. Tüm geçerli değerleri görmek için GraphQL API'mizde referans bölümüne bakın. Zonos'un gönderim maliyetini hesaplaması için kartonun boyutlarını ve ağırlığını geçmek önemlidir.
shipmentRatingCreateWorkflowInputBu iş akışı, gönderim hizmeti ve maliyetini zaten biliyorsanız 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 shipmentRatingCalculateWorkflow'u kullanın.
shipmentRatingCreateWorkflowInput, gönderim maliyetini iletir. Tam şemayı GraphQL API'mizde referans bölümünde görüntüleyin. Gerekli alanlar:
amount: Gönderim maliyeti.currencyCode: Gönderim maliyetinin para birimi kodu.serviceLevelCode: Gönderim değerlendirmesinde kullanılan gönderim hizmeti seviyesini belirten kod.
landedCostWorkFlowInputlandedCostWorkFlowInput, landed cost hesaplaması için tercihleri belirler. Tam şemayı GraphQL API'mizde referans bölümünde görüntüleyin. Gerekli alanlar:
calculationMethod: Gönderim planladığınız yöntemi belirtir: DDP (ön ödenmiş gümrük vergileri ve vergiler) veya DAP (ya gümrük vergileri ve vergiler teslimatta ödenir ya da bir remittance planı uygulanıyorsa, vergi kimliği aracılığıyla ödenir).- Eğer landed cost garantimizi kullanıyorsanız, bu değer her zaman
DDP_PREFERREDolmalıdır; bu, mümkün olduğunda DDP teklifi sağlayacak ve DDP teklifi yasaksa DAP teklifi verecektir. Bunun yerineDAPkullanmak, genellikle teslimatta ödenen gümrük vergileri ve vergilerle sonuçlanacağından, hesaplanan landed cost'un garanti edilmemesiyle sonuçlanabilir.
- Eğer landed cost garantimizi kullanıyorsanız, bu değer her zaman
endUse: Malların başka bir işletmeye (FOR_RESALE) veya bir tüketiciye son kullanım için (NOT_FOR_RESALE) satılıp satılmadığını belirtir.tariffRate: Bu teklif için uygulanabilecek bir dizi gümrük tarifesi varsa, Zonos'un bu gümrük tarifelerini hesaplamak için kullanması gereken yöntemi belirtir. * landed cost garantimizi kullanırken, bu her zamanZONOS_PREFERREDolmalıdır.
Hesaplanan gönderim ekleyin: Eğer Zonos'un sizin için gönderim maliyetini hesaplamasını istiyorsanız,
shipmentRatingCreateWorkflow'ushipmentRatingCalculateWorkflowile değiştirin. Gönderim maliyetini bulmadan önce Zonos'un ürünlerinizi kartonlara ayırmasını istiyorsanızcartonizeWorkflow'u ekleyin (bu, boyutsal ağırlık için kullanılır).
HS kodu ve nakliye seçenekleri
GraphQL, isteği 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çebilir veya Classify'nin bunları oluşturmasına izin verebilirsiniz.
Zonos ürün spesifik HS kodları 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çin.
Eğer 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 sağladığınız kod yerine yeni, geçerli 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 nasıl sınıflandırma talep edeceğinizi öğrenin.
Eğer Zonos'a bir hsCode geçmezseniz, önce Zonos Kataloğu kontrol edilecek ve ürününüz için bir HS kodu saklanıp saklanmadığına bakılacaktır. Eğer yoksa, Classify çağrısı yaparak 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'nin güven skoru temelinde bir sınıflandırma oluşturmak için yeterince detaylı değilse, mağazanıza atanan varsayılan HS kodu kullanılacaktır.
Nakliye maliyeti
Nakliye hizmet seviyesi ve maliyeti, gümrük vergileri, vergiler ve ücretleri etkiler ve bu nedenle gereklidir. Zonos nakliye maliyetlerini hesaplayabilir veya bunu bize geçebilirsiniz.
Zonos'un nakliye maliyetlerini hesaplaması için shipmentRatingCalculateWorkflow kullanın. Hesaplanan nakliye yanıtında dönen nakliye seçenekleri, Dashboard üzerindeki nakliye profillerine atadığınız serviceLevels ile ilişkilendirilecektir.
Sorun Giderme: Eğer yanıt içinde bir
serviceLevelbekliyorsanız ancak görünmüyorsa, lütfenserviceLevel'ın etkin olduğundan ve seçtiğinizmethodtarafından desteklendiğinden emin olun.
Nakliye maliyetini bulmadan önce Zonos'un ürünlerinizi kutulara ayırmasını istiyorsanız, cartonizeWorkflow'u (girdi gerektirmeyen) ekleyin (bu, boyutsal ağırlık için kullanılır).
Eğer bir gönderi 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 hesaplayacak ve yanıt olarak döndüreceğiz.
API üzerinden bir landed cost talep edin
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.
Zonos'un Landed Cost talebi kapsamında nakliye maliyetini hesapladığı bu isteği kullanın. Daha sonra, varış ülkesinin değerlendirmesi durumunda nakliye üzerinden gümrük vergileri ve vergileri hesaplayacağız.
Mutation
mutation CalculateLandedCost(
$parties: [PartyCreateWorkflowInput!]!
$items: [ItemCreateWorkflowInput!]!
$landedCostConfig: LandedCostWorkFlowInput!
) {
partyCreateWorkflow(input: $parties) {
type
id
organization
}
itemCreateWorkflow(input: $items) {
id
amount
productId
}
cartonizeWorkflow {
id
type
items {
item {
id
}
}
}
shipmentRatingCalculateWorkflow {
id
amount
}
landedCostCalculateWorkflow(input: $landedCostConfig) {
id
duties {
amount
currency
note
}
taxes {
amount
currency
note
}
fees {
amount
currency
note
}
}
}
Değişkenler
{
"parties": [
{
"location": {
"administrativeArea": "Utah",
"administrativeAreaCode": "UT",
"countryCode": "US",
"line1": "345 N 2450 E",
"line2": "#151",
"locality": "St George",
"postalCode": "84790"
},
"type": "ORIGIN"
},
{
"location": {
"administrativeArea": "New South Wales",
"administrativeAreaCode": "NSW",
"countryCode": "AU",
"line1": "123 George Street",
"line2": "Apartment 5B",
"locality": "Sydney",
"postalCode": "2000"
},
"person": {
"email": "aussie.customer@gmail.com",
"firstName": "James",
"lastName": "Thompson",
"phone": "+61412345678",
"companyName": "Sydney Trading Co",
"metadata": { "key": "customer_type", "value": "premium" }
},
"type": "DESTINATION"
},
{
"type": "PAYOR",
"location": {
"administrativeArea": "Victoria",
"administrativeAreaCode": "VIC",
"countryCode": "AU",
"latitude": -37.8136,
"line1": "456 Collins Street",
"line2": "Suite 12",
"locality": "Melbourne",
"longitude": 144.9631,
"postalCode": "3000"
},
"person": {
"email": "billing@reallysilkstore.com.au",
"firstName": "Sarah",
"lastName": "Mitchell",
"phone": "+61398765432",
"companyName": "Really Silk Store",
"metadata": { "key": "billing_contact", "value": "primary" }
}
}
],
"items": [
{
"amount": 120,
"currencyCode": "USD",
"countryOfOrigin": "US",
"quantity": 1,
"productId": "productId1",
"hsCode": null,
"description": "leather wallet",
"measurements": [
{ "type": "WIDTH", "value": 1, "unitOfMeasure": "CENTIMETER" },
{ "type": "LENGTH", "value": 2, "unitOfMeasure": "CENTIMETER" },
{ "type": "HEIGHT", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "WEIGHT", "value": 1, "unitOfMeasure": "POUND" }
]
},
{
"amount": 55,
"currencyCode": "USD",
"countryOfOrigin": "US",
"quantity": 1,
"productId": "productId2",
"hsCode": "6206.30",
"description": "t-shirt",
"measurements": [
{ "type": "WIDTH", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "LENGTH", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "HEIGHT", "value": 5, "unitOfMeasure": "CENTIMETER" },
{ "type": "WEIGHT", "value": 1.5, "unitOfMeasure": "POUND" }
]
}
],
"landedCostConfig": {
"calculationMethod": "DDP_PREFERRED",
"endUse": "NOT_FOR_RESALE",
"tariffRate": "ZONOS_PREFERRED"
}
}
Yanıt
{
"data": {
"partyCreateWorkflow": [
{
"type": "ORIGIN",
"id": "party_01044774-758f-4021-b8dd-e17d97609647",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
},
{
"type": "DESTINATION",
"id": "party_0m6wgfjmhbnf2",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
},
{
"type": "PAYOR",
"id": "party_0m6wgfjn5bnfh",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
}
],
"itemCreateWorkflow": [
{
"id": "item_0m6wgfjpfw9fz",
"amount": 120,
"productId": "productId1"
},
{
"id": "item_0m6wgfjpfw9g0",
"amount": 55,
"productId": "productId2"
}
],
"cartonizeWorkflow": [
{
"id": "carton_0m6wgfme53aqb",
"type": "PACKAGE",
"items": [
{
"item": {
"id": "item_0m6wgfjpfw9g0"
}
},
{
"item": {
"id": "item_0m6wgfjpfw9fz"
}
}
]
}
],
"shipmentRatingCalculateWorkflow": [
{
"id": "shipment_rating_0m6wgfmghvhh1",
"amount": 24.8864
}
],
"landedCostCalculateWorkflow": [
{
"id": "landed_cost_7730b476-1307-4d14-8f76-3b37bd162054",
"duties": [],
"taxes": [
{
"amount": 5.5,
"currency": "USD",
"note": null
},
{
"amount": 0.7822,
"currency": "USD",
"note": null
},
{
"amount": 12,
"currency": "USD",
"note": null
},
{
"amount": 1.7065,
"currency": "USD",
"note": null
}
],
"fees": [
{
"amount": 0,
"currency": "USD",
"note": null
},
{
"amount": 0.8,
"currency": "USD",
"note": null
},
{
"amount": 0,
"currency": "USD",
"note": null
}
]
}
]
},
"errors": []
}
Sonraki adım: Bir sipariş oluşturun
Bir landed cost hesapladıktan ve API yanıtından landedCostId aldıktan sonra, Zonos sisteminde işlemi tamamlamak için bir sipariş oluşturmalısınız. orderCreate mutasyonunu kullanın ve teklifinizden landedCostId değerini geçirin. Sipariş oluşturma hakkında daha fazla bilgi edinin.
Dashboard'da bir landed cost talep edin
Ayrıca, API kullanmadan doğrudan Zonos Dashboard üzerinden landed cost hesaplayabilirsiniz. Bu, hesaplamaları test etmek, ekibinizi eğitmek veya müşteri talepleri için hızlı teklifler almak için faydalıdır.
Dashboard, yukarıda açıklanan aynı API uç noktalarını kullanır, bu nedenle sonuçlar doğrudan API çağrılarından alacağınız sonuçlarla eşleşecektir. Bu, API entegrasyonunuzu doğrulamak veya farklı girdilerin hesaplamaları nasıl etkilediğini keşfetmek için harika bir yoldur.
Dashboard hesaplayıcısını kullanma
Dashboard'daki landed cost hesaplayıcısı ile hesaplanan nakliye ücretleriyle teklifler alabilir, bilinen nakliye maliyetleriyle teklifler oluşturabilir veya birden fazla teklifi toplu olarak işleyebilirsiniz.
Bu akışı, gönderiminiz için nakliye hizmet seviyesi ve maliyetini bildiğinizde kullanın.
- Dashboard → Siparişler → Teklifler sayfasına gidin
- Yeni teklif butonuna tıklayın
- İsteğe bağlı — Gönderim adresinizin konumunu değiştirin
- Aşağıdan bir Hedef ülke seçin
- Nakliye tutarını girin
- Hizmet seviyesi isteğe bağlıdır; eklemek, geçerli taşıyıcı ücretlerini hesaplamamıza olanak tanır
- Gönderim için ürün detaylarını ekleyin
- Bir açıklama girdiğinizde, ürünü otomatik olarak classify ederiz ve bir HS kodu oluştururuz
- Gerekirse oluşturulan HS kodunu geçersiz kılabilirsiniz
- Birden fazla ürün için Kaydet ve başka birini ekle butonuna tıklayın. Aksi takdirde, Kaydet butonuna tıklayın
- İsteğe bağlı — Değiştirmek için Daha fazla seçenek butonuna tıklayın:
- Satış türünü Yeniden satış için olarak değiştirin
- Teslimat modunu Teslimat vergileri ödenmemiş olarak değiştirin
- Teklif al butonuna tıklayın
- Değişiklik yapmak için Formu düzenle butonuna tıklayın ve herhangi bir detayı değiştirin
- Güncellemek için tekrar Teklif al butonuna tıklayın
Sağda bir landed cost teklifi görünecektir; bu teklif ürün, nakliye ve ithalat maliyetlerini içerecektir. Teklifi genişleterek ürünlerin, nakliyelerin, gümrük vergilerinin, vergilerin ve ücretlerin ayrıntılı dökümünü görebilirsiniz. Tüm teklifler, gelecekteki referans için teklif sayfasında kaydedilir.
Mevcut teklifleri düzenleyin: Sıfırdan başlamak yerine mevcut bir teklifi değiştirmek için sağ üstteki Teklifi tekrar yap butonuna tıklayın.
Dashboard kullanmanın avantajları
- Kodlama gerektirmez — Kullanıcı dostu bir arayüz aracılığıyla teklifler oluşturun
- Ekip eğitimi — Teknik olmayan ekip üyelerinin landed cost bileşenlerini anlamalarına yardımcı olun
- API doğrulama — API entegrasyonunuzun beklenen sonuçları ürettiğini doğrulayın
- Müşteri desteği — Müşteri talepleri için hızlı bir şekilde teklifler oluşturun
- Toplu işleme — Birden fazla hesaplamayı verimli bir şekilde yönetin (yakında geliyor)
Dashboard teklifleri, API aracılığıyla mevcut olan aynı ayrıntılı dökümleri içerir ve bu da otomatik entegrasyonunuza mükemmel bir tamamlayıcıdır.
landed cost Hesaplayın
GraphQL ile gümrük vergileri, vergiler ve ücretleri hesaplayın.
GraphQL
Zonos uluslararası gönderimler için toplam landed cost hesaplar; gümrük vergileri, vergiler ve gümrük, broker veya taşıyıcılar tarafından alınan ek ücretler dahil. Çoğu durumda, bu hesaplamaları son faturayı kendimiz ödeyerek garanti ediyoruz ve size tam olarak hesapladığımız tutarı yansıtıyoruz. Bazı durumlarda, garantisiz olarak landed cost'umuzu kullanabilirsiniz; bu, hesaplamamız ile gerçek ücretler arasındaki farktan sorumlu olduğunuz anlamına gelir.