Basit Kargo API'sine hoş geldiniz! Bu dokümantasyon, API'mizi kullanmaya başlamanız için ihtiyacınız olan tüm bilgileri içermektedir. RESTful mimarisi ile tasarlanmış API'miz, JSON formatında veri alışverişi yapar ve HTTP metodlarını kullanır.
Tüm API istekleri aşağıdaki base URL üzerinden yapılmalıdır:
https://basitkargo.com/api
API'miz, güvenli erişim için API anahtarı (token) tabanlı kimlik doğrulama kullanır. Her istek için Authorization header'ında Bearer token olarak API anahtarınızı göndermeniz gerekmektedir.
curl -X GET "https://basitkargo.com/api/handlers" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Aktif kargo firmalarının listesini döndürür.
[
{
"name": "Aras Kargo",
"code": "ARAS",
"logo": "https://d24n3wbxi285j5.cloudfront.net/public/basitkargo/logo/aras.png"
},
{
"name": "Yurtiçi Kargo",
"code": "YURTICI",
"logo": "https://d24n3wbxi285j5.cloudfront.net/public/basitkargo/logo/yurtici.png"
},
{
"name": "Aras Kargo - KA (Kendi Anlaşmam)",
"code": "SELF_ARAS",
"logo": "https://d24n3wbxi285j5.cloudfront.net/public/basitkargo/logo/aras.png"
}
]
SELF_ eklenir; örneğin:
SELF_SURAT
Desi/Kg bilgisi ile tüm kargo firmalarının fiyat listesini döndürür.
GET /handlers/fee/desiKg/5
[
{
"desiKg": 5,
"handlerCode": "MNG",
"price": 25.54
},
{
"desiKg": 5,
"handlerCode": "YURTICI",
"price": 25.54
}
]
Paket ölçü ve ağırlık bilgileri ile tüm kargo firmalarının fiyat listesini döndürür.
[
{
"height": "10",
"width": "15",
"depth": "5",
"weight": "1"
}
]
[
{
"desiKg": 1,
"handlerCode": "MNG",
"price": 15.54
},
{
"desiKg": 1,
"handlerCode": "YURTICI",
"price": 15.54
}
]
Servislerde durum ("status") bilgisi altında dönen parametrelerin açıklamaları:
| Kod | Açıklama |
|---|---|
NEW |
Yeni |
READY_TO_SHIP |
Gönderime Hazır |
SHIPPED |
Yolda |
OUT_FOR_DELIVERY |
Dağıtıma Çıkarıldı |
COMPLETED |
Teslim Edildi |
NEEDS_SUPPORT |
Destek Gerekiyor (Sorunlu) |
DELAYED |
Gecikmeli |
RETURNING |
Geri Dönüyor |
RETURNED |
Geri Döndü |
LOST |
Kayıp |
"status" alanında bulunur.
Sipariş bilgilerini ekler. Daha sonra kargo kodu oluşturabilirsiniz.
{
"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" // kapıda ödeme türü: CASH, CREDIT_CARD
}
{
"id": "888-6AR-OUP",
"barcode": null,
"type": "OUTGOING",
"status": "NEW",
"validationFailed": false,
"validationFailedMessage": null,
"createdTime": "2023-01-01T15:41:47.7553603",
"updatedTime": "2023-01-01T15:41:47.7633629"
}
Sipariş bilgilerini ekler ve belirtilen kargo firması için kargo kodu (barkod) üretir.
handlerCode değerinin başına SELF_
ekleyin (örn: SELF_SURAT)
handlerCode değerine
ECONOMIC girin
handlerCode değerine FAST girinÖnceki endpoint ile aynı parametreler + handlerCode parametresi
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| handlerCode | string | Evet | Kargo firması kodu (ARAS, MNG, YURTICI, SURAT, ECONOMIC, FAST) |
{
"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şleri filtreleyerek listeler. Tüm parametreler opsiyoneldir, boş body ile tüm siparişleri getirir.
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| startDate | string | Hayır | Başlangıç tarihi (ISO 8601 Format) Format: YYYY-MM-DDTHH:mm:ss Örnek: "2024-01-01T00:00:00" |
| endDate | string | Hayır | Bitiş tarihi (ISO 8601 Format) Format: YYYY-MM-DDTHH:mm:ss Örnek: "2024-12-31T23:59:59" |
| statusList | array[string] | Hayır | Kargo durum kodları listesi (NEW, READY_TO_SHIP, SHIPPED, vb.) |
| handlerCode | string | Hayır | Kargo firması kodu (ARAS, MNG, YURTICI, SURAT, vb.) |
| sortBy | string | Hayır | Sıralama kriteri (CREATED_TIME, UPDATED_TIME, STATUS) |
| page | integer | Hayır | Sayfa numarası (varsayılan: 0) |
| size | integer | Hayır | Sayfa başına kayıt sayısı (varsayılan: 20, max: 100) |
{
"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ş ID ile sipariş bilgilerini getirir.
Barkod numarası ile sipariş bilgilerini getirir.
Kargo firması takip numarası ile sipariş bilgilerini getirir.
Kargo şubesine teslim edilmemiş siparişi iptal eder.
Teslim edilmiş sipariş için iade kodu oluşturur.
Sipariş barkodunu (etiketini) SVG formatında indirir.
Türkiye şehir listesini döndürür.
[
{
"id": 1,
"name": "Adana"
},
{
"id": 2,
"name": "Adıyaman"
}
]
Şehre ait ilçe listesini döndürür.
GET /city/32/towns
İlçeye ait köy/mahalle listesini döndürür.
GET /city/Isparta/town/Yalvaç/neigborhoods
Kullanıcı bakiyesini sorgular.
95
Webhook'lar, Basit Kargo'da gerçekleşen olaylar hakkında sizi anlık olarak bilgilendiren otomatik HTTP POST istekleridir. Kargo durumundaki değişiklikler veya hareketler gerçekleştiğinde, sistem sizin belirlediğiniz URL'e JSON formatında bildirim gönderir.
Webhook ayarlarınızı yapılandırmak için Basit Kargo Yönetim Paneline giriş yapın ve Ayarlar > Webhook bölümünden:
Basit Kargo'da 2 farklı tipte webhook bulunur:
Kargonun ana durumu değiştiğinde tetiklenir.
Örnek: NEW → READY_TO_SHIP → SHIPPED → COMPLETED
Her kargo hareketi/taşımasında tetiklenir.
Örnek: Transfer merkezi değişimi, şubeye varış, dağıtıma çıkış
Kargo durumu değiştiğinde (örn: Yeni → Gönderime Hazır) sisteminize gönderilir.
{
"id":"XXX-XXX-XXX",
"barcode":"1234567890",
"status":"SHIPPED",
"handler":{"name":"Aras Kargo","code":"ARAS","logo":"aras.png"},
"handlerShipmentCode":"1234567890"
}
Her kargo hareketi/taşımasında (transfer merkezi değişimi, şubeye varış vb.) sisteminize gönderilir.
{
"id": "101-DM2-XYD",
"barcode": "1234567890",
"type": "OUTGOING",
"status": "COMPLETED",
"validationFailed": false,
"validationFailedMessage": "",
"createdTime": "2022-07-28T20:01:21",
"updatedTime": "2022-08-14T18:12:24",
"content": {
"name": "Ekran Kartı",
"code": "#123456",
"packages": [
{
"height": 25,
"width": 10,
"depth": 20,
"weight": 1,
"kgDesi": 2
}
],
"totalDesiKg": 2.00
},
"sender": {
"name": "Gönderici Adı",
"phone": "4444444444"
},
"recipient": {
"name": "Alıcı Adı",
"phone": "5555555555",
"city": "Yalova",
"town": "Merkez",
"address": "açık adres"
},
"shipmentInfo": {
"handler": {
"name": "MNG Kargo",
"code": "MNG",
"logo": "mng.png"
},
"handlerShipmentCode": "1234567890",
"handlerShipmentTrackingLink": "https://kargotakip.mngkargo.com.tr/?takipNo=1234567890",
"handlerDesi": 5.00,
"lastState": "Teslim Edildi",
"shippedTime": "2022-07-28T20:01:21",
"deliveredTime": null
},
"priceInfo": {
"paymentMethod": "ADVANCE",
"shipmentFee": 29.93,
"extraFee": null,
"totalCost": 29.93
},
"traces": [
{
"status": "Teslim Edildi",
"time": "2022-08-17T18:10:10",
"location": "YALOVA (MERKEZ)",
"locationDetail": "MİMOZA Şube"
},
{
"status": "Gönderi Adresinize Yönlendirildi",
"time": "2022-08-17T12:37:35",
"location": "YALOVA (MERKEZ)",
"locationDetail": "MİMOZA Şube"
},
{
"status": "Gönderi Varış Birimine Ulaştı",
"time": "2022-08-17T09:46:43",
"location": "YALOVA (MERKEZ)",
"locationDetail": "MİMOZA Şube"
},
{
"status": "Transfer Aşamasında",
"time": "2022-08-17T09:46:42",
"location": "YALOVA (MERKEZ)",
"locationDetail": "MİMOZA Şube"
},
{
"status": "Transfer Aşamasında",
"time": "2022-08-17T01:47:28",
"location": "BURSA",
"locationDetail": "BURSA AKTARMA"
},
{
"status": "Transfer Aşamasında",
"time": "2022-08-16T21:07:04",
"location": "İSTANBUL",
"locationDetail": "MARMARA AKTARMA"
},
{
"status": "Transfer Aşamasında",
"time": "2022-08-16T15:14:19",
"location": "İSTANBUL (KADIKÖY)",
"locationDetail": "HASANPAŞA Şube"
},
{
"status": "Gönderi Hazırlandı",
"time": "2022-08-16T09:53:09",
"location": "İSTANBUL (KADIKÖY)",
"locationDetail": "HASANPAŞA Şube"
}
]
}
API'de kullanılabilecek tüm kargo firması kodları:
| Kod | Açıklama | Anlaşma Tipi |
|---|---|---|
PTT |
PTT Kargo | Basit Kargo Anlaşması |
MNG |
MNG Kargo | Basit Kargo Anlaşması |
YURTICI |
Yurtiçi Kargo | Basit Kargo Anlaşması |
ARAS |
Aras Kargo | Basit Kargo Anlaşması |
SURAT |
Sürat Kargo | Basit Kargo Anlaşması |
ECONOMIC |
En Ekonomik Firma (Otomatik Seçim) | Sistem Otomatiği |
FAST |
En Hızlı Firma (Otomatik Seçim) | Sistem Otomatiği |
SELF_PTT |
PTT Kargo | Kendi Anlaşmanız |
SELF_MNG |
MNG Kargo | Kendi Anlaşmanız |
SELF_YURTICI |
Yurtiçi Kargo | Kendi Anlaşmanız |
SELF_ARAS |
Aras Kargo | Kendi Anlaşmanız |
SELF_SURAT |
Sürat Kargo | Kendi Anlaşmanız |
SELF_ ile başlayan kodlar, kendi kargo firması anlaşmanızı kullanmak istediğinizde kullanılır.
Bu durumda Basit Kargo'nun anlaşması değil, sizin kargo firması ile yaptığınız özel anlaşma geçerli olur.
Kargo ödemesi için kullanılabilecek ödeme yöntemleri:
| Kod | Açıklama |
|---|---|
ADVANCE |
Bakiye İle Öde |
CASH |
Nakit (Şubede Ödeme) |
RECIPIENT |
Alıcı Öder |
Kargonun yönüne göre tipler:
| Kod | Açıklama |
|---|---|
OUTGOING |
Giden Kargo (Sizden müşteriye gönderilen kargo) |
INCOMING |
Gelen Kargo (Size gelen kargo) |
Kapıda ödeme yapılacaksa, ödeme türü:
| Kod | Açıklama |
|---|---|
CASH |
Nakit ile Kapıda Ödeme |
CREDIT_CARD |
Kredi Kartı ile Kapıda Ödeme (POS) |
Sipariş listelerken kullanılabilecek sıralama kriterleri:
| Kod | Açıklama | Alan |
|---|---|---|
CREATED_TIME |
Oluşturulma Zamanı | Siparişin sisteme eklendiği tarih/saat |
UPDATED_TIME |
Güncellenme Zamanı | Siparişin son güncellenme tarih/saat |
CODE_GENERATED_TIME |
Kargo Kodu Üretim Zamanı | Barkod/takip numarasının oluşturulduğu tarih/saat |
SHIPPED_TIME |
Kargoya Verilme Zamanı | Kargonun şubeye teslim edildiği tarih/saat |
DELIVERED_TIME |
Teslim Edilme Zamanı | Kargonun alıcıya teslim edildiği tarih/saat |