Gelişmiş API sistemi ile ürünlerinizi programatik olarak yönetin
Giyim Moda API sistemi resmen yayına alındı! Entegrasyon işlemlerine başlamak ve teknik detayları incelemek için giyimmoda.com.tr üzerinden yeni dökümanlarımıza göz atabilirsiniz. İyi kodlamalar!
2026-01-03Toplam Ürün
Toplam Satıcı
API Kullanıcısı
Ortalama Yanıt Süresi
API sistemini kullanmak için aşağıdaki adımları takip edin:
API'yi kullanmak için önce API Key ve Secret oluşturmanız gerekir:
API isteklerinde kimlik doğrulama için iki yöntem:
Her istekte header'larda gönderilir
Giriş yaparak token alınır
Tüm API istekleri aşağıdaki formatta yapılır:
https://www.giyimmoda.com.tr/api/seller/{endpoint}
Örnek Endpoint'ler:
GET /api/seller/productsPOST /api/seller/productsPOST /api/seller/products/bulkGET /api/seller/ordersTüm istekler JSON formatında gönderilmelidir:
Content-Type: application/json
{
"field1": "value1",
"field2": "value2"
}
Tüm yanıtlar standart JSON formatındadır:
{
"success": true,
"message": "İşlem başarılı",
"data": {
// Response data
}
}
Hata durumlarında aşağıdaki format döner:
{
"success": false,
"message": "Hata mesajı",
"errors": {
"field_name": ["Hata detayı"]
}
}
HTTP Durum Kodları:
API istekleri dakikada 600 istek ile sınırlandırılmıştır. Bu limit aşıldığında 429 Too Many Requests hatası döner.
Satıcı API sistemi, satıcıların ürünlerini, siparişlerini ve diğer işlemlerini programatik olarak yönetmelerine olanak tanır. Gelişmiş API yapısı ile güçlü entegrasyonlar oluşturabilirsiniz.
https://www.giyimmoda.com.tr/api
https://www.giyimmoda.com.tr/api-dokmantasyonuhttps://www.giyimmoda.com.tr/apiSatıcı panelinden veya admin panelinden API Key ve Secret oluşturun. Bu yöntem token'dan daha güvenli ve kalıcıdır.
// Headers
X-API-Key: sk_XXXXXXXXXXXX
X-API-Secret: xxxxxxxxxxxxxx
Content-Type: application/json
// Request Body
{
"email": "seller@example.com",
"password": "your_password"
}
Giriş yaparak token alabilir ve tüm isteklerde kullanabilirsiniz.
// Headers
Authorization: Bearer 1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
GET /api/seller/profile - Profil bilgilerini getirPUT /api/seller/profile - Profil bilgilerini güncelleQuery Parameters:
search - Ürün adı ile arama (opsiyonel)status - Durum filtresi: published, pending, unpublished (opsiyonel)per_page - Sayfa başına kayıt sayısı (varsayılan: 15, tümünü listelemek için: all veya per_page=-1)page - Sayfa numarası (opsiyonel)GET /api/seller/products?per_page=all - Tüm ürünleri listele (pagination olmadan)GET /api/seller/products?per_page=-1 - Tüm ürünleri listele (alternatif yöntem)thumbnail_img_url - Zorunlugallery_images_urls - Zorunlu, en az 2 resimtax_rate - Opsiyonel (vergi oranı, boş bırakılabilir)unit = "kg" veya decibel girildiyse → birim "kg", değilse → "adet"{
"name": "Yeni Ürün",
"description": "Ürün açıklaması",
"category_id": 149,
"category_ids": [150, 151],
"brand_id": 5,
"unit_price": 150.00,
"current_stock": 100,
"sku": "SKU-001",
"barcode": "1234567890123",
"delivery_time": 3,
"unit": "adet",
"weight": 0.5,
"tax_rate": 20,
"refundable": true,
"thumbnail_img_url": "https://example.com/thumb.jpg",
"gallery_images_urls": [
"https://example.com/img1.jpg",
"https://example.com/img2.jpg"
]
}
| Göndermeniz Gereken | Tablo Sütunu | Açıklama |
|---|---|---|
name |
products.name |
Ürün adı (zorunlu) |
description |
products.description |
Ürün açıklaması (zorunlu) |
category_id |
products.category_id |
Ana kategori ID (zorunlu) |
category_ids |
product_categories.category_id |
Ek kategori ID'leri (opsiyonel, array) |
brand_id |
products.brand_id |
Marka ID (opsiyonel) |
unit_price |
products.unit_price |
Birim fiyat (zorunlu) |
current_stock |
product_stocks.qty |
Stok miktarı (zorunlu) |
sku |
products.sku |
SKU kodu (opsiyonel, otomatik oluşturulur) |
barcode |
products.barcode |
Barkod (opsiyonel) |
delivery_time |
products.delivery_time |
Teslimat süresi (gün cinsinden, opsiyonel) |
unit |
products.unit |
Birim (opsiyonel, varsayılan: "adet", "kg" olabilir) |
weight |
products.weight |
Ağırlık (opsiyonel) |
decibel |
product_translations.description |
Desibel değeri (opsiyonel, 0-200 arası, unit'i "kg" yapar) |
tax_rate |
product_taxes.tax_id |
Vergi oranı (opsiyonel, boş bırakılabilir. Verilmezse admin panelinden varsayılan vergi eklenir) |
refundable |
products.refundable |
İade edilebilir (opsiyonel, varsayılan: true, true/false) |
thumbnail_img_url |
products.thumbnail_img |
Thumbnail görsel URL (zorunlu, indirilir ve sıkıştırılır) |
gallery_images_urls |
products.photos |
Galeri görselleri URL'leri (zorunlu, en az 2 görsel, array) |
meta_title |
products.meta_title |
Meta başlık (opsiyonel, girilmezse ürün adı otomatik kopyalanır) |
meta_description |
products.meta_description |
Meta açıklama (opsiyonel, girilmezse ürün açıklamasından ilk 140 karakter alınır) |
products.slug - URL slug (name + timestamp)products.published - Varsayılan: 1 (yayınlanmış)products.digital - Varsayılan: 0 (fiziksel ürün)products.thumbnail_img, preview_img, meta_img - Aynı görsel olarak ayarlanırproducts.photos - Galeri görselleri (virgülle ayrılmış ID'ler)products.meta_title - Girilmezse ürün adı otomatik kopyalanırproducts.meta_description - Girilmezse ürün açıklamasından ilk 140 karakter alınırproduct_stocks.product_id - Ürün ID'siproduct_stocks.variant - Varsayılan: "" (boş string)product_stocks.price - unit_price ile aynıproduct_categories - Kategoriler eklenir (alt kategori ise parent'lar da eklenir)product_taxes - Vergi ilişkilendirmesi| Göndermeniz Gereken | Tablo Sütunu | Açıklama |
|---|---|---|
name |
products.name |
Ürün adı (opsiyonel) |
description |
products.description |
Ürün açıklaması (opsiyonel) |
category_id |
products.category_id |
Ana kategori ID (opsiyonel) |
category_ids |
product_categories.category_id |
Ek kategori ID'leri (opsiyonel, array, sync edilir) |
brand_id |
products.brand_id |
Marka ID (opsiyonel) |
unit_price |
products.unit_price, product_stocks.price |
Birim fiyat (opsiyonel) |
current_stock |
product_stocks.qty |
Stok miktarı (opsiyonel) |
sku |
products.sku |
SKU kodu (opsiyonel) |
barcode |
products.barcode |
Barkod (opsiyonel) |
delivery_time |
products.delivery_time |
Teslimat süresi (gün cinsinden, opsiyonel) |
unit |
products.unit |
Birim (opsiyonel, varsayılan: "adet", "kg" olabilir) |
weight |
products.weight |
Ağırlık (opsiyonel) |
decibel |
product_translations.description |
Desibel değeri (opsiyonel, 0-200 arası, unit'i "kg" yapar) |
tax_rate |
product_taxes.tax_id |
Vergi oranı (opsiyonel, boş bırakılabilir. Verilirse mevcut vergiler silinir ve yeni eklenir, verilmezse mevcut vergiler korunur) |
refundable |
products.refundable |
İade edilebilir (opsiyonel, true/false) |
published |
products.published |
Yayın durumu (opsiyonel, true/false) |
thumbnail_img_url |
products.thumbnail_img |
Thumbnail görsel URL (opsiyonel, indirilir ve sıkıştırılır) |
gallery_images_urls |
products.photos |
Galeri görselleri URL'leri (opsiyonel, en az 2 görsel, array) |
meta_title |
products.meta_title |
Meta başlık (opsiyonel, boş veya girilmezse ürün adı otomatik kopyalanır) |
meta_description |
products.meta_description |
Meta açıklama (opsiyonel, boş veya girilmezse ürün açıklamasından ilk 140 karakter alınır) |
products.slug - name güncellenirse slug otomatik güncellenirproducts.thumbnail_img, preview_img, meta_img - thumbnail_img_url güncellenirse aynı görsel olarak ayarlanırproducts.photos - gallery_images_urls güncellenirse galeri görselleri (virgülle ayrılmış ID'ler) güncellenirproducts.meta_title - Boş veya girilmezse ürün adı otomatik kopyalanırproducts.meta_description - Boş veya girilmezse ürün açıklamasından ilk 140 karakter alınırproduct_stocks.price - unit_price güncellenirse stok fiyatı da güncellenirproduct_categories - category_id veya category_ids güncellenirse kategoriler sync edilir (alt kategori ise parent'lar da eklenir)product_taxes - tax_rate verilirse mevcut vergiler silinir ve yeni eklenir, verilmezse mevcut vergiler korunurunit = "kg" veya decibel girildiyse → birim "kg", değilse → "adet"{
"products": [
{
"name": "Toplu Ürün 1",
"description": "Açıklama",
"category_id": 149,
"brand_id": 5,
"unit_price": 150.00,
"current_stock": 100,
"barcode": "1234567890123",
"delivery_time": 3,
"tax_rate": 20,
"refundable": true,
"thumbnail_img_url": "https://example.com/thumb1.jpg",
"gallery_images_urls": [
"https://example.com/img1.jpg",
"https://example.com/img2.jpg"
]
},
{
"name": "Toplu Ürün 2",
...
}
]
}
Response:
{
"success": true,
"message": "Bulk product creation completed. 2 successful, 0 failed.",
"data": {
"total": 2,
"success_count": 2,
"failed_count": 0,
"execution_time_seconds": 3.45,
"products_per_second": 0.58,
"success": [...],
"failed": []
}
}
| Göndermeniz Gereken | Tablo Sütunu | Açıklama |
|---|---|---|
name |
products.name |
Ürün adı (zorunlu) |
description |
products.description |
Ürün açıklaması (zorunlu) |
category_id |
products.category_id |
Ana kategori ID (zorunlu) |
category_ids |
product_categories.category_id |
Ek kategori ID'leri (opsiyonel, array) |
brand_id |
products.brand_id |
Marka ID (opsiyonel) |
unit_price |
products.unit_price |
Birim fiyat (zorunlu) |
current_stock |
product_stocks.qty |
Stok miktarı (zorunlu) |
sku |
products.sku |
SKU kodu (opsiyonel, otomatik oluşturulur) |
barcode |
products.barcode |
Barkod (opsiyonel) |
delivery_time |
products.delivery_time |
Teslimat süresi (gün cinsinden, opsiyonel) |
unit |
products.unit |
Birim (opsiyonel, varsayılan: "adet", "kg" olabilir) |
weight |
products.weight |
Ağırlık (opsiyonel) |
decibel |
product_translations.description |
Desibel değeri (opsiyonel, 0-200 arası, unit'i "kg" yapar) |
tax_rate |
product_taxes.tax_id |
Vergi oranı (opsiyonel, boş bırakılabilir. Verilmezse admin panelinden varsayılan vergi eklenir) |
refundable |
products.refundable |
İade edilebilir (opsiyonel, varsayılan: true, true/false) |
thumbnail_img_url |
products.thumbnail_img |
Thumbnail görsel URL (zorunlu, indirilir ve sıkıştırılır) |
gallery_images_urls |
products.photos |
Galeri görselleri URL'leri (zorunlu, en az 2 görsel, array) |
meta_title |
products.meta_title |
Meta başlık (opsiyonel, girilmezse ürün adı otomatik kopyalanır) |
meta_description |
products.meta_description |
Meta açıklama (opsiyonel, girilmezse ürün açıklamasından ilk 140 karakter alınır) |
Tüm alanlar opsiyonel - sadece güncellenecek alanları gönderin.
Ürünleri Excel formatında dışa aktarır.
download (opsiyonel): true - Dosyayı direkt indirir, yoksa download linki döner{
"success": true,
"message": "Products exported successfully",
"data": {
"download_url": "https://example.com/storage/exports/seller_products_10_2024-12-15_143025.xlsx",
"filename": "seller_products_10_2024-12-15_143025.xlsx",
"file_size": 245760,
"note": "Add ?download=true to the URL to download the file directly"
}
}
GET /api/seller/products/export - Download linki döner (JSON response)GET /api/seller/products/export?download=true - Dosyayı direkt indirir (Excel dosyası)CSV/Excel dosyasından ürünleri toplu olarak içe aktarır.
Birden fazla ürünü aynı anda günceller. Her ürün için sadece güncellenecek alanları gönderin.
{
"products": [
{
"id": 123,
"unit_price": 199.99,
"current_stock": 50,
"published": true
},
{
"id": 124,
"unit_price": 299.99,
"published": false
}
]
}
| Göndermeniz Gereken | Tablo Sütunu | Açıklama |
|---|---|---|
products[].id |
products.id |
Ürün ID (zorunlu, satıcıya ait olmalı) |
products[].unit_price |
products.unit_price, product_stocks.price |
Birim fiyat (opsiyonel, numeric, min: 0) |
products[].current_stock |
product_stocks.qty |
Stok miktarı (opsiyonel, integer, min: 0, varyantlı ürünlerde ilk stok güncellenir) |
products[].published |
products.published |
Yayın durumu (opsiyonel, boolean, true/false) |
product_stocks.price - unit_price güncellenirse stok fiyatı da güncellenircurrent_stock ilk stok kaydını günceller{
"success": true,
"message": "Bulk update completed. Updated: 2, Failed: 0",
"data": {
"updated_count": 2,
"failed_count": 0,
"errors": []
}
}
id zorunludurerrors dizisinde listelenirupdated_count ve failed_count bilgileri yer alırKategorileri listeleyebilir, ağaç yapısını alabilir ve detaylarını görüntüleyebilirsiniz.
GET /api/seller/categories - Kategorileri listeleGET /api/seller/categories/tree - Kategori ağacını getirGET /api/seller/categories/{id} - Kategori detayıGET /api/seller/categories?per_page=all - Tüm kategorileri listeleGET /api/seller/categories?per_page=-1 - Tüm kategorileri listele (alternatif)GET /api/seller/brands - Markaları listeleGET /api/seller/brands/{id} - Marka detayıGET /api/seller/brands?per_page=all - Tüm markaları listeleGET /api/seller/brands?per_page=-1 - Tüm markaları listele (alternatif)GET /api/seller/orders - Siparişleri listele (ödeme durumu dahil)GET /api/seller/orders/{id} - Sipariş detayı (ödeme durumu dahil)POST /api/seller/orders - Sipariş oluşturPUT /api/seller/orders/{id}/status - Sipariş durumu güncellePOST /api/seller/orders/{id}/cancel - Sipariş iptal etPOST /api/seller/orders/{id}/upload-invoice - Sipariş faturası yüklepayment_status alanı API'de görüntülenir"paid" (ödendi) veya "unpaid" (ödenmedi)GET /api/seller/orders?payment_status=paid şeklinde kullanılabilirGET /api/seller/orders?per_page=all - Tüm siparişleri listele (pagination olmadan)GET /api/seller/orders?per_page=-1 - Tüm siparişleri listele (alternatif yöntem)status, payment_status, date_from, date_to, search, per_page, page| Göndermeniz Gereken | Tablo Sütunu | Açıklama |
|---|---|---|
customer.name |
users.name |
Müşteri adı (zorunlu) |
customer.email |
users.email |
Müşteri e-posta (zorunlu) |
customer.phone |
users.phone |
Müşteri telefon (zorunlu) |
customer.address |
orders.shipping_address |
Teslimat adresi (zorunlu) |
customer.city |
orders.shipping_address |
Şehir (zorunlu) |
customer.country |
orders.shipping_address |
Ülke (zorunlu) |
customer.postal_code |
orders.shipping_address |
Posta kodu (zorunlu) |
customer.tc_identity_number |
orders.shipping_address |
TC Kimlik No (opsiyonel, 11 karakter) |
items[].product_id |
order_details.product_id |
Ürün ID (zorunlu, satıcıya ait olmalı) |
items[].quantity |
order_details.quantity |
Miktar (zorunlu, min: 1) |
items[].variation |
order_details.variation |
Varyant (opsiyonel) |
payment_type |
orders.payment_type |
Ödeme tipi (zorunlu: bank_payment, cash_on_delivery, wallet_payment, iyzico) |
payment_status |
orders.payment_status |
Ödeme durumu (sadece okuma, admin tarafından kontrol edilir: "paid", "unpaid") |
additional_info |
orders.additional_info |
Ek bilgi (opsiyonel) |
orders.seller_id - Giriş yapan satıcının ID'siorders.code - Sipariş kodu (otomatik oluşturulur)orders.date - Sipariş tarihi (otomatik)orders.payment_status - Ödeme durumu (admin tarafından kontrol edilir, API'de görüntülenir: "paid", "unpaid")orders.delivery_status - Teslimat durumu (varsayılan: pending)order_details.price - Ürün fiyatı (otomatik hesaplanır)order_details.tax - Vergi tutarı (otomatik hesaplanır)order_details.shipping_cost - Kargo ücreti (otomatik hesaplanır)orders.grand_total - Toplam tutar (otomatik hesaplanır)product_stocks.qty - Stok düşülür (otomatik)| Göndermeniz Gereken | Tablo Sütunu | Açıklama |
|---|---|---|
delivery_status |
orders.delivery_status |
Teslimat durumu (zorunlu: pending, confirmed, picked_up, on_the_way, delivered, cancelled) |
tracking_code |
orders.tracking_code |
Kargo takip kodu (opsiyonel) |
order_details.delivery_status - Tüm sipariş detaylarının durumu güncellenirorders.delivery_status - "cancelled" olarak güncellenirorder_details.delivery_status - Tüm detaylar "cancelled" olurproduct_stocks.qty - Stok geri eklenir (dijital ürünler hariç){
"success": true,
"data": [
{
"id": 123,
"code": "20241215-14302545",
"date": "2024-12-15 14:30:25",
"customer": {
"id": 45,
"name": "Ahmet Yılmaz",
"email": "ahmet@example.com",
"phone": "05551234567"
},
"payment_type": "bank_payment",
"payment_status": "paid",
"delivery_status": "pending",
"grand_total": "250.00"
}
],
"pagination": {
"current_page": 1,
"last_page": 5,
"per_page": 20,
"total": 72
}
}
{
"customer": {
"name": "Ahmet Yılmaz",
"email": "ahmet@example.com",
"phone": "05551234567",
"address": "Atatürk Cad. No:123",
"city": "İstanbul",
"country": "Türkiye",
"postal_code": "34000",
"tc_identity_number": "12345678901"
},
"items": [
{
"product_id": 789,
"quantity": 2,
"variation": ""
}
],
"payment_type": "bank_payment"
}
| Göndermeniz Gereken | Tablo Sütunu | Açıklama |
|---|---|---|
invoice_file |
orders.invoice_file, uploads.id |
Fatura dosyası (zorunlu, multipart/form-data) |
curl -X POST https://example.com/api/seller/orders/123/upload-invoice \
-H "Authorization: Bearer {token}" \
-F "invoice_file=@/path/to/invoice.pdf"
const formData = new FormData();
formData.append('invoice_file', fileInput.files[0]);
fetch('https://example.com/api/seller/orders/123/upload-invoice', {
method: 'POST',
headers: {
'Authorization': 'Bearer {token}'
},
body: formData
})
.then(response => response.json())
.then(data => console.log(data));
{
"success": true,
"message": "Invoice uploaded successfully",
"data": {
"order_id": 123,
"invoice_file_id": 456,
"invoice_url": "https://example.com/storage/uploads/all/invoice.pdf"
}
}
uploads/all klasörüne kaydederuploads tablosuna kayıt oluştururorders.invoice_file sütununu güncellerinvoice olarak işaretlenirorders.id - Sipariş ID (yetkilendirme için)orders.seller_id - Satıcı ID (yetkilendirme için)orders.invoice_file - Fatura dosya IDuploads.id - Yüklenen dosya IDuploads.file_name - Dosya yoluuploads.file_original_name - Orijinal dosya adıuploads.extension - Dosya uzantısıuploads.type - Dosya tipi (invoice)uploads.file_size - Dosya boyutuuploads.user_id - Satıcı IDGET /api/seller/refund-requests - İade taleplerini listeleGET /api/seller/refund-requests/{id} - İade talebi detayıPOST /api/seller/refund-requests/{id}/approve - İade talebini onaylaPOST /api/seller/refund-requests/{id}/reject - İade talebini reddetGET /api/seller/refund-requests?per_page=all - Tüm iade taleplerini listele (pagination olmadan)GET /api/seller/refund-requests?per_page=-1 - Tüm iade taleplerini listele (alternatif yöntem)status (pending, approved, rejected), refund_status (pending, approved, rejected), date_from, date_to, search (sipariş kodu ile), per_page, page| Parametre | Açıklama | Örnek |
|---|---|---|
status |
Satıcı onay durumu (all, pending, approved, rejected) | ?status=pending |
refund_status |
İade durumu (pending, approved, rejected) | ?refund_status=approved |
date_from |
Başlangıç tarihi (Y-m-d formatında) | ?date_from=2026-01-01 |
date_to |
Bitiş tarihi (Y-m-d formatında) | ?date_to=2026-01-31 |
search |
Sipariş kodu ile arama | ?search=20260107 |
per_page |
Sayfa başına kayıt sayısı (varsayılan: 15, 'all' veya -1 ile tümü) | ?per_page=20 |
page |
Sayfa numarası | ?page=2 |
{
"success": true,
"data": [
{
"id": 1,
"order_id": 180,
"order_code": "20260107-10255162",
"order_detail_id": 183,
"customer": {
"id": 5,
"name": "Kupon Test Müşteri",
"email": "kupontest@example.com",
"phone": "05551234567"
},
"product": {
"id": 36557,
"name": "Black Truffle Noir - Özel Üretim Kristal Çanta",
"thumbnail": "https://example.com/uploads/thumb.jpg",
"sku": "SKU-123"
},
"reason": "Ürün hasarlı geldi",
"refund_amount": "29452.50",
"refund_type": "individual",
"refund_type_text": "Bireysel",
"seller_approval": 0,
"seller_approval_text": "Bekliyor",
"admin_approval": 0,
"admin_approval_text": "Bekliyor",
"refund_status": 0,
"refund_status_text": "Bekliyor",
"rejection_reason": null,
"created_at": "2026-01-07 10:25:51",
"updated_at": "2026-01-07 10:25:51"
}
],
"pagination": {
"current_page": 1,
"last_page": 5,
"per_page": 15,
"total": 72
}
}
{
"success": true,
"data": {
"id": 1,
"order_id": 180,
"order_code": "20260107-10255162",
"order_detail_id": 183,
"customer": {
"id": 5,
"name": "Kupon Test Müşteri",
"email": "kupontest@example.com",
"phone": "05551234567"
},
"product": {
"id": 36557,
"name": "Black Truffle Noir - Özel Üretim Kristal Çanta",
"thumbnail": "https://example.com/uploads/thumb.jpg",
"sku": "SKU-123"
},
"reason": "Ürün hasarlı geldi",
"refund_amount": "29452.50",
"refund_type": "individual",
"refund_type_text": "Bireysel",
"seller_approval": 0,
"seller_approval_text": "Bekliyor",
"admin_approval": 0,
"admin_approval_text": "Bekliyor",
"refund_status": 0,
"refund_status_text": "Bekliyor",
"rejection_reason": null,
"order_detail": {
"id": 183,
"variation": "",
"quantity": 1,
"price": "29452.50",
"tax": "0.00",
"shipping_cost": "0.00"
},
"order": {
"id": 180,
"code": "20260107-10255162",
"date": "2026-01-07 10:25:51",
"payment_status": "paid",
"delivery_status": "confirmed"
},
"created_at": "2026-01-07 10:25:51",
"updated_at": "2026-01-07 10:25:51"
}
}
| API Response Alanı | Tablo Sütunu | Açıklama |
|---|---|---|
id |
refund_requests.id |
İade talebi ID |
order_id |
refund_requests.order_id |
Sipariş ID |
order_detail_id |
refund_requests.order_detail_id |
Sipariş detay ID |
seller_id |
refund_requests.seller_id |
Satıcı ID (filtreleme için kullanılır) |
reason |
refund_requests.reason |
İade nedeni |
refund_amount |
refund_requests.refund_amount |
İade tutarı (ürün fiyatı + vergi + kargo ücreti) |
refund_type |
refund_requests.refund_type |
İade tipi (individual, company) |
seller_approval |
refund_requests.seller_approval |
Satıcı onay durumu (0: Bekliyor, 1: Onaylandı, 2: Reddedildi) |
admin_approval |
refund_requests.admin_approval |
Admin onay durumu (0: Bekliyor, 1: Onaylandı, 2: Reddedildi) |
refund_status |
refund_requests.refund_status |
İade durumu (0: Bekliyor, 1: Onaylandı, 2: Reddedildi) |
rejection_reason |
refund_requests.rejection_reason |
Red nedeni (varsa) |
created_at |
refund_requests.created_at |
Oluşturulma tarihi |
updated_at |
refund_requests.updated_at |
Güncellenme tarihi |
orders - Sipariş bilgileri (code, payment_status, delivery_status)order_details - Sipariş detay bilgileri (product_id, quantity, price, tax, shipping_cost)products - Ürün bilgileri (name, thumbnail_img, sku)users - Müşteri bilgileri (name, email, phone)Bekleyen bir iade talebini onaylar. Sadece seller_approval = 0 (Bekliyor) durumundaki talepler onaylanabilir.
{
"success": true,
"message": "İade talebi onaylandı",
"data": {
"id": 1,
"seller_approval": 1,
"seller_approval_text": "Onaylandı",
...
}
}
refund_requests.seller_approval - 1 (Onaylandı) olarak güncellenir{
"rejection_reason": "Ürün kullanılmış durumda, iade kabul edilemez"
}
| Göndermeniz Gereken | Tablo Sütunu | Açıklama |
|---|---|---|
rejection_reason |
refund_requests.rejection_reason |
Red nedeni (zorunlu, maksimum 500 karakter) |
{
"success": true,
"message": "İade talebi reddedildi",
"data": {
"id": 1,
"seller_approval": 2,
"seller_approval_text": "Reddedildi",
"rejection_reason": "Ürün kullanılmış durumda, iade kabul edilemez",
...
}
}
refund_requests.seller_approval - 2 (Reddedildi) olarak güncellenirrefund_requests.rejection_reason - Red nedeni kaydedilirseller_approval = 0 (Bekliyor) durumundaki talepler onaylanabilir veya reddedilebilirGET /api/seller/stocks - Stokları listele (filtreleme: product_id, low_stock, out_of_stock)GET /api/seller/stocks/product/{productId} - Ürün stok detayıGET /api/seller/stocks/low-stock - Düşük stok uyarılarıPUT /api/seller/stocks/{id} - Stok miktarı güncellePOST /api/seller/stocks/bulk-update - Toplu stok güncellemeGET /api/seller/stocks?per_page=all - Tüm stokları listeleGET /api/seller/stocks?per_page=-1 - Tüm stokları listele (alternatif)PUT /api/seller/prices/product/{productId} - Ürün fiyatı güncellePOST /api/seller/prices/bulk-update - Toplu fiyat güncellemeGET /api/seller/reports/sales - Satış raporları (günlük/haftalık/aylık)GET /api/seller/reports/products - Ürün performans raporlarıGET /api/seller/reports/commission - Komisyon raporlarıGET /api/seller/reports/dashboard - Dashboard istatistikleridate_from - Başlangıç tarihi (Y-m-d)date_to - Bitiş tarihi (Y-m-d)group_by - Gruplama (day, week, month)limit - Limit (ürün raporları için)GET /api/seller/customers - Müşterileri listeleGET /api/seller/customers/{id} - Müşteri detayı ve sipariş geçmişiGET /api/seller/customers?per_page=all - Tüm müşterileri listeleGET /api/seller/customers?per_page=-1 - Tüm müşterileri listele (alternatif)GET /api/seller/coupons - Kuponları listeleGET /api/seller/coupons/{id} - Kupon detayıPOST /api/seller/coupons - Kupon oluşturPUT /api/seller/coupons/{id} - Kupon güncelleDELETE /api/seller/coupons/{id} - Kupon silGET /api/seller/coupons?per_page=all - Tüm kuponları listeleGET /api/seller/coupons?per_page=-1 - Tüm kuponları listele (alternatif)product_base - Ürün bazlı kuponcart_base - Sepet bazlı kuponwelcome_base - Hoş geldin kuponuGET /api/seller/reviews - Ürün yorumlarını listeleGET /api/seller/reviews/product/{productId} - Ürün yorum detaylarıGET /api/seller/reviews?per_page=all - Tüm yorumları listeleGET /api/seller/reviews?per_page=-1 - Tüm yorumları listele (alternatif)GET /api/seller/digital-products - Dijital ürünleri listeleGET /api/seller/digital-products/{id} - Dijital ürün detayıPOST /api/seller/digital-products - Dijital ürün oluşturPUT /api/seller/digital-products/{id} - Dijital ürün güncelleDELETE /api/seller/digital-products/{id} - Dijital ürün silGET /api/seller/digital-products/{id}/download - Dijital ürün indirGET /api/seller/payment-history - Ödeme geçmişini listeleGET /api/seller/payment-history/{id} - Ödeme detayıGET /api/seller/withdraw-requests - Para çekme isteklerini listeleGET /api/seller/withdraw-requests/{id} - İstek detayıPOST /api/seller/withdraw-requests - Yeni para çekme isteği oluşturGET /api/seller/shop - Mağaza bilgilerini getirPUT /api/seller/shop - Mağaza ayarlarını güncellePOST /api/seller/shop/verification - Mağaza doğrulama başvurusu gönderGET /api/seller/conversations - Konuşmaları listeleGET /api/seller/conversations/{id} - Konuşma detayı ve mesajlarPOST /api/seller/conversations/{id}/message - Mesaj gönderGET /api/seller/support-tickets - Destek taleplerini listeleGET /api/seller/support-tickets/{id} - Ticket detayıPOST /api/seller/support-tickets - Yeni ticket oluşturPOST /api/seller/support-tickets/{id}/reply - Ticket'a yanıt verGET /api/seller/product-queries - Ürün sorularını listeleGET /api/seller/product-queries/{id} - Soru detayıPUT /api/seller/product-queries/{id}/reply - Soruya yanıt verGET /api/seller/notifications - Bildirimleri listelePUT /api/seller/notifications/{id}/read - Bildirimi okundu işaretleDELETE /api/seller/notifications/{id} - Bildirimi silPOST /api/seller/notifications/bulk-delete - Toplu bildirim silGET /api/seller/addresses - Adresleri listeleGET /api/seller/addresses/{id} - Adres detayıPOST /api/seller/addresses - Yeni adres oluşturPUT /api/seller/addresses/{id} - Adres güncelleDELETE /api/seller/addresses/{id} - Adres silPUT /api/seller/addresses/{id}/set-default - Varsayılan adres belirleGET /api/seller/uploads - Yüklenen dosyaları listeleGET /api/seller/uploads/{id} - Dosya bilgisiPOST /api/seller/uploads - Dosya yükleDELETE /api/seller/uploads/{id} - Dosya silGET /api/seller/commission-history - Komisyon geçmişini listeleGET /api/seller/commission-history/{id} - Komisyon detayıWebhook'lar ile sistemdeki değişiklikleri gerçek zamanlı olarak takip edebilirsiniz.
GET /api/seller/webhooks - Webhook'ları listelePOST /api/seller/webhooks - Yeni webhook oluşturPUT /api/seller/webhooks/{id} - Webhook güncelleDELETE /api/seller/webhooks/{id} - Webhook silorder.created - Yeni sipariş oluşturulduğundaorder.updated - Sipariş durumu güncellendiğindeorder.cancelled - Sipariş iptal edildiğindestock.updated - Stok güncellendiğinde// Webhook oluşturma örneği
POST /api/seller/webhooks
{
"event_type": "order.created",
"url": "https://your-domain.com/webhook-handler",
"secret": "your-secret-key" // Opsiyonel, otomatik oluşturulur
}
// Webhook payload örneği
{
"event": "order.created",
"timestamp": "2026-01-03T10:30:00Z",
"data": {
"order_id": 123,
"code": "20260103-001",
"grand_total": "150.00"
}
}
// Header'da imza kontrolü
X-Webhook-Signature: sha256_hmac_signature
| Ürün Sayısı | Süre | Hız (ürün/saniye) | Ortalama (saniye/ürün) |
|---|---|---|---|
| 5 | ~4 saniye | 1.35 | 0.75 |
| 10 | ~7 saniye | 1.54 | 0.65 |
| 20 | ~14 saniye | 1.48 | 0.68 |
| 50 | ~32 saniye | 1.58 | 0.63 |
| 100 | ~65 saniye | ~1.54 | ~0.65 |
curl -X POST https://www.giyimmoda.com.tr/api/seller/products/bulk \
-H "X-API-Key: sk_XXXXXXXXXXXX" \
-H "X-API-Secret: xxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"products": [...]
}'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.giyimmoda.com.tr/api/seller/products/bulk');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['products' => $products]));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-Key: sk_XXXXXXXXXXXX',
'X-API-Secret: xxxxxxxxxxxxxx',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
const response = await fetch('https://www.giyimmoda.com.tr/api/seller/products/bulk', {
method: 'POST',
headers: {
'X-API-Key': 'sk_XXXXXXXXXXXX',
'X-API-Secret': 'xxxxxxxxxxxxxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
products: [...]
})
});
const data = await response.json();
customer.name → users.namecustomer.email → users.emailcustomer.phone → users.phonecustomer.address, city, country, postal_code → orders.shipping_addresscustomer.tc_identity_number → orders.shipping_address (opsiyonel)items[].product_id → order_details.product_iditems[].quantity → order_details.quantitypayment_type → orders.payment_typeusers)orders)order_details)product_stocks.qty)name → products.namedescription → products.descriptioncategory_id → products.category_idbrand_id → products.brand_id (opsiyonel)barcode → products.barcode (opsiyonel)delivery_time → products.delivery_time (opsiyonel, gün cinsinden)unit_price → products.unit_pricecurrent_stock → product_stocks.qtytax_rate → product_taxes.tax_id (opsiyonel, verilmezse admin panelinden varsayılan vergi eklenir)thumbnail_img_url → products.thumbnail_imggallery_images_urls (en az 2) → products.photosproducts)product_stocks)uploads)product_categories)product_taxes)orders.seller_id otomatik atanır (giriş yapan satıcı)product_stocks.qty sipariş oluşturulunca düşer, iptal edilince geri ekleniruploads tablosuna kaydedilirAPI ile ilgili sorularınız için lütfen destek ekibi ile iletişime geçin.