Uygun taşıyıcı ve servis tiplerini getir

POST /openapi/Checkout/GetAvailableCarriersAndServiceTypes — TMS API · Taşıyıcı Seçimi

Bir sepetin (veya iade gönderisinin) çıkış lokasyonu, varış adresi, desi/ağırlık ve ürün bilgilerine göre hesabınızın kurallarına uyan taşıyıcıları ve her taşıyıcının servis tiplerini (teslimat tipi, zaman dilimi, fiyat, tahmini teslim süresi) döner.

  • clientCode ve accountCode zorunludur; salesChannelCode verilirse pazaryerine özel taşıyıcı ayarları da uygulanır.
  • Her baskets öğesi ayrı bir çıkış lokasyonu/paket grubu için değerlendirilir.
  • İade sorgusu için type: 2 gönderin ve iade edilen gönderileri baskets[].shipmentKeys ile belirtin; bu durumda yanıtta orijinal gönderinin desisi volumetricWeight alanında döner.
  • Uygun taşıyıcı yoksa boş dizi döner.

İstek gövdesi

  • type (integer): Sorgu tipi: 1 normal gönderi, 2 iade gönderisi.
  • baskets (object[], zorunlu): Değerlendirilecek sepet/paket grupları.
    • baskets.weight (number): Toplam ağırlık (kg).
    • baskets.zipCode (string): Posta kodu.
    • baskets.latitude (number): Varış enlemi.
    • baskets.products (object[]): Sepetteki ürünler.
    • baskets.longitude (number): Varış boylamı.
    • baskets.toLocation (string[]): Varış adresi hiyerarşisi: [ülke, il, ilçe, mahalle].
    • baskets.totalPrice (number): Sepet tutarı.
    • baskets.customerCode (string): Müşteri kodu.
    • baskets.locationCode (string): Çıkış lokasyonu (depo/mağaza) kodu.
    • baskets.shipmentKeys (string[]): İade sorgusunda iade edilen gönderilerin ShipmentKey değerleri.
    • baskets.paymentTypeCode (string): Ödeme tipi kodu (bkz. GetPaymentTypes).
    • baskets.volumetricWeight (number): Toplam desi.
    • baskets.volumetricWeights (number[]): Koli bazında desi listesi.
    • baskets.consignmentSegment (string): Gönderi segmenti.
    • baskets.consignmentSegments (string[]): Gönderi segmentleri.
    • baskets.estimatedPackagingCompletionDate (string<date-time>): Tahmini paketleme/kargoya teslim zamanı.
  • logSave (boolean): Karar kaydının loglanıp loglanmayacağı (geçici alan).
  • cargoList (string[]): Sonuçları bu taşıyıcı kodlarıyla sınırlar.
  • fromLabel (boolean): Sorgunun etiket akışından yapıldığını belirtir.
  • clientCode (string, zorunlu): Organizasyon kodu.
  • accountCode (string, zorunlu): Hesap kodu.
  • customerInfo (object)
    • customerInfo.customerCode (string): Müşterinin sizin sisteminizdeki tekil kodu.
    • customerInfo.customerSegmentCode (string): Müşteri segment kodu (segment bazlı taşıyıcı kuralları için).
  • salesChannelCode (string): Satış kanalı/pazaryeri kodu. Verilirse geçerli ve aktif bir satış kanalı olmalıdır.
  • showLogInResponse (boolean): true ise yanıtta logTimeLine döner (geçici alan).

Yanıtlar

  • 200: Uygun taşıyıcılar
  • 400: Organizasyon/hesap kodu hatalı, yetki yok ya da hesap yapılandırması eksik
  • 401: Token yok, geçersiz ya da süresi dolmuş (gövdesiz yanıt).
  • 429: İstek sınırı aşıldı.

200 yanıt alanları

  • carrier (string): Taşıyıcı adı.
  • isActive (boolean): Taşıyıcı aktif mi.
  • priority (integer): Taşıyıcı önceliği (küçük değer önce).
  • accountId (integer): TMS hesap kimliği.
  • carrierId (integer): TMS taşıyıcı kimliği.
  • blacklisted (boolean): Taşıyıcı bu adres/müşteri için kara listede mi.
  • carrierCode (string): Taşıyıcı kodu.
  • logTimeLine (object[]): Karar adımlarının zaman çizelgesi (yalnız showLogInResponse: true ise dolar).
  • carrierQuota (integer): Taşıyıcı kotası.
  • paymentTypes (string[]): Taşıyıcının kabul ettiği ödeme tipi kodları.
  • serviceTypes (object[]): Taşıyıcının bu sepet için uygun servis tipleri.
    • serviceTypes.price (number): Müşteriye yansıtılacak fiyat.
    • serviceTypes.priority (integer): Servis tipi önceliği.
    • serviceTypes.cutOffHour (integer): Kesim saati; bu saate kadar verilen siparişler için servis tipi geçerlidir. Sistem hesaplamasından gelen servis tiplerinde boş döner.
    • serviceTypes.carrierCost (number): Taşıyıcı maliyeti.
    • serviceTypes.paymentType (string): Ödeme tipi adı.
    • serviceTypes.deliveryType (string): Teslimat tipi adı.
    • serviceTypes.priceCurrency (string): Para birimi.
    • serviceTypes.paymentTypeCode (string): Ödeme tipi kodu.
    • serviceTypes.deliveryDuration (integer): Tahmini teslim süresi (gün).
    • serviceTypes.deliverySlotType (string): Teslimat zaman dilimi adı.
    • serviceTypes.deliveryTypeCode (string): Teslimat tipi kodu (ör. ertesi gün).
    • serviceTypes.deliverySlotTypeCode (string): Teslimat zaman dilimi kodu.
    • serviceTypes.estimatedDeliveryTime (string<date-time>): Tahmini teslim zamanı.
    • serviceTypes.estimatedShippingTime (string<date-time>): Tahmini kargoya veriliş zamanı.
    • serviceTypes.carrierDistanceLookupId (integer): Mesafe sınıfı kimliği.
  • volumetricWeight (number): İade sorgusunda orijinal gönderinin desisi.
  • ifDiscountAllowed (boolean): İndirim uygulanabilir mi.
  • consignmentLocation (string[]): Gönderinin çıkabileceği lokasyon kodları.
  • carrierPerformanceRatio (number): Taşıyıcı teslimat performans oranı.