curl --request PUT \
--url https://cloud.datafyapi.com.br/channels/whatsapp/{id}/chatwoot \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://chat.seudominio.com",
"api_token": "xxxxxxxxxxxxxxxxxxxx",
"inbox_name": "Atendimento"
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://chat.seudominio.com',
api_token: 'xxxxxxxxxxxxxxxxxxxx',
inbox_name: 'Atendimento'
})
};
fetch('https://cloud.datafyapi.com.br/channels/whatsapp/{id}/chatwoot', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://cloud.datafyapi.com.br/channels/whatsapp/{id}/chatwoot"
payload = {
"url": "https://chat.seudominio.com",
"api_token": "xxxxxxxxxxxxxxxxxxxx",
"inbox_name": "Atendimento"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text){
"url": "https://chat.seudominio.com",
"account_id": 1,
"inbox_id": 2,
"inbox_name": "Atendimento"
}Configurar Chatwoot
Conecta o canal a um Chatwoot self-hosted no modo nativo: cria (ou adota) a caixa de entrada no Chatwoot apontando para o proxy da Datafy e passa a repassar as mensagens recebidas para lá. Idempotente: chamar de novo atualiza a URL e o nome.
curl --request PUT \
--url https://cloud.datafyapi.com.br/channels/whatsapp/{id}/chatwoot \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://chat.seudominio.com",
"api_token": "xxxxxxxxxxxxxxxxxxxx",
"inbox_name": "Atendimento"
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://chat.seudominio.com',
api_token: 'xxxxxxxxxxxxxxxxxxxx',
inbox_name: 'Atendimento'
})
};
fetch('https://cloud.datafyapi.com.br/channels/whatsapp/{id}/chatwoot', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://cloud.datafyapi.com.br/channels/whatsapp/{id}/chatwoot"
payload = {
"url": "https://chat.seudominio.com",
"api_token": "xxxxxxxxxxxxxxxxxxxx",
"inbox_name": "Atendimento"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text){
"url": "https://chat.seudominio.com",
"account_id": 1,
"inbox_id": 2,
"inbox_name": "Atendimento"
}409.Pré-requisito no seu Chatwoot
O token de acesso (api_token) precisa ser de um usuário administrador. E o seu Chatwoot precisa ter a variável de ambiente WHATSAPP_CLOUD_BASE_URL apontando para o proxy da Datafy, com os serviços reiniciados:
WHATSAPP_CLOUD_BASE_URL=https://cloud.datafyapi.com.br/v1
400 pedindo para configurar essa variável.
Editar
Chamar de novo atualiza a configuração. Para trocar apenas a URL ou o nome da caixa de entrada, você pode omitir oapi_token — o token guardado é mantido.
Resposta
| Campo | Descrição |
|---|---|
url | URL do Chatwoot |
account_id | ID da conta no Chatwoot |
inbox_id | ID da caixa de entrada no Chatwoot |
inbox_name | Nome da caixa de entrada |
alerta | Presente só quando o Chatwoot marcou o canal como “conexão expirada”. Nesse estado ele descarta as mensagens recebidas; abra a caixa de entrada no Chatwoot e reconecte. |
Autorizações
Token de conta gerado no painel da Datafy, em Perfil. Formato: sk_acct_xxx. Diferente do token de canal (sk_live_).
Parâmetros de caminho
ID do canal, retornado em Listar canais e em Criar canal.
Corpo
URL do seu Chatwoot self-hosted.
"https://chat.seudominio.com"
Nome da caixa de entrada criada no Chatwoot.
"Atendimento"
Token de acesso de um usuário do Chatwoot com permissão de administrador. Obrigatório na primeira configuração; ao editar só a URL ou o nome, pode ser omitido para manter o token guardado.
"xxxxxxxxxxxxxxxxxxxx"
Resposta
Chatwoot configurado.