Aller au contenu principal

Authentification

Chaque requête API transmet un jeton d'accès dans l'en-tête Authorization. Vous obtenez ce jeton en échangeant une clé API, composée d'un Client ID et d'un Client secret, auprès du point de terminaison de jeton.

Créer une clé API​

Les clés API sont créées dans l'application DocPayload sous Dashboard > Settings > API access > Manage keys > Generate Key.

Une clé est une paire :

PartieExempleRemarques
Client IDb0aa7303e6704e2188b42681d7b353fe32 caractères hexadécimaux
Client secretune longue chaîne aléatoireAffiché une seule fois, à la génération de la clé. Copiez-le à ce moment : il ne sera plus affiché

Une clé expire au bout d'environ six mois ; la boîte de dialogue indique sa date d'expiration. La même boîte de dialogue affiche votre Tenant ID, que chaque point de terminaison prend dans son chemin.

Échanger la clé contre un jeton d'accès​

Envoyez le Client ID et le secret au point de terminaison de jeton :

curl -X POST https://api.docpayload.com/v1/api-auth/token \
-H "Content-Type: application/json" \
-d '{ "clientId": "YOUR_CLIENT_ID", "clientSecret": "YOUR_CLIENT_SECRET" }'

Succès (200 OK)

{
"access_token": "eyJhbGciOiJSUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "document:read document:write metrics:read asset:upload document:delete"
}

Des identifiants incorrects reçoivent 401 Unauthorized.

Utiliser le jeton d'accès​

Tous les autres appels, y compris le téléchargement d'un document généré, transmettent le jeton comme jeton Bearer :

Authorization: Bearer YOUR_ACCESS_TOKEN

Le jeton est valable 3600 secondes (expires_in). Conservez-le et réutilisez-le pour chaque appel jusqu'à son expiration, puis demandez-en un nouveau ; ne demandez pas un jeton par appel.

Liste d'adresses IP autorisées​

La boîte de dialogue API access contient aussi une liste facultative d'adresses IP autorisées. Lorsqu'elle est renseignée, seules les adresses listées peuvent utiliser vos clés.

Bonnes pratiques de sécurité​

  • Stockez le Client ID et le secret dans des variables d'environnement ou un coffre de secrets, jamais dans le code source
  • Renouvelez une clé en en générant une nouvelle, en y basculant votre intégration, puis en révoquant l'ancienne
  • Renseignez la liste d'adresses IP autorisées avec les adresses depuis lesquelles vos serveurs appellent l'API
  • Gardez le jeton d'accès côté serveur ; n'envoyez jamais le secret ni le jeton à un navigateur

Réponses d'erreur​

ÉtatDescription
401 UnauthorizedJeton d'accès manquant, invalide ou expiré, ou Client ID ou secret incorrect
403 ForbiddenLe jeton n'a pas de permission pour cette ressource, ou l'URL désigne un autre tenant
429 Too Many RequestsLimite de débit dépassée