Basit Kargo
Ana Sayfa Giriş Yap

Basit Kargo API

Tek entegrasyonla Aras, MNG, Yurtiçi, Sürat, PTT ve diğer tüm kargo firmalarına bağlanın. RESTful, JSON, hızlı.

HTTPS Only
RESTful JSON
Webhook Desteği

Base URL

Production
https://basitkargo.com/api
⚠️
Tüm isteklerde HTTPS zorunludur. HTTP istekleri kabul edilmez.

Kimlik Doğrulama

Her istekte Authorization header'ında Bearer token gönderilmelidir. Token'ınızı hesap ayarlarından oluşturabilirsiniz.

curl -X GET "https://basitkargo.com/api/handlers" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
const res = await fetch("https://basitkargo.com/api/handlers", {
  headers: {
    "Authorization": `Bearer ${TOKEN}`,
    "Content-Type": "application/json"
  }
});
const data = await res.json();
import requests

res = requests.get(
    "https://basitkargo.com/api/handlers",
    headers={"Authorization": f"Bearer {TOKEN}"}
)
data = res.json()

Kargo Firmaları

GET /handlers

Aktif kargo firmalarının listesini döndürür.

Yanıt 200 OK
[
  {
    "name": "Aras Kargo",
    "code": "ARAS",
    "logo": "https://...logo/aras.png"
  },
  {
    "name": "Yurtiçi Kargo",
    "code": "YURTICI",
    "logo": "https://...logo/yurtici.png"
  }
]
💡
Kendi anlaşmanızı kullanmak için kod başına SELF_ ekleyin. Örn: SELF_SURAT

Desi/Kg ile Fiyat Sorgulama

GET/handlers/fee/desiKg/{desiKg}

Desi/Kg bilgisi ile tüm firmaların fiyat listesini döndürür.

Yanıt200 OK
[
  { "desiKg": 5, "handlerCode": "MNG", "price": 25.54 },
  { "desiKg": 5, "handlerCode": "YURTICI", "price": 25.54 }
]

Paket Bilgileri ile Fiyat Sorgulama

POST/handlers/fee/packages

Paket ölçüleri ile fiyat listesini döndürür.

İstek Gövdesi
[
  { "height": "10", "width": "15", "depth": "5", "weight": "1" }
]
Yanıt200 OK
[
  { "desiKg": 1, "handlerCode": "MNG", "price": 15.54 }
]

Sipariş İşlemleri

POST/v2/order

Yeni sipariş oluşturur. Kargo kodu ayrıca üretilebilir.

{
  "content": {
    "name": "Test Sipariş",
    "code": "#123456",
    "items": [
      { "name": "Ürün Adı", "code": "STK32", "quantity": "1" }
    ],
    "packages": [
      { "height": 10, "width": 15, "depth": 5, "weight": 1 }
    ]
  },
  "client": {
    "name": "Test Alıcı",
    "phone": "5555555555",
    "city": "İstanbul",
    "town": "Kadıköy",
    "address": "Koşuyolu Mah."
  },
  "collect": 100,             // kapıda ödeme tutarı
  "collectOnDeliveryType": "CASH"  // CASH veya CREDIT_CARD
}
curl -X POST "https://basitkargo.com/api/v2/order" \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":{"name":"Test","packages":[{"height":10,"width":15,"depth":5,"weight":1}]},"client":{"name":"Alıcı","phone":"555","city":"İstanbul","town":"Kadıköy","address":"..."}}'
Yanıt200 OK
{
  "id": "888-6AR-OUP",
  "barcode": null,
  "type": "OUTGOING",
  "status": "NEW",
  "validationFailed": false,
  "createdTime": "2023-01-01T15:41:47.755"
}

Sipariş Oluştur + Kargo Kodu Üret

POST/v2/order/barcode

Sipariş oluşturur ve anında kargo kodu üretir.

💡
  • Kendi anlaşmanız: handlerCode = SELF_SURAT
  • En ucuz firma: handlerCode = ECONOMIC
  • En hızlı firma: handlerCode = FAST
AlanTipZorunluAçıklama
handlerCodestringEvetKargo firması kodu
İstek Gövdesi
{
  "handlerCode": "SURAT",
  "content": {
    "name": "Test Sipariş",
    "code": "#123456",
    "packages": [{ "height": 10, "width": 15, "depth": 5, "weight": 1 }]
  },
  "client": {
    "name": "Test Alıcı",
    "phone": "5555555555",
    "city": "İstanbul",
    "town": "Kadıköy",
    "address": "Koşuyolu Mah."
  },
  "collect": 100
}

Sipariş Listele / Filtrele

POST/v2/order/filter

Siparişleri filtreler. Tüm parametreler opsiyoneldir.

ParametreTipZorunluAçıklama
startDatestringHayırBaşlangıç tarihi (YYYY-MM-DDTHH:mm:ss)
endDatestringHayırBitiş tarihi
statusListstring[]HayırDurum kodları listesi
handlerCodestringHayırKargo firması kodu
sortBystringHayırSıralama kriteri
pageintHayırSayfa no (varsayılan: 0)
sizeintHayırSayfa boyutu (varsayılan: 20, max: 100)
İstek Gövdesi
{
  "startDate": "2024-01-01T00:00:00",
  "endDate": "2024-12-31T23:59:59",
  "statusList": ["READY_TO_SHIP", "SHIPPED"],
  "handlerCode": "MNG",
  "sortBy": "CREATED_TIME",
  "page": 0,
  "size": 50
}

Sipariş Sorgula (ID)

GET/v2/order/{id}

