DOCS

landed cost Hesaplayın - GraphQL

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.

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

partyCreateWorkflowInput

partyCreateWorkflowInput, ilgili tarafları ve konumlarını tanımlar. Tam şemayı GraphQL API'mizde referans bölümünde görüntüleyin. Gerekli alanlar:

  • location
    • administrativeAreaCode: 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.
  • person
    • email: Kişinin e-posta adresi.
    • firstName: Kişinin adı.
    • lastName: Kişinin soyadı.
    • phone: Kişinin telefon numarası.
  • type
    • DESTINATION: Gönderim yeri için location & person bilgisi.
    • ORIGIN: Gönderim kaynağı için location bilgisi. Gönderim kaynağı ile ilişkili person gerekli değildir.
itemCreateWorkflowInput

itemCreateWorkflowInput, 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ün quantity'si 1 ise, bu ürünün toplam maliyetidir. Eğer ürünün quantity'si >1 ise, API, ürün amount'ını ürünün quantity'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ün amount'ını ürünün quantity'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.

cartonsCreateWorkflowInput

cartonsCreateWorkflowInput 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.

shipmentRatingCreateWorkflowInput

Bu 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.
landedCostWorkFlowInput

landedCostWorkFlowInput, 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_PREFERRED olmalıdır; bu, mümkün olduğunda DDP teklifi sağlayacak ve DDP teklifi yasaksa DAP teklifi verecektir. Bunun yerine DAP kullanmak, genellikle teslimatta ödenen gümrük vergileri ve vergilerle sonuçlanacağından, hesaplanan landed cost'un garanti edilmemesiyle sonuçlanabilir.
  • 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 zaman ZONOS_PREFERRED olmalıdır.

Hesaplanan gönderim ekleyin: Eğer Zonos'un sizin için gönderim maliyetini hesaplamasını istiyorsanız, shipmentRatingCreateWorkflow'u shipmentRatingCalculateWorkflow ile değiştirin. Gönderim maliyetini bulmadan önce Zonos'un ürünlerinizi kartonlara ayırmasını istiyorsanız cartonizeWorkflow'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.

Her bir ürün için HS kodlarını geçin

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.

Classify ile HS kodları oluşturun

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.

Nakliye maliyetini hesaplayın

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 serviceLevel bekliyorsanız ancak görünmüyorsa, lütfen serviceLevel'ın etkin olduğundan ve seçtiğiniz method tarafı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).

Nakliye maliyetlerini geçin

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
{
  "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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
{
  "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.

  1. DashboardSiparişlerTeklifler sayfasına gidin
  2. Yeni teklif butonuna tıklayın
  3. İsteğe bağlı — Gönderim adresinizin konumunu değiştirin
  4. Aşağıdan bir Hedef ülke seçin
  5. Nakliye tutarını girin
    • Hizmet seviyesi isteğe bağlıdır; eklemek, geçerli taşıyıcı ücretlerini hesaplamamıza olanak tanır
  6. 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
  7. İ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
  8. 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.

Bu sayfa faydalı mıydı?