Scopes et permissions
Les dix scopes disponibles, le cas particulier des entreprises, et l'erreur renvoyée quand un scope manque.
Chaque clé API porte un ou plusieurs scopes. Un scope est une permission précise : il définit ce que la clé a le droit de lire ou d'écrire. Une clé n'accède qu'aux ressources couvertes par ses scopes.
Les dix scopes disponibles
| Scope | Donne accès à |
|---|---|
read:invoices | Lire les factures |
write:invoices | Créer des factures |
read:quotes | Lire les devis |
write:quotes | Créer et envoyer des devis |
read:contacts | Lire les contacts et les entreprises |
write:contacts | Créer des contacts et des entreprises |
read:opportunities | Lire les opportunités |
write:opportunities | Créer des opportunités |
read:products | Voir les produits et leur état de stock |
write:products | Ajuster les stocks et créer des mouvements de stock |
Cas particulier : les produits et le stock
Le stock a ses propres scopes
Les endpoints /products et /stock-movements utilisent read:products et write:products, et non les scopes des contacts. Une clé destinée à un outil de gestion de stock n'a besoin que de ces deux scopes.
Cas particulier : les entreprises
Il n'existe pas de scope « companies »
Les endpoints /companies ne disposent pas de leur propre scope. Ils réutilisent les scopes des contacts : read:contacts pour la lecture, write:contacts pour l'écriture. Pensez-y quand vous créez une clé destinée à gérer des entreprises.
Quand un scope manque
Un appel qui ne porte pas le scope requis est refusé avec un code HTTP 403 et le code d'erreur insufficient_scope :
{
"error": {
"code": "insufficient_scope",
"message": "Scope manquant : write:quotes."
}
}