💬 Shared Inbox do WhatsApp na nova PlataformaMais
1msg official logo

WhatsApp Business API para resposta a solicitação de cliente

Esse cenário envia uma mensagem de texto livre pelo WhatsApp com sendMessage dentro da janela de atendimento de 24 horas após o cliente perguntar.

Visão geral do caso de uso

Este cenário envia uma mensagem de texto livre pelo WhatsApp com sendMessage dentro da janela de atendimento ao cliente de 24 horas, após o cliente ter escrito primeiro sobre um produto ou serviço.

Exemplo de modelo

Olá,{{1}}! Recebemos sua solicitação sobre «{{2}}».{{3}}está revisando e responderá em breve.

  • {{1}}
    nome do cliente
  • {{2}}
    solicitar tópico ou área de produto
  • {{3}}
    nome do gerente de vendas designado
WhatsApp Business API for session reply — incoming client request

Quando usar isso?

Olá! Obrigado por entrar em contato pelo WhatsApp. Recebemos sua mensagem e um de nossos gerentes de vendas irá responder em breve com mais informações sobre o produto ou serviço que você perguntou.

Menos leads aguardando
Um webhook de entrada aciona sendMessage assim que a mensagem do cliente chega, para que o prospect receba o reconhecimento na mesma sessão antes que um gerente abra o thread.
Sem fricção ao iniciar modelos.
sendMessage funciona dentro da janela de atendimento ao cliente aberta 24 horas, então você pula a aprovação do modelo e o custo extra de reabrir um diálogo que o cliente já começou.
O tópico da solicitação permanece no chat.
Três variáveis de corpo carregam o nome do cliente, o tópico da solicitação que seu backend extraiu do CRM e o gerente designado, de modo que o reconhecimento seja pesquisável no WhatsApp em vez de um recibo genérico.
Transferência clara para vendas
A mensagem nomeia o gerente designado e estabelece a expectativa de uma resposta detalhada na mesma sessão, para que o cliente saiba quem está lidando com a solicitação enquanto o gerente prepara a resposta.

Fluxo de Trabalho

  1. Status rastreado

    Uma mensagem de cliente entrada chega via webhook.

    status: "read"

  2. Evento de captura

    Seu backend mapeia o chat para um lead e extrai o tópico da solicitação.

    POST /sendMessage

  3. Construa e envie

    Uma mensagem de texto da sessão reconhece o pedido e nomeia o gerente.

    POST /sendMessage

  4. Entregue

    O gerente continua o diálogo com uma resposta detalhada na mesma sessão.

    delivered

WhatsApp Business API for session reply — incoming client request

Implementação técnica

Pré-requisitos

  1. 1MSG API Key · Como obter a chave API
  2. Conta do WhatsApp Business · Como Conectar o WABA
  3. Janela de sessão aberta 24 horas · Como funciona a janela de 24 horas
  4. Opt-in do cliente · Como Gerenciar o Consentimento dos Clientes
  5. Webhook endpoint · Como Configurar Webhooks

Exemplos de código

#!/usr/bin/env bash
set -euo pipefail

# === Configuration (replace "___" placeholders) ===
API_BASE_URL="https://api.1msg.io"        # production 1MSG API base URL
CHANNEL_ID="___"                           # channel ID from 1MSG dashboard
API_TOKEN="___"                            # channel JWT token (Bearer)



# === Test data ===
TEST_PHONE="___"                 # client phone in international format · requires open 24-hour session window
TEST_CUSTOMERNAME="___"         # {{1}} customer name
TEST_TOPIC="___"         # {{2}} topic or subject
TEST_MANAGERNAME="___"         # {{3}} manager name

PHONE_NORM="$(printf '%s' "$TEST_PHONE" | tr -cd '0-9')"

for pair in "CHANNEL_ID=$CHANNEL_ID" "API_TOKEN=$API_TOKEN" "TEST_PHONE=$TEST_PHONE" \
            "TEST_CUSTOMERNAME=$TEST_CUSTOMERNAME" \
            "TEST_TOPIC=$TEST_TOPIC" \
            "TEST_MANAGERNAME=$TEST_MANAGERNAME"; do
  val="${pair#*=}"
  if [ -z "$val" ] || [ "$val" = "___" ]; then
    echo "Missing configuration value: ${pair%%=*}" >&2
    exit 1
  fi
done

if [ -z "$PHONE_NORM" ]; then
  echo "Error: phone number has no digits after normalization" >&2
  exit 1
fi

URL="${API_BASE_URL%/}/${CHANNEL_ID}/sendMessage"

read -r -d '' PAYLOAD <<JSON || true
{
  "phone": "${PHONE_NORM}",
  "body": "Hello, Alexey! We received your request about «CRM for a sales team». Manager Anna is reviewing it and will reply shortly."
}
JSON

