Chaîne canonique
Joignez ces cinq lignes par un saut de ligne. Calculez le SHA-256 des octets exacts que vous envoyez. Signez cette chaîne en HMAC-SHA256 avec le secret.
{account authorization}
{METHOD}
https://api.boxis.net{path}
{unix timestamp}
{sha256 of the raw body}
Une espace, un ordre de champs JSON différent, ou un saut de ligne en trop change le hachage et la signature ne correspond plus.
Route et corps
Le corps JSON choisit la section et la commande. Les champs inconnus sont ignorés. La méthode et le chemin signés doivent être accordés à la clé, et ils doivent être la route de cette commande. Un écart donne HTTP 403. Une section réservée donne HTTP 501.
{"section":"/sms","command":"getAPITimestamp"}
Temps, IP, limites
- L’horodatage doit être dans une fenêtre de 5 minutes. La même signature est refusée une seconde fois.
- api.boxis.net enregistre l’adresse de l’appelant. Si la clé a une liste d’IP, toute autre adresse reçoit HTTP 401. L’appelant ne choisit pas cette adresse.
- Trop de requêtes renvoie HTTP 429. Des échecs d’authentification répétés peuvent bloquer l’adresse source un moment.
- Une clé révoquée, expirée, ou inutilisée depuis un an est refusée à la requête suivante.
Réponse
Le succès est HTTP 201 pour sendSMS et HTTP 200 pour les autres commandes en service. Le corps contient result, message et data. Une erreur contient code et message. La référence liste chaque code.