Enviar texto
curl --request POST \
--url https://cloud.datafyapi.com.br/v1/{phone_number_id}/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "5511999999999",
"type": "text",
"text": {
"preview_url": false,
"body": "Olá! Como podemos ajudar?"
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
messaging_product: 'whatsapp',
recipient_type: 'individual',
to: '5511999999999',
type: 'text',
text: {preview_url: false, body: JSON.stringify('Olá! Como podemos ajudar?')}
})
};
fetch('https://cloud.datafyapi.com.br/v1/{phone_number_id}/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://cloud.datafyapi.com.br/v1/{phone_number_id}/messages"
payload = {
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "5511999999999",
"type": "text",
"text": {
"preview_url": False,
"body": "Olá! Como podemos ajudar?"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"messaging_product": "whatsapp",
"contacts": [
{
"input": "5511999999999",
"wa_id": "5511999999999"
}
],
"messages": [
{
"id": "wamid.HBgNNTUxMTk5OTk5OTk5ORUCABIYFjNFQjA="
}
]
}{
"error": {
"message": "The parameter to is required.",
"type": "OAuthException",
"code": 100,
"fbtrace_id": "AbCdEfGhIjK"
}
}{
"statusCode": 401,
"message": "Token inválido ou não encontrado."
}Mensagens
Enviar texto
Envie uma mensagem de texto, com ou sem pré-visualização de link.
POST
/
v1
/
{phone_number_id}
/
messages
Enviar texto
curl --request POST \
--url https://cloud.datafyapi.com.br/v1/{phone_number_id}/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "5511999999999",
"type": "text",
"text": {
"preview_url": false,
"body": "Olá! Como podemos ajudar?"
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
messaging_product: 'whatsapp',
recipient_type: 'individual',
to: '5511999999999',
type: 'text',
text: {preview_url: false, body: JSON.stringify('Olá! Como podemos ajudar?')}
})
};
fetch('https://cloud.datafyapi.com.br/v1/{phone_number_id}/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://cloud.datafyapi.com.br/v1/{phone_number_id}/messages"
payload = {
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "5511999999999",
"type": "text",
"text": {
"preview_url": False,
"body": "Olá! Como podemos ajudar?"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"messaging_product": "whatsapp",
"contacts": [
{
"input": "5511999999999",
"wa_id": "5511999999999"
}
],
"messages": [
{
"id": "wamid.HBgNNTUxMTk5OTk5OTk5ORUCABIYFjNFQjA="
}
]
}{
"error": {
"message": "The parameter to is required.",
"type": "OAuthException",
"code": 100,
"fbtrace_id": "AbCdEfGhIjK"
}
}{
"statusCode": 401,
"message": "Token inválido ou não encontrado."
}Envia uma mensagem de texto simples para um cliente com a janela de 24 horas aberta. URLs no texto viram links clicáveis automaticamente.
Para quebrar linha, use
Veja mais detalhes na documentação de mensagens de texto da Meta.
O destinatário pode ser informado pelo número de telefone (
to) ou pelo ID do usuário (recipient). Se os dois forem enviados, vale o to; para enviar pelo ID do usuário, deixe o to em branco. Veja a diferença em Destinatário.Formatação
O texto aceita a formatação do WhatsApp:| Formato | Como escrever | Resultado |
|---|---|---|
| Negrito | *texto* | texto |
| Itálico | _texto_ | texto |
| Tachado | ~texto~ | |
| Monoespaçado | ```texto``` | texto |
\n dentro do texto.
Responder citando uma mensagem
Informe owamid da mensagem recebida em context.message_id. A resposta aparece vinculada à mensagem original na conversa:
{
"messaging_product": "whatsapp",
"to": "5511999999999",
"type": "text",
"context": { "message_id": "wamid.HBgNNTUxMTk5OTk5OTk5ORUCABIYFjNFQjA=" },
"text": { "body": "Seu pedido já saiu para entrega." }
}
Autorizações
Token gerado no painel da Datafy ao criar o canal. Formato: sk_live_xxx.
Parâmetros de caminho
ID do número que envia a mensagem. Descubra com GET /me.
Corpo
application/json
Sempre whatsapp.
Opções disponíveis:
whatsapp Exemplo:
"whatsapp"
Número do destinatário com código do país e DDD, como 5511999999999. Tem prioridade sobre recipient: para enviar pelo ID do usuário, deixe em branco.
Exemplo:
"5511999999999"
Sempre text.
Opções disponíveis:
text Exemplo:
"text"
Conteúdo da mensagem.
Show child attributes
Show child attributes
Sempre individual.
Opções disponíveis:
individual Exemplo:
"individual"
ID do usuário no WhatsApp (BSUID), recebido nos webhooks em from_user_id e contacts[].user_id, como BR.13491208655302741918. Usado quando to não é informado.
Responde citando uma mensagem anterior da conversa.
Show child attributes
Show child attributes
Resposta
Envio aceito pela Meta. Não confirma a entrega.