Introdução à API
A API REST do DM Champ permite que você crie sua própria integração com sua conta. Você pode criar e pesquisar contatos, gerenciar campanhas, FAQs, tarefas e agendamentos, enviar mensagens, registrar webhooks, ler análises e conectar canais de mensagens — tudo o que o painel faz, controlado por código.
Esta é a página central da documentação da API. Se você estiver conectando o DM Champ a uma ferramenta que já possui uma integração integrada, talvez você nem precise da API. A API é destinada a integrações personalizadas e automação em escala.
Nota: Estas páginas foram escritas para desenvolvedores. Se você não é um desenvolvedor, compartilhe esta seção com sua equipe técnica.
URL Base
Todas as solicitações vão para o mesmo endereço web base, e todos os caminhos nestes documentos são relativos a ele:
https://api.dmchamp.com/v1
Portanto, o endpoint de Agentes de IA é https://api.dmchamp.com/v1/agents, o endpoint de contatos é https://api.dmchamp.com/v1/contacts, e assim por diante.
Todas as solicitações devem usar uma conexão segura (HTTPS). Solicitações HTTP simples são rejeitadas.
Obtendo uma chave de API
O acesso à API é um recurso pago. Se o seu plano não o incluir, cada solicitação retornará um 403 com este corpo:
{
"success": false,
"error_code": 403,
"error": "This action requires the \"api_access\" feature, which is not enabled for this account."
}
Assim que o acesso à API estiver habilitado em seu plano, gere uma chave a partir do painel. O passo a passo completo está em Acesso à API — em resumo: vá para Configurações → Integrações → Chave de API para gerar ou regenerar sua chave. A Chave de API é uma seção própria em Integrações, separada de Webhooks, e ela só aparece quando o acesso à API está habilitado em seu plano. Trate a chave como uma senha: ela concede acesso total à sua conta.
Autenticação
Você pode enviar sua chave de API de quatro maneiras. Todas funcionam em todos os endpoints que aceitam autenticação por chave de API.
| Método | Como | Ideal para |
|---|---|---|
| Parâmetro de consulta | ?apiKey=YOUR_API_KEY |
Testes rápidos, URLs de navegador, configurações legadas |
| Cabeçalho | X-API-Key: YOUR_API_KEY |
Integrações de produção |
| Cabeçalho Bearer | Authorization: Bearer YOUR_API_KEY |
Integrações de produção |
| Token de ID do Firebase | Authorization: Bearer <ID token> |
Apenas sessões de aplicativos de primeira parte |
Para produção, prefira uma das formas de cabeçalho para que sua chave nunca apareça em um log de servidor ou histórico do navegador. A forma de parâmetro de consulta sempre funciona e é a mais simples para um teste rápido.
Consulte Autenticação para uma análise completa de cada método, com exemplos e orientações sobre quando usar cada um.
Sua primeira solicitação
Aqui está uma chamada completa e funcional que lista os Agentes de IA em sua conta. Ela usa sua chave de API e retorna uma linha curta por Agente, com os mais recentes primeiro.
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"])
Uma resposta bem-sucedida tem esta aparência:
{
"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
}
Respostas de sucesso e erro
Toda resposta JSON contém uma flag success para que você possa ramificar a lógica sem precisar analisar códigos de status.
Uma resposta bem-sucedida é success: true mais os dados para aquele endpoint (o nome do campo varia — campaigns, contacts, data, e assim por diante):
{
"success": true,
"campaigns": []
}
Uma resposta com falha é success: false com uma mensagem error legível por humanos e um error_code numérico que corresponde ao status HTTP:
{
"success": false,
"error": "Invalid cursor",
"error_code": 400
}
Sempre verifique success (ou o status HTTP) antes de ler os dados. Consulte Erros e Paginação para ver a tabela completa de códigos de status e como paginar grandes conjuntos de resultados.
Limites de taxa
Requisições autenticadas são limitadas a 300 requisições por minuto por chave de API. Há também um limite mais amplo de 1.200 requisições por minuto por conta, contando cada requisição autenticada feita para essa conta.
Agências: o segundo número é o que deve ser usado para planejamento. As requisições que você faz com sua chave de agência são contabilizadas na sua conta de agência, mesmo quando direcionadas a uma subconta com sub_account_id, portanto, um pico de provisionamento em vários clientes compartilha um único orçamento. Se um cliente precisar de seu próprio orçamento, use a chave de API da própria subconta.
Se você exceder qualquer um dos limites, receberá uma resposta 429:
{
"success": false,
"error_code": 429,
"error": "Rate limit exceeded. Please try again later."
}
Aguarde e tente novamente após um curto intervalo. Você também pode verificar seu uso atual a qualquer momento com GET https://api.dmchamp.com/v1/api-keys/usage, que retorna quantas requisições você usou na janela atual e quando ela será redefinida — útil para criar limitação de taxa (throttling) no lado do cliente. Consulte Chaves de API.
Guias de recursos
Os grupos de recursos abaixo possuem cada um seu próprio guia com os caminhos exatos, campos de solicitação e formatos de resposta.
| Recurso | O que cobre |
|---|---|
| Agentes de IA | Crie e configure Agentes de IA: configurações, horário de funcionamento, conhecimento, regras de marcação, ferramentas, mídia e rascunhos |
| Pontos de Entrada | Decida qual Agente de IA responde a uma nova conversa: padrões de canal, um Agente por número de WhatsApp, regras de palavra-chave, comentário e seguidor |
| Transmissões | Crie, precifique, inicie, pause e duplique envios únicos para uma lista de contatos |
| Campanhas | Crie, atualize, duplique, habilite, arquive e inspecione campanhas e suas configurações de bot |
| Contatos | Crie, pesquise, liste, atualize, importe, marque e exclua contatos |
| FAQs | Gerencie as entradas de perguntas e respostas que seu assistente de IA usa e vincule-as a campanhas |
| Base de Conhecimento | Importe sites e documentos para o conhecimento da sua IA e agrupe FAQs em conjuntos |
| Tarefas | Crie e gerencie tarefas de CRM, estágios de quadro e tipos de tarefa |
| Mensagens | Envie mensagens de saída e leia o histórico de conversas |
| Agendamentos | Agende, remarque, cancele e exclua agendamentos |
| Canais | Conecte e desconecte canais de mensagens, compre números e defina qual Agente de IA responde a novas conversas em cada canal |
| Modelos | Crie, envie e verifique o status de aprovação de modelos de mensagem do WhatsApp |
| Análise | Leia estatísticas diárias de eventos de mensagens, uso de créditos e resumos de custos de IA |
| Webhooks | Registre endpoints para receber notificações de eventos em tempo real |
| Equipe | Gerencie membros da equipe, convites, funções, permissões e departamentos |
| Chaves de API | Inspecione, rotacione e revogue sua chave de API, verifique o uso do limite de taxa e crie chaves extras com acesso limitado |
Agentes, Pontos de Entrada e Transmissões
Agentes de IA, Pontos de Entrada e Transmissões estão todos na especificação OpenAPI publicada, para que você possa navegar pelos seus campos exatos e executar solicitações ao vivo no explorador de API. Cada um tem seu próprio guia: Agentes de IA, Pontos de Entrada e Transmissões.
Estar na especificação também significa que esses endpoints aparecem como ferramentas para qualquer assistente de IA que você conectar via MCP.
Lendo esta documentação como Markdown
Cada página nesta documentação possui um equivalente em Markdown simples: pegue o endereço da página e adicione /index.md ao final. Portanto, esta página também está disponível em https://docs.youraiconnector.com/api/getting-started/index.md, e ela é retornada como texto simples em vez de uma página da web — útil quando você deseja colar uma página em um assistente de IA ou importá-la para um script.
Para um assistente de IA ou um script que deva ler todo o conjunto, existem dois arquivos prontos:
https://docs.youraiconnector.com/llms.txt— o índice: cada página com um resumo de uma linha e um link para sua versão em Markdown, agrupados da mesma forma que a barra lateral.https://docs.youraiconnector.com/llms-full.txt— toda a documentação em um único arquivo Markdown. Cada página começa com seu título e uma linhaSource:contendo o endereço da página, para que um assistente possa citar de onde uma resposta veio.
Ambos também existem para cada idioma, sob o prefixo do idioma (https://docs.youraiconnector.com/nl/llms.txt, https://docs.youraiconnector.com/es/llms-full.txt, e assim por diante). Forneça ao seu assistente o endereço llms.txt e ele buscará as páginas de que precisa, ou entregue a ele llms-full.txt quando ele precisar ter tudo no contexto de uma só vez. Eles são reconstruídos a cada alteração na documentação, portanto, nunca ficam desatualizados.
Para percorrer as páginas você mesmo, https://docs.youraiconnector.com/sitemap.xml lista todas as páginas que publicamos. A documentação é mantida deliberadamente fora dos mecanismos de busca, portanto, buscar esses endereços diretamente é a maneira de acessá-la via código.
Nada disso requer uma chave de API: as versões em Markdown, os dois arquivos llms e o sitemap são toda a interface.
Próximos passos
- Autenticação — escolha o método de autenticação correto para sua integração.
- Erros e Paginação — lide com falhas e pagine através dos resultados.
- Acesso à API — gere sua chave e veja exemplos práticos.