Developers
Merchant REST API
Quiksa verilerinize Client ID ve Client Secret ile erişin. OAuth veya access token yoktur — her istekte kimlik bilgilerini header olarak gönderin.
Giriş
Base URL: https://quiksa.com/api/v1
API, Pro planındaki API & Entegrasyon özelliği ile açılır. Dokümantasyon herkese açıktır; canlı istekler ve kimlik bilgisi yönetimi Pro gerektirir.
Client credentials
Header ile ID + Secret
Scope kontrolü
Kaynak bazlı yetki
120/dk
İstemci başına limit
Kimlik doğrulama
Her istekte aşağıdaki header’ları gönderin:
X-Quiksa-Client-Id: qk_...
X-Quiksa-Client-Secret: qks_...
Accept: application/jsonAlternatif olarak Basic auth kullanabilirsiniz: Authorization: Basic base64(client_id:client_secret)
Client Secret yalnızca Ayarlar → API’de oluşturma veya yenileme anında bir kez gösterilir. Secret asla loglanmaz.
Scopes
Her istemciye atanmış scope’lar, hangi endpoint’lere erişileceğini belirler. Eksik scope durumunda 403 ve insufficient_scope döner.
| Scope | Açıklama |
|---|---|
| products:read | Ürünleri okuma |
| products:write | Ürün yazma |
| categories:read | Kategori okuma |
| categories:write | Kategori yazma |
| brands:read | Marka okuma |
| brands:write | Marka yazma |
| orders:read | Sipariş okuma |
| orders:write | Sipariş güncelleme |
| customers:read | Müşteri okuma |
| conversations:read | Konuşma okuma |
Rate limit
İstemci başına dakikada en fazla 120 istek. Limit aşıldığında 429 ve Retry-After header’ı döner.
Hata formatı
{
"message": "İnsan okunur açıklama",
"code": "invalid_credentials",
"errors": {}
}401— eksik/yanlış kimlik bilgisi403—api_integration_required,insufficient_scope, abonelik kapalı404— kaynak yok422— doğrulama hatası429— rate limit
İlk istek
- Pro plana geçin ve Ayarlar → API’den istemci oluşturun.
- Client Secret’i güvenli saklayın.
GET /meile bağlantıyı doğrulayın.
cURL
curl -s "https://quiksa.com/api/v1/me" \
-H "X-Quiksa-Client-Id: qk_your_client_id" \
-H "X-Quiksa-Client-Secret: qks_your_client_secret" \
-H "Accept: application/json"JavaScript
const response = await fetch("https://quiksa.com/api/v1/me", {
headers: {
"X-Quiksa-Client-Id": process.env.QUIKSA_CLIENT_ID,
"X-Quiksa-Client-Secret": process.env.QUIKSA_CLIENT_SECRET,
Accept: "application/json",
},
});
const payload = await response.json();PHP (Laravel HTTP)
$response = Http::withHeaders([
'X-Quiksa-Client-Id' => env('QUIKSA_CLIENT_ID'),
'X-Quiksa-Client-Secret' => env('QUIKSA_CLIENT_SECRET'),
'Accept' => 'application/json',
])->get('https://quiksa.com/api/v1/me');
$data = $response->json();Kaynaklar (özet)
GET /me— işletme, plan, scope listesiGET/POST /products,GET/PATCH /products/{id}GET/POST /categories,GET/PATCH /categories/{id}GET/POST /brands,GET/PATCH /brands/{id}GET /orders,GET/PATCH /orders/{id}GET /customers,GET /customers/{id}GET /conversations,GET /conversations/{id}
Sayfalama: page, per_page (maks. 100). Makine okunur spesifikasyon: https://quiksa.com/api/v1/openapi.json
v1 kapsamında olmayanlar: mesaj gönderme, AI tetikleme, ödeme oluşturma, dosya upload, outbound webhook’lar.