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

  1. Inscrivez-vous sur LetsLigo si vous n'avez pas encore de compte.
  2. 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.
  3. 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}