Tüm /api/v1 istekleri üç başlıkla imzalanır (her isteğin Headers sekmesinde görürsünüz):| Başlık | Değer |
|---|
X-Api-Key | Size verilen anahtar (ak_...) |
X-Timestamp | Unix epoch, saniye (sunucu toleransı ±300 sn) |
X-Signature | Aşağıdaki hesaplamanın sonucu (hex, küçük harf) |
Hesaplama (4 satır)#
body_hash = hex(SHA256(ham istek gövdesi)) # gövde yoksa: SHA256("")
string_to_sign = X-Timestamp + "\n" + METHOD + "\n" + path[?query] + "\n" + body_hash
X-Signature = hex(HMAC-SHA256(api_secret, string_to_sign))
METHOD büyük harf (POST, GET, DELETE).
path[?query] host İÇERMEZ: /api/v1/cards/card_.../load gibi; query varsa aynen eklenir (/api/v1/reference/cities?country=TR).
Gövde, imzalanan bayt dizisiyle birebir aynı gönderilmelidir (aynı JSON string).
api_secret (sk_...) ağda hiç dolaşmaz; yalnız imza hesabında kullanılır.
Para hareketi yaratan POST'larda ayrıca Idempotency-Key başlığı zorunludur.
PHP örneği#
Node.js örneği#
Bu koleksiyonda#
{{timestamp}} ve {{signature}} değişkenlerini koleksiyonun Pre-request Script'i her gönderimde otomatik hesaplar (koleksiyon → Scripts sekmesinden inceleyebilirsiniz — yukarıdaki algoritmanın JavaScript hali). Kendi entegrasyonunuzda bu hesabı sunucu tarafınızda yaparsınız.Çalışan uçtan uca PHP + curl örneği: docs/API.md → "İmza hesaplama".Olası hatalar: 401 invalid_signature (yanlış hesap / farklı gövde) · 401 timestamp_out_of_range (saat kayması > 300 sn — NTP senkronu önerilir) · 401 unknown_api_key · 403 tenant_suspended. Modified at 2026-07-17 06:26:49