Skip to main content
POST
Send Individual HSM
A API WhatsApp permite que empresas automatizem e personalizem a comunicação com seus clientes, possibilitando interações eficientes e escaláveis enriquecidas com conteúdo multimídia. É ideal para gerenciar consultas, enviar notificações e fornecer respostas imediatas por meio de Agentes de IA.

Configuração do envio de mensagens

Passo 1: Definir o Endpoint

Para enviar mensagens, use o seguinte endpoint da API:

Passo 2: Parâmetros da Requisição

Os principais parâmetros da requisição incluem:
  • Text: O conteúdo da mensagem.
  • Tipo de mensagem (type): Define o tipo de template a ser enviado.
  • Propriedade do template: Template previamente criado e aprovado pela META.
  • Arquivo de mídia: Se o template exigir uma URL (imagem, documento, etc.).
  • Bot ID: Identificador único do bot.
  • Parâmetros: Dados específicos para cada envio (nome, número do pedido, etc.).

Passo 3: Enviar a requisição

Envie a mensagem usando o método POST. Após concluir o envio, você receberá uma resposta que permite verificar o status de entrega.
Certifique-se de cumprir as políticas do WhatsApp para evitar restrições.

Restrições de conteúdo

Lembre-se de que, para enviar mensagens pelo WhatsApp, você deve usar templates previamente aprovados pela META. Cada template tem limitações específicas com base em seu formato e conteúdo, como o comprimento da mensagem ou o tipo de informação permitida. Certifique-se de revisar essas restrições antes de usá-los para garantir a entrega correta. Tenha em mente que:
  • URLs, emojis e arquivos multimídia não são permitidos em mensagens de autenticação.
  • Os parâmetros devem ter no máximo 15 caracteres.

Corpo da Requisição


Tipos de template

Nesta seção, compartilhamos exemplos de requisição para os diferentes tipos de template. Esses exemplos fornecem um guia claro para que você possa facilmente substituir os valores pelos seus próprios dados.
Se o nome de um template ou um botão dentro do JSON diferir do template já aprovado, mesmo por um acento, o envio falhará. A precisão é fundamental para garantir a funcionalidade.

Casos de uso comuns

1. Mensagens personalizadas

Use templates com variáveis para enviar mensagens adaptadas às necessidades de cada usuário (por exemplo, lembretes de pagamento ou atualizações de pedidos).

2. Automação com Webhooks

Interações personalizadas com base nas respostas dos usuários, permitindo uma conversa mais dinâmica e eficiente. Exemplos de campanhas:
  • Promoções personalizadas: Ofertas exclusivas baseadas nas preferências do cliente.
  • Lembretes de pagamento: Notificações automáticas para datas de vencimento de faturas.
  • Cotações de serviço: Consultas rápidas sobre seguros, empréstimos, etc.

Configuração avançada

Número de telefone

Como este é um envio individual, o número de telefone do destinatário deve estar no formato correto para que o envio seja bem-sucedido. O sinal + deve ser omitido, o código do país deve ser incluído e apenas caracteres numéricos são permitidos. Traços ou espaços não são aceitos.
Para usuários no Equador: O sinal ”+” e o primeiro 0 do número de telefone devem ser omitidos para que seja inserido corretamente.

Parâmetros específicos

Dependendo da campanha, você pode usar dados personalizados como o tipo de mensagem ou informações adicionais do cliente.

Envio para destinatários identificados por BSUID

Além de um número de telefone, destinations aceita um BSUID (Business-Scoped User ID): um identificador com o formato CC.alfanumérico (ex.: US.13491208655302741918) que a Meta atribui quando um usuário ativa a privacidade de número no WhatsApp, substituindo seu telefone real. Se você já conhece o BSUID de um usuário —por exemplo, porque o recebeu em um webhook de entrada—, pode usá-lo diretamente para enviar uma plantilha sem precisar do número de telefone dele.
Não é possível usar BSUID para enviar plantillas da categoria AUTHENTICATION (OTP); esse destinatário deve ser enviado como número de telefone. Se você enviar um BSUID para uma plantilla AUTHENTICATION, esse destinatário específico é omitido do envio —o restante do lote continua normalmente— e, se todos os destinatários da solicitação falharem na resolução, a resposta é um array vazio [].