Sipariş ID ile detay bilgilerini getirir.

Sipariş Sorgula (Barkod)

GET/v2/order/barcode/{barcode}

Barkod numarası ile sipariş bilgilerini getirir.

Sipariş Sorgula (Takip No)

GET/v2/order/handler-shipment-code/{code}

Kargo firması takip numarası ile sipariş bilgilerini getirir.

Kargo Kodu İptal

DELETE/order/barcode/{barcode}

Şubeye teslim edilmemiş siparişin kargo kodunu iptal eder.

İade Oluştur

GET/v2/order/return/barcode/{barcode}

Teslim edilmiş sipariş için iade kodu oluşturur.

Etiket İndir

GET/label/svg/{id}

Sipariş etiketini SVG formatında indirir.

Konum Bilgileri

GET/country/TR/cities

Türkiye şehir listesini döndürür.

Yanıt200 OK
[
  { "id": 1, "name": "Adana" },
  { "id": 2, "name": "Adıyaman" }
]

İlçeler

GET/city/{id}/towns

Şehre ait ilçe listesi. Örn: GET /city/32/towns

Mahalleler

GET/city/{cityName}/town/{townName}/neigborhoods

İlçeye ait mahalle listesi. Örn: GET /city/Isparta/town/Yalvaç/neigborhoods

Kullanıcı

GET/firm/balance

Kullanıcı bakiyesini sorgular.

Yanıt200 OK
95

Webhook

Webhook'lar, kargo durumundaki değişikliklerde belirlediğiniz URL'e otomatik HTTP POST isteği gönderir.

⚙️
Yapılandırma: Yönetim Paneli → Ayarlar → Webhook bölümünden URL ve olay tiplerini tanımlayın.
📣

Durum Değişikliği

Ana durum değiştiğinde tetiklenir. NEW → SHIPPED → COMPLETED

🚚

Kargo Hareketi

Her hareket/taşımada tetiklenir. Transfer, şubeye varış, dağıtım.

Durum Değişikliği Webhook'u

POSTYOUR_WEBHOOK_URL

Kargo durumu değiştiğinde gönderilir.

Payload
{
  "id": "XXX-XXX-XXX",
  "barcode": "1234567890",
  "status": "SHIPPED",
  "handler": { "name": "Aras Kargo", "code": "ARAS" },
  "handlerShipmentCode": "1234567890"
}

Kargo Hareketi Webhook'u

POSTYOUR_WEBHOOK_URL

Her kargo hareketi/taşımasında gönderilir.

Payload
{
  "id": "101-DM2-XYD",
  "barcode": "1234567890",
  "status": "COMPLETED",
  "content": {
    "name": "Ekran Kartı",
    "packages": [{ "height": 25, "width": 10, "depth": 20, "weight": 1 }],
    "totalDesiKg": 2.00
  },
  "sender": { "name": "Gönderici", "phone": "444" },
  "recipient": { "name": "Alıcı", "city": "Yalova", "town": "Merkez" },
  "shipmentInfo": {
    "handler": { "name": "MNG Kargo", "code": "MNG" },
    "handlerShipmentCode": "1234567890",
    "lastState": "Teslim Edildi"
  },
  "priceInfo": { "shipmentFee": 29.93, "totalCost": 29.93 },
  "traces": [
    { "status": "Teslim Edildi", "time": "2022-08-17T18:10:10", "location": "YALOVA" },
    { "status": "Dağıtıma Çıktı", "time": "2022-08-17T12:37:35", "location": "YALOVA" }
  ]
}

Referans Tabloları

Kargo Durum Akışı

YeniNEW
HazırREADY_TO_SHIP
📦
YoldaSHIPPED
🚚
DağıtımdaOUT_FOR_DELIVERY
TeslimCOMPLETED
KodAçıklama
NEWYeni
READY_TO_SHIPGönderime Hazır
SHIPPEDYolda
OUT_FOR_DELIVERYDağıtıma Çıkarıldı
COMPLETEDTeslim Edildi
NEEDS_SUPPORTDestek Gerekiyor
DELAYEDGecikmeli
RETURNINGGeri Dönüyor
RETURNEDGeri Döndü
LOSTKayıp

Kargo Firması Kodları

KodFirmaAnlaşma
PTTPTT KargoBasit Kargo
MNGMNG KargoBasit Kargo
YURTICIYurtiçi KargoBasit Kargo
ARASAras KargoBasit Kargo
SURATSürat KargoBasit Kargo
ECONOMICEn EkonomikOtomatik
FASTEn HızlıOtomatik
SELF_PTTPTT KargoKendi Anlaşmanız
SELF_MNGMNG KargoKendi Anlaşmanız
SELF_YURTICIYurtiçi KargoKendi Anlaşmanız
SELF_ARASAras KargoKendi Anlaşmanız
SELF_SURATSürat KargoKendi Anlaşmanız

Ödeme Yöntemleri

KodAçıklama
ADVANCEBakiye ile Öde
CASHNakit (Şubede Ödeme)
RECIPIENTAlıcı Öder

Kargo Tipleri

KodAçıklama
OUTGOINGGiden Kargo
INCOMINGGelen Kargo

Kapıda Ödeme Türleri

KodAçıklama
CASHNakit
CREDIT_CARDKredi Kartı (POS)

Sıralama Seçenekleri

KodAçıklama
CREATED_TIMEOluşturulma zamanı
UPDATED_TIMEGüncellenme zamanı
CODE_GENERATED_TIMEKargo kodu üretim zamanı
SHIPPED_TIMEKargoya verilme zamanı
DELIVERED_TIMETeslim edilme zamanı