API & Entegrasyonlar
ERP ve entegratör yazılımlarınızı KrikoGo Satıcı API'sine bağlayarak ilanlarınızı, stok ve fiyatlarınızı ve siparişlerinizi otomatik yönetin.
API Hesap Açılışı
Client Name (Client ID) ve Secret Key paylaşımı taleplerinde güvenlik ve yetkilendirme süreçlerimiz gereği öncelikle firma doğrulaması yapılmalıdır.
Bu nedenle ilgili firmanın yetkilisinin entegrasyon@krikogo.com adresimize e-posta göndermesini rica ederiz. Gönderilecek e-postada aşağıdaki bilgilerin açıkça belirtilmesi gerekmektedir:
- Bilgilerin hangi kullanıcı(lar) veya mağaza(lar) için talep edildiği,
- API entegrasyonunun hangi amaçla kullanılacağı, hangi operasyon veya sürece hizmet edeceği,
- Entegrasyon sunucusu tarafından kullanılacak IP adreslerinin listesi (IP Whitelist).
Gerekli incelemeler tamamlandıktan sonra süreç değerlendirilerek tarafınıza bilgi verilecektir.
API Kullanımı
Test veya canlı ortamlara bağlanabilmeniz için gerekli bilgileri aşağıda bulabilirsiniz. Geliştirme aşamasında öncelikle Test (Staging) ortamı kullanılmalı, başarılı entegrasyon sonrası Canlı (Production) geçişi sağlanmalıdır.
- Test (Staging) BaseUrl:
https://api.staging.krikogo.com/api/v1 - Canlı (Production) BaseUrl:
https://api.krikogo.com/api/v1
Önemli Güvenlik Notu: X-Client-Secret ve X-Integration-Token anahtarları satıcının ve platformun güvenliğini sağlar. Bu bilgileri asla tarayıcı (client-side) kodlarında veya mobil uygulamalarda barındırmayın; tüm API çağrılarını kendi güvenli sunucunuz (backend) üzerinden gerçekleştirin.
Kimlik Doğrulama & Yetkilendirme (Headers)
KrikoGo API'sine yapılan her istekte aşağıdaki HTTP başlıklarının (Headers) gönderilmesi zorunludur. Kimlik doğrulama işlemi bu başlıklar üzerinden gerçekleştirilir. Tüm istek gövdeleri (request body) JSON formatında olmalıdır.
| Header Anahtarı | Değer / Format | Açıklama |
|---|---|---|
| X-Client-ID | Entegratör Firma ID | KrikoGo entegrasyon ekibi tarafından size iletilen Client ID değeri. |
| X-Client-Secret | Entegratör Secret Key | KrikoGo entegrasyon ekibi tarafından iletilen gizli anahtar (Secret Key). |
| X-Integration-Token | Satıcı Erişim Token'ı | Satıcının kendi panelinde (Profil > Entegrasyonlarım) üreterek size verdiği uzun vadeli bağlantı token'ı. |
| Content-Type | application/json | İstek gövdesi (request body) JSON formatında olmalıdır. |
Sipariş Durum Kodları (OrderStatus)
Sipariş detaylarında karşılaşacağınız sipariş durumları (OrderStatus) aşağıdaki gibidir:
| Durum Kodu (Enum) | Karşılığı | Açıklama |
|---|---|---|
| PENDING_PAYMENT | Ödeme Bekleniyor | Müşteri ödeme adımındadır, sipariş henüz tamamlanmamıştır. |
| PAYMENT_FAILED | Ödeme Başarısız | Ödeme denemesi başarısız olmuştur. |
| CONFIRMED | Satıcı Onayı Bekliyor | Ödemesi alınmış, satıcının siparişi onaylaması beklenen durumdur. |
| PROCESSING | Kargolanması Bekleniyor | Satıcı siparişi onaylamıştır, kargo etiketi hazırlanabilir. |
| SHIPPED | Kargoda | Sipariş kargo firmasına teslim edilmiş ve takip kodu girilmiştir. |
| DELIVERED | Tamamlandı | Ürün alıcıya teslim edilmiş ve sipariş süreci tamamlanmıştır. |
| CANCELLED | İptal Edildi | Sipariş iptal edilmiştir. |
| REFUNDED | İade Edildi | İade süreci onaylanmış ve ücret müşteriye geri ödenmiştir. |
1. İlanları Çekme (GET LISTINGS)
Satıcının Krikogo üzerinde aktif veya pasif durumdaki tüm ilanlarını sayfalanmış (paginated) olarak çeker.
İstek Tanımı:
GET /integration/listings?page=1&limit=50 HTTP/1.1 Host: api.staging.krikogo.com X-Client-ID: krikogo-partner-uuid X-Client-Secret: krikogo-partner-secret-key X-Integration-Token: seller-integration-token
Query Parametreleri:
| Parametre | Tip | Zorunlu mu? | Varsayılan Değer | Açıklama |
|---|---|---|---|---|
| page | integer | Hayır | 1 | Belirtilen sayfa için listeleme yapar. |
| limit | integer | Hayır | 50 | Bir sayfada listelenecek ilan sayısını belirtir (Maks: 100). |
Örnek Cevap (Response Body):
{
"success": true,
"data": [
{
"id": "7ac234e8-8db9-4672-9fa0-ef1d234c5678",
"listing_no": 1024,
"price": 191.00,
"b2b_price": 180.00,
"individual_price": 195.00,
"stock_quantity": 12,
"condition": "NEW",
"status": "ACTIVE",
"created_at": "2026-07-10T12:00:00.000Z",
"product": {
"name": "MAP Sensörü Lancia Ypsilon",
"brand": "SAGEM",
"oem_code": "46553045",
"slug": "map-sensoru-lancia-ypsilon-46553045",
"images": [
{
"url": "https://krikogo-images.s3.amazonaws.com/products/map-sensor.jpg",
"alt": "MAP Sensörü Lancia Ypsilon",
"is_primary": true
}
]
}
}
],
"meta": {
"total": 1,
"page": 1,
"limit": 50,
"totalPages": 1
}
}2. Toplu Fiyat & Stok Güncelleme (BULK PRICE & STOCK)
Satıcının mevcut ilanlarının fiyat, B2B fiyatı ve stok miktarı bilgilerini toplu olarak günceller (Tek seferde maks. 500 ilan).
Eşleştirme Kuralı: İlanlarınızı isterseniz doğrudan KrikoGo sistemindeki listing_id (UUID) değeriyle, isterseniz de ürünün oem_code ve brand (Marka) eşleşmesiyle güncelleyebilirsiniz.
İstek Tanımı:
POST /integration/listings/bulk-price-stock HTTP/1.1
Host: api.staging.krikogo.com
Content-Type: application/json
X-Client-ID: krikogo-partner-uuid
X-Client-Secret: krikogo-partner-secret-key
X-Integration-Token: seller-integration-token
{
"updates": [
{
"listing_id": "7ac234e8-8db9-4672-9fa0-ef1d234c5678",
"price": 210.50,
"b2b_price": 195.00,
"stock_quantity": 25
},
{
"oem_code": "46553045",
"brand": "SAGEM",
"price": 450.00,
"stock_quantity": 5
}
]
}Request Body Parametreleri:
| Parametre | Tip | Zorunlu mu? | Açıklama |
|---|---|---|---|
| updates | array | Evet | Güncellenecek ilan listesi (Maks: 500 satır). |
| updates[].listing_id | string (UUID) | Koşullu | Eğer oem_code ve brand gönderilmiyorsa zorunludur. |
| updates[].oem_code | string | Koşullu | Eğer listing_id gönderilmiyorsa brand ile birlikte zorunludur. |
| updates[].brand | string | Koşullu | Eğer listing_id gönderilmiyorsa oem_code ile birlikte zorunludur. |
| updates[].price | number | Hayır | İlanın yeni satış fiyatı (KDV Dahil, Pozitif Sayı). Gönderilmezse fiyat değişmez. |
| updates[].b2b_price | number | Hayır | İlanın yeni B2B satış fiyatı. Gönderilmezse değişmez. |
| updates[].stock_quantity | integer | Evet | İlanın güncel stok adedi (Min: 0). Stok 0 girilirse ilan otomatik olarak pasife alınır. |
Örnek Cevap (Response Body):
{
"success": true,
"data": {
"processed_count": 2,
"success_count": 2,
"failed_count": 0,
"errors": []
}
}3. Siparişleri Çekme (GET SOLD ORDERS)
Satıcının mağazasına gelen siparişlerin listesini sayfalanmış olarak çeker.
İstek Tanımı:
GET /integration/orders?page=1&limit=50 HTTP/1.1 Host: api.staging.krikogo.com X-Client-ID: krikogo-partner-uuid X-Client-Secret: krikogo-partner-secret-key X-Integration-Token: seller-integration-token
Query Parametreleri:
| Parametre | Tip | Zorunlu mu? | Varsayılan Değer | Açıklama |
|---|---|---|---|---|
| page | integer | Hayır | 1 | Sayfa numarası. |
| limit | integer | Hayır | 50 | Sayfa başına sipariş limiti (Maks: 100). |
Örnek Cevap (Response Body):
{
"success": true,
"data": [
{
"id": "90d1f7c1-84cd-4e89-a292-0b12e34e5678",
"order_number": 10042,
"status": "CONFIRMED",
"total_amount": 513.00,
"created_at": "2026-07-10T15:20:00.000Z",
"user": {
"first_name": "Ahmet",
"last_name": "Yılmaz",
"email": "ahmet@yilmaz.com",
"phone": "05551234567",
"account_type": "CORPORATE",
"company_name": "Yılmaz Otomotiv Ltd. Şti.",
"vkn": "1234567890",
"tax_office": "Zincirlikuyu"
},
"shipping_address": {
"address_line": "Merkez Mah. Atatürk Cad. No:15 D:3",
"neighborhood": {
"name": "Gayrettepe Mah.",
"district": {
"name": "Beşiktaş",
"city": {
"name": "İstanbul"
}
}
}
},
"items": [
{
"id": "item-uuid-1",
"listing_id": "7ac234e8-8db9-4672-9fa0-ef1d234c5678",
"quantity": 10,
"price": 12.00,
"listing": {
"product": {
"name": "MAP Sensörü Lancia Ypsilon",
"oem_code": "46553045",
"brand": "SAGEM"
}
}
}
],
"shipments": []
}
],
"meta": {
"total": 1,
"page": 1,
"limit": 50,
"totalPages": 1
}
}4. Siparişi Kargoya Verme (SHIP ORDER)
Siparişi kargoya verir, takip numarasını ve kargo firmasını sisteme işleyerek müşteriye anlık bilgilendirme yapılmasını sağlar.
İstek Tanımı:
POST /integration/orders/90d1f7c1-84cd-4e89-a292-0b12e34e5678/ship HTTP/1.1
Host: api.staging.krikogo.com
Content-Type: application/json
X-Client-ID: krikogo-partner-uuid
X-Client-Secret: krikogo-partner-secret-key
X-Integration-Token: seller-integration-token
{
"carrier": "Yurtiçi Kargo",
"tracking_code": "123456789012"
}Request Body Parametreleri:
| Parametre | Tip | Zorunlu mu? | Açıklama |
|---|---|---|---|
| carrier | string | Evet | Kargo firmasının adı (örn. Yurtiçi Kargo, MNG Kargo, Aras Kargo vb.). |
| tracking_code | string | Evet | Kargo takip barkod / takip numarası. |
Örnek Cevap (Response Body):
{
"success": true,
"data": {
"success": true
}
}5. XML Ürün Feed'i (XML FEED)
Cimri, Akakçe veya dış sistemler için satıcının güncel ürün listesini XML formatında dışa aktarır. URL sonundaki :feedToken değeri satıcı panelinden alınır ve statik bir token'dır.
İstek Tanımı:
GET /feeds/listings/abc123xyz789token.xml HTTP/1.1 Host: api.staging.krikogo.com
6. Sipariş Onaylama (APPROVE ORDER)
Siparişi onaylar ve PROCESSING (Satıcı Onayı Bekliyor) durumundan CONFIRMED (Kargolanması Bekleniyor) durumuna geçirir. Alıcıya siparişin onaylandığına dair bildirim gider.
İstek Tanımı:
POST /integration/orders/90d1f7c1-84cd-4e89-a292-0b12e34e5678/confirm HTTP/1.1 Host: api.staging.krikogo.com X-Client-ID: krikogo-partner-uuid X-Client-Secret: krikogo-partner-secret-key X-Integration-Token: seller-integration-token
Örnek Cevap (Response Body):
{
"success": true,
"data": null
}7. İlan Silme (DELETE LISTING)
İlanı tamamen yayından kaldırır ve durumunu DELETED yapar.
İstek Tanımı:
DELETE /integration/listings/7ac234e8-8db9-4672-9fa0-ef1d234c5678 HTTP/1.1 Host: api.staging.krikogo.com X-Client-ID: krikogo-partner-uuid X-Client-Secret: krikogo-partner-secret-key X-Integration-Token: seller-integration-token
Örnek Cevap (Response Body):
{
"success": true,
"data": null
}8. Fatura Yükleme (UPLOAD INVOICE)
Siparişe ait fatura numarasını ve PDF dosyasını yükler veya günceller.
Yükleme Seçenekleri: Faturayı harici bir URL adresinden çekebilmemiz için pdf_url parametresiyle veya doğrudan faturanın ham Base64 kodlanmış hali olan pdf_base64 parametresiyle gönderebilirsiniz. Base64 gönderildiğinde dosya otomatik olarak sistemin S3 havuzuna yüklenecektir.
İstek Tanımı:
POST /integration/orders/90d1f7c1-84cd-4e89-a292-0b12e34e5678/invoice HTTP/1.1
Host: api.staging.krikogo.com
Content-Type: application/json
X-Client-ID: krikogo-partner-uuid
X-Client-Secret: krikogo-partner-secret-key
X-Integration-Token: seller-integration-token
{
"invoice_number": "TR-2026-000042",
"pdf_base64": "JVBERi0xLjQKJd...[PDF_BASE64_VERISI]..."
}Request Body Parametreleri:
| Parametre | Tip | Zorunlu mu? | Açıklama |
|---|---|---|---|
| invoice_number | string | Evet | Resmi fatura numarası. |
| pdf_url | string (URI) | Koşullu | Eğer pdf_base64 gönderilmiyorsa zorunludur. Faturanın indirilebileceği harici PDF adresi. |
| pdf_base64 | string | Koşullu | Eğer pdf_url gönderilmiyorsa zorunludur. PDF dosyasının Base64 kodlanmış ham verisi. |
Örnek Cevap (Response Body):
{
"success": true,
"data": {
"pdf_url": "https://krikogo-invoices.s3.amazonaws.com/invoices/90d1f7c1-84cd-4e89-a292-0b12e34e5678/invoice-TR-2026-000042.pdf"
}
}Client ID and Client Secret bilgileri güvenlik gereği yalnızca KrikoGo tarafından üretilip iletilir. Başvuru ve teknik dokümantasyon için bizimle iletişime geçin.
