Skip to content

Entegratör API — Genel Bakış ​

Bu bölüm tema geliştiricileri için değil, bir mağazanın verisini dışarıdan okuyup yazmak isteyenler içindir: ERP/muhasebe senkronizasyonu, pazaryeri (Trendyol, Hepsiburada vb.) sipariş aktarımı, özel bir stok yönetim aracı gibi. Winkwop tarafında buna "entegrasyon uygulaması" denir.

Zihinsel model ​

Mağaza sahibi panelde Uygulamalar ekranından kendi uygulamasını oluşturur (bkz. /admin/apps → "Uygulama oluştur"). Bu işlem:

  1. Bir uygulama kaydı açar (yalnızca o mağazaya görünür),
  2. Seçtiği izinlerle (scopes) bir API anahtarı üretir,
  3. Anahtarı bir kez gösterir — ham hâli bir daha hiçbir yanıtta dönmez.

Siz (entegratör) bu anahtarı alıp kendi sisteminizde saklarsınız ve her istekte X-Api-Key başlığıyla gönderirsiniz. JWT/oturum yok — anahtar başlı başına kimlik doğrulamadır ve süresi yoktur (elle "yeniden oluştur" denene kadar geçerlidir).

Mağaza paneli                  Sizin sisteminiz              Winkwop API
──────────────                 ─────────────────              ───────────
Uygulama oluştur, izin seç
Anahtarı kopyala      ──────►  X-Api-Key: wk_sk_...    ──────►  /api/v1/integration/...
                                                                 (yalnızca izinli uçlar)

Taban adres ​

https://api.winkwop.com/api/v1/integration

Tüm entegrasyon uçları bu önekin altındadır — panelin kendi kullandığı /api/v1/products gibi uçlarla karıştırmayın, onlar JWT/oturum ister, API anahtarıyla çalışmaz.

Kimlik doğrulama ​

Her istekte:

bash
curl https://api.winkwop.com/api/v1/integration/products \
  -H "X-Api-Key: wk_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Başlık eksik, boş veya geçersizse 401 Unauthorized döner (gövdesiz). Mağaza aktif değilse (askıya alınmış vb.) 403 Forbidden döner.

İzinler (scopes) ​

Bir anahtar yalnızca kendisine verilen izinlerin kapsadığı uçlara erişebilir. İzin dışı bir uca istek atarsanız 403 Forbidden alırsınız (gövdesiz — bu, uygulama hatalarından farklı olarak middleware seviyesinde kesilir).

İzinNeyi açar
read_productsÜrün listesi/detayı okuma
write_productsÜrün oluşturma, güncelleme, silme, CSV/XML içe aktarma
read_ordersSipariş listesi/detayı okuma
write_ordersSipariş oluşturma, durum/kargo takip güncelleme
read_categoriesKategori listesi/detayı okuma
write_categoriesKategori oluşturma, güncelleme, silme
read_inventoryÜrün başına depo bazlı stok okuma
write_inventoryStok seviyesi güncelleme
read_discountsKampanya ve kupon listesi/detayı okuma
write_discountsKampanya ve kupon oluşturma, güncelleme, silme
read_customersMüşteri listesi/detayı okuma
write_customersMüşteri oluşturma, güncelleme, silme

Bir uygulamanın izinlerini sonradan değiştirmek isterseniz — panelde uygulama detay sayfasındaki Düzenle butonuyla açılır/kapatılır. Anahtar aynı kalır, değişiklik bir sonraki istekte hemen geçerli olur; yeniden anahtar üretmenize gerek yoktur.

Hata biçimi ​

Uygulama seviyesindeki hatalar (izin yeterli ama istek geçersiz, kayıt yok vb.) tutarlı bir JSON gövdesiyle döner:

json
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Ürün bulunamadı"
  }
}
HTTPcodeAnlamı
400BAD_REQUESTGövde eksik/geçersiz alan
401UNAUTHORIZEDAnahtar eksik/geçersiz (gövdesiz — middleware seviyesi)
403FORBIDDENİzin yetersiz (gövdesiz) veya mağaza aktif değil
404NOT_FOUNDKayıt bulunamadı ya da başka mağazaya ait
409CONFLICTÇakışan kayıt (ör. aynı SKU)
422VALIDATION_ERRORAlan bazlı doğrulama hatası
500INTERNAL_ERRORBeklenmeyen hata

404, kaydın hiç var olmadığı durumla başka bir mağazaya ait olduğu durumu ayırt etmez — anahtarınız yalnızca kendi mağazanızın verisini görebilir, başka bir tenant_id'ye ait bir ID denemeniz de 404 döner.

Sırada ne var ​

Senkronizasyon yapıyorsanız ​

Bir ERP, pazaryeri ya da muhasebe sisteminden düzenli ürün/stok senkronizasyonu kuruyorsanız Ürünler sayfasındaki SKU ile upsert ve varyant eşleştirme bölümlerini mutlaka okuyun — sıradan POST/PUT akışından farklı olarak bu uçlar tekrarlanan çağrılarda güvenlidir (yinelenen ürün/varyant açmaz).

Winkwop tema platformu