Skip to content

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/enrichment

Lance 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

NomTypeRequisDescription
x-access-tokenStringouiClé API

Body (JSON)

NomTypeRequisDescription
typeStringouiType d'enrichissement : phone, email ou linkedin
idCrmVisitCardintconditionnelIdentifiant du contact CRM. Obligatoire si email n'est pas renseigné
emailStringconditionnelEmail du contact. Obligatoire si idCrmVisitCard n'est pas renseigné
webhookUrlStringnonURL appelée lorsque l'enrichissement est terminé
webhookSecretStringnonSecret utilisé pour signer l'appel webhook (HMAC SHA256)

Réponses

200 — Enrichissement lancé
json
{
    "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
json
{
    "success": false,
    "code": "400",
    "message": "Le paramètre type est requis"
}

Retourné si :

  • Le paramètre type est manquant
  • Ni idCrmVisitCard ni email n'est renseigné
  • Le type n'est pas phone, email ou linkedin
403 — Forbidden
json
{
    "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
json
{
    "success": false,
    "code": "404",
    "message": "CrmVisitCard introuvable"
}

Retourné si le idCrmVisitCard fourni n'existe pas.


Consulter le statut d'un enrichissement

GET /v1/enrichment/:id

Retourne le statut d'un enrichissement et son résultat si celui-ci est terminé.

Paramètres URL

NomTypeRequisDescription
idintouiIdentifiant (idProcessAction)

Headers

NomTypeRequisDescription
x-access-tokenStringouiClé API

Réponses

200 — OK
json
{
    "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 : true lorsque l'enrichissement est terminé
  • errored : true si l'enrichissement a échoué
  • output : résultat de l'enrichissement (présent uniquement si executed est true)
  • crmVisitCard : contact CRM enrichi avec les données mises à jour
400 — Bad Request
json
{
    "success": false,
    "code": "400",
    "message": "Le paramètre id est requis"
}
403 — Forbidden
json
{
    "success": false,
    "code": "403",
    "message": "L'utilisateur n'a pas accès à cet enrichissement"
}
404 — Not Found
json
{
    "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 :

javascript
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

json
{
    "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).

Coefficy — API externe