RESPONSE="$(curl -s -w '\n%{http_code}' -X POST "$URL" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -d "$PAYLOAD")"

HTTP_CODE="$(printf '%s' "$RESPONSE" | tail -n1)"
BODY="$(printf '%s' "$RESPONSE" | sed '$d')"

case "$BODY" in
  *'"sent":true'*) ok=1 ;;
  *) ok=0 ;;
esac

if [ "$HTTP_CODE" -ge 200 ] && [ "$HTTP_CODE" -lt 300 ] && [ "$ok" -eq 1 ]; then
  echo "Message sent to client."
  echo "API response: $BODY"
else
  echo "Send failed. HTTP status: $HTTP_CODE" >&2
  echo "$BODY" >&2
  exit 1
fi

Status de resposta e entrega

HTTP 2xx e JSON"sent": truemean 1MSGaceitoa mensagem para enviar — não que já tenha chegado ao telefone do cliente.idcampowamid.…para correlacionar retornos de entrega.

200 OKResposta
{
  "sent": true,
  "id": "wamid.HBgLMzgwNjM5...",
  "message": "Message accepted for delivery"
}
  • sent

    Aceito para envio.nãoainda no telefone do cliente

  • id

    Armazene isso; retornos de chamada de entrega ehookInfosão focados nisso

A entrega em si chega mais tarde, como um retorno separado. Registre um webhook (POST …/webhook) e 1MSG POSTs atualizações de status para seu endpoint HTTPS em um nível superiorhooks[]carga.

200 OKWebhook de status de entrega — payload recebido
{
  "hooks": [
    {
      "id": "gBGGeSaGViBfAgnlzOSHEwK9O6F",
      "type": "message",
      "status": "sent",
      "timestamp": "1654864094",
      "recipient_id": "556123122026"
    }
  ]
}
  • status

    sent, delivered, read— ou um status de falha quando aplicável

  • id

    Correla o callback com oidretornada pela chamada de envio

  • timestamp

    Segundos Unix, como uma string

Se você preferir não receber ligações de retorno, não faça a pesquisa.GET {base}/{channel}/hookInfo?messageId=<id>em vez disso. Na prática, a entrega geralmente é concluída em segundos — mas o contrato da API não garante isso, então nunca bloqueie um fluxo esperando por isso.

Erros comuns

StatusRespostaCausa
200Message was not sent: empty bodyNo body in the request.
200Message was not sent: provide chatId, phone, bsuid, or usernameNo recipient the channel could resolve.
200wrong fileThe media could not be fetched or uploaded — not a reachable URL, not valid base64.
403access deniedThe token is wrong, or belongs to a different channel than the URL.
200Message was not sent: filenamesendFile called without a filename, so the media has no extension to send.

Perguntas Frequentes

Não — este cenário utiliza uma mensagem de sessão dentro da janela de atendimento ao cliente de 24 horas.

Relacionado

Engajamento de Leads & Conversão
WhatsApp Business API para resposta de sessão — preços
Esse cenário envia uma mensagem de texto livre pelo WhatsApp com sendMessage dentro da janela de atendimento de 24 horas, após o cliente perguntar sobre Preços.
Engajamento de Leads & Conversão
WhatsApp Business API para resposta de sessão sobre disponibilidade
Este cenário envia uma mensagem pelo WhatsApp com sendMessage dentro da janela de atendimento de 24 horas, após o cliente perguntar se um item está disponível.
Engajamento de Leads & Conversão
WhatsApp Business API para suporte à decisão de compra
Este cenário envia um modelo de WhatsApp personalizado para um cliente potencial enquanto ele ainda está decidindo.
Engajamento de Leads & Conversão
WhatsApp Business API para lembrete de acompanhamento de propostas
O cenário envia ao prospect um modelo de mensagem personalizada pelo WhatsApp, lembrando-o de revisar a proposta comercial.
Engajamento de Leads & Conversão
WhatsApp Business API para catálogo de produtos interativo
Este cenário envia uma lista interativa com sendList durante a janela de sessão de 24 horas.
Engajamento de Leads & Conversão
WhatsApp Business API para consulta antes da compra
O cenário envia ao cliente uma mensagem de template personalizada pelo WhatsApp, convidando-o para uma consulta pré-compra.
Engajamento de Leads & Conversão
WhatsApp Business API para notificação de novos leads
O cenário envia um template personalizado de WhatsApp para o gerente de vendas quando um novo lead é capturado.
Engajamento de Leads & Conversão
WhatsApp Business API para qualificação de leads.
Esse caso de uso envia um novo lead um modelo de WhatsApp com uma saudação personalizada: a mensagem substitui o nome do lead e o contexto do produto.

Crie para o WhatsApp em horas
sem complicações de infraestrutura