Introducción a la API
La API REST de DM Champ le permite crear su propia integración sobre su cuenta. Puede crear y buscar contactos, gestionar campañas, preguntas frecuentes, tareas y citas, enviar mensajes, registrar webhooks, leer analíticas y conectar canales de mensajería: todo lo que hace el panel de control, impulsado por código.
Esta es la página central de la documentación de la API. Si está conectando DM Champ a una herramienta que ya tiene una integración integrada, es posible que no necesite la API en absoluto. La API es para integraciones personalizadas y automatización a gran escala.
Nota: Estas páginas están escritas para desarrolladores. Si no es desarrollador, comparta esta sección con su equipo técnico.
URL base
Cada solicitud se dirige a la misma dirección web base, y todas las rutas en estos documentos son relativas a ella:
https://api.dmchamp.com/v1
Por lo tanto, el endpoint de Agentes de IA es https://api.dmchamp.com/v1/agents, el endpoint de contactos es https://api.dmchamp.com/v1/contacts, y así sucesivamente.
Todas las solicitudes deben utilizar una conexión segura (HTTPS). Las solicitudes HTTP simples son rechazadas.
Obtención de una clave de API
El acceso a la API es una función de pago. Si su plan no la incluye, cada solicitud devolverá un 403 con este cuerpo:
{
"success": false,
"error_code": 403,
"error": "This action requires the \"api_access\" feature, which is not enabled for this account."
}
Una vez que el acceso a la API esté habilitado en su plan, genere una clave desde el panel de control. El paso a paso completo se encuentra en Acceso a la API; en resumen: vaya a Configuración → Integraciones → Clave de API para generar o regenerar su clave. La Clave de API es su propia sección dentro de Integraciones, separada de los Webhooks, y solo aparece una vez que el acceso a la API está en su plan. Trate la clave como una contraseña: otorga acceso total a su cuenta.
Autenticación
Puede enviar su clave de API de cuatro maneras. Todas funcionan en cada endpoint que acepte autenticación mediante clave de API.
| Método | Cómo | Ideal para |
|---|---|---|
| Parámetro de consulta | ?apiKey=YOUR_API_KEY |
Pruebas rápidas, URL de navegador, configuraciones heredadas |
| Encabezado | X-API-Key: YOUR_API_KEY |
Integraciones en producción |
| Encabezado Bearer | Authorization: Bearer YOUR_API_KEY |
Integraciones en producción |
| Token de ID de Firebase | Authorization: Bearer <ID token> |
Solo sesiones de aplicaciones propias |
Para producción, prefiera una de las formas de encabezado para que su clave nunca termine en un registro del servidor o en el historial del navegador. La forma de parámetro de consulta siempre funciona y es la más sencilla para una prueba puntual.
Consulte Autenticación para obtener un desglose completo de cada método, con ejemplos y orientación sobre cuándo usar cada uno.
Su primera solicitud
Aquí tiene una llamada completa y funcional que enumera los Agentes de IA en su cuenta. Utiliza su clave de API y devuelve una fila corta por Agente, empezando por el más reciente.
cURL
curl "https://api.dmchamp.com/v1/agents?apiKey=YOUR_API_KEY&view=summary"
JavaScript
const res = await fetch("https://api.dmchamp.com/v1/agents?view=summary", {
headers: {
"X-API-Key": "YOUR_API_KEY",
},
});
const data = await res.json();
console.log(data.agents);
Python
import requests
res = requests.get(
"https://api.dmchamp.com/v1/agents",
params={"view": "summary"},
headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()
print(data["agents"])
Una respuesta exitosa se ve así:
{
"success": true,
"campaigns": [
{
"id": "NBCXrhqGPSFsd6MV7pRo",
"name": "Inbound WhatsApp Leads",
"type": "Incoming from Unknown Contacts",
"status": "Live",
"enabled": true,
"archived": false,
"created_at": 1700000000000,
"ai_mode": true,
"language": "en",
"enabled_channels": ["whatsapp", "instagram"]
}
],
"next_cursor": null
}
Respuestas de éxito y error
Cada respuesta JSON contiene un indicador success para que pueda ramificar según el mismo sin tener que analizar los códigos de estado.
Una respuesta exitosa es success: true más los datos para ese endpoint (el nombre del campo varía: campaigns, contacts, data, etc.):
{
"success": true,
"campaigns": []
}
Una respuesta fallida es success: false con un mensaje error legible por humanos y un error_code numérico que coincide con el estado HTTP:
{
"success": false,
"error": "Invalid cursor",
"error_code": 400
}
Compruebe siempre success (o el estado HTTP) antes de leer los datos. Consulte Errores y paginación para ver la tabla completa de códigos de estado y cómo paginar a través de grandes conjuntos de resultados.
Límites de tasa
Las solicitudes autenticadas están limitadas a 300 solicitudes por minuto por clave de API. También existe un límite más amplio de 1200 solicitudes por minuto por cuenta, contando cada solicitud autenticada realizada para esa cuenta.
Agencias: el segundo número es el que debe tener en cuenta para planificar. Las solicitudes que realiza con su clave de agencia se contabilizan en su cuenta de agencia incluso cuando se dirigen a una subcuenta con sub_account_id, por lo que un aumento repentino de aprovisionamiento en muchos clientes comparte un mismo presupuesto. Si un cliente necesita su propio presupuesto, utilice la clave de API de esa subcuenta.
Si supera cualquiera de los límites, recibirá una respuesta 429:
{
"success": false,
"error_code": 429,
"error": "Rate limit exceeded. Please try again later."
}
Espere y vuelva a intentarlo después de una breve pausa. También puede consultar su uso actual en cualquier momento con GET https://api.dmchamp.com/v1/api-keys/usage, que devuelve cuántas solicitudes ha utilizado en la ventana actual y cuándo se restablece; esto es útil para crear una limitación en el lado del cliente. Consulte Claves de API.
Guías de recursos
Los grupos de recursos a continuación tienen cada uno su propia guía con las rutas exactas, los campos de solicitud y las formas de respuesta.
| Recurso | Qué cubre |
|---|---|
| Agentes de IA | Crear y configurar Agentes de IA: ajustes, horario activo, conocimiento, reglas de etiquetado, herramientas, medios y borradores |
| Puntos de entrada | Decidir qué Agente de IA responde a una nueva conversación: valores predeterminados de canal, un Agente por número de WhatsApp, reglas de palabras clave, comentarios y seguidores |
| Difusiones | Crear, fijar precios, lanzar, pausar y duplicar envíos únicos a una lista de contactos |
| Campañas | Crear, actualizar, duplicar, habilitar, archivar e inspeccionar campañas y su configuración de bot |
| Contactos | Crear, buscar, listar, actualizar, importar, etiquetar y eliminar contactos |
| Preguntas frecuentes | Gestionar las entradas de preguntas y respuestas que utiliza su asistente de IA y vincularlas a campañas |
| Base de conocimientos | Importar sitios web y documentos al conocimiento de su IA y agrupar preguntas frecuentes en categorías |
| Tareas | Crear y gestionar tareas de CRM, etapas de tablero y tipos de tareas |
| Mensajes | Enviar mensajes salientes y leer el historial de conversaciones |
| Citas | Reservar, reprogramar, cancelar y eliminar citas |
| Canales | Conectar y desconectar canales de mensajería, comprar números y establecer qué Agente de IA responde a las nuevas conversaciones en cada canal |
| Plantillas | Crear, enviar y comprobar el estado de aprobación de las plantillas de mensajes de WhatsApp |
| Análisis | Leer estadísticas diarias de eventos de mensajes, uso de créditos y resúmenes de costes de IA |
| Webhooks | Registrar puntos finales para recibir notificaciones de eventos en tiempo real |
| Equipo | Gestionar miembros del equipo, invitaciones, roles, permisos y departamentos |
| Claves de API | Inspeccionar, rotar y revocar su clave de API, comprobar el uso del límite de velocidad y crear claves adicionales con acceso limitado |
Agentes, puntos de entrada y difusiones
Los Agentes de IA, los Puntos de entrada y las Difusiones se encuentran en la especificación OpenAPI publicada, por lo que puede explorar sus campos exactos y ejecutar solicitudes en vivo contra ellos en el explorador de API. Cada uno tiene su propia guía: Agentes de IA, Puntos de entrada y Difusiones.
Estar en la especificación también significa que estos puntos finales aparecen como herramientas para cualquier asistente de IA que conecte a través de MCP.
Leer esta documentación en Markdown
Cada página de esta documentación tiene un gemelo en Markdown sin formato: tome la dirección de la página y añada /index.md al final. Por lo tanto, esta página también está disponible en https://docs.youraiconnector.com/api/getting-started/index.md, y se devuelve como texto sin formato en lugar de como una página web; es útil cuando desea pegar una página en un asistente de IA o incluirla en un script.
Para un asistente de IA o un script que deba leer todo el conjunto, existen dos archivos listos para usar:
https://docs.youraiconnector.com/llms.txt— el índice: cada página con un resumen de una línea y un enlace a su equivalente en Markdown, agrupados tal como aparece en la barra lateral.https://docs.youraiconnector.com/llms-full.txt— toda la documentación en un solo archivo Markdown. Cada página comienza con su título y una líneaSource:que contiene la dirección de la página, para que un asistente pueda citar de dónde proviene una respuesta.
Ambos existen también para cada idioma, bajo el prefijo del idioma (https://docs.youraiconnector.com/nl/llms.txt, https://docs.youraiconnector.com/es/llms-full.txt, etcétera). Proporcione a su asistente la dirección llms.txt y este obtendrá las páginas que necesite, o entréguele llms-full.txt cuando deba tener todo el contexto a la vez. Se reconstruyen con cada cambio en la documentación, por lo que nunca quedan obsoletos.
Para recorrer las páginas usted mismo, https://docs.youraiconnector.com/sitemap.xml enumera cada página que publicamos. La documentación se mantiene deliberadamente fuera de los motores de búsqueda, por lo que obtener estas direcciones directamente es la forma de acceder a ella desde el código.
Nada de esto requiere una clave de API: los equivalentes en Markdown, los dos archivos llms y el mapa del sitio constituyen toda la interfaz.
Próximos pasos
- Autenticación — elija el método de autenticación adecuado para su integración.
- Errores y paginación — gestione fallos y navegue por los resultados paginados.
- Acceso a la API — genere su clave y vea ejemplos prácticos.