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