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

WhatsApp Business API para resposta de sessão — solicite mais.

Este cenário envia uma mensagem de texto livre pelo WhatsApp com sendMessage dentro da janela de atendimento ao cliente de 24 horas.

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. Use-o após um evento de webhook de entrada quando você já tiver uma sessão aberta e precisar solicitar detalhes de ticket que estão faltando.

Exemplo de modelo

Para continuar resolvendo o ticket{{1}}, por favor envie{{2}}.

  • {{1}}
    número do ticket de suporte
  • {{2}}
    o que você precisa do cliente (foto, documento, esclarecimento)
WhatsApp Business API for session reply — request additional information

Quando usá-lo

Acesse este cenário quando um webhook de entrada mostrar que o cliente já escreveu no WhatsApp e sua equipe de suporte precisa de uma foto, documento ou esclarecimento específico antes de fechar o ticket. Isso se encaixa em acompanhamentos de helpdesk onde a janela de sessão de 24 horas está aberta e um modelo adicionaria custo e fricção a um diálogo em andamento.

Sem gastos em template em tickets abertos.
sendMessage envia texto livre dentro da janela de atendimento ao cliente de 24 horas, então você pode pedir detalhes que estão faltando sem pagar por um modelo em uma conversa que o cliente já começou.
Resolução de tickets mais rápida
Duas variáveis de corpo carregam o número do bilhete e o item exato que você está aguardando, para que o cliente saiba o que devolver sem abrir o email ou repetir o problema.
Menos idas e vindas entre os agentes
Seu backend mapeia o webhook de entrada para o ticket e preenche ambos os espaços reservados antes que o sendMessage seja acionado, para que o agente não precise reescrever a solicitação no chat.
A resposta permanece na mesma conversa.
O cliente recebe a solicitação na sessão aberta do WhatsApp e pode anexar a foto ou documento no mesmo chat, onde seu webhook captura a resposta recebida para o helpdesk.

Fluxo de Trabalho

  1. Status rastreado

    Uma mensagem de cliente recebida chega via webhook.

    status: "read"

  2. Captura de evento

    Seu backend mapeia o chat para um ticket e determina o detalhe que está faltando.

    POST /sendMessage

  3. Construir & enviar

    Uma mensagem de texto da sessão é enviada mencionando o tíquete e o item aguardado.

    POST /sendMessage

  4. Entregue

    O cliente responde com o material solicitado na mesma sessão.

    delivered

WhatsApp Business API for session reply — request additional information

Implementação técnica

Pré-requisitos

  1. 1MSG API Key · Como obter a chave da API
  2. Conta do WhatsApp Business · Como Conectar 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. Endpoint de webhook · 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_TICKETNUMBER="___"         # {{1}} ticket number
TEST_AWAITEDITEM="___"         # {{2}} awaited item

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_TICKETNUMBER=$TEST_TICKETNUMBER" \
            "TEST_AWAITEDITEM=$TEST_AWAITEDITEM"; 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": "To continue resolving ticket TKT-1024, please send a photo of the damaged item."
}
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": truesignifica 1MSGaceitoa mensagem para enviar — não que já tenha chegado ao celular do cliente.idcampo (parece)wamid.…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; chamadas de retorno de entrega.hookInfosão focados nisso

A entrega em si chega mais tarde, como uma chamada de retorno separada. Registre um webhook (POST …/webhook) e 1MSG envia 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 oidretornado pela solicitação de envio

  • timestamp

    Segundos Unix, como uma string

Se você prefere não receber retornos de chamada, escolha.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 ele.

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

Serviço ao Cliente
WhatsApp Business API para notificação de tíquete aceito
O cenário envia ao cliente um modelo personalizado de WhatsApp quando seu pedido de suporte é aceito para processamento.
Serviço ao Cliente
WhatsApp Business API — criar grupo no WhatsApp para equipe
Este cenário usa a API de grupos com uma operação de criação para provisionar um grupo do WhatsApp nomeado para transmissões da equipe.
Serviço ao Cliente
WhatsApp Business API para suporte — reação e confirmações
Este cenário combina sendReaction e readMessage durante a janela de atendimento ao cliente de 24 horas.
Serviço ao Cliente
WhatsApp Business API para suporte — botões interativos
Este cenário envia uma mensagem interativa com o sendButton durante a janela de atendimento ao cliente de 24 horas.
Serviço ao Cliente
WhatsApp Business API para notificação de resolução
O cenário envia um template personalizado pelo WhatsApp quando o ticket de suporte do cliente é resolvido.
Serviço ao Cliente
WhatsApp Business API — repasse ao especialista com contato
Este cenário envia um cartão de contato do WhatsApp com sendContact durante a janela de atendimento ao cliente de 24 horas.
Serviço ao Cliente
WhatsApp Business API para lembrete de resposta pendente
O cenário envia ao cliente um template personalizado de WhatsApp quando o suporte está bloqueado aguardando sua resposta.
Serviço ao Cliente
WhatsApp Business API para notificação de agente atribuído
O cenário envia ao cliente um template personalizado pelo WhatsApp quando um ticket de suporte é designado a um especialista.

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