E-Çarşı satıcı paneli API servisleri
Bu dokümantasyon, API servislerimizi kullanmanız için ihtiyacınız olan tüm bilgileri içermektedir.
API kullanımı ile ilgili önemli bilgiler:
API kullanımı sırasında herhangi bir sorunla karşılaşırsanız:
API'den dönen hata kodları ve açıklamaları:
400
- İstek formatı hatalı401
- Yetkisiz erişim403
- Erişim engellendi404
- Kaynak bulunamadı422
- Validasyon hatası429
- Çok fazla istek500
- Sunucu hatasıİstekleri doğrulamak için, Authorization
başlığını
"Bearer {token}"
değeri ile ekleyin.
Kimlik doğrulama gerektiren tüm servisler aşağıdaki dokümantasyonda
kimlik doğrulama gerekli
rozeti ile işaretlenmiştir.
Token almak için /api/auth endpoint'ini kullanın.
API'ye erişim için gerekli token alma işlemleri
E-posta ve şifre ile giriş yaparak token alır
curl --request POST \
"https://api.e-carsi.com/api/auth" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"password\": \"123456\"
}"
{
"success": true,
"message": {
"tr": "Giriş başarılı",
"en": "Login successful"
},
"data": {
"token": "xxxxxxxx",
"seller": {
"id": 1,
"email": "[email protected]"
}
}
}
Kategori yönetimi ile ilgili işlemler
Tüm kategorileri listeler
Ana kategori ID'si.
Alt kategorileri de getir.
Sayfa numarası (en az: 1).
Sayfa başına kayıt sayısı (en az: 1, en fazla: 100).
curl --request GET \
--get "https://api.e-carsi.com/api/categories?parent_id=0&with_children=1&page=1&per_page=20" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": true,
"message": {
"tr": "Kategoriler başarıyla listelendi",
"en": "Categories listed successfully"
},
"data": {
"categories": [
{
"id": 1,
"name": "Elektronik",
"slug": "elektronik",
"parent_id": 0,
"children": [
{
"id": 2,
"name": "Cep Telefonu",
"slug": "cep-telefonu",
"parent_id": 1
}
]
}
],
"pagination": {
"total": 50,
"per_page": 20,
"current_page": 1,
"last_page": 3
}
}
}
Belirtilen kategorinin detaylarını getirir
Kategori ID.
curl --request GET \
--get "https://api.e-carsi.com/api/categories/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": true,
"message": {
"tr": "Kategori detayları başarıyla getirildi",
"en": "Category details retrieved successfully"
},
"data": {
"category": {
"id": 1,
"name": "Elektronik",
"slug": "elektronik",
"description": "Elektronik ürünler",
"parent_id": 0,
"filters": [
{
"id": 1,
"name": "Marka",
"type": "select",
"required": true
}
],
"variants": [
{
"id": 1,
"name": "Renk",
"type": "color",
"required": true
}
]
}
}
}
Belirtilen varyanta ait seçenekleri listeler
Varyant ID.
Seçenek adı ile arama yapar.
Sayfa numarası (en az: 1).
Sayfa başına kayıt sayısı (en az: 1, en fazla: 100).
curl --request GET \
--get "https://api.e-carsi.com/api/variants/1/options?search=siyah&page=1&per_page=20" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Belirtilen filtreye ait seçenekleri listeler
Filtre ID.
Seçenek adı ile arama yapar.
Sayfa numarası (en az: 1).
Sayfa başına kayıt sayısı (en az: 1, en fazla: 100).
curl --request GET \
--get "https://api.e-carsi.com/api/filters/1/options?search=apple&page=1&per_page=20" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Ürün yönetimi ile ilgili işlemler
GET /api/products
Satıcıya ait ürünleri listeler
Sayfa numarası (en az: 1).
Sayfa başına kayıt sayısı (en az: 1, en fazla: 100).
Ürün adı veya model kodu ile arama yapar.
Ürün durumu filtresi (active: Aktif, passive: Pasif, rejected: Reddedildi).
date Başlangıç tarihi (Y-m-d formatında).
date Bitiş tarihi (Y-m-d formatında).
curl --request GET \
--get "https://api.e-carsi.com/api/products?page=1&per_page=20&search=iphone&status=active&date_start=2024-01-01&date_end=2024-02-19" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page\": 19,
\"per_page\": 18,
\"status\": \"active\",
\"date_start\": \"2025-02-22\",
\"date_end\": \"2025-02-22\"
}"
{
"success": true,
"message": {
"tr": "Ürünler başarıyla listelendi",
"en": "Products listed successfully"
},
"data": {
"products": [
{
"id": 1,
"name": "iPhone 13",
"model_code": "IP13-128",
"cover_image": "https://e-carsi.com/dosya/urun/iphone13.jpg",
"market_price": 25000,
"status": {
"code": "active",
"label": "Aktif"
},
"created_at": "2024-02-19 10:00:00"
}
],
"pagination": {
"total": 50,
"per_page": 20,
"current_page": 1,
"last_page": 3
}
}
}
POST /api/products
Yeni bir ürün oluşturur. Varyantlar ve filtreler ile birlikte kaydedilir.
curl --request POST \
"https://api.e-carsi.com/api/products" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"iPhone 13\",
\"category_id\": 1,
\"model_code\": \"IP13-128\",
\"average_price\": \"24999.99\",
\"barcode\": \"8680000000000\",
\"estimated_shipping_time\": 3,
\"description\": \"Detaylı ürün açıklaması\",
\"shipping_company_id\": 1,
\"desi\": 5,
\"variants\": [
\"molestiae\"
],
\"filters\": [
\"qui\"
]
}"
{
"success": true,
"message": {
"tr": "Ürün başarıyla oluşturuldu",
"en": "Product created successfully"
},
"data": {
"product_id": 1,
"stock_codes": [
"STK123456"
]
}
}
array required Silinecek ürün ID'leri.
curl --request DELETE \
"https://api.e-carsi.com/api/products/bulk-delete" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": true,
"message": {
"tr": "Ürünler başarıyla silindi",
"en": "Products deleted successfully"
},
"data": {
"deleted": [
1,
2
],
"failed": {
"3": "Ürün sipariş sepetinde bulunuyor"
}
}
}
POST /api/products/{product_id}/images
Ürüne ait resimleri yükler
Ürün ID.
curl --request POST \
"https://api.e-carsi.com/api/products/1/images" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"images\": null
}"
{
"success": true,
"message": {
"tr": "Resimler başarıyla yüklendi",
"en": "Images uploaded successfully"
},
"data": {
"images": [
{
"id": 1,
"url": "https://e-carsi.com/dosya/urun/resim1.jpg"
}
]
}
}
POST /api/products/{product_id}/variants
Belirtilen ürüne yeni bir varyant ekler
Ürün ID.
curl --request POST \
"https://api.e-carsi.com/api/products/1/variants" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"iPhone 13 128GB Siyah\",
\"market_price\": \"24999.99\",
\"price\": \"24999.99\",
\"stock\": 100,
\"variants\": [
\"officia\"
]
}"
{
"success": true,
"message": {
"tr": "Varyant başarıyla oluşturuldu",
"en": "Variant created successfully"
},
"data": {
"variant": {
"stock_code": "STK123456",
"name": "iPhone 13 128GB Siyah",
"market_price": 24999.99,
"price": 24999.99,
"stock": 100,
"options": [
{
"variant_id": 1,
"name": "Kapasite",
"option_id": 1,
"value": "128GB"
},
{
"variant_id": 2,
"name": "Renk",
"option_id": 1,
"value": "Siyah"
}
]
}
}
}
PUT /api/products/{product_id}/variants/{stock_code}
Belirtilen ürünün varyantını günceller
Ürün ID.
Stok kodu.
curl --request PUT \
"https://api.e-carsi.com/api/products/1/variants/IP13-128-SIYAH" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"price\": \"24999.99\",
\"stock\": 100,
\"status\": \"active\"
}"
{
"success": true,
"message": {
"tr": "Varyant başarıyla güncellendi",
"en": "Variant updated successfully"
}
}
GET /api/products/{product_id}/variants
Belirtilen ürünün varyantlarını listeler
Ürün ID.
curl --request GET \
--get "https://api.e-carsi.com/api/products/1/variants" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": true,
"message": {
"tr": "Varyasyonlar başarıyla listelendi",
"en": "Variants listed successfully"
},
"data": {
"product": {
"id": 1,
"name": "iPhone 13",
"model_code": "IP13-128",
"barcode": "IP13-128"
},
"variants": [
{
"id": 1,
"stock_code": "IP13-128-SIYAH",
"name": "iPhone 13",
"market_price": 25000,
"price": 24999.99,
"stock": 100,
"options": [
{
"variant_id": 1,
"name": "Renk",
"option_id": 1,
"value": "Siyah"
}
]
}
]
}
}
DELETE /api/products/{product_id}/variants/{stock_code}
Belirtilen ürünün varyantını siler
Ürün ID.
Stok kodu.
curl --request DELETE \
"https://api.e-carsi.com/api/products/1/variants/IP13-128-SIYAH" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": true,
"message": {
"tr": "Varyasyon başarıyla silindi",
"en": "Variant deleted successfully"
}
}
PUT /api/products/{product_id}/variants/bulk-update
Belirtilen ürünün birden fazla varyantını günceller
Ürün ID.
curl --request PUT \
"https://api.e-carsi.com/api/products/1/variants/bulk-update" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"variants\": [
{
\"stock_code\": \"IP13-128-SIYAH\",
\"price\": 24999.99,
\"stock\": 100
}
]
}"
{
"success": true,
"message": {
"tr": "Varyasyonlar başarıyla güncellendi",
"en": "Variants updated successfully"
},
"data": {
"variants": [
{
"stock_code": "IP13-128-SIYAH",
"market_price": 24999.99,
"price": 24999.99,
"stock": 100,
"updated_at": "2024-02-19 10:00:00"
}
],
"errors": []
}
}
DELETE /api/products/{product_id}/images/{image_id}
Ürüne ait belirtilen resmi siler
Ürün ID.
Resim ID.
curl --request DELETE \
"https://api.e-carsi.com/api/products/1/images/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": true,
"message": {
"tr": "Resim başarıyla silindi",
"en": "Image deleted successfully"
}
}
Kargo işlemleri ile ilgili endpoint'ler
Anlaşmalı kargo firmalarını listeler
curl --request GET \
--get "https://api.e-carsi.com/api/shipping-companies" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": true,
"message": {
"tr": "Kargo firmaları başarıyla listelendi",
"en": "Shipping companies listed successfully"
},
"data": [
{
"id": 1,
"name": "Yurtiçi Kargo",
"logo": "https://e-carsi.com/dosya/kargo/yurtici.png"
}
]
}
Sipariş yönetimi ile ilgili işlemler
Satıcıya ait siparişleri listeler
Sayfa numarası (en az: 1).
Sayfa başına kayıt sayısı (en az: 1, en fazla: 100).
Satıcı durumu filtresi. Seçenekler: waiting (Beklemede), approved (Onaylandı), in_supply (Tedarik Sürecinde), preparing (Hazırlanıyor), packaging (Paketleniyor), shipped (Kargoda), delivered (Teslim Edildi), return_waiting (İade Bekleniyor), return_received (İade Alındı), completed_return (İade Tamamlandı), completed_cancel (İptal Tamamlandı), partial_return (Kısmi İade), partial_cancel (Kısmi İptal).
Müşteri durumu filtresi. Seçenekler: waiting (Beklemede), completed (Tamamlandı), returned (İade Edildi), cancelled (İptal Edildi).
Fatura durumu. Seçenekler: uploaded (Fatura Yüklendi), not_uploaded (Fatura Yüklenmedi).
Belirli bir tarihte oluşmuş siparişleri getirmektedir.
exact,after,before
curl --request GET \
--get "https://api.e-carsi.com/api/orders?page=1&per_page=20&seller_status=waiting&customer_status=waiting&invoice_status=not_uploaded" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page\": 45,
\"per_page\": 23
}"
{
"success": true,
"message": {
"tr": "Siparişler başarıyla listelendi",
"en": "Orders listed successfully"
},
"data": {
"orders": [
{
"order_id": "123456",
"seller_status": "waiting",
"customer_status": "waiting",
"invoice_status": "not_uploaded",
"customer_email": "[email protected]",
"product_count": 2,
"price": 150,
"order_date": "2024-02-19 10:00:00"
}
],
"pagination": {
"total": 50,
"per_page": 20,
"current_page": 1,
"last_page": 3
}
}
}
GET /api/orders/{order_id}
Belirtilen siparişin detaylarını getirir
Sipariş ID.
curl --request GET \
--get "https://api.e-carsi.com/api/orders/123456" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": true,
"message": {
"tr": "Sipariş detayları başarıyla getirildi",
"en": "Order details retrieved successfully"
},
"data": {
"order": {
"id": "123456",
"date": "2024-02-19 10:00:00",
"customer": {
"email": "[email protected]",
"phone": "5551234567",
"name": "Ahmet Yılmaz"
},
"address": {
"city": "İstanbul",
"district": "Kadıköy",
"full_address": "Örnek Mah. Test Sok. No:1 D:2"
},
"address": {
"corporate": false,
"name": "Taha KOÇAK",
"phone": "5555555555",
"tc": "11111111111",
"city": "Adana",
"district": "Aladag",
"full_address": "Aladag asdasdasdas",
"tax_office": "",
"tax_number": "",
"company_name": ""
},
"invoice": {
"corporate": false,
"name": "Taha KOÇAK",
"phone": "5555555555",
"tc": "11111111111",
"city": "Adana",
"district": "Ceyhan",
"full_address": "Büyükmangit dasdasdas",
"tax_office": "",
"tax_number": "",
"company_name": ""
},
"status": {
"seller": "waiting",
"customer": "waiting",
"invoice": "not_uploaded"
},
"items": [
{
"name": "iPhone 13",
"barcode": "123456789",
"stock_code": "IP13-128",
"quantity": 1,
"price": 25000,
"variants": [
"128GB",
"Siyah"
]
}
],
"totals": {
"subtotal": 25000,
"shipping": 0,
"total": 25000
}
}
}
}
POST /api/orders/{order_id}/shipping
Sipariş için kargo kaydı oluşturur
Sipariş ID.
curl --request POST \
"https://api.e-carsi.com/api/orders/123456/shipping" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"company_id\": 1,
\"tracking_number\": \"1234567890\",
\"desi\": 2
}"
{
"success": true,
"message": {
"tr": "Kargo kaydı başarıyla oluşturuldu",
"en": "Shipping record created successfully"
},
"data": {
"tracking": {
"number": "1234567890",
"url": "https://www.yurticikargo.com/takip?code=1234567890",
"barcode_url": "https://e-carsi.com/kargo-barkod/1234567890.png"
}
}
}