Gérer les utilisateurs API
Actito a pour vocation de vous proposer une grande connectivité dans votre approche marketing. De ce fait, nous veillons particulièrement à permettre les échanges de données entre Actito et les autres systèmes, propres à votre activité.
Les API publiques mises à votre disposition vous permettent dès lors d'interagir directement avec Actito sans devoir passer par l'interface.
L'utilisation des API nécessite un compte utilisateur spécifique, distinct des accès pour l'interface.
Les utilisateurs "Administrateurs" de votre licence ont la possibilité de paramétrer directement ces comptes via l'application "Utilisateurs API" dans la plateforme de Configuration de la licence.
Créer un utilisateur API
Tous les utilisateurs existants sont affichés dans l'écran d'accueil de l'application.
Pour ajouter un nouvel utilisateur, cliquez sur "+ Créer un utilisateur API".
Vous pourrez renseigner les informations de l'utilisateur API :
-
Nom de l'application : indiquez le nom de l'app qui utilisera cette clé pour se connecter à Actito. Cela vous permet de facilement faire la distinction entre les intégrations internes ou tierces.
-
Droits d'accès personnalisés
Gérer les droits d'accès personnalisés
Tous comme les droits d'accès à la plateforme sont définis par les configurations d'utilisateur, il est possible de restreindre les appels réalisables par un utilisateur API.
L'administrateur des utilisateurs API d'une licence peut définir les droits pour chaque utilisateur (Pas accès/Lecture/Lecture et écriture) pour différentes opérations regroupées sous 4 catégories.
Les droits peuvent être édités en cliquant sur le bouton 'Editer".
Dans l'interface, l'administrateur peut définir les accès par module et par niveau. Pour ce faire, il doit sélectionner le niveau d'accès qu'il souhaite donner à l'utilisateur à différent modules qui appartiennent à différents groupes (détaillés ci-dessous). Une fois les accès sélectionnés, il faut cliquer sur "Sauver" pour que la sélection soit sauvegardée.
Il existe 3 niveaux d'accès différents:
-
Pas d'accès : l'utilisateur ne pourra effectuer aucun appel sur ce module
-
Lecture : d'un point de vue technique, l'utilisateur ne pourra effectuer que des appels avec la méthode GET sur ce module
-
Lecture et écriture : d'un point de vue technique, l'utilisateur pourra effectuer des appels avec toutes les méthodes implémentées sur ce module (GET, POST, PUT, PATCH, DELETE,...)
Ensuite, il y a 4 groupes différents structurés en modules :
Structure des données:
Ce groupe permet de gérer la structure des tables de profils et des tables personnalisées.
Échange de données
Ce groupe reprend les échanges de données tels que les imports de données, les transferts de fichiers et les synchronisations ETL, la gestion des profils et des données personnalisés, les webhooks, les goals et les formulaires.
Activation de profil
Ce groupe reprend les actions permettant d'activer les profils par des canaux de communication telles que les campagnes sms, e-mail, les librairies de contenu HTML externe, les envois transactionnels, les scénarios, et les fichiers de ciblage synchronisés.
Configuration d'Actito
Ce groupe reprend les tâches et actions personnalisées permettant d'intégrer Actito avec des systèmes externes.
Pour obtenir le détail de la catégorie de chaque appel API existant, téléchargez le fichier suivant: Taxonomie-api-droits.xlsx. Il reprend la taxonomie de ces différentes catégories avec les modules associés, la possibilité ou non de définir un droit d'accès, les regroupements d'opérations selon la structure de la documentation pour développeurs, l'URL de la documentation se rapportant à chaque appel et le scope (Lecture/Ecriture):
Sur le portail pour développeurs, les droits nécessaires sont également précisés sous chaque appel.
Lorsqu'on parle d'accès en écriture dans les droits API Actito, ce implique systématiquement le module le plus élevé, qui donne à la fois accès à la lecture et l'écriture d'information. Il n'y a pas de niveau d'accès permettant uniquement l'écriture, sans lecture.
Définir les informations de contact
Actito déploie régulièrement des mises à jour dans ses plateformes, y compris celle d'Intégration. De ce fait, les APIs existantes sont susceptibles au changement. Merci de lire notre politique de gestion des modifications et de renseigner les informations de contact de la personne en charge de maintenir la connexion API.
Les informations suivantes sont obligatoires :
- Adresse e-mail de contact
- Language
Cette adresse e-mail sera utilisée pour notifier le responsable de l'app de breaking changes, comme convenu dans notre politique de gestion des modifications.
Il est important que la personne ou la liste de distribution derrière cette adresse soit en charge de faire le suivi de telles notifications.
L'accès à cette adresse e-mail n'est pas nécessaire pour utiliser la clé API.
Les informations suivantes sont optionnelles et ne servent qu'à personnaliser les notifications de modification et de renseigner des détails supplémentaires à propos du responsable de l'app.
- Nom de l'équipe
- Prénom
- Téléphone portable
- Sexe
Gérer les utilisateurs existants
Une fois l'utilisateur créé, vous pouvez accéder à ses informations de contact via le bouton "Voir", ou les modifier via le bouton "Editer".
Voir la clé API
L'authentification générée par l'application "Gérer les utilisateurs API" se fait via le système de clé API, qui garantit plus de sécurité et d'autonomie, et vous permet de ne pas être dépendant d'un mot de passe, dont la réinitialisation pouvait avoir des conséquences sur vos intégrations déjà en place.
Pour accéder à l'identifiant du compte, cliquez sur "Voir la clé API"
La clé API est une chaîne de caractères qui va pouvoir être utilisée par votre opérateur technique pour se connecter à l'API. Le bouton sur la droite vous permet de la copier directement pour la transmettre.
Sécuriser la clé
Les clés API de votre licence seront accessibles uniquement via l'application "Gérer les utilisateurs API". Cette application est liée à la configuration de droits "AdminUser".
Cela signifie que seul l'administrateur de licence aura directement la main sur ses utilisateurs API, qu'il s'agisse d'opérateurs techniques en interne ou de prestataires externes. Les informations demandées à la création du compte comprennent à la fois l'adresse e-mail et le numéro de téléphone portable pour permettre à l'administrateur de licence de transmettre la clé par le canal sécurisé de son choix.
Une clé API se suffit à elle-même pour se connecter et elle n'est pas liée à un mot de passe. Il n'y a donc pas de risque de perte d'identifiant, car il est toujours stocké en sécurité via l'application "Gérer les utilisateurs API".
En revanche, plusieurs options vous permettent de bloquer l'accès d'une clé.
Réinitialiser la clé
Réinitialiser une clé vous permet de couper l'accès d'une clé si celle-ci a été compromise. La réinitialisation aura pour effet de vous déconnecter de tous les appels existants. Une nouvelle clé sécurisée sera aussitôt générée pour vous permettre de remettre en place les appels légitimes.
Révoquer la clé
Révoquer la clé aura pour effet de supprimer celle-ci. Elle ne sera plus utilisable, y compris pour les appels existants.
Il ne sera pas possible de récupérer cette clé.
"Désactiver" un utilisateur depuis le menu principal aura le même effet. L'utilisateur sera alors placé dans l'onglet "Désactivés". S'il venait à être réactivé, il faudra réinitialiser la clé de l'utilisateur.
Supprimer un utilisateur
Il est également possible de complètement supprimer un utilisateur, via le bouton "Plus", puis "Supprimer".
Avertissement
Réinitialiser, révoquer ou supprimer une clé API va déconnecter tous les appels existant basés sur cette clé.
Utiliser la clé API
Pour paramétrer des appels API, la clé API ne doit pas être utilisée directement comme identifiant.
Elle va servir a générer un token d'accès à la validité limitée dans le temps (15 minutes), qui lui devrait être poussé dans tous les appels.
Par exemple, pour générer un token en environnement de TEST, l'appel sera
GET https://apitest.actito.com/auth/token
avec la clé API dans l'entête 'Authorization'
GET Token
`curl`
`-X GET` `'https://apitest.actito.com/auth/token'` `\`
`-H` `'Authorization: qhdfbvdh747R49FRHrthqhdfbvdh74'` `\`
`-H` `'Accept: application/json'`
Le token obtenu servira à l'authentification de tous les appels dans les 15 minutes suivantes. Il devra être passé comme 'Authorization' de type 'Bearer' dans tous les appels.
Exemple Bearer Token
`curl`
`-X GET` `'https://apitest.actito.com/v5/entities/MyEntity/etls'` `\`
`-H` `"Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI0IiwiaWF0IjoxNTg2ODY1MjE1LCJpc3MiOiJhY3RpdG8iLCJleHAiOjE1ODY4NjYxMTUsImxpY2VuY2VJZCI6MTI3NDAsImFjY291bnRJZCI6MTIsInBvbCI6Im1haW5Qb2xpY3lBcGkiLCJzdWIiOiI2ZWY3YjZmYS0wYTc1LTQ1YTYtYmE5My1iZGY5MmUyZjg3NDAifQ.umizXm0TueN6jRkMCaz9AnQP30qNxud5XIxnZiPzz24L8Aon7WKeJ8_49xcjsTe_v13nv4AI9991Mw_k9bvQffT__eikkv9UMmZ22wvQr5UxCH5Y-NkxFRctEGLjmkEdFFe2EuOkF1GjsIetPrJgY-_L6bpoa3G0o69IWavBIFowQtw_q0FOPaZ_JtBLiDiFH59IM5s4-8S-QAhGkGgjOhTzqBTyDBGj8cqnhvr9eFwgoxGSAZ1QLGU5yTRyIJm8Uaq97M5UhKn98ixK4oQhQvVKwW9MDgGyf0jLFLEFO7l9kyFON34OsxiTyK58U_OFJzehgxqRokBE3wXWo9rKEA"` `\`
`-H` `'Accept: application/json'`
Pour plus d'informations sur les URLs utilisées pour générer le token dans les différents environnements, ainsi que sur l'authentification en général, votre opérateur peut consulter la page qui est consacrée dans notre documentation technique.
L'authentification par clé API est compatible à la fois avec la version 4 et la version 5 de notre API publique.
Restreindre l'adresse IP
Pour une sécurité plus poussée, vous avez la possibilité d'associer la clé API à une adresse IP spécifique (ou à une plage d'IPs).
Afin de restreindre l'utilisation de la clé à une IP précise, activez les "Paramètres avancés" lorsque vous créez ou modifiez un utilisateur API.
Si une requête provenant d'une IP non autorisée est interceptée, elle sera rejetée et un email d'avertissement sera envoyé à l'adresse associée à la clé.
La restriction peut être définie sur une simple adresse IP, ou sur une adresse CIDR (sous-réseau).
Dans le second cas, la plage doit être fournie sous le format IP + CIDR.
Par exemple, afin d'indiquer une restriction sur l'adresse IP 192.168.1.1 avec un masque de sous-réseau de 255.255.255.248, la valeur à fournir dans la restriction serait 192.168.1.1/29.
CIDR - liste des masques de sous-réseaux
CIDR | bits disponibles | Masque de sous-réseau | Nombre d'hôtes par sous-réseau |
---|---|---|---|
/1 | 31 | 128.0.0.0 | 2^31^-2 = 2 147 483 646 |
/2 | 30 | 192.0.0.0 | 2^30^-2 = 1 073 741 822 |
/3 | 29 | 224.0.0.0 | 2^29^-2 = 536 870 910 |
/4 | 28 | 240.0.0.0 | 2^28^-2 = 268 435 454 |
/5 | 27 | 248.0.0.0 | 2^27^-2 = 134 217 726 |
/6 | 26 | 252.0.0.0 | 2^26^-2 = 67 108 862 |
/7 | 25 | 254.0.0.0 | 2^25^-2 = 33 554 430 |
/8 | 24 | 255.0.0.0 | 2^24^-2 = 16 777 214 |
/9 | 23 | 255.128.0.0 | 2^23^-2 = 8 388 606 |
/10 | 22 | 255.192.0.0 | 2^22^-2 = 4 194 302 |
/11 | 21 | 255.224.0.0 | 2^21^-2 = 2 097 150 |
/12 | 20 | 255.240.0.0 | 2^20^-2 = 1 048 574 |
/13 | 19 | 255.248.0.0 | 2^19^-2 = 524 286 |
/14 | 18 | 255.252.0.0 | 2^18^-2 = 262 142 |
/15 | 17 | 255.254.0.0 | 2^17^-2 = 131 070 |
/16 | 16 | 255.255.0.0 | 2^16^-2 = 65 534 |
/17 | 15 | 255.255.128.0 | 2^15^-2 = 32 766 |
/18 | 14 | 255.255.192.0 | 2^14^-2 = 16 382 |
/19 | 13 | 255.255.224.0 | 2^13^-2 = 8 190 |
/20 | 12 | 255.255.240.0 | 2^12^-2 = 4 094 |
/21 | 11 | 255.255.248.0 | 2^11^-2 = 2 046 |
/22 | 10 | 255.255.252.0 | 2^10^-2 = 1 022 |
/23 | 9 | 255.255.254.0 | 2^9^-2 = 510 |
/24 | 8 | 255.255.255.0 | 2^8^-2 = 254 |
/25 | 7 | 255.255.255.128 | 2^7^-2 = 126 |
/26 | 6 | 255.255.255.192 | 2^6^-2 = 62 |
/27 | 5 | 255.255.255.224 | 2^5^-2 = 30 |
/28 | 4 | 255.255.255.240 | 2^4^-2 = 14 |
/29 | 3 | 255.255.255.248 | 2^3^-2 = 6 |
/30 | 2 | 255.255.255.252 | 2^2^-2 = 2 |
/31 | 1 | 255.255.255.254 | 2^1^-0 =2 |
/32 | 0 | 255.255.255.255 | 2^0^-0 =1 |
Notez qu'une restriction d'IP est idéale pour limiter l'accès uniquement à partir de vos machines avec une IP fixe, mais l'est moins si la clé est amenée à être utilisée pour des tests/une implémentation manuelle par des utilisateurs humains avec des IP dynamiques.