Kimlik Doğrulama ve İzinler

Anahtarı gönderme

Her istekte API anahtarını Authorization başlığında Bearer olarak gönderin:

GET /api/v1/orders HTTP/1.1
Host: api.hizlisanalmarket.com
Authorization: Bearer hm_sk_9e27c4d1a8b54f0e93d6a7c2e1f8b0d4c3a2e9f1
Accept: application/json

Gövde gönderen isteklerde (POST, PUT) Content-Type: application/json başlığını da ekleyin.

  • Mağaza seçimi için başka bir başlık gerekmez. İstek, anahtarın ait olduğu mağazada çalışır.
  • Anahtar, Bearer öneki olmadan doğrudan da gönderilebilir. Yine de Bearer kullanmanızı öneririz.
  • Bütün istekler HTTPS ile yapılmalıdır.

Uçlar ve gereken izinler

Yöntem Uç İzin
GET /api/v1/products products:read
GET /api/v1/products/{id} products:read
POST /api/v1/products products:write
PUT /api/v1/products/{id} products:write
PUT /api/v1/products/{id}/stock stock:write
POST /api/v1/products/stock-price stock:write
GET /api/v1/categories categories:read
POST /api/v1/categories categories:write
GET /api/v1/brands categories:read
POST /api/v1/brands categories:write
GET /api/v1/orders orders:read
GET /api/v1/orders/{id} orders:read
PUT /api/v1/orders/{id}/status orders:write

Markalar ayrı bir izin grubu değildir. Marka uçları kategori izinlerini kullanır.

Kimlik doğrulama hataları

Anahtar kabul edilmezse istek uca ulaşmaz ve 401 döner:

code Anlamı
MISSING_API_KEY Authorization başlığı gönderilmedi.
INVALID_KEY_FORMAT Değer hm_sk_ ile başlamıyor. Kopyalarken eksik ya da fazla karakter alınmış olabilir.
INVALID_API_KEY Bu anahtar hiçbir mağazada kayıtlı değil.
KEY_INACTIVE Anahtar panelden iptal edilmiş ya da süresi dolmuş.

Anahtar geçerli olduğu halde istek yapılamıyorsa 403 döner:

code Anlamı
INSUFFICIENT_PERMISSION Anahtarın bu uç için izni yok. Gereken izin hata metninde yazar. İzni olan yeni bir anahtar oluşturun.
TENANT_INACTIVE Mağaza aktif değil (askıya alınmış ya da kapatılmış).
MODULE_ACCESS_DENIED Mağazada API modülü kapalı ya da paket API erişimi içermiyor.
MODULE_EXPIRED API modülünün süresi dolmuş.

Örnek yanıt:

{
  "error": "Bu işlem için 'orders:write' izni gerekli.",
  "code": "INSUFFICIENT_PERMISSION"
}