Podstawy API
Podpisywanie żądań (HMAC)
Każde żądanie API v2 to HTTP POST z
Content-Type: application/x-www-form-urlencoded i dokładnie czterema
polami:
| Pole | Wartość |
|---|---|
app_id | ID aplikacji z panelu Apaczka |
request | Payload metody, zserializowany do stringa JSON |
expires | Znacznik czasu Unix ważności żądania (maks. +15 minut) |
signature | Podpis HMAC-SHA256 — patrz niżej |
Podpis
String do podpisania to cztery wartości połączone :
Code
gdzie route to ścieżka metody wraz z parametrami ścieżki i końcowym
ukośnikiem — np. order_send/, points/INPOST/ albo waybill/123456/.
Podpis to HMAC-SHA256 tego stringa (klucz: app_secret), zapisany
szesnastkowo małymi literami.
Przykład (PHP)
Code
Podpisuj dokładnie ten string, który wysyłasz jako request. Ponowna
serializacja payloadu po podpisaniu (inna kolejność kluczy, białe znaki,
escapowanie) to najczęstsza przyczyna błędu Invalid signature.
Częste pułapki
- Brak końcowego ukośnika w
route—order_sendpodpisuje się inaczej niżorder_send/. Serwer podpisuje z ukośnikiem. - Parametry ścieżki należą do route — dla
waybill/123456/podpisujesz pełną ścieżkę z ID zamówienia. expireszbyt daleko w przyszłości — limit to 15 minut.- HTTP 200 nie oznacza sukcesu — zobacz Semantykę błędów.
Pełna referencja metod: API v2 (EN).
Last modified on