Personalização de mensagens

Vinculação com Workflows

Cada mensagem pode ser associada a um fluxo específico que define como a resposta do usuário deve ser tratada. Isso é útil para criar interações mais complexas e direcionadas, como menus interativos ou pesquisas.

Configuração de botões

Você pode usar a seguinte estrutura no campo buttonPayloads quando o seu template incluir botões de resposta rápida usando workflows; isso permitirá que você ative workflows adicionais dentro da conversa com base na ação selecionada pelo usuário.
Neste caso, cada botão deve ter as chaves type, action e skillId. A chave action define o texto que aparecerá no botão, enquanto skillId indica o ID do fluxo que o botão ativará.
Para obter o skillId de um workflow, passe o cursor sobre o nome do workflow no Brain Studio. Um tooltip será exibido com o ID correspondente.
Redirecione usuários para workflows específicos com base em sua escolha ou interação.Os templates permitem as seguintes configurações:
Para obter o skillId do workflow, passe o cursor sobre o nome do workflow no Brain Studio. Um tooltip será exibido com o ID correspondente.

Parâmetros de Cache

Esta função é usada para salvar informações adicionais no cache para uso posterior. Dependerá da configuração desejada para o template. Se uma URL for enviada, ela pode ser usada por um fluxo para redirecionar essa URL para fins de marketing. Todos os parâmetros a serem armazenados em cache devem ir em setMemoryParams com seus respectivos campos chave-valor.
Esta configuração será válida por 3 meses.

Respostas da API


Ferramentas recomendadas para testes

Para facilitar os testes e o envio de requisições, recomendamos o uso de ferramentas como:
  • Postman
  • Insomnia
Essas ferramentas permitem que você faça requisições HTTP facilmente, teste diferentes configurações e revise as respostas da API.

Perguntas frequentes

Atualmente não há um limite de caracteres definido por mensagem; no entanto, você deve estar ciente do tamanho dos arquivos que fazem parte da mensagem, como: imagem, vídeo ou documento. Estes são compartilhados via mediaUrl.Na Jelou, temos as seguintes limitações de tamanho e formato a seguir:
  • DOCUMENT: Até 15MB - Formato: .pdf
  • VIDEO: Até 15MB - Formato: .mp4
  • IMAGE: Até 5MB - Formatos: .jpg, .jpeg, .png
Tanto os cURLs de envio em massa quanto os 1-1 podem ser consumidos em qualquer cliente HTTPS como Insomnia ou Postman. Basta criar uma requisição HTTPS usando o cURL (apenas cole-o), depois altere os dados e execute.Aqui está um exemplo com basic-auth:

Autorizações

Authorization
string
header
obrigatório

Basic authentication using Base64 encoded clientId:clientSecret

Parâmetros de caminho

botId
string
obrigatório

The unique identifier of the bot

Corpo

application/json
elementName
string
obrigatório

Approved template name

destinations
string[]
obrigatório

Recipients: phone numbers with country code and no + sign, or BSUIDs (Business-Scoped User IDs)

mediaUrl
string<uri>

Public URL for media (required for image/video/document templates)

filename
string

Filename for document templates

type
enum<string>
padrão:text
Opções disponíveis:
text,
hsm,
image,
document,
video,
catalog,
carousel
language
enum<string>
Opções disponíveis:
en,
es,
pt
parameters
string[]

Template parameter values

buttonPayloads
object[]
actions
object
headerParameters
string[]
Maximum array length: 1
buttonParameters
object[]
ltoParams
object
cards
object[]
expirationTime
string

Expiration timestamp in milliseconds

campaignId
string

Resposta

HSM sent successfully

id
string
destination
string