Authentification
Chaque requête porte une clé machine liée à une organisation, sous forme de bearer token. Les clés sont générées dans le tableau de bord et peuvent être limitées par périmètre.
Clés
Si l’équipe Veeton vous a donné accès à l’API, générez une clé dans le tableau de bord : votre photo de profil en haut à droite → Organisation → Clés API. Les clés commencent par ak_ et sont liées à votre organisation : tout ce qu’une clé crée ou lit appartient à cette organisation, et rien d’autre n’est visible à travers elle.
Envoyez la clé sous forme de bearer token sur chaque requête.
Authorization: Bearer ak_…Les tokens de session du tableau de bord ne sont pas acceptés sur cette API, et une clé liée à un utilisateur plutôt qu’à une organisation est refusée avec 403 org_scoped_key_required.
Une clé appartenant à une organisation qui n’a pas reçu l’accès à l’API est refusée avec 403 api_access_not_enabled.
L’API est réservée aux formules payantes. Une clé appartenant à une organisation en essai gratuit, ou sans abonnement actif, est refusée avec 403 plan_required sur toutes les routes jusqu’au passage à une formule payante ; la clé elle-même n’a pas à changer.
Révocation et mise en cache
Les résultats de vérification sont mis en cache brièvement, si bien que la révocation d’une clé prend effet en une minute environ plutôt qu’instantanément. Les changements de formule subissent le même délai dans les métadonnées de reporting, mais jamais dans leur application : les contrôles de crédits et d’abonnement s’exécutent en direct à chaque tâche, une formule révoquée ne peut donc pas mettre de travail en file d’attente pendant cette minute.
Périmètres
Une clé porte une liste de périmètres (scopes). Chaque route en exige un :
| Périmètre | Accorde |
|---|---|
products:read |
GET sur les produits, les imports et les exports (y compris la création d’un job d’export, qui n’écrit rien chez vous) |
products:write |
Création, mise à jour et suppression de produits ; soumission d’imports |
images:read, images:write |
Lecture et envoi d’images |
tasks:read, tasks:write |
Lecture et lancement de tâches |
webhooks:read, webhooks:write |
Gestion des endpoints de webhook |
models:read |
Liste des mannequins |
Une requête hors des périmètres de la clé est refusée avec 403 insufficient_scope, en nommant le périmètre manquant.
Erreurs que vous rencontrerez
| Statut | error.code |
Signification |
|---|---|---|
401 |
missing_authorization |
Aucun en-tête Authorization: Bearer … |
401 |
invalid_token_type |
Le token n’est pas une clé machine ak_ |
401 |
invalid_api_key |
La clé est inconnue, révoquée ou expirée |
403 |
org_scoped_key_required |
La clé appartient à un utilisateur, pas à une organisation |
403 |
api_access_not_enabled |
L’organisation n’a pas reçu l’accès à l’API. Contactez l’équipe Veeton. |
403 |
insufficient_scope |
La clé n’a pas le périmètre requis par cette route |
403 |
plan_required |
L’organisation est en essai gratuit ou sans abonnement actif. L’API est réservée aux formules payantes. |
503 |
plan_lookup_failed |
Votre abonnement n’a pas pu être lu. Réessayez dans un instant. |
Chaque réponse, y compris celles-ci, porte un en-tête X-Request-Id. Citez-le lorsque vous contactez le support.