Saltar al contenido principal
Desarrolladores · Plan Standard y superiores

Construye sobre CustomerEagle.

Una API REST y webhooks para tu espacio de trabajo: lee y actualiza conversaciones, responde a clientes, gestiona contactos, artículos del centro de ayuda y tareas, ejecuta informes guardados y suscríbete a eventos. Pensado para Zapier, Make, n8n o tu propio backend. Las claves de API están disponibles desde el plan Standard.

cURL · GET /api/v1/me
curl -H "Authorization: Bearer ce_live_..." \
  https://api.customereagle.com/api/v1/me
Confirma que la clave funciona y consulta qué espacio de trabajo y scopes tiene asociados.
01

Crear una clave de API

En Dashboard → Settings → API Keys, crea una clave y elige sus scopes: Usage, Read, Write o Erase. Las claves Read y Write también eligen a qué productos acceden (Soporte, Ventas, Marketing, Restaurante). Disponible desde el plan Standard: los espacios de trabajo Free no pueden crear claves. La clave completa se muestra una sola vez: guárdala como una contraseña.

02

Autentica cada petición

URL base https://api.customereagle.com/api/v1. Envía tu clave como bearer token en la cabecera Authorization.

03

Haz tu primera llamada

Confirma que la clave funciona y consulta qué espacio de trabajo y scopes tiene asociados.

01 · Endpoints

Conversaciones, contactos, artículos, tareas y más.

Conversaciones, respuestas, contactos, artículos del centro de ayuda, tareas, webhooks, informes guardados y eventos de recorrido; además de consultas de miembros, bandejas, colecciones, campos personalizados y empresas, endpoints de Restaurante para reservas y lista de espera, y un servidor MCP para agentes de IA. Una respuesta enviada por la API llega al cliente por el propio canal de la conversación, exactamente igual que una respuesta desde la bandeja. La tabla muestra las llamadas principales; el documento OpenAPI las enumera todas.

EndpointScopeNotas
GET /meCualquier claveConfirma que la clave está activa y devuelve su espacio de trabajo y sus scopes.
GET /conversationsREADFiltra por estado o canal. Paginación por cursor, las más recientes primero. También: GET /conversations/:id.
GET /conversations/:id/messagesREADLas más antiguas primero. Las notas internas se excluyen: solo mensajes de clientes, agentes e IA.
POST /conversations/:id/messagesWRITEResponde al cliente por el propio canal de la conversación, exactamente igual que una respuesta desde la bandeja. Una conversación cerrada se reabre.
POST /conversations/:id/notesWRITEAñade una nota interna y dispara un webhook message.created.
PATCH /conversations/:idWRITECambia el estado o la prioridad. También: crear una conversación, asignarla, añadir o quitar etiquetas.
GET /messagesREADFeed de mensajes de todo el espacio de trabajo, los más recientes primero. Las notas internas se excluyen.
POST /contactsWRITECrea o actualiza un contacto. También: listar, obtener y PATCH /contacts/:id.
DELETE /contacts/:idERASESupresión por RGPD. Irreversible, por lo que requiere el scope Erase aparte: Write nunca lo implica.
PATCH /articles/:idWRITEActualiza o publica un artículo del centro de ayuda. También: listar, obtener y crear borradores.
POST /tasksWRITECrea una tarea. También: listar, actualizar, completar, eliminar y comentar.
POST /webhooksWRITESuscríbete a eventos desde código. También: listar, cancelar suscripción, registro de entregas y reenvío.
GET /reports/:id/runREADEjecuta un informe guardado y recorre sus filas por páginas. También: GET /reports.
POST /eventsWRITERegistra un evento de recorrido para un contacto; los recorridos se inscriben, esperan o terminan con él.
GET /openapi.jsonSin claveLa referencia completa OpenAPI 3.1 de cada endpoint, también como openapi.yaml.

Las notas internas nunca aparecen en el feed de mensajes de arriba: son solo para agentes, por diseño. URL base: https://api.customereagle.com/api/v1

02 · Escritura de datos

Los scopes se aplican por clave.

Los scopes se aplican por clave: una clave solo READ recibe un 403 en esta llamada. La misma nota, creada desde 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 · Límites de uso

Cada capa falla en cerrado.

Cada capa falla en cerrado si el propio limitador no está disponible, de modo que una caída bloquea las llamadas en lugar de dejarlas pasar sin medir.

Por IP de origen300 / min

Un tope grueso de respaldo, comprobado antes incluso de buscar tu clave.

Por clave de API300 / min

El techo anunciado. Se devuelve en cada respuesta mediante las cabeceras X-RateLimit-*.

Por clave de API25.000 / día

Acota el coste sostenido: cada llamada abre una transacción de base de datos.

Por espacio de trabajo600 / min

Agregado de todas las claves del espacio de trabajo.

Por espacio de trabajo100.000 / día

El techo diario agregado de todas las claves del espacio de trabajo.

Escrituras, por clave120 / min

Se aplica a cada llamada de escritura (POST, PATCH, DELETE).

Una respuesta 429 añade una cabecera Retry-After: espera y reintenta pasados esos segundos. Los espacios de trabajo tienen un máximo de 25 claves de API, por lo que el límite por clave no se puede multiplicar creando más.

04 · Webhooks

Hasta 10 endpoints, cada uno con su propio secreto.

Configura endpoints en Panel → Configuración → Webhooks — hasta 10 por espacio de trabajo, cada uno con su propio secreto y su lista de eventos suscritos. Una entrega fallida se reintenta hasta 8 veces con esperas crecientes (unos 10 minutos en total); un endpoint que sigue fallando durante 7 días se pausa y se avisa a tus administradores.

Eventos

Todos los payloads comparten el mismo envoltorio: { event, timestamp, data }

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

Formatos

Entrega el payload JSON sin procesar (firmado con HMAC) o una notificación ya preparada para Discord, Microsoft Teams o Google Chat: elige el formato al añadir el endpoint.

JSON sin procesar · firmado con HMACDiscordMicrosoft TeamsGoogle Chat

Verificación de firmas

Los endpoints JSON llevan una cabecera X-CE-Signature: el HMAC-SHA256 hexadecimal del cuerpo sin procesar de la petición, con el secreto del endpoint como clave. Recalcúlalo y compáralo antes de fiarte del payload.

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

Empieza a construir.

Empieza una prueba gratuita, genera una clave de API y haz tu primera llamada.

Claves de API desde Standard · hasta 25 claves y 10 endpoints de webhook por espacio de trabajo.