Kargonomi API Nedir ?
Kargonomi API, Kargonomi paneli üzerinden gerçekleştirilen işlemleri otomatikleştirmenizi sağlayan bir ara yüz sunar. Bu API sayesinde, Kargonomi’nin sunduğu hizmetleri doğrudan kendi uygulamalarınıza entegre edebilir, kargo süreçlerinizi daha verimli ve esnek bir şekilde yönetebilirsiniz.
Base URL
Kargonomi API’ye erişim sağlamak için kullanmanız gereken temel URL bilgisi aşağıdaki gibidir:
https://app.kargonomi.com.tr/api/v1
Kimlik Doğrulama
Kargonomi API, Bearer Token yöntemi ile kimlik doğrulama yapmaktadır. Her istekte, “Authorization“ başlığı altında Bearer Token’ınızı göndermeniz gerekmektedir. Bearer Token, kullanıcı kimliğinizi doğrulamak ve API erişimini sağlamak için kullanılır.
E-ticaret ve bireysel kargolarınızı uygun fiyatlara göndermek için Kargonomi'yi hemen şimdi ücretsiz deneyebilirsiniz.
Hemen Deneyin!Authorization Başlığı
Her API isteğinde aşağıdaki başlık (header) eklenmelidir:
Authorization: Bearer <token>
Not :
Kargonomi API’yi kullanacak olan partner firmalar, her istekte Bearer Token’a ek olarak X-App-Key değerini de göndermelidir. Detaylı bilgi için Partner API Dokümanı sayfasını ziyaret edebilirsiniz.
Endpointler
Gönderiler
{{base_url}}/shipments - GET
Bu endpoint, tüm kargo gönderilerini listelemek için kullanılır. Sayfalama özelliği mevcuttur ve her sayfada 50 adet gönderi listelenir.
| Parametre | Tür | Zorunlu | Açıklama |
| page | int | Hayır | Sayfalama için kullanılır |
curl --location 'https://app.kargonomi.com.tr/api/v1/shipments' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
Örnek Response :
{
"data": [
{
"id": 1,
"type": "shipment",
"shipping_webservice_order_id": null,
"shipping_webservice_barcode": null,
"shipping_webservice_tracking_code": null,
"shipping_provider_name": null,
"shipping_provider_slug": null,
"barcode_of_order_id": null,
"status": "draft",
"status_label": "Taslak",
"shipping_webservice_created_at": null,
"ecommerce_provider_order_no": null,
"ecommerce_provider": null,
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"buyer_name": "Test Buyer Name",
"delivery_date_to_shipment_office": null,
"shipping_provider_customer_delivery_date": null,
"created_at": "2024-06-18T20:18:06.000000Z",
"updated_at": "2024-06-18T20:18:06.000000Z",
"sender": {
"sender_name": "Test Sender Name",
"sender_email": "test@mail.com",
"sender_phone": "5555555555",
"sender_phone2": null,
"sender_tax_number": "11111111111",
"sender_tax_place": "Vergi Dairesi Yok",
"sender_address": "Test Sender Address Test Sender Address",
"sender_state": "İSTANBUL",
"sender_city": "ÜSKÜDAR"
},
"buyer": {
"buyer_name": "Test Buyer Name",
"buyer_email": null,
"buyer_phone": "5555555555",
"buyer_phone2": null,
"buyer_tax_number": null,
"buyer_tax_place": null,
"buyer_address": "Test Buyer Address Test Buyer Address",
"buyer_state": "İSTANBUL",
"buyer_city": "AVCILAR"
},
"pricing": {
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"price_diff": null
},
"warehouse": {
"id": 12707,
"name": "Merkez Depo",
"is_main": 1,
"contact_name": "Ali Yılmaz",
"contact_phone": "5565465465",
"state": "İstanbul",
"city": "Üsküdar",
"address": "cumhuriyet mah. vatan sokak no:4",
"phone": null,
"tax_number": "98328113892",
"tax_place": "Acısu"
},
"shipment_packages": [
{
"desi": "1",
"barcode": "1MEVK1_1",
"content": null,
"real_desi": null
}
]
}
],
"links": {
"first": "https://app.kargonomi.com.tr/api/v1/shipments?page=1",
"last": "https://app.kargonomi.com.tr/api/v1/shipments?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Önceki",
"active": false
},
{
"url": "https://app.kargonomi.com.tr/api/v1/shipments?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Sonraki »",
"active": false
}
],
"path": "https://app.kargonomi.com.tr/api/v1/shipments",
"per_page": 50,
"to": 1,
"total": 1
}
}
Gönderi Detayı
{{base_url}}/shipments/{id} - GET
Bu endpoint, belirli bir kargo gönderisinin detaylarını görüntülemek için kullanılır.
curl --location 'https://app.kargonomi.com.tr/api/v1/shipments/{id}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
Örnek Response :
{
"id": 1,
"type": "shipment",
"shipping_webservice_order_id": null,
"shipping_webservice_barcode": null,
"shipping_webservice_tracking_code": null,
"shipping_provider_name": null,
"shipping_provider_slug": null,
"barcode_of_order_id": null,
"status": "draft",
"status_label": "Taslak",
"shipping_webservice_created_at": null,
"ecommerce_provider_order_no": null,
"ecommerce_provider": null,
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"delivery_date_to_shipment_office": null,
"shipping_provider_customer_delivery_date": null,
"created_at": "2024-06-18T20:18:06.000000Z",
"updated_at": "2024-06-18T20:18:06.000000Z",
"sender": {
"sender_name": "Test Sender Name",
"sender_email": "test@mail.com",
"sender_phone": "5555555555",
"sender_phone2": null,
"sender_tax_number": "11111111111",
"sender_tax_place": "Vergi Dairesi Yok",
"sender_address": "Test Street, Test City, 12345",
"sender_state": "İSTANBUL",
"sender_city": "ÜSKÜDAR"
},
"buyer": {
"buyer_name": "Test Buyer Name",
"buyer_email": null,
"buyer_phone": "5555555555",
"buyer_phone2": null,
"buyer_tax_number": null,
"buyer_tax_place": null,
"buyer_address": "Buyer Street, Buyer City, 12345",
"buyer_state": "İSTANBUL",
"buyer_city": "AVCILAR"
},
"pricing": {
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"price_diff": null
},
"warehouse": {
"id": 12707,
"name": "Merkez Depo",
"is_main": 1,
"contact_name": "Ali Yılmaz",
"contact_phone": "5565465465",
"state": "İstanbul",
"city": "Üsküdar",
"address": "cumhuriyet mah. vatan sokak no:4",
"phone": null,
"tax_number": "98328113892",
"tax_place": "Acısu"
},
"shipment_packages": [
{
"desi": "1",
"barcode": "1MEVK1_1",
"content": null,
"real_desi": null
}
]
}
Gönderi Oluşturma
{{base_url}}/shipments - POST
Bu endpoint, kargo gönderisi oluşturmak için kullanılır. Aynı anda birden fazla gönderi oluşturulabilir.
| Parametre | Tür | Zorunlu | Açıklama |
| shipment.sender_name | string | warehouse_id varsa – Hayır | Gönderici adı (min: 5, max: 255 karakter) |
| shipment.sender_email | string | warehouse_id varsa – Hayır | Gönderici email (geçerli email formatında, max: 255 karakter) |
| shipment.sender_tax_number | string | warehouse_id varsa – Hayır | Gönderici vergi / kimlik No (min: 10, max: 11 karakter) |
| shipment.sender_tax_place | integer | warehouse_id varsa – Hayır | Gönderici vergi dairesi (max: 20 karakter) |
| shipment.sender_phone | integer | warehouse_id varsa – Hayır | Gönderici telefon numarası (10 karakter) |
| shipment.sender_address | string | warehouse_id varsa – Hayır | Gönderici adresi (min: 10, max: 512 karakter) |
| shipment.sender_state_id | integer | warehouse_id varsa – Hayır | Gönderici şehir kimliği (mevcut şehir kimlikleri ile eşleşmeli) |
| shipment.sender_city_id | integer | warehouse_id varsa – Hayır | Gönderici ilçe kimliği (mevcut ilçe kimlikleri ile eşleşmeli) |
| shipment.warehouse_id | integer | Hayır | Gönderici Adres ID – warehouse_id yollanması durumunda gönderici adres bilgisi Warehouse’dan çekilecektir. |
| shipment.buyer_name | string | Evet | Alıcının adı (min: 5, max: 255 karakter, en az 2 kelime) |
| shipment.buyer_email | string | Hayır | Alıcının e-posta adresi (geçerli email formatında, max: 255 karakter) |
| shipment.buyer_tax_number | string | Hayır | Alıcının vergi numarası (min: 10, max: 11 karakter) |
| shipment.buyer_tax_place | string | Hayır | Alıcının vergi dairesi (max: 20 karakter) |
| shipment.buyer_phone | string | Evet | Alıcının telefon numarası (10 karakter) |
| shipment.buyer_address | string | Evet | Alıcının adresi (min: 10, max: 512 karakter) |
| shipment.buyer_state_id | integer | Evet | Alıcının şehir kimliği (mevcut şehir kimlikleri ile eşleşmeli) |
| shipment.buyer_city_id | integer | Evet | Alıcının ilçe kimliği (mevcut ilçe kimlikleri ile eşleşmeli) |
| shipment.packages | array | Evet | Gönderiye ait paket detayları içeren bir dizi (en az 1 öğe) |
| shipment.packages.*.content | string | Hayır | Paket içeriği |
| shipment.packages.*.barcode | string | Hayır | Paket barkodu |
| shipment.packages.*.desi | numeric | Evet | Paket desi değeri (0’dan büyük) |
curl --location 'https://app.kargonomi.com.tr/api/v1/shipments' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6' \
--data-raw '{
"shipment": {
"sender_name": "Test Sender",
"sender_email": "testsender@example.com",
"sender_tax_number": "1234567890",
"sender_tax_place": "Test Place",
"sender_phone": "5555555555",
"sender_address": "Test Street, Test City, 12345",
"sender_state_id": "34",
"sender_city_id": "828",
//"warehouse_id": "12707", opsiyonel
"buyer_name": "Test Buyer",
"buyer_email": "testbuyer@example.com",
"buyer_tax_number": "",
"buyer_tax_place": "",
"buyer_phone": "5555555555",
"buyer_address": "Buyer Street, Buyer City, 12345",
"buyer_state_id": "66",
"buyer_city_id": "662",
"packages": [
{
"content": "Test Content",
"barcode": "",
"desi": "1"
}
]
}
}'
Örnek Response :
{
"id": 1,
"type": "shipment",
"shipping_webservice_order_id": null,
"shipping_webservice_barcode": null,
"shipping_webservice_tracking_code": null,
"shipping_provider_name": null,
"shipping_provider_slug": null,
"barcode_of_order_id": null,
"status": "draft",
"status_label": "Taslak",
"shipping_webservice_created_at": null,
"ecommerce_provider_order_no": null,
"ecommerce_provider": null,
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"delivery_date_to_shipment_office": null,
"shipping_provider_customer_delivery_date": null,
"created_at": "2024-06-18T20:18:06.000000Z",
"updated_at": "2024-06-18T20:18:06.000000Z",
"sender": {
"sender_name": "Test Sender Name",
"sender_email": "test@mail.com",
"sender_phone": "5555555555",
"sender_phone2": null,
"sender_tax_number": "11111111111",
"sender_tax_place": "Vergi Dairesi Yok",
"sender_address": "Test Street, Test City, 12345",
"sender_state": "İSTANBUL",
"sender_city": "ÜSKÜDAR"
},
"buyer": {
"buyer_name": "Test Buyer Name",
"buyer_email": null,
"buyer_phone": "5555555555",
"buyer_phone2": null,
"buyer_tax_number": null,
"buyer_tax_place": null,
"buyer_address": "Buyer Street, Buyer City, 12345",
"buyer_state": "İSTANBUL",
"buyer_city": "AVCILAR"
},
"pricing": {
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"price_diff": null
},
"warehouse": {
"id": 12707,
"name": "Merkez Depo",
"is_main": 1,
"contact_name": "Ali Yılmaz",
"contact_phone": "5565465465",
"state": "İstanbul",
"city": "Üsküdar",
"address": "cumhuriyet mah. vatan sokak no:4",
"phone": null,
"tax_number": "98328113892",
"tax_place": "Acısu"
},
"shipment_packages": [
{
"desi": "1",
"barcode": "1MEVK1_1",
"content": null,
"real_desi": null
}
]
}
Gönderi Güncelleme
{{base_url}}/shipments/{id} - PUT
Bu endpoint, kargo gönderisini güncellemek için kullanılır. Gönderi oluşturulurken uygulanan doğrulama kuralları, bu endpoint için de geçerlidir.
curl --location --request PUT 'https://app.kargonomi.com.tr/api/v1/shipments/{id}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6' \
--data-raw '{
"shipment": {
"sender_name": "Test Sender",
"sender_email": "testsender@example.com",
"sender_tax_number": "1234567890",
"sender_tax_place": "Test Place",
"sender_phone": "5555555555",
"sender_address": "Test Street, Test City, 12345",
"sender_state_id": "34",
"sender_city_id": "828",
//"warehouse_id": "123", opsiyonel
"buyer_name": "Test Buyer",
"buyer_email": "testbuyer@example.com",
"buyer_tax_number": "",
"buyer_tax_place": "",
"buyer_phone": "5555555555",
"buyer_address": "Buyer Street, Buyer City, 12345",
"buyer_state_id": "66",
"buyer_city_id": "662",
"packages": [
{
"content": "Test Content",
"barcode": "",
"desi": "1"
}
]
}
}'
Gönderi Güncelleme – PATCH
{{base_url}}/shipments/{id} - PATCH
Bu endpoint, mevcut bir kargo gönderisine ait bilgilerin kısmi olarak güncellenmesi için kullanılır.
Yalnızca gönderilen alanlar güncellenir; diğer alanlar mevcut değerlerini korur.
Gönderi oluşturulurken uygulanan doğrulama kuralları, bu endpoint için de geçerlidir.
Not: Tüm gönderi verilerini baştan güncellemek için PUT endpoint’i kullanılmalıdır.
curl --location --request PATCH 'https://app.kargonomi.com.tr/api/v1/shipments/{id}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6' \
--data-raw '{
"shipment": {
"buyer_name": "Yeni Alıcı Adı",
"buyer_phone": "5551234567",
"buyer_address": "Yeni Adres, İstanbul, 34000",
"packages": [
{
"content": "Güncellenmiş İçerik",
"desi": "2"
}
]
}
}'
Gönderi Silme
{{base_url}}/shipments/{id} - DELETE
Bu endpoint, belirli bir kargo gönderisini silmek için kullanılır.
curl --location --request DELETE 'https://app.kargonomi.com.tr/api/v1/shipments/{id}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
Gönderiyi Hazır Hale Getirme
{{base_url}}/confirm-shipping-price - POST
Bu endpoint, bir önceki endpointte alınan fiyat teklifleri arasından seçilen kargo firmasını gönderi ile eşleştirerek gönderiyi hazır hale getirmenizi sağlar. Aşağıdaki ID değerleri”Fiyat Teklifi Alma” endpointinden dönen response dan alınmalıdır.
| Parametre | Tür | Zorunlu | Açıklama |
| shipment_id | int | Evet | Kargo Gönderisinin ID Değeri |
| shipping_provider_id | int | Evet | Kargo Firmasının ID Değeri |
curl --location 'https://app.kargonomi.com.tr/api/v1/confirm-shipping-price' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6' \
--form 'shipment_id="{shipmentId}"' \
--form 'shipping_provider_id="{shippingProviderId}"'
Örnek Response :
{
"shipping_provider_with_price": [
{
"id": 3,
"name": "Kolay Gelsin",
"slug": "kolaygelsin",
"price": "22.67 + KDV"
},
{
"id": 4,
"name": "Aras Kargo",
"slug": "aras",
"price": "22.67 + KDV"
},
{
"id": 5,
"name": "Sürat Kargo",
"slug": "surat",
"price": "22.67 + KDV"
},
{
"id": 6,
"name": "Hepsijet",
"slug": "hepsijet",
"price": "Hizmet Dışı Bölge"
},
{
"id": 7,
"name": "PTT Kargo",
"slug": "ptt",
"price": "22.67 + KDV"
},
{
"id": "-1",
"name": "Otomatik",
"slug": "otomatik",
"price": null
}
],
"shipment": {
"id": 8,
"type": "shipment",
"shipping_webservice_order_id": null,
"shipping_webservice_barcode": null,
"shipping_webservice_tracking_code": null,
"shipping_provider_name": null,
"shipping_provider_slug": null,
"barcode_of_order_id": null,
"status": "draft",
"status_label": "Taslak",
"shipping_webservice_created_at": null,
"ecommerce_provider_order_no": null,
"ecommerce_provider": null,
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"buyer_name": "Test Buyer Name",
"delivery_date_to_shipment_office": null,
"shipping_provider_customer_delivery_date": null,
"created_at": "2024-06-25T09:36:32.000000Z",
"updated_at": "2024-06-25T09:36:35.000000Z",
"sender": {
"sender_name": "Test Sender Name",
"sender_email": "test@mail.com",
"sender_phone": "5555555555",
"sender_phone2": null,
"sender_tax_number": "11111111111",
"sender_tax_place": "Üsküdar",
"sender_address": "Sender Street, Sender City, 12345",
"sender_state": "İSTANBUL",
"sender_city": "ÜSKÜDAR"
},
"buyer": {
"buyer_name": "Test Buyer Name",
"buyer_email": "test@mail.com",
"buyer_phone": "5555555555",
"buyer_phone2": null,
"buyer_tax_number": null,
"buyer_tax_place": null,
"buyer_address": "Buyer Street, Buyer City, 12345",
"buyer_state": "İSTANBUL",
"buyer_city": "ARNAVUTKÖY"
},
"pricing": {
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"price_diff": null
},
"shipment_packages": [
{
"desi": "1",
"barcode": "JRJ3PA_1",
"content": "Defter",
"real_desi": null
}
]
}
}
Not : shipping_provider_id değeri eğer -1 olarak gönderilirse otomatik olarak en düşük fiyat teklifi veren kargo firması seçilecektir.
Gönderiyi İptal Etme
{{base_url}}/shipments/cancel - POST
Bu endpoint, “İşleme Hazır” hale getirilmiş fakat henüz kargoya verilmemiş gönderilerin iptali için kullanılır. İptal işlemi, sistem tarafından 36 saat içinde teknik süreç tamamlandıktan sonra uygulanır.
curl --location --request POST 'https://app.kargonomi.com.tr/api/v1/shipments/cancel' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6' \
--data-raw '{
"shipment_id": "1"
}'
Örnek Response :
{
"message": "Gönderi için iptal talebiniz alındı. Teknik nedenlerden dolayı iptal işlemi 36 saat içinde yapılacaktır.",
"shipment_id": 1
}
Depo Kaydı
{{base_url}}/warehouses
curl --location 'https://app.kargonomi.com.tr/api/v1/warehouses' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6' \
--data '{
"warehouse": {
"name": "Ev Adresim",
"is_main": true,
"contact_name": "Ali Yılmaz",
"address": "cumhuriyet mah. vatan sokak no:4",
"contact_phone": "5454545451",
"state_id": "41",
"city_id": "580",
"tax_number": "14792973114"
}
}'
Barkod Çıktısı Alma
{{base_url}}/shipments/{id}/barcode - GET
Oluşturulan kargo gönderilerinin base64 formatında barkod çıktısını almak için kullanılır.
| Parametre | Tür | Zorunlu | Açıklama |
| format | string | Hayır | Barkod Formatı Örn: pdf,zpl |
| packageContentVisibility | bool | Hayır | Gönderinin içerisindeki paket bilgisinin görünürlüğü |
| warningVisibility | bool | Hayır | Barkod çıktısında kargo şubesinin dikkat etmesi gereken uyarı bilgisininin görünürlüğü |
| integratedOrderNoVisibility | bool | Hayır | Barkod çıktısı alınan siparişin, entegre sitedeki sipariş numarasının görünürlüğü |
curl --location 'https://app.kargonomi.com.tr/api/v1/shipments/{id}/barcode?format=pdf' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
Not: Şu an için sadece pdf formatı desteklenmektedir.
Fiyat Teklifi Alma
{{base_url}}/shipment-price-comparison/{id} - GET
Bu endpoint, ilgili kargo gönderisi için çeşitli kargo firmalarının tekliflerini listelemek için kullanılır.
curl --location 'https://app.kargonomi.com.tr/api/v1/shipment-price-comparison/{id}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
Örnek Response :
{
"shipping_provider_with_price": [
{
"id": 3,
"name": "Kolay Gelsin",
"slug": "kolaygelsin",
"price": "22.67 + KDV"
},
{
"id": 4,
"name": "Aras Kargo",
"slug": "aras",
"price": "22.67 + KDV"
},
{
"id": 5,
"name": "Sürat Kargo",
"slug": "surat",
"price": "22.67 + KDV"
},
{
"id": 6,
"name": "Hepsijet",
"slug": "hepsijet",
"price": "Hizmet Dışı Bölge"
},
{
"id": 7,
"name": "PTT Kargo",
"slug": "ptt",
"price": "22.67 + KDV"
},
{
"id": "-1",
"name": "Otomatik",
"slug": "otomatik",
"price": null
}
],
"shipment": {
"id": 8,
"type": "shipment",
"shipping_webservice_order_id": null,
"shipping_webservice_barcode": null,
"shipping_webservice_tracking_code": null,
"shipping_provider_name": null,
"shipping_provider_slug": null,
"barcode_of_order_id": null,
"status": "draft",
"status_label": "Taslak",
"shipping_webservice_created_at": null,
"ecommerce_provider_order_no": null,
"ecommerce_provider": null,
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"buyer_name": "Test Buyer Name",
"delivery_date_to_shipment_office": null,
"shipping_provider_customer_delivery_date": null,
"created_at": "2024-06-25T09:36:32.000000Z",
"updated_at": "2024-06-25T09:36:35.000000Z",
"sender": {
"sender_name": "Test Sender Name",
"sender_email": "test@mail.com",
"sender_phone": "5555555555",
"sender_phone2": null,
"sender_tax_number": "11111111111",
"sender_tax_place": "Üsküdar",
"sender_address": "Sender Street, Sender City, 12345",
"sender_state": "İSTANBUL",
"sender_city": "ÜSKÜDAR"
},
"buyer": {
"buyer_name": "Test Buyer Name",
"buyer_email": "test@mail.com",
"buyer_phone": "5555555555",
"buyer_phone2": null,
"buyer_tax_number": null,
"buyer_tax_place": null,
"buyer_address": "Buyer Street, Buyer City, 12345",
"buyer_state": "İSTANBUL",
"buyer_city": "ARNAVUTKÖY"
},
"pricing": {
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"price_diff": null
},
"shipment_packages": [
{
"desi": "1",
"barcode": "JRJ3PA_1",
"content": "Defter",
"real_desi": null
}
]
}
}
Bakiye Sorgulama
{{base_url}}/user/credit - GET
Bu endpoint, kullanıcınızın mevcut bakiye (kredi) bilgisini görüntülemek için kullanılır.
curl --location --request GET 'https://app.kargonomi.com.tr/api/v1/user/credit' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
Örnek Response :
{
"data": {
"credit": 122.8
}
}
Şehirler ve İlçeler
{{base_url}}/states/{countryId?} - GET
curl --location 'https://app.kargonomi.com.tr/api/v1/states/1' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
NOT: countryId değeri yollamak zorunlu değildir. Varsayılan olarak Türkiye'nin şehirleri listelenecektir.
{{base_url}}/cities/{stateId} - GET
curl --location 'https://app.kargonomi.com.tr/api/v1/cities/{stateId}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
Webhook İşlemleri
Bu servisler, Kargonomi üzerinde gerçekleşen belirli olaylar için (örneğin gönderi oluşturulması veya güncellenmesi) kullanıcı hesabına bağlı webhook tanımlamalarını yönetmenizi sağlar.
Webhooklar, Kargonomi tarafından tetiklendiğinde sizin belirlediğiniz URL’e POST isteği gönderilir.
Webhook Listesi
{{base_url}}/webhooks - GET
Kullanıcı hesabına kayıtlı tüm webhook tanımlarını listeler.
curl --location 'https://app.kargonomi.com.tr/api/v1/webhooks' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
Webhook Detay
{{base_url}}/webhooks/{id} - GET
Belirtilen webhook kaydının detay bilgilerini döner.
curl --location 'https://app.kargonomi.com.tr/api/v1/webhooks/1' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
Webhook Oluşturma
{{base_url}}/webhooks - POST
Yeni bir webhook kaydı oluşturur. Webhooklar belirli bir event’e göre tetiklenir ve seçtiğiniz URL’e veri gönderilir.
| Parametre | Tür | Zorunlu | Açıklama |
| name | string | Evet | Webhook kaydına verilecek isim. |
| url | string | Evet | Webhook iletilecek url bilgisi. |
| event_type | string | Evet | Webhook’un tetikleneceği olay türü. “shipment.updated” |
| is_active | bool | Hayır | Webhook kaydının aktif/pasif durumu |
curl --location 'https://app.kargonomi.com.tr/api/v1/webhooks' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
--data '{
"name": "Kargonomi Shipment Updated Webhook",
"url": "https://example.com/hooks/shipment",
"event_type": "shipment.updated",
"is_active": true
}'
Webhook Güncelleme
{{base_url}}/webhooks - PUT
Mevcut webhook kaydını günceller.
curl --location --request PUT 'https://app.kargonomi.com.tr/api/v1/webhooks/1' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
--data '{
"name": "Güncellenmiş Webhook",
"url": "https://example.com/hooks/shipment",
"event_type": "shipment.updated",
"is_active": false
}'
Webhook Silme
{{base_url}}/webhooks - DELETE
Webhook kaydını siler.
curl --location --request DELETE 'https://app.kargonomi.com.tr/api/v1/webhooks/1' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0htoc1aNkVJhE6mDB0qZhVy69HCIuXzFGM3NOBhu17df3eb6'
Webhook Payload Yapısı
Webhook tetiklendiğinde sistem sizin belirttiğiniz URL’ye POST isteğinde bulunur.
Aşağıdaki örnek, gönderilen webhook payload’ının tam yapısıdır:
{
"meta": {
"webhook": {
"name": "Kargonomi Shipment Updated Webhook",
"url": "https://example.com/hooks/shipment",
"event_type": "shipment.updated",
"is_active": true
},
"idempotency_key": "1d82586ad2baed95a013bb5349f752ece1374be97f56630465a1a264f13b1847",
"attempt_number": 1,
"executed_at": "2025-11-25T11:27:46+03:00"
},
"shipment": {
"id": 1,
"type": "shipment",
"shipping_webservice_order_id": null,
"shipping_webservice_barcode": null,
"shipping_webservice_tracking_code": null,
"shipping_provider_name": null,
"shipping_provider_slug": null,
"barcode_of_order_id": null,
"status": "draft",
"status_label": "Taslak",
"shipping_webservice_created_at": null,
"ecommerce_provider_order_no": null,
"ecommerce_provider": null,
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"delivery_date_to_shipment_office": null,
"shipping_provider_customer_delivery_date": null,
"created_at": "2024-06-18T20:18:06.000000Z",
"updated_at": "2024-06-18T20:18:06.000000Z",
"sender": {
"sender_name": "Test Sender Name",
"sender_email": "test@mail.com",
"sender_phone": "5555555555",
"sender_phone2": null,
"sender_tax_number": "11111111111",
"sender_tax_place": "Vergi Dairesi Yok",
"sender_address": "Test Street, Test City, 12345",
"sender_state": "İSTANBUL",
"sender_city": "ÜSKÜDAR"
},
"buyer": {
"buyer_name": "Test Buyer Name",
"buyer_email": null,
"buyer_phone": "5555555555",
"buyer_phone2": null,
"buyer_tax_number": null,
"buyer_tax_place": null,
"buyer_address": "Buyer Street, Buyer City, 12345",
"buyer_state": "İSTANBUL",
"buyer_city": "AVCILAR"
},
"pricing": {
"package_count": 1,
"estimated_price": null,
"real_price": null,
"extra_shipping_price": "0.0000",
"price_diff": null
},
"warehouse": {
"id": 12707,
"name": "Merkez Depo",
"is_main": 1,
"contact_name": "Ali Yılmaz",
"contact_phone": "5565465465",
"state": "İstanbul",
"city": "Üsküdar",
"address": "cumhuriyet mah. vatan sokak no:4",
"phone": null,
"tax_number": "98328113892",
"tax_place": "Acısu"
},
"shipment_packages": [
{
"desi": "1",
"barcode": "1MEVK1_1",
"content": null,
"real_desi": null
}
]
}
}
Event Tipleri
| event_type | Açıklama |
|---|---|
| shipment.updated | Gönderiye ait bilgilerden (status, tracking code, package count, fiyat vb.) en az biri değiştiğinde tetiklenir. |
Signature (İmza) Doğrulama
Tüm webhook gönderimlerinde aşağıdaki header bulunur:
X-Webhook-Signature: <HMAC-SHA256>
- Payload’ın ham gövdesi alınır
secret_keyile HMAC-SHA256 hash üretilir- Header’daki değer ile karşılaştırılır
- Eşleşme yoksa istek reddedilmelidir
Retry (Tekrar Gönderim) Mekanizması
- 2xx dışındaki tüm yanıtlar tekrar gönderilir
- Deneme süreleri:
- 60s → 120s → 300s → 600s → 1200s
- Toplam 5 ek deneme yapılır
- Aşağıdaki hatalarda tekrar gönderim sağlanmaz:
400, 401, 403, 404, 409, 410, 422
Shipment Status Kodları
draft : Taslak
ready : İşleme Hazır
webservice_order_failed : Kargo Sipariş Oluşturulamadı
webservice_order_creating : Kargo Siparişi Oluşturuluyor
webservice_order_created : Kargo Siparişi Oluşturuldu
webservice_checking_shipment : Kargo Kaydı Kontrol Ediliyor
webservice_shipment_started : Kargo Teslim Sürecinde
webservice_shipment_delivered : Kargo Teslim Edildi
webservice_shipment_not_delivered : Kargo Teslim Edilemedi
webservice_shipment_returning : Kargo Geri Geliyor
webservice_shipment_missing : Kargo Kayıp
cancelled : Kargo İptal Edildi
request_for_cancellation : İptal Talebi Alındı
HTTP Status Kodları
200 OK : İstek başarılı ve yanıt verildi.
201 Created : İstek başarılı ve yeni bir kaynak oluşturuldu.
204 No Content : İstek başarılı, ancak geri dönecek içerik yok. Genellikle bir kaynak silindiğinde döner.
401 Unauthorized : Kimlik doğrulaması gereksinimleri karşılanmadı.
404 Not Found : İstenen kaynak bulunamadı.
422 Unprocessable Entity: İstek başarılı fakat gönderilen veri işlenemiyor. (genelde validation hatası)
E-ticaret ve bireysel kargolarınızı uygun fiyatlara göndermek için Kargonomi'yi hemen şimdi ücretsiz deneyebilirsiniz.
Hemen Deneyin!