Markdown
Referência · atendimento

Janela de 24h

Confira se o contato pode receber texto livre pelo número que fará o envio.

A janela define se você pode enviar texto livre. Fora dela, use um template aprovado. Estar dentro da janela não significa que a mensagem será gratuita: a cobrança depende das regras da Meta.

GET/public/v1/window/{to}

O fluxo (link para esta seção)

Consulte o mesmo número que fará o envio antes de escolher o formato da mensagem. A Meta confirma a permissão no momento do envio, porque a janela pode vencer entre as duas chamadas.

fluxo
janela aberta   ->  POST /messages com "text" ou "template"
janela fechada  ->  POST /messages com "template" aprovado
curl
curl https://api.patrociniotech.com/public/v1/window/5521999999999 \
  -H "Authorization: Bearer SUA_CHAVE"

Resposta (link para esta seção)

200
{
  "success": true,
  "data": {
    "to": "5521999999999",
    "open": true,
    "can_send_text": true,
    "seconds_left": 84141,
    "expires_at": "2026-08-03T11:14:22.000Z",
    "last_inbound_at": "2026-08-02T11:14:22.000Z",
    "opt_in": "accepted",
17 linhas
CampoO que é
openA janela está aberta agora.
can_send_textMesmo valor de open. Indica se o envio com text está permitido.
seconds_leftQuantos segundos faltam para fechar. Zero quando está fechada.
expires_atQuando fecha, em UTC. Nulo se o contato nunca escreveu.
last_inbound_atÚltima vez que o contato escreveu para o número consultado.
opt_inaccepted, pending, declined ou nulo, conforme o cadastro no número consultado. Não define se a janela está aberta.
opt_in_at / opt_in_sourceData e origem do estado local. accepted com origem inbound indica que a pessoa escreveu; não comprova autorização para promoções. null significa informação não registrada.
opt_in_scopephone_number: estado do cadastro no número selecionado. Uma recusa em outro número da empresa também impede marketing.
marketing_allowedAusência de bloqueio registrado para marketing. True não comprova consentimento, aprovação do template ou entrega.
marketing_block_reasonopted_out_or_blocked quando existe recusa de promoções na empresa ou bloqueio no número consultado; nulo sem essa exclusão.

Janela aberta não é autorização de marketing (link para esta seção)

O contato pode ter open: true e marketing_allowed: false. A primeira informação permite responder ao atendimento com texto; a segunda impede novos templates promocionais pela API.

opt_in descreve o cadastro deste número. Uma saída de promoções registrada em outro número da mesma empresa também impede marketing: por isso, consulte marketing_allowed, não apenas opt_in.

Para um contato pendente ou desconhecido, marketing_allowed: true significa apenas que não encontramos exclusão registrada. Não converta esse resultado em accepted. A origem e o consentimento da sua lista continuam sob responsabilidade da integração.

O que abre a janela (link para esta seção)

A mensagem do contato renova a janela por 24 horas a partir do horário da mensagem. Envio, entrega e leitura de mensagens da empresa não estendem o prazo.

Se não houver mensagem recebida registrada, a resposta será open: false. Para iniciar a conversa, use um template aprovado e respeite a permissão do destinatário.

Vários números (link para esta seção)

Se a sua conta tem mais de um número conectado, a janela é por número. Passe phone_number_id para consultar a de um específico; sem ele, consultamos o número padrão, seguindo a mesma seleção usada no envio. Não combinamos janelas de números diferentes.

O telefone em to deve conter DDI e DDD. Para cadastros locais, normalize o telefone informando o país; esta rota não deduz o país nem acrescenta 55.

curl
curl "https://api.patrociniotech.com/public/v1/window/5521999999999?phone_number_id=1234567890" \
  -H "Authorization: Bearer SUA_CHAVE"

Usar a janela recebida no webhook (link para esta seção)

A consulta é opcional. O evento message.received já informa window_expires_at. Mantenha a maior validade por contato e número da empresa para escolher entre texto e template sem consultar a cada resposta.

Perto do vencimento, confirme a janela com esta consulta. Trate o erro outside_24h_window caso o prazo termine antes do envio.