Authentification
Toutes les requêtes API nécessitent une authentification par token Bearer. Créez un token dans Paramètres > Développeur de votre workspace. Le token affiché à la création est le token complet à utiliser — copiez-le en entier dans Authorization: Bearer, il n'est affiché qu'une seule fois.
L'accès direct à l'API REST, à OAuth2 (Zapier et autres intégrations) et la création de tokens API sont réservés aux plans payants (Pro, Team ou Enterprise).
En-tête d'authentification
Authorization: Bearer VOTRE_TOKEN
Obtenir un token API
- Inscrivez-vous sur LetsLigo si vous n'avez pas encore de compte.
- Allez dans votre workspace > Paramètres > Développeur, puis créez un token (plan Pro, Team ou Enterprise requis). Copiez le token complet affiché (il n'est affiché qu'une seule fois) — c'est celui-ci que vous utiliserez dans Authorization: Bearer.
- Utilisez le token dans l'en-tête Authorization.
Authentification OAuth2
OAuth2 permet à vos applications tierces (ex. intégrations Zapier) d'accéder à l'API LetsLigo au nom d'un utilisateur sans partager son mot de passe. Utilisez le flux authorization_code. Un workspace avec un plan Pro, Team ou Enterprise actif est requis.
1. Rediriger vers l'écran d'autorisation
Envoyez l'utilisateur vers /oauth2/authorize avec vos paramètres client. Il se connecte à LetsLigo et autorise votre application.
GET /oauth2/authorize
?response_type=code
&client_id=YOUR_CLIENT_ID
&redirect_uri=https://yourapp.example/callback
&scope=read write
&state=RANDOM_STATE
2. Échanger le code contre des tokens
Après autorisation, vous recevez un code. Échangez-le contre un access_token et un refresh_token via POST /oauth2/token.
POST /oauth2/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&code=CODE_FROM_CALLBACK
&redirect_uri=https://yourapp.example/callback
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET
Response:
{
"token_type": "Bearer",
"expires_in": 3600,
"access_token": "ACCESS_TOKEN",
"refresh_token": "REFRESH_TOKEN"
}
3. Renouveler le token
L'access_token expire. Utilisez le refresh_token pour en obtenir un nouveau via POST /oauth2/token (grant_type=refresh_token).
POST /oauth2/token
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&refresh_token=REFRESH_TOKEN
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET
Scopes disponibles
| Scope | Description |
|---|---|
| read | Lecture — accès en lecture aux contacts, tâches, pipeline et entreprises |
| write | Écriture — création et modification de contacts, tâches et notes |
Webhooks
Les webhooks (REST Hooks) permettent à vos applications tierces — comme Zapier — de réagir en temps réel aux événements de votre workspace. Vous abonnez une URL à un type d'événement ; lorsque l'événement se produit, LetsLigo envoie une requête POST avec le contenu de l'événement à cette URL.
Types d'événements
| Event | Description |
|---|---|
| contact.created | Un nouveau contact a été créé dans le workspace. |
| contact.updated | Un contact existant a été modifié. |
| task.created | Une nouvelle tâche a été créée pour un contact. |
| contact.pipeline_changed | Un contact a changé d'état dans le pipeline CRM. |
Signature des requêtes
Chaque requête de webhook est signée. LetsLigo ajoute un en-tête X-LetsLigo-Signature contenant un HMAC-SHA256 du corps de la requête, calculé avec le secret de l'abonnement. Vérifiez cette signature pour garantir l'authenticité de l'événement.
X-LetsLigo-Signature: sha256=HMAC_SHA256(body, subscription_secret)
Gérer les abonnements
Utilisez l'API pour créer, lister et supprimer vos abonnements webhook. L'endpoint d'échantillon fournit un exemple de contenu pour configurer le mapping des champs côté Zapier.
POST /api/webhooks/subscriptions
GET /api/webhooks/subscriptions
DELETE /api/webhooks/subscriptions/{id}
GET /api/webhooks/samples/{event}