Enrichissement
Permet de lancer un enrichissement de contact (téléphone, email ou LinkedIn) et de consulter le résultat.
Lancer un enrichissement
POST/v1/enrichmentLance un enrichissement pour un contact. Si un enrichissement du même type est déjà en cours pour le contact, son statut est retourné sans en créer un nouveau.
Headers
| Nom | Type | Requis | Description |
|---|---|---|---|
| x-access-token | String | oui | Clé API |
Body (JSON)
| Nom | Type | Requis | Description |
|---|---|---|---|
| type | String | oui | Type d'enrichissement : phone, email ou linkedin |
| idCrmVisitCard | int | conditionnel | Identifiant du contact CRM. Obligatoire si email n'est pas renseigné |
| String | conditionnel | Email du contact. Obligatoire si idCrmVisitCard n'est pas renseigné | |
| webhookUrl | String | non | URL appelée lorsque l'enrichissement est terminé |
| webhookSecret | String | non | Secret utilisé pour signer l'appel webhook (HMAC SHA256) |
Réponses
200 — Enrichissement lancé
{
"success": true,
"code": "200",
"message": "Enrichissement lancé",
"parameters": {
"idCrmVisitCard": "int|null",
"email": "string|null",
"siren": "string|null",
"type": "string",
"webhookUrl": "string|null",
"webhookSecret": "string|null"
},
"result": {
"idProcessAction": "int",
"status": "<ProcessActionStatus>"
}
}400 — Bad Request
{
"success": false,
"code": "400",
"message": "Le paramètre type est requis"
}Retourné si :
- Le paramètre
typeest manquant - Ni
idCrmVisitCardniemailn'est renseigné - Le
typen'est pasphone,emailoulinkedin
403 — Forbidden
{
"success": false,
"code": "403",
"message": "Le service d'enrichissement n'est pas disponible pour ce compte"
}Retourné si le service CRM n'est pas activé ou si le compte est bloqué.
404 — Not Found
{
"success": false,
"code": "404",
"message": "CrmVisitCard introuvable"
}Retourné si le idCrmVisitCard fourni n'existe pas.
Consulter le statut d'un enrichissement
GET/v1/enrichment/:idRetourne le statut d'un enrichissement et son résultat si celui-ci est terminé.
Paramètres URL
| Nom | Type | Requis | Description |
|---|---|---|---|
| id | int | oui | Identifiant (idProcessAction) |
Headers
| Nom | Type | Requis | Description |
|---|---|---|---|
| x-access-token | String | oui | Clé API |
Réponses
200 — OK
{
"success": true,
"code": "200",
"message": "OK",
"parameters": {
"idProcessAction": "int"
},
"result": {
"idProcessAction": "int",
"status": "<ProcessActionStatus>",
"executed": "bool",
"errored": "bool",
"output": "<ProcessActionOutput>|null",
"crmVisitCard": "<CrmVisitCard>|null"
}
}executed:truelorsque l'enrichissement est terminéerrored:truesi l'enrichissement a échouéoutput: résultat de l'enrichissement (présent uniquement siexecutedesttrue)crmVisitCard: contact CRM enrichi avec les données mises à jour
400 — Bad Request
{
"success": false,
"code": "400",
"message": "Le paramètre id est requis"
}403 — Forbidden
{
"success": false,
"code": "403",
"message": "L'utilisateur n'a pas accès à cet enrichissement"
}404 — Not Found
{
"success": false,
"code": "404",
"message": "Enrichissement introuvable"
}Webhooks
Si vous fournissez un webhookUrl lors de la création, votre endpoint sera appelé automatiquement lorsque l'enrichissement est terminé.
Signature
Si un webhookSecret est fourni, le payload est signé en HMAC SHA256. La signature est envoyée dans le header X-Coefficy-Signature.
Vérification côté client :
const crypto = require('crypto');
const signature = crypto.createHmac('sha256', webhookSecret)
.update(JSON.stringify(body))
.digest('hex');
const isValid = signature === req.headers['x-coefficy-signature'];Payload webhook
{
"event": "enrichment.completed",
"timestamp": "2026-03-25T14:30:00.000Z",
"data": {
"idProcessAction": 12345,
"type": "phone",
"success": true,
"result": { }
}
}Retry
En cas d'échec (HTTP >= 400 ou timeout), jusqu'à 3 tentatives sont effectuées avec un backoff exponentiel (5s, 25s, 125s).