Enviar texto e botões
Envie texto simples ou até três botões interativos.
/functions/v1/erp-whatsapp-bridgesend-textBearer AuthKeyCabeçalhos obrigatóriosAuthKey + JSON
AuthorizationBearer SUA_AUTHKEYContent-Typeapplication/jsonCorpo da requisiçãoJSON
Envie os campos abaixo junto com a ação da operação.
_actionstringObrigatórioIdentifica a operação neste endpoint. Use "send-text".
instance_idstringOpcional*UUID da instância retornado pela API. Informe este campo ou appkey; não use o ID do dispositivo no seu banco.
appkeystringOpcional*Nome da instância retornado em instance_name. Alternativa ao instance_id.
require_instancebooleanOpcional*Recomendado true: exige uma instância explícita.
phonestringObrigatório*Destino com DDI + DDD + número, apenas dígitos. Para vários destinos, use para ou to como array em vez de phone.
textstringObrigatório*Texto da mensagem. Aliases aceitos: mensagem e message.
buttonsarrayOpcional*Até 3 objetos: type (reply, url ou whatsapp), title (1–20 caracteres); url para link ou phone_number para WhatsApp.
Ver estrutura de buttons
{
"type": "array",
"maxItems": 3,
"items": {
"type": "object",
"required": [
"title"
],
"properties": {
"type": {
"type": "string",
"enum": [
"reply",
"url",
"whatsapp"
],
"default": "reply"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 20
},
"url": {
"type": "string",
"format": "uri"
},
"phone_number": {
"type": "string"
}
}
}
}titlestringOpcional*Título opcional da mensagem interativa (até 60 caracteres).
footerstringOpcional*Rodapé opcional da mensagem interativa (até 60 caracteres).
* Condições e alternativas estão descritas em cada campo. Quando necessário, selecione a instância por instance_id ou appkey. Um array de destinos pode substituir phone nos envios.
Comportamento e cuidados
- A instância precisa estar conectada e pertencer à empresa da AuthKey. require_instance=true evita a seleção automática de outra instância.
- Confira sent e total: success=true pode representar sucesso parcial em múltiplos destinatários. sent_to identifica os destinos aceitos; não significa confirmação de leitura.
- Não repita envios automaticamente após timeout: a API não oferece uma chave pública de idempotência. Registre send_id e request_id para investigar antes de tentar novamente.
- Para vários destinos use para, to ou recipients como array de strings. Eles substituem phone; o backend normaliza e elimina destinos duplicados. Destinatários em quarentena podem ser bloqueados.
- Os botões são respostas rápidas. Nos tipos url e whatsapp, o link é enviado após o clique; não são botões nativos que abrem uma URL ou iniciam uma ligação diretamente.
- Exemplo opcional de buttons: [{"type":"reply","title":"Quero atendimento"},{"type":"url","title":"Ver site","url":"https://example.com"}]. Não há endpoint público separado para listas, carrosséis ou grupos nesta integração.
Tratamento de falhas
Confira o HTTP e os campos da resposta. Em falhas, preserve code e request_id para diagnóstico. HTTP 200 e success=true nem sempre significam envio completo ou exclusão confirmada.
