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

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.

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 perguntar se um item está disponível.

Exemplo de modelo

Olá,{{1}}! «{{2}}» está atualmente{{3}}. Responda aqui se você quiser reservar, receber um alerta de reposição ou ver opções similares.

  • {{1}}
    nome do cliente
  • {{2}}
    nome do produto ou serviço
  • {{3}}
    status de disponibilidade ou data esperada
WhatsApp Business API for session reply — availability inquiry

Quando usar

Acesse isso quando um prospect perguntar se um produto ou serviço está em estoque ou disponível para reserva em um chat aberto no WhatsApp, e a resposta precisa chegar antes que ele vá para a concorrência. Isso é ideal para equipes de vendas que puxam o inventário ao vivo do OMS ou CRM, desenvolvedores que conectam respostas de sessão impulsionadas por webhook, e agências que gerenciam a disponibilidade para catálogos de clientes.

Menos vendas perdidas devido a respostas lentas
Quando uma pergunta sobre disponibilidade chega via webhook, seu backend resolve o SKU e sendMessage retorna o nome do produto e o status atual como três variáveis de corpo dentro da sessão aberta de 24 horas, para que o cliente receba uma resposta no mesmo thread em vez de esperar por um atendente.
Conteúdo vivo em vez de conteúdo ultrapassado
Ao contrário de um modelo de início a frio, sendMessage carrega o status de inventário ou de slots retirado do OMS ou CRM no momento do envio, de modo que a linha de disponibilidade reflete o que está disponível ou quando o reabastecimento é esperado.
Próximos passos na mesma conversa sem um botão
A mensagem convida o cliente a responder no chat para reservar, receber um alerta de reposição ou ver opções semelhantes, para que a finalização da compra ou a reserva possam continuar sem sair do WhatsApp.
Disponibilidade consistente
Cada resposta utiliza a mesma estrutura de três variáveis — nome do cliente, produto ou serviço, status de disponibilidade ou data esperada — para que os representantes não reescrevam respostas ad hoc que se contradizem.

Fluxo de Trabalho

  1. Status rastreado

    Uma mensagem de cliente de entrada com uma pergunta sobre disponibilidade chega via webhook.

    status: "read"

  2. Resolve o SKU

    Seu backend resolve o SKU e o status atual do estoque ou slot.

    status: "read"

  3. Construa e envie

    Uma mensagem de texto de sessão envia o nome do produto e um resumo de disponibilidade.

    POST /sendMessage

  4. Entregue

    O cliente continua o diálogo para reservar ou escolher alternativas.

    delivered

WhatsApp Business API for session reply — availability inquiry

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. Consentimento 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_CUSTOMERNAME="___"         # {{1}} customer name
TEST_PRODUCTORSERVICENAME="___"         # {{2}} product or service name
TEST_STATUS="___"         # {{3}} status label

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_PRODUCTORSERVICENAME=$TEST_PRODUCTORSERVICENAME" \
            "TEST_STATUS=$TEST_STATUS"; 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! «Premium Plan license» is currently in stock — ready to ship today. Reply here if you want to reserve, get a restock alert, or see similar options."
}
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": truemédia 1MSGAceito.Mensagem para enviar ao cliente.idcampowamid.…) para correlacionar os 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

    Armazenar. Retornos de entrega.hookInfoestão focados nisso

A entrega chega mais tarde, como um retorno separado. Registre um webhook.POST …/webhook) e 1MSG POSTs atualizações de status para o 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 comidretornado pela chamada

  • timestamp

    Segundos Unix, como uma string

Se você não deseja receber chamadas, escolha não participar.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 ela.

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.

FAQ

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 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.
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