Todos os produtos
Search
Central de documentação

Chat App Message Service:ChatAppStatus

Última atualização: Sep 17, 2026

O Chat App Message Service envia relatórios de status de recebimento de mensagens para uma URL HTTP especificada. Implemente um endpoint nessa URL para receber os relatórios e retornar uma resposta em até 3 segundos.

Protocolo

Item

Descrição

Protocolo

HTTP + JSON

Codificação

UTF-8

Pré-requisitos

Nota

Para o procedimento de configuração de mensagens MO, consulte Message receipts and configuration.

Formato da solicitação

Um único envio pode conter vários relatórios de status.

Exemplo de solicitação quando MsgFrameType é template:

[
    {    
    "Status":"Failed",
    "ErrorDescription":"131026:Receiver is incapable of receiving this message(Message Undeliverable.)",
    "MsgFrameType":"template",
    "TaskId":"202307030171*******9",
    "From":"86131*******8",
    "Timestamp":1691043638000,
    "OriginPhoneNumber":"86130*******8",
    "TemplateCode":"820561547132813184",
    "Type":"TEMPLATE",
    "Language":"id",
    "TemplateName":"wa_otp_v_0_0_3",
    "To":"86138*******8",
    "ErrorCode":"131026",
    "MessageId":"2023078469463703*******3"
    },
    {    
    "Status":"Failed",
    "ErrorDescription":"131026:Receiver is incapable of receiving this message(Message Undeliverable.)",
    "MsgFrameType":"template",
    "TaskId":"202307030171*******9",
    "From":"86131*******8",
    "Timestamp":1691043638000,
    "OriginPhoneNumber":"86130*******8",
    "TemplateCode":"820561547132813184",
    "Type":"TEMPLATE",
    "Language":"id",
    "TemplateName":"wa_otp_v_0_0_3",
    "To":"86137*******8",
    "ErrorCode":"131026",
    "MessageId":"2023078469463703*******3"
    }
]

Exemplo de solicitação quando MsgFrameType é message:

[
    {    
    "Status":"Read",
    "MsgFrameType":"message",
    "Type":"INTERACTIVE",
    "TaskId":"2023068473353098*******8",
    "From":"86131*******8",
    "To":"86138*******8",
    "Timestamp":1691132091000,
    "OriginPhoneNumber":"86131*******8",
    "MessageId":"2023038470553398*******8",
    "ConversationId":"72222201111****",
    "ConversationType": "service"
    },
    {    
    "Status":"Read",
    "MsgFrameType":"message",
    "Type":"INTERACTIVE",
    "TaskId":"2023068473353098*******8",
    "From":"86131*******8",
    "To":"86138*******1",
    "Timestamp":1691132091000,
    "OriginPhoneNumber":"86131*******8",
    "MessageId":"2023038470553398*******8",
    "ConversationId":"72222201111****",
    "ConversationType": "service"
    }
]

Descrição dos campos

Parâmetro

Tipo

Obrigatório

Descrição

MessageId

String

Sim

Identificador exclusivo da mensagem.

From

String

Sim

Número de telefone do remetente.

To

String

Sim

Número de telefone do destinatário.

FromUserId

String

Não

BSUID

FromParentUserId

String

Não

BSUID pai (se houver)

FromUserName

String

Não

Conta de usuário (se houver)

Timestamp

Long

Sim

Timestamp Unix de envio da mensagem, em milissegundos.

Status

String

Sim

Status de entrega da mensagem. Valores válidos:

  • Sent: Mensagem enviada.

  • Delivered: Mensagem entregue ao dispositivo do destinatário.

  • Read: Mensagem lida pelo destinatário.

  • Failed: Falha na entrega da mensagem.

  • Deleted: Mensagem excluída.

    Nota

    Indisponível. O WhatsApp não envia o status Deleted para o Chat App Message Service.

  • unsubscribe: O usuário bloqueou a conta comercial.

  • subscribe: O usuário desbloqueou a conta comercial.

    Nota

    Aplica-se apenas a canais Viber.

StatusDescription

String

Sim

Descrição do status.

ErrorCode

String

Não

Código de erro para falha na entrega.

ErrorDescription

String

Não

Descrição do código de erro. Para obter detalhes, consulte API error codes.

ConversationType

String

Não

Tipo de conversa. Valores válidos:

  • service: Conversa iniciada pelo usuário.

  • utility: Mensagem transacional.

  • marketing: Mensagem de marketing.

  • authentication: Mensagem de autenticação.

ConversationId

String

Não

Identificador exclusivo da conversa.

ConversationExpirationTime (obsoleto)

Long

Não

Tempo de expiração da conversa.

Nota

Obsoleto. Não tem efeito no modelo de faturamento por mensagem.

MsgFrameType

String

Sim

Tipo de mensagem. Valores válidos:

  • message: Mensagem de formato livre. Envio permitido apenas nas 24 horas após a última mensagem do usuário.

  • template: Modelo de mensagem pré-aprovado no console. Envio permitido a qualquer momento.

Type

String

Não

Tipo de mídia do conteúdo da mensagem. Valores válidos:

  • image

  • video

  • document

  • audio

  • none: Texto simples

TaskId

String

Não

ID de tarefa personalizado.

Nota

O padrão é MessageId se TaskId não for especificado.

OriginPhoneNumber

String

Não

Número de telefone original do remetente.

TemplateCode

String

Não

Código do modelo de mensagem.

Nota

Disponível apenas quando MsgFrameType é template .

Formato da resposta

Ao receber um relatório de status, seu endpoint deve atender aos seguintes requisitos:

  • Responder em até 3 segundos.

  • Retornar o código de status HTTP 200.

  • Retornar o corpo da resposta no seguinte formato.

Se a resposta não atender a esses requisitos, o envio falhará e o service tentará novamente. Para obter detalhes, consulte Retry policy.

Exemplo de resposta

{
  "code": 0,
  "msg": "Success"
}

Descrição dos campos

Nome

Tipo

Obrigatório

Descrição

code

Number

Sim

Código da resposta.

msg

String

Não

Descrição.

Política de nova tentativa

Se o endpoint não responder em 3 segundos, não retornar o código de status HTTP 200 ou não devolver o corpo da resposta no formato exigido, o envio falhará. O service reenviará o relatório de status após 1 minuto e, posteriormente, após 5 minutos. No total, o service realiza até três tentativas de envio: a inicial e duas novas tentativas. Se todas as três tentativas falharem, o service interromperá as novas tentativas.