Passer au contenu principal
Développeurs · Offre Standard et supérieures

Construisez sur CustomerEagle.

Une API REST et des webhooks pour votre espace de travail — lisez et mettez à jour des conversations, répondez aux clients, gérez contacts, articles du centre d'aide et tâches, exécutez des rapports enregistrés et abonnez-vous aux événements. Conçu pour Zapier, Make, n8n ou votre propre backend. Les clés d'API sont disponibles à partir de l'offre Standard.

cURL · GET /api/v1/me
curl -H "Authorization: Bearer ce_live_..." \
  https://api.customereagle.com/api/v1/me
Confirmez que la clé fonctionne et voyez quel espace de travail et quels scopes elle porte.
01

Créer une clé d'API

Dans Tableau de bord → Paramètres → Clés d'API, créez une clé et choisissez ses scopes : Usage, Read, Write ou Erase. Les clés Read et Write choisissent aussi les produits qu'elles atteignent (Support, Ventes, Marketing, Restaurant). Disponible à partir de l'offre Standard — les espaces de travail Free ne peuvent pas créer de clés. La clé brute n'est affichée qu'une fois — conservez-la comme un mot de passe.

02

Authentifier chaque requête

URL de base https://api.customereagle.com/api/v1. Envoyez votre clé comme bearer token dans l'en-tête Authorization.

03

Faites votre premier appel

Confirmez que la clé fonctionne et voyez quel espace de travail et quels scopes elle porte.

01 · Points de terminaison

Conversations, contacts, articles, tâches et plus.

Conversations, réponses, contacts, articles du centre d'aide, tâches, webhooks, rapports enregistrés et événements de parcours — plus des recherches pour les membres, boîtes de réception, collections, champs personnalisés et entreprises, des points de terminaison Restaurant pour les réservations et la liste d'attente, et un serveur MCP pour les agents IA. Une réponse envoyée via l'API atteint le client sur le canal propre à la conversation, exactement comme une réponse depuis la boîte de réception. Le tableau montre les principaux appels ; le document OpenAPI les liste tous.

Point de terminaisonScopeNotes
GET /meToute cléConfirme que la clé est active et renvoie son espace de travail et ses scopes.
GET /conversationsREADFiltrer par statut ou canal. Pagination par curseur, plus récentes d'abord. Aussi : GET /conversations/:id.
GET /conversations/:id/messagesREADPlus anciens d'abord. Les notes internes sont exclues — uniquement les messages des clients, agents et de l'IA.
POST /conversations/:id/messagesWRITERépond au client sur le canal propre à la conversation, exactement comme une réponse depuis la boîte de réception. Une conversation fermée est rouverte.
POST /conversations/:id/notesWRITEAjoute une note interne et déclenche un webhook message.created.
PATCH /conversations/:idWRITEModifier le statut ou la priorité. Aussi : créer une conversation, l'assigner, ajouter ou retirer des tags.
GET /messagesREADFlux de messages de l'espace de travail, plus récents d'abord. Les notes internes sont exclues.
POST /contactsWRITECréer ou mettre à jour un contact. Aussi : lister, obtenir et PATCH /contacts/:id.
DELETE /contacts/:idERASEEffacement RGPD. Irréversible, il nécessite donc le scope Erase distinct — Write ne l'implique jamais.
PATCH /articles/:idWRITEMettre à jour ou publier un article du centre d'aide. Aussi : lister, obtenir et créer des brouillons.
POST /tasksWRITECréer une tâche. Aussi : lister, mettre à jour, terminer, supprimer et commenter.
POST /webhooksWRITES'abonner aux événements depuis le code. Aussi : lister, se désabonner, journal de livraison et nouvelle livraison.
GET /reports/:id/runREADExécuter un rapport enregistré et parcourir ses lignes page par page. Aussi : GET /reports.
POST /eventsWRITEEnregistrer un événement de parcours pour un contact ; les parcours inscrivent, attendent ou sortent selon cet événement.
GET /openapi.jsonAucune cléLa référence OpenAPI 3.1 complète pour chaque point de terminaison, aussi disponible en openapi.yaml.

Les notes internes n'apparaissent jamais dans le flux de messages ci-dessus — elles restent réservées aux agents, par conception. URL de base : https://api.customereagle.com/api/v1

02 · Écrire des données

Les scopes sont appliqués par clé.

Les scopes sont appliqués par clé — une clé READ seule reçoit un 403 sur cet appel. La même note, créée depuis JavaScript :

JavaScript · POST …/notes
await fetch(
  "https://api.customereagle.com/api/v1/conversations/CONVO_ID/notes",
  {
    method: "POST",
    headers: {
      Authorization: "Bearer ce_live_...",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ content: "Refund approved, processing now." }),
  },
);

03 · Limites de débit

Chaque couche échoue en mode fermé.

Chaque couche échoue en mode fermé si le limiteur lui-même est indisponible : une panne bloque les appels au lieu de les laisser passer sans mesure.

Par IP source300 / min

Un garde-fou grossier, vérifié avant même que votre clé soit recherchée.

Par clé d'API300 / min

Le plafond annoncé. Renvoyé à chaque réponse via les en-têtes X-RateLimit-*.

Par clé d'API25 000 / jour

Borne le coût soutenu — chaque appel ouvre une transaction de base de données.

Par espace de travail600 / min

Agrégé sur toutes les clés de l'espace de travail.

Par espace de travail100 000 / jour

Le plafond quotidien agrégé sur toutes les clés de l'espace de travail.

Écritures, par clé120 / min

S'applique à chaque appel d'écriture (POST, PATCH, DELETE).

Une réponse 429 ajoute un en-tête Retry-After — patientez et réessayez après ce nombre de secondes. Les espaces de travail sont limités à 25 clés d'API, la limite par clé ne peut donc pas être multipliée en en créant davantage.

04 · Webhooks

Jusqu'à 10 points de terminaison, chacun avec son propre secret.

Configurez des endpoints dans Dashboard → Paramètres → Webhooks — jusqu'à 10 par espace de travail, chacun avec son propre secret et sa liste d'événements souscrits. Une livraison échouée est retentée jusqu'à 8 fois avec des délais croissants (environ 10 minutes au total) ; un endpoint qui échoue pendant 7 jours est mis en pause et vos administrateurs sont prévenus.

Événements

Chaque charge utile partage la même enveloppe : { event, timestamp, data }

conversation.createdmessage.createdconversation.assignedconversation.escalatedresolution.createdcsat.received

Formats

Livrez la charge utile JSON brute (signée HMAC), ou une notification prête à l'emploi pour Discord, Microsoft Teams ou Google Chat — choisissez le format lorsque vous ajoutez le point de terminaison.

JSON brut · signé HMACDiscordMicrosoft TeamsGoogle Chat

Vérifier les signatures

Les points de terminaison JSON portent un en-tête X-CE-Signature — le HMAC-SHA256 hexadécimal du corps brut de la requête, avec la clé secrète du point de terminaison. Recalculez-le et comparez avant de faire confiance à la charge utile.

Node.js · X-CE-Signature
const crypto = require("node:crypto");
function verify(rawBody, header, secret) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(rawBody)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(expected),
    Buffer.from(header),
  );
}
Eagle AI

Commencez à construire.

Démarrez un essai gratuit, générez une clé d'API et faites votre premier appel.

Clés d'API à partir de Standard · jusqu'à 25 clés et 10 points de terminaison de webhook par espace de travail.