Wow! Redução de 65% no preço para clientes brasileiros! Registre-se agora
Evento do HubSpot → ação · caso de uso da WhatsApp API

Envie um texto de chat no WhatsApp a partir de um evento do HubSpot

O contato inscrito recebe um texto no WhatsApp quando o HubSpot dispara o evento. Quando o envio de um formulário, a mudança de etapa de um negócio ou a alteração de uma propriedade do contato o inscreve, sua automação pode mapear o telefone e o corpo da mensagem e enviar esse texto pela Whapi.Cloud. Este caso de uso mostra aos integradores como implementar esse fluxo com a WhatsApp API.

Acionado por um evento de workflow do HubSpot O texto chega ao chat pessoal do contato
Notebook mostrando a inscrição em um workflow do HubSpot ao lado de um celular com um chat do WhatsApp que acabou de receber o texto de acompanhamento mapeado.
Balão decorativo
Caso de utilização

Quando usar este fluxo

O HubSpot já é dono do evento de inscrição

Use este fluxo quando um evento de workflow do HubSpot (formulário, etapa do negócio ou mudança de propriedade) for a fonte de verdade sobre quem deve receber a mensagem.

A ação é um único texto em chat pessoal

Use este fluxo quando o contato inscrito deve receber um texto comum em um chat direto, e não um convite de grupo nem uma publicação de canal.

O envio deve rodar sem copiar e colar manualmente

Use este fluxo quando vendas ou operações não devem abrir o WhatsApp para copiar um número e colar um acompanhamento depois que o HubSpot já inscreveu o contato.

Chat do WhatsApp em um celular mostrando o texto de acompanhamento que chegou após um evento de workflow do HubSpot para aquele contato.
Experiência do cliente

O contato recebe o acompanhamento no chat

Antes da automação, o HubSpot já conhece o evento, mas o contato espera enquanto alguém abre o WhatsApp e digita o acompanhamento à mão, e por isso muitas inscrições nunca recebem uma mensagem.

Depois que o fluxo roda, o contato inscrito vê o texto do WhatsApp mapeado para aquele evento do HubSpot. Os integradores constroem esse resultado com a WhatsApp API.

Fluxo de trabalho

De um evento do HubSpot a um único texto

1

Evento do workflow do HubSpot

O HubSpot dispara o evento de inscrição e expõe o telefone do contato e o corpo da mensagem que sua ação mapeou. A Whapi.Cloud não hospeda o workflow do HubSpot.

2

Envie o texto de chat mapeado

POST /messages/text

sendMessageText publica esse corpo no telefone do contato como texto de mensagem comum.

Precisa acompanhar a entrega? Uma resposta de envio bem-sucedida não prova que o contato já tem a mensagem. Acompanhe os acks posteriores nos webhooks de entrega. Saiba mais sobre o status de entrega →

Pré-requisitos

Antes de executar o fluxo

Conecte o número de WhatsApp que enviará o acompanhamento do HubSpot e autentique cada requisição com o token de API desse número. A inscrição no HubSpot e o mapeamento da ação ficam no HubSpot ou na sua ferramenta de automação.

Opcional — aprofunde-se neste fluxo

Implementação da API

A chamada que envia o texto

Seu evento do HubSpot já indicou o contato e a mensagem que você quer enviar. Esta chamada entrega esse corpo mapeado ao número de WhatsApp do contato.

Obtenha seu token de API gratuitamente depois de se cadastrar em whapi.cloud e use esse token no código no lugar de Your_Token dos exemplos.

Envie o texto de chat mapeado

{NS}.API_HUB.STEP_1_PURPOSE

curl --request POST \
     --url https://gate.whapi.cloud/messages/text \
     --header 'accept: application/json' \
     --header 'authorization: Bearer Your_Token' \
     --header 'content-type: application/json' \
     --data '
{
  "to": "15052462002",
  "body": "Hello"
}
'
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://gate.whapi.cloud/messages/text",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{  \"to\": \"15052462002\",  \"body\": \"Hello\"}",
  CURLOPT_HTTPHEADER => [
    "accept: application/json",
    "authorization: Bearer Your_Token",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests

url = "https://gate.whapi.cloud/messages/text"
payload = {"to": "15052462002", "body": "Hello"}
headers = {
    "accept": "application/json",
    "authorization": "Bearer Your_Token",
    "content-type": "application/json"
}

response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
const response = await fetch("https://gate.whapi.cloud/messages/text", {
  method: "POST",
  headers: {
    accept: "application/json",
    authorization: "Bearer Your_Token",
    "content-type": "application/json"
  },
  body: JSON.stringify({ to: "15052462002", body: "Hello" })
});

console.log(await response.text());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{  \"to\": \"15052462002\",  \"body\": \"Hello\"}");
Request request = new Request.Builder()
  .url("https://gate.whapi.cloud/messages/text")
  .method("POST", body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer Your_Token")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
using RestSharp;

var options = new RestClientOptions("https://gate.whapi.cloud/messages/text");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Bearer Your_Token");
request.AddHeader("content-type", "application/json");
request.AddJsonBody(new { to = "15052462002", body = "Hello" });
var response = await client.ExecuteAsync(request);

Console.WriteLine("{0}", response.Content);
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	body := []byte(`{
  "to": "15052462002",
  "body": "Hello"
}`)
	req, _ := http.NewRequest("POST", "https://gate.whapi.cloud/messages/text", bytes.NewReader(body))
	req.Header.Set("accept", "application/json")
	req.Header.Set("authorization", "Bearer Your_Token")
	req.Header.Set("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	out, _ := io.ReadAll(res.Body)
	fmt.Println(string(out))
}
Status de entrega

Quando o texto sai de pending

Uma resposta de envio bem-sucedida não significa que o contato já tem a mensagem. O primeiro status visível antes de um webhook é pending. As mudanças de status posteriores chegam apenas em statuses.post e statuses.put. Se o status continuar em pending e não passar para sent, delivered ou outro ack posterior, a mensagem não foi entregue — verifique o payload e a permissão da conta para enviar esse tipo.

  • Trate um pending travado como não entregue, e não como um relógio ou uma fila esperando um webhook.

  • Assine statuses.post e statuses.put quando precisar de confirmação de envio, entrega ou leitura para a ação do HubSpot.

  • Não marque a ação do HubSpot como concluída enquanto o status do WhatsApp continuar em pending.

O que ler sobre entrega e webhooks

Fale com o suporte se algo der errado
Quando algo dá errado

Trate as falhas em cada etapa

Se o HubSpot já disparou o evento, mas o contato não tem um telefone utilizável, o envio é rejeitado ou a mensagem não é entregue, tente de novo ou avise a equipe e não marque a ação do HubSpot como concluída.

O HubSpot disparou, mas o WhatsApp nunca chegou?

Mantenha a inscrição no HubSpot separada da entrega no WhatsApp. Corrija o telefone ausente no payload, tente sendMessageText de novo ou avise a equipe — não marque a ação do HubSpot como concluída enquanto o contato ainda não tiver o texto. Se o envio continuar falhando após uma nova tentativa, fale com o suporte da Whapi informando o id do canal e o id da requisição que falhou.

Fale com o suporte se algo der errado

Resolva problemas por etapa da API

Código O que significa O que fazer
200 Created
400 Wrong request parameters Corrija os parâmetros incorretos do corpo do envio antes de tentar de novo.
401 Need channel authorization for send message Autorize o canal a enviar mensagens e tente de novo com um token válido.
402 Trial version limit exceeded
403 It is forbidden to send to this group/recipient Confirme que é permitido enviar a este destinatário e tente de novo com um valor de to corrigido.
413 Request body too large
429 Too many requests Reduza o ritmo e tente de novo mais tarde, depois de requisições demais.
500 Internal Error
Perguntas frequentes

Eventos do HubSpot e texto no WhatsApp

Não. O HubSpot cuida da inscrição e do mapa Evento → Ação. Sua automação ou seu backend lê o telefone do contato e o corpo da mensagem desse evento e depois chama sendMessageText pela Whapi.Cloud.
Sim. Muitos integradores capturam o evento do HubSpot no Make ou no n8n, mapeiam o telefone e o corpo e depois chamam a ação de envio da Whapi. Esta página trata só da etapa de envio no WhatsApp; a configuração do Make e do n8n está nos guias próprios.
Trate como o failure_mode do catálogo — não chame sendMessageText, avise a equipe ou enriqueça o contato e não marque a ação do HubSpot como concluída.
Não. Aquele fluxo valida se os números estão no WhatsApp antes de um envio em massa ou de uma importação. Este fluxo envia o texto de chat mapeado após um evento de workflow do HubSpot para um contato inscrito.
Recursos compatíveis do WhatsApp

Tudo o que você precisa para criar automações no WhatsApp

O Whapi.Cloud oferece acesso a um conjunto completo de recursos do WhatsApp — mensagens, mídia, grupos, canais, webhooks e muito mais. Crie bots, automações e integrações sem limitações de funcionalidades.

Escolhido por desenvolvedores

Confiado por mais de 3.300 desenvolvedores e equipes SaaS

Desenvolvedores no mundo inteiro utilizam o Whapi.Cloud para criar automações, bots, integrações com CRM, ferramentas de envio em massa e fluxos avançados de WhatsApp. Nossa infraestrutura processa milhões de requisições API com alta estabilidade — e esse número cresce a cada mês.

Ícone de recurso

5,5K+

canais de API ativos

Ícone de recurso

21M+

requisições API por mês

“Tudo é simples, intuitivo e fácil de navegar. A documentação é clara e todas as informações estão bem à mão. Trabalho excelente.”

Roberto K. / Desenvolvedor Web

“Conectamos o WhatsApp aos nossos fluxos usando o n8n em apenas alguns minutos. Sem código, sem complicações — funcionou de primeira.”

Martin P. / Desenvolvedor

“O Whapi.Cloud se tornou uma parte essencial da nossa comunicação com clientes. Automatizamos atualizações de produtos, notificações de pedidos e mensagens de suporte — tudo sem templates nem aprovações da Meta.”

Oscar T. / CTO

Balão decorativo