Authentification
L'API Sendveo authentifie chaque requête avec une clé API. Les clés se créent et se révoquent dans le tableau de bord, sous Clés API.
Clés API
Une clé est affichée en entier exactement une fois, à sa création. Conservez-la en lieu sûr. Sendveo n'en garde qu'un préfixe pour que vous puissiez la reconnaître plus tard. Traitez les clés comme des mots de passe : ne les enregistrez jamais dans un gestionnaire de code source et ne les exposez jamais dans un navigateur.
Transmettre la clé
Transmettez la clé dans l'en-tête X-API-KEY :
curl https://api.sendveo.com/v1/numbers \
-H "X-API-KEY: sv_live_your_key_here"Un jeton bearer est également accepté, si cela convient mieux à votre client HTTP :
curl https://api.sendveo.com/v1/numbers \
-H "Authorization: Bearer sv_live_your_key_here"Portées
Chaque clé porte un ensemble de portées qui limitent ce qu'elle peut faire. N'accordez que ce dont une intégration donnée a besoin.
| Portée | Accorde |
|---|---|
| numbers:read | Lister et lire les numéros. |
| numbers:write | Créer, vérifier, reconnecter et déconnecter des numéros. |
| messages:read | Lire les messages stockés. |
| messages:send | Envoyer des messages. |
| messages:manage | Réagir, transférer, supprimer pour tout le monde, et marquer une conversation comme lue. |
| chats:read | Lister et lire les conversations. |
| chats:manage | Archiver, mettre en sourdine, et récupérer l'historique ancien. |
| contacts:read | Profils de contacts, photos de contacts, et la vérification de présence sur WhatsApp. |
| groups:read | Lister et lire les groupes, et les photos de groupe. |
| groups:manage | Créer un groupe, ajouter et retirer des membres, quitter. |
| webhooks:manage | Lire et définir votre webhook de relais. |
| *:read | Toutes les portées de lecture à la fois (une clé en lecture seule). |
La lecture et l'écriture sont séparées par domaine, et contacts:read n'a volontairement pas de jumeau en écriture : Sendveo n'écrit jamais un contact nulle part. Une clé émise avant l'existence d'une portée ne la porte pas et répond 403 sur les routes qui en ont besoin ; la portée ne peut pas lui être ajoutée, alors émettez une nouvelle clé.
Non autorisé
Une clé manquante, révoquée ou hors de portée renvoie 401 ou 403 avec l'enveloppe d'erreur standard :
{
"error": {
"code": "UNAUTHORIZED",
"message": "The request was not authenticated."
}
}Compte en attente
Un refus n'a parfois rien à voir avec la clé : un 402 portant le code ACCOUNT_SUSPENDED décrit l'état du compte. La clé est valide, ses portées sont bonnes, et la faire tourner ou relancer un parcours de consentement n'y change rien. Tant que le compte est en attente, toutes les routes répondent de la même façon, sauf la connexion et la facturation. Contactez-nous pour rétablir l'accès.
{
"error": {
"code": "ACCOUNT_SUSPENDED",
"message": "Your account is on hold. Contact us to restore access."
}
}