Aller au contenu

Authentification

Les API StockTicket utilisent une clé d'API pour authentifier les requêtes. Vous devez inclure cette clé dans l'en-tête de chaque requête que vous envoyez à l'API.

Authentification par clé d'API

Pour authentifier vos requêtes, vous devez inclure votre clé d'API dans l'en-tête de la requête:

Stk-Api-Key: {votre_clé_d_api}

Exemple d'appel Curl :

curl https://api-local.stock-ticket.pro/api/client/v1/Catalog/GetEventDateList \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Stk-Api-Key: eyJhbGciOiJaU5zI1NiJsIn75cCI644kpXVCJ9.eyJtb2R1bGVEZWZJZCI6Ik1ERi0yNFMyIiwiY29ubmVjdEtleUlkIjoiQUstMjU4VCIsImlzcyI6InN0b2NrdGlja2V0IFGwiYXVkIjoic3RvYHYt0aWNrZXQtYXBpIG0.5hhtiFqje1mWXTIVDSyANFACLqlrAdiwuv4gvOvjWw4:MEJDNitDZ3NvcS9mVC9WaHUwQ1lWPVh6MXNOVjNUK0xrQ2Z0c2dxNkY2TEVZcVQ' \
  --data '{}'

Types de clés d'API

Il existe deux types de clés d'API :

  • Clé d'API personnelle :
    Ce type de clé est directement associé à votre compte utilisateur StockTicket. Tous les rôles associés à votre compte, pour tous les espaces de travail auxquels vous avez accès, sont disponibles avec cette clé.

  • Clé d'API de module :
    Ce type de clé est associé à une définition et une instance de module.
    Les droits ouverts dépendent des rôles revendiqués par la définition du module, et portée s'étend à tous les espaces de travail ayant souscrit à l'instance de module associée à la clé.
    Par exemple, si vous utilisez une clé d'API de l'instance 'Le site de vente' de votre module de vente 'Mon Module de vente', un appel à la méthode GetEventDateList de l'API Catalog vous retournera uniquement les représentations accessibles proprosées par les espaces de travail ayant souscrit à l'instance de module 'Le site de vente'.

Clé personnelle

Pour obtenir votre clé d'API personnelle, connectez-vous à votre compte StockTicket et accédez à la section "Mes clés d'API" de votre profil (icône en haut à droite, ou rubrique "Espace de travail/Espace développeur").
Vous pouvez générer une nouvelle clé ou utiliser une clé existante.
L'utilisation de votre clé peut (devrait) être limitée à un appelant spécifique afin de limiter les risques d'usurpation. Vous pouvez restreindre l'accès à une adresses IP (ex: 192.168.1.1), une plage d'adresses (ex: 192.168.1.0/24) ou un domaine (ex: https://www.contoso.com).

La clé d'API personnelle est valide tant que vous ne la révoquez pas.
Pour l'utiliser, il vous suffit de l'inclure dans l'en-tête de votre requête HTTP:

Stk-Api-Key: {votre_clé_personnelle}

Clé de module

Utilisée seule, la clé de module n'ouvre pratiquement aucun droit: seules les méthodes d'API dédiées à la gestion de votre module ou des instances associées sont accessibles. Les autres méthodes ne sont pas accessibles ou retourneront un code 401 Unauthorized.
Pour être efficiente, votre clé de module doit être couplée à une clé d'instance : c'est la combinaison de la clé de module et de la clé d'instance qui ouvrira les droits d'accès aux méthodes de l'API, conformément aux revendications de votre module, sur tous les espaces de travail ayant souscrit à l'instance de module associée à la clé.

  • Pour obtenir une clé de module

Vous devez disposer des droits d'accès en tant que développeur sur la définition de module.
Dans le détail de la définition, choisissez l'onglet "Clés d'API", puis cliquez sur le bouton "Nouvelle clé". L'utilisation de votre clé peut (devrait) être limitée à un appelant spécifique afin de limiter les risques d'usurpation. Vous pouvez restreindre l'accès à une adresses IP (ex: 192.168.1.1), une plage d'adresses (ex: 192.168.1.0/24) ou un domaine (ex: https://www.contoso.com).

La clé d'API de module est valide tant que vous ne la révoquez pas.

  • Pour retrouver la clé d'une instance de module

Vous pouvez vous rendre dans le détail de votre définition de module, puis dans l'onglet "Toutes les instances", et cliquer sur le bouton "Détails" de l'instance de module souhaitée.

Pour utiliser une clé de module, il vous suffit de l'inclure dans l'en-tête de votre requête HTTP:

Stk-Api-Key: {votre_clé_de_module}
ou 
Stk-Api-Key: {votre_clé_de_module}:{votre_clé_d_instance}