API para integração com o sistema de atendimento ao cliente da InfoTecMG
A API do Chat InfoTecMG permite que você integre o sistema de chat em tempo real da InfoTecMG com seus próprios aplicativos e serviços.
Com esta API, você pode:
A API segue o padrão REST e retorna respostas em formato JSON.
Para autenticar na API do Chat InfoTecMG, você precisa incluir um token de acesso no cabeçalho de autorização de suas requisições.
Você pode obter seu token de acesso nas configurações da sua conta no painel do Chat InfoTecMG.
Authorization: Bearer {seu_token_de_acesso}
Substitua {seu_token_de_acesso}
pelo token real fornecido pelo sistema.
curl -X GET https://chatwoot.infotecmg.net/api/v1/accounts \
-H 'Authorization: Bearer {seu_token_de_acesso}'
A API do Chat InfoTecMG tem limites de taxa para garantir a estabilidade do serviço:
Se você exceder esses limites, receberá uma resposta 429 Too Many Requests
.
A API usa códigos de status HTTP convencionais para indicar sucesso ou falha:
Código | Status | Descrição |
---|---|---|
400 | Bad Request | A requisição é inválida ou está faltando parâmetros obrigatórios |
401 | Unauthorized | Token de autenticação ausente ou inválido |
403 | Forbidden | Você não tem permissão para acessar este recurso |
404 | Not Found | O recurso solicitado não foi encontrado |
429 | Too Many Requests | Você excedeu o limite de taxa |
500 | Internal Server Error | Ocorreu um erro no servidor |
Lista todas as contas disponíveis para o usuário autenticado.
curl -X GET https://chatwoot.infotecmg.net/api/v1/accounts \
-H 'Authorization: Bearer {seu_token_de_acesso}'
{
"payload": [
{
"id": 1,
"name": "InfoTecMG",
"status": "active",
"created_at": "2023-01-15T10:30:00Z"
},
{
"id": 2,
"name": "Suporte Técnico",
"status": "active",
"created_at": "2023-02-20T14:45:00Z"
}
]
}
Cria uma nova conta.
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
name | string | Sim | Nome da conta |
locale | string | Não | Idioma padrão (ex: 'pt-BR') |
curl -X POST https://chatwoot.infotecmg.net/api/v1/accounts \
-H 'Authorization: Bearer {seu_token_de_acesso}' \
-H 'Content-Type: application/json' \
-d '{
"name": "Nova Conta",
"locale": "pt-BR"
}'
{
"id": 3,
"name": "Nova Conta",
"locale": "pt-BR",
"status": "active",
"created_at": "2023-06-10T09:15:00Z"
}
Lista todos os agentes de uma conta específica.
curl -X GET https://chatwoot.infotecmg.net/api/v1/accounts/1/agents \
-H 'Authorization: Bearer {seu_token_de_acesso}'
{
"payload": [
{
"id": 1,
"name": "João Silva",
"email": "[email protected]",
"role": "administrator",
"available": true,
"created_at": "2023-01-10T08:00:00Z"
},
{
"id": 2,
"name": "Maria Souza",
"email": "[email protected]",
"role": "agent",
"available": false,
"created_at": "2023-02-15T09:30:00Z"
}
]
}
Lista todas as caixas de entrada de uma conta específica.
curl -X GET https://chatwoot.infotecmg.net/api/v1/accounts/1/inboxes \
-H 'Authorization: Bearer {seu_token_de_acesso}'
{
"payload": [
{
"id": 1,
"name": "Suporte Geral",
"channel_type": "web",
"status": "active",
"created_at": "2023-01-20T10:00:00Z"
},
{
"id": 2,
"name": "WhatsApp",
"channel_type": "whatsapp",
"status": "active",
"created_at": "2023-03-05T14:20:00Z"
}
]
}
Lista todos os contatos de uma conta específica.
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
page | integer | Não | Número da página (padrão: 1) |
query | string | Não | Termo para filtrar contatos |
curl -X GET "https://chatwoot.infotecmg.net/api/v1/accounts/1/contacts?page=1&query=joao" \
-H 'Authorization: Bearer {seu_token_de_acesso}'
{
"payload": [
{
"id": 1,
"name": "João da Silva",
"email": "[email protected]",
"phone_number": "+5511999999999",
"custom_attributes": {
"empresa": "ABC Ltda",
"cargo": "Gerente"
},
"created_at": "2023-01-25T11:20:00Z"
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1
}
}
Lista todas as conversas de uma conta específica.
curl -X GET https://chatwoot.infotecmg.net/api/v1/accounts/1/conversations \
-H 'Authorization: Bearer {seu_token_de_acesso}'
{
"payload": [
{
"id": 1,
"contact": {
"id": 1,
"name": "João da Silva"
},
"inbox": {
"id": 1,
"name": "Suporte Geral"
},
"status": "open",
"agent_last_seen_at": "2023-06-10T10:30:00Z",
"created_at": "2023-06-10T10:15:00Z"
},
{
"id": 2,
"contact": {
"id": 2,
"name": "Maria Souza"
},
"inbox": {
"id": 2,
"name": "WhatsApp"
},
"status": "pending",
"agent_last_seen_at": null,
"created_at": "2023-06-10T09:45:00Z"
}
]
}
Envia uma mensagem em uma conversa específica.
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
content | string | Sim | Conteúdo da mensagem |
message_type | string | Sim | Tipo de mensagem (outgoing ou incoming) |
private | boolean | Não | Se a mensagem é privada (padrão: false) |
curl -X POST https://chatwoot.infotecmg.net/api/v1/accounts/1/conversations/1/messages \
-H 'Authorization: Bearer {seu_token_de_acesso}' \
-H 'Content-Type: application/json' \
-d '{
"content": "Olá, como posso ajudar?",
"message_type": "outgoing",
"private": false
}'
{
"id": 123,
"content": "Olá, como posso ajudar?",
"message_type": "outgoing",
"content_type": "text",
"created_at": "2023-06-10T11:00:00Z",
"sender": {
"id": 1,
"name": "João Silva",
"type": "user"
}
}
Cria um novo webhook para uma conta específica.
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
url | string | Sim | URL que receberá os eventos |
subscriptions | array | Sim | Eventos para assinar (ex: ["conversation.created", "message.created"]) |
conversation.created
- Nova conversa criadaconversation.resolved
- Conversa resolvidaconversation.reopened
- Conversa reabertamessage.created
- Nova mensagem criadacontact.created
- Novo contato criadocontact.updated
- Contato atualizadocurl -X POST https://chatwoot.infotecmg.net/api/v1/accounts/1/webhooks \
-H 'Authorization: Bearer {seu_token_de_acesso}' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://sua-api.com/webhooks/chat",
"subscriptions": ["conversation.created", "message.created"]
}'
{
"id": 1,
"url": "https://sua-api.com/webhooks/chat",
"subscriptions": ["conversation.created", "message.created"],
"status": "active",
"created_at": "2023-06-10T12:00:00Z"
}
O widget de chat permite que você adicione o chat do InfoTecMG diretamente em seu site.
Adicione o seguinte código JavaScript ao seu site:
<script>
window.chatwootSettings = {
websiteToken: '{seu_website_token}',
baseUrl: 'https://chatwoot.infotecmg.net'
};
(function(d,t) {
var BASE_URL = 'https://chatwoot.infotecmg.net';
var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=BASE_URL+'/packs/js/sdk.js';
g.defer = true;
g.async = true;
s.parentNode.insertBefore(g,s);
g.onload=function(){
window.chatwootSDK.run({
websiteToken: '{seu_website_token}',
baseUrl: BASE_URL
})
}
})(document,'script');
</script>
Substitua {seu_website_token}
pelo token do seu website, que pode ser encontrado nas configurações da sua caixa de entrada no painel do Chat InfoTecMG.
O Chat InfoTecMG oferece integração com vários serviços populares:
Integração com WhatsApp Business
Integração com Messenger
Integração com Direct Messages
Integração com email
Para configurar integrações, acesse o painel do Chat InfoTecMG e navegue até Configurações > Integrações.