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
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 :

En-tête Authorization
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éeAccorde
numbers:readLister et lire les numéros.
numbers:writeCréer, vérifier, reconnecter et déconnecter des numéros.
messages:readLire les messages stockés.
messages:sendEnvoyer des messages.
messages:manageRéagir, transférer, supprimer pour tout le monde, et marquer une conversation comme lue.
chats:readLister et lire les conversations.
chats:manageArchiver, mettre en sourdine, et récupérer l'historique ancien.
contacts:readProfils de contacts, photos de contacts, et la vérification de présence sur WhatsApp.
groups:readLister et lire les groupes, et les photos de groupe.
groups:manageCréer un groupe, ajouter et retirer des membres, quitter.
webhooks:manageLire et définir votre webhook de relais.
*:readToutes 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 :

401 Unauthorized
{
  "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.

402 Payment Required
{
  "error": {
    "code": "ACCOUNT_SUSPENDED",
    "message": "Your account is on hold. Contact us to restore access."
  }
}
Clés API et authentification · Docs Sendveo