# Retorno de chama de atualização de status

A cada atualização sobre o status das mensagens enviadas (confirmação de entrega para o usuário final, leitura de mensagens, etc.), um retorno de chamada/webhook é enviado. Os retornos de chamada são

<table><thead><tr><th width="154">Field</th><th width="375">Details</th><th>Type</th></tr></thead><tbody><tr><td>total</td><td>Número de retornos de chamada na chamada.</td><td>String</td></tr><tr><td>data</td><td>Lista de retorno de chamada.</td><td>Data[]</td></tr><tr><td>clientInfo</td><td>Informações ao Cliente</td><td>ClientInfo</td></tr></tbody></table>

#### Data: <a href="#data" id="data"></a>

<table><thead><tr><th width="180">Field</th><th width="363">Details</th><th>Type</th></tr></thead><tbody><tr><td>id</td><td>ID da última mensagem.</td><td>String</td></tr><tr><td>correlationId</td><td>Um ID exclusivo definido por você para corresponder ao status da mensagem (retorno de chamada e DLR). Esse parâmetro é opcional e você pode usar o ID gerado pelo ChatClub para essa correspondência.</td><td>String</td></tr><tr><td>destination</td><td>Telefone para o qual a mensagem foi enviada (incluindo o código do país). Exemplo: 5511900000000.</td><td>String</td></tr><tr><td>origin</td><td>Telefone que identifica a conta do WhatsApp (incluindo o código do país). Exemplo: 5511900000000.</td><td>String</td></tr><tr><td>campaignId</td><td>ID de campanha definido anteriormente.</td><td>String</td></tr><tr><td>campaignAlias</td><td>Alias de campanha definidos anteriormente.</td><td>String</td></tr><tr><td>extraInfo</td><td>Informações extras enviadas com a mensagem original.</td><td>String</td></tr><tr><td>sent</td><td>Indica se a mensagem foi enviada.</td><td>Boolean</td></tr><tr><td>sentStatusCode</td><td>Código de status gerado pelo ChatClub para mensagem indicando o status de envio.</td><td>Number</td></tr><tr><td>sentStatus</td><td>Descrição do status enviado.</td><td>Boolean</td></tr><tr><td>sentDate</td><td>Data em que a mensagem foi enviada. Formato: aaaa-MM-dd'T'HH:mm:ssZ.</td><td>String</td></tr><tr><td>sentAt</td><td>Hora em que a mensagem foi enviada, usando o formato Unix_time</td><td>Number</td></tr><tr><td>delivered</td><td>Indica se a mensagem foi entregue ao destino.</td><td>Boolean</td></tr><tr><td>deliveredStatusCode</td><td>Código de status gerado pelo ChatClub para mensagem indicando que a mensagem foi entregue.</td><td>Number</td></tr><tr><td>deliveredStatus</td><td>Descrição do status de entrega.</td><td>String</td></tr><tr><td>deliveredDate</td><td>Data em que a mensagem foi entregue. Formato:: aaaa-MM-dd'T'HH:mm:ssZ</td><td>String</td></tr><tr><td>deliveredAt</td><td>Hora em que a mensagem foi entregue, usando Unix_time formato</td><td>Number</td></tr><tr><td>read</td><td>Indica se a mensagem foi lida pelo destino.</td><td>Boolean</td></tr><tr><td>readDate</td><td>Data em que a mensagem foi lida. Formato: aaaa-MM-dd'T'HH:mm:ssZ</td><td>String</td></tr><tr><td>readAt</td><td>Hora em que a mensagem foi lida, usando o formato Unix_time</td><td>String</td></tr><tr><td>updatedDate</td><td>Data em que o status da mensagem foi atualizado. Formato: aaaa-MM-dd'T'HH:mm:ssZ</td><td>String</td></tr><tr><td>updatedAt</td><td>Data em que o status da mensagem foi atualizado, usando o formato Unix_time</td><td>String</td></tr><tr><td>type</td><td>O tipo de entidade sobre o qual esse objeto de status se refere. Atualmente, a única opção disponível é "mensagem".</td><td>String</td></tr><tr><td>conversation</td><td>O objeto de conversação, que contém em si id, origin.type e expiration. Esse objeto estava relacionado ao novo modelo faturável de mensagens de whatsapp. <em>Veja a</em> <a href="https://developers.facebook.com/docs/whatsapp/api/webhooks/components#conversation-object"><em>conversa do Whatsapp</em></a><em>.</em></td><td>Conversation</td></tr></tbody></table>

### ClientInfo Op <a href="#clientinfo-op" id="clientinfo-op"></a>

| Field        | Details                     | Type   |
| ------------ | --------------------------- | ------ |
| customerId   | Identificação do cliente.   | Number |
| subAccountId | Identificação de subcontas. | Number |
| userId       | Identificação do usuário.   | Number |

### Status <a href="#status" id="status"></a>

Status que pode ser enviado no retorno de chamada:

<table><thead><tr><th width="103">Code</th><th>Name</th><th width="169">Short Description</th><th>Detailed Description</th></tr></thead><tbody><tr><td>1</td><td>ROUTED_SUCCESS</td><td>Routed</td><td>Status de roteamento interno intermediário. As mensagens não são persistentes com esse status, portanto, não temos mensagens em relatórios com esse status</td></tr><tr><td>2</td><td>SENT_SUCCESS</td><td>Sent</td><td>Mensagem enviada com sucesso para operadora ou contêiner do WhatsApp.</td></tr><tr><td>3</td><td>CARRIER_ACCEPTED_SUCCESS</td><td>Carrier Accepted</td><td>Status de roteamento intermediário na transportadora. As mensagens não são persistentes com esse status, portanto, não temos mensagens em relatórios com esse status</td></tr><tr><td>4</td><td>DELIVERED_SUCCESS</td><td>Delivered</td><td>Mensagem entregue com sucesso da operadora ou do contêiner do WhatsApp para o dispositivo do destinatário.</td></tr><tr><td>5</td><td>READ_SUCCESS</td><td>Message read</td><td>Mensagem aberta e exibida para o usuário no aplicativo WhatsApp. Não temos esse status no SMS</td></tr><tr><td>101</td><td>EXPIRED</td><td>Expired</td><td>A mensagem TTL expirou.</td></tr><tr><td>102</td><td>CARRIER_COMMUNICATION_ERROR</td><td>Carrier communication error</td><td>Status indicando que estávamos tendo problemas para estabelecer comunicação com a operadora ou com o contêiner do WhatsApp e a mensagem não pôde ser enviada.</td></tr><tr><td>103</td><td>REJECTED_BY_CARRIER</td><td>Rejected by carrier</td><td>Status indicando que a operadora ou o contêiner do WhatsApp rejeitou a mensagem. Pode ser devido a vários motivos, como uma fila cheia na operadora, um número inválido para a operadora, um modelo de WhatsApp sem o idioma ou parâmetros ausentes. Ou qualquer outro erro interno do transportador ou do contêiner</td></tr><tr><td>104</td><td>NOT_DELIVERED</td><td>Message not delivered</td><td>Mensagem enviada com sucesso para operadora ou contêiner do WhatsApp, mas não entregue no dispositivo do usuário. Pode ser porque o dispositivo do usuário está fora de alcance; o número foi desativado ou bloqueado; Para o WhatsApp pode ser porque o conteúdo (mídia) não pode ser enviado ao usuário ou porque o destinatário não pode receber a mensagem devido a limites ou spam.</td></tr><tr><td>105</td><td>WA_MO_MEDIA_UNRETRYABLE_EXCEPTION</td><td>Retryable media error</td><td>Status do WhatsApp MO que contém mídia. Esse status indica que uma mídia não pode ser baixada do contêiner e não há necessidade de tentar novamente.</td></tr><tr><td>106</td><td>WA_MO_MEDIA_RETRYABLE_EXCEPTION</td><td>Not retryable media error</td><td>Status do WhatsApp MO que contém mídia. Esse status indica que uma mídia não pode ser baixada do contêiner, mas é possível tentar novamente</td></tr><tr><td>107</td><td>WA_MO_MEDIA_UNKNOWN_EXCEPTION</td><td>Media message unknown error</td><td>Status do WhatsApp MO que contém mídia. Esse status indica que uma mídia não pode ser baixada do contêiner e o erro é desconhecido.</td></tr><tr><td>108</td><td>WA_MO_MEDIA_MESSAGE_WITHOUT_FILE_ID_EXCEPTION</td><td>Media message without content</td><td>A mídia não pode ser processada corretamente quando enviada ao Felix, devido ao seu conteúdo vazio.</td></tr><tr><td>109</td><td>WA_MT_UNKNOWN_EXCEPTION</td><td>Unknown error (MT)</td><td>MT Error Status, indica que ocorreu um erro não relacionado ao conteúdo da mensagem em si, como tempo limite de conexão, conexão interrompida, erro interno ou erro com autenticação ssl.</td></tr><tr><td>110</td><td>WA_DATABASE_ERROR</td><td>Error with WhatsApp container’s database</td><td>Indica que ocorreu um erro com o banco de dados de contêiner (WhatsApp)</td></tr><tr><td>111</td><td>WA_MT_BLOCKED_BY_SPAM_RATE_LIMIT</td><td>Blocked for exceeding the amount of shipments (MT)</td><td>Bloqueio quando muitas mensagens idênticas são enviadas mais de uma vez para um determinado usuário, então o contêiner é bloqueado e as mensagens não são enviadas.</td></tr><tr><td>112</td><td>WA_MT_DESTINATION_INCAPABLE</td><td>Recipient unable to receive messages (MT)</td><td>O destinatário da mensagem não tem uma versão mais atualizada do WhatsApp ou, por algum outro motivo, não pode receber a mensagem enviada</td></tr><tr><td>201</td><td>NO_CREDIT</td><td>No credit</td><td>A verificação de crédito é feita no momento da solicitação de envio. Portanto, não temos esse status em mensagens persistentes. Acredito que esse status só é usado no B2C para shortcodes que são cobrados, então a mensagem pode ser recusada se o usuário não tiver crédito.</td></tr><tr><td>202</td><td>INVALID_DESTINATION_NUMBER</td><td>Invalid destination number</td><td>O número do destinatário é inválido e a mensagem não será enviada para a operadora ou contêiner do WhatsApp</td></tr><tr><td>203</td><td>BLACKLISTED</td><td>Destination in blocklist</td><td>O cliente adicionou o número à lista de bloqueio e a mensagem não será enviada para a operadora ou contêiner do WhatsApp</td></tr><tr><td>204</td><td>DESTINATION_BLOCKED_BY_OPTOUT</td><td>Destination in optOut</td><td>O usuário enviou o comando "exit" e foi adicionado à lista de opt-out. A mensagem não será enviada.</td></tr><tr><td>205</td><td>DESTINATION_MESSAGE_LIMIT_REACHED</td><td>Message limit reached</td><td>Indica que o contêiner está sobrecarregado e não pode receber mais mensagens.</td></tr><tr><td>207</td><td>INVALID_MESSAGE_TEXT</td><td>Message text is invalid</td><td>Envios de modelo que não estão habilitados na conta do cliente. Ou até mesmo parâmetros inválidos para a mensagem. Não temos palavras proibidas para o WhatsApp.</td></tr><tr><td>209</td><td>INVALID_CONTENT</td><td>Invalid message content</td><td>Indica que algum parâmetro de mensagem é inválido ou ausente.</td></tr><tr><td>210</td><td>INVALID_SESSION</td><td>Invalid session</td><td>Indica que foi feita uma tentativa de enviar um texto ou mídia sem que a sessão tenha sido aberta por um MO. Somente modelos são permitidos com a sessão fechada.</td></tr><tr><td>211</td><td>DESTINATION_BLOCKED_BY_OPT_IN</td><td>Destination blocked by optIn</td><td>O número não está na lista de opt-in e, portanto, a mensagem não será enviada.</td></tr><tr><td>212</td><td>DESTINATION_BLOCKED_BY_WHITELIST</td><td>Destination blocked by allowlist</td><td>O número não está na lista de números permitidos e, portanto, a mensagem não será enviada..</td></tr><tr><td>215</td><td>CUSTOMER_QUOTA_BLOCKED</td><td>Client blocked by quota limit</td><td>Status que indica que o cliente atingiu sua cota (mensal/diária) para envio de mensagens e, portanto, a mensagem não será enviada.</td></tr><tr><td>216</td><td>MESSAGE_BLOCKED_BY_WARM_UP</td><td>Message blocked by WarmUp feature</td><td>Status para clientes do WhatsApp que estão realizando aquecimento de contêiner. A mensagem permanece nesse status quando o contêiner já atingiu o limite permitido de mensagens para a camada atual.</td></tr><tr><td>217</td><td>WA_MT_MEDIA_EXCEPTION</td><td>Error in media content (MT)</td><td>Status MT para mensagens de mídia, onde devido a um erro no modelo, o tamanho da mídia ou do modelo excedeu o limite suportado, o formato de mídia não foi suportado ou a mídia não pôde ser encontrada e foi considerada inválida.</td></tr><tr><td>218</td><td>WA_NO_PRODUCTS_FOUND</td><td>Product not found</td><td>A solicitação tentou buscar um produto que não está cadastrado no sistema. Se for uma Mensagem da Lista de Produtos, significa que o catálogo ou o produto não existe no Gerenciador de Negócios.</td></tr><tr><td>219</td><td>INVALID_PARAMETER_OR_CONTACT</td><td>Invalid parameter or contact/destination</td><td>Indica que algum parâmetro de mensagem é inválido ou ausente, ou que o contato/destinatário é inválido/não tem WhatsApp.</td></tr><tr><td>301</td><td>INTERNAL_ERROR</td><td>Internal error</td><td>Status indicando que houve algum erro interno em nossas plataformas e a mensagem não pôde ser processada e enviada.</td></tr><tr><td>302</td><td>WA_MO_UNKWNOWN_EXCEPTION</td><td>Unknown error (MO)</td><td>Status para WhatsApp MO. Esse status indica que ocorreu um erro desconhecido durante o processamento do MO.</td></tr><tr><td>303</td><td>WA_BUSINESS_PAYMENT_ISSUE</td><td>Business payment issue</td><td>Status indica que ocorreu um problema durante o pagamento da transação, que pode ser causado por erros internos e externos. A mensagem não será enviada ao usuário.</td></tr></tbody></table>

> Exemplo

{% tabs %}
{% tab title="cURL" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "8995c40f-1c3a-48d0-98ee-bbc603622a91",
      "correlationId": "...",
      "destination": "5519900000000",
      "origin": "5519900000000",
      "campaignId": 100,
      "campaignAlias": "...",
      "flowId": "...",
      "extraInfo": "...",
      "sent": true,
      "sentStatusCode": 1,
      "sentStatus": "sent status",
      "sentDate": "2017-12-18T17:09:31.891Z",
      "sentAt": 1513616971891,
      "delivered": true,
      "deliveredStatusCode": 1,
      "deliveredStatus": "delivered status",
      "deliveredDate": "2017-12-18T17:09:31.891Z",
      "deliveredAt": 1513616971891,
      "read": true,
      "readDate": "2017-12-18T17:09:31.891Z",
      "readAt": 1513616971891,
      "updatedDate": "2017-12-18T17:09:31.891Z",
      "updatedAt": 1513616971891,
      "type": "MESSAGE",
      "conversation": {
        "id": "conversationId123",
        "origin": {
          "type": "REFERRAL_CONVERSION"
        },
        "expiration": "2017-12-19T17:09:31.891Z"
      }
    }
  ],
  "clientInfo": {
      "customerId": 42,
      "subAccountId": 1291,
      "userId": 1
  }
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "8995c40f-1c3a-48d0-98ee-bbc603622a91",
      "correlationId": "...",
      "destination": "5519900000000",
      "origin": "5519900000000",
      "campaignId": 100,
      "campaignAlias": "...",
      "flowId": "...",
      "extraInfo": "...",
      "sent": true,
      "sentStatusCode": 1,
      "sentStatus": "sent status",
      "sentDate": "2017-12-18T17:09:31.891Z",
      "sentAt": 1513616971891,
      "delivered": true,
      "deliveredStatusCode": 1,
      "deliveredStatus": "delivered status",
      "deliveredDate": "2017-12-18T17:09:31.891Z",
      "deliveredAt": 1513616971891,
      "read": true,
      "readDate": "2017-12-18T17:09:31.891Z",
      "readAt": 1513616971891,
      "updatedDate": "2017-12-18T17:09:31.891Z",
      "updatedAt": 1513616971891,
      "type": "MESSAGE",
      "conversation": {
        "id": "conversationId123",
        "origin": {
          "type": "REFERRAL_CONVERSION"
        },
        "expiration": "2017-12-19T17:09:31.891Z"
      }
    }
  ],
  "clientInfo": {
      "customerId": 42,
      "subAccountId": 1291,
      "userId": 1
  }
}
```

{% endtab %}

{% tab title="Python" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "8995c40f-1c3a-48d0-98ee-bbc603622a91",
      "correlationId": "...",
      "destination": "5519900000000",
      "origin": "5519900000000",
      "campaignId": 100,
      "campaignAlias": "...",
      "flowId": "...",
      "extraInfo": "...",
      "sent": true,
      "sentStatusCode": 1,
      "sentStatus": "sent status",
      "sentDate": "2017-12-18T17:09:31.891Z",
      "sentAt": 1513616971891,
      "delivered": true,
      "deliveredStatusCode": 1,
      "deliveredStatus": "delivered status",
      "deliveredDate": "2017-12-18T17:09:31.891Z",
      "deliveredAt": 1513616971891,
      "read": true,
      "readDate": "2017-12-18T17:09:31.891Z",
      "readAt": 1513616971891,
      "updatedDate": "2017-12-18T17:09:31.891Z",
      "updatedAt": 1513616971891,
      "type": "MESSAGE",
      "conversation": {
        "id": "conversationId123",
        "origin": {
          "type": "REFERRAL_CONVERSION"
        },
        "expiration": "2017-12-19T17:09:31.891Z"
      }
    }
  ],
  "clientInfo": {
      "customerId": 42,
      "subAccountId": 1291,
      "userId": 1
  }
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "8995c40f-1c3a-48d0-98ee-bbc603622a91",
      "correlationId": "...",
      "destination": "5519900000000",
      "origin": "5519900000000",
      "campaignId": 100,
      "campaignAlias": "...",
      "flowId": "...",
      "extraInfo": "...",
      "sent": true,
      "sentStatusCode": 1,
      "sentStatus": "sent status",
      "sentDate": "2017-12-18T17:09:31.891Z",
      "sentAt": 1513616971891,
      "delivered": true,
      "deliveredStatusCode": 1,
      "deliveredStatus": "delivered status",
      "deliveredDate": "2017-12-18T17:09:31.891Z",
      "deliveredAt": 1513616971891,
      "read": true,
      "readDate": "2017-12-18T17:09:31.891Z",
      "readAt": 1513616971891,
      "updatedDate": "2017-12-18T17:09:31.891Z",
      "updatedAt": 1513616971891,
      "type": "MESSAGE",
      "conversation": {
        "id": "conversationId123",
        "origin": {
          "type": "REFERRAL_CONVERSION"
        },
        "expiration": "2017-12-19T17:09:31.891Z"
      }
    }
  ],
  "clientInfo": {
      "customerId": 42,
      "subAccountId": 1291,
      "userId": 1
  }
}
```

{% endtab %}

{% tab title="Java" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "8995c40f-1c3a-48d0-98ee-bbc603622a91",
      "correlationId": "...",
      "destination": "5519900000000",
      "origin": "5519900000000",
      "campaignId": 100,
      "campaignAlias": "...",
      "flowId": "...",
      "extraInfo": "...",
      "sent": true,
      "sentStatusCode": 1,
      "sentStatus": "sent status",
      "sentDate": "2017-12-18T17:09:31.891Z",
      "sentAt": 1513616971891,
      "delivered": true,
      "deliveredStatusCode": 1,
      "deliveredStatus": "delivered status",
      "deliveredDate": "2017-12-18T17:09:31.891Z",
      "deliveredAt": 1513616971891,
      "read": true,
      "readDate": "2017-12-18T17:09:31.891Z",
      "readAt": 1513616971891,
      "updatedDate": "2017-12-18T17:09:31.891Z",
      "updatedAt": 1513616971891,
      "type": "MESSAGE",
      "conversation": {
        "id": "conversationId123",
        "origin": {
          "type": "REFERRAL_CONVERSION"
        },
        "expiration": "2017-12-19T17:09:31.891Z"
      }
    }
  ],
  "clientInfo": {
      "customerId": 42,
      "subAccountId": 1291,
      "userId": 1
  }
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-pt.sinch.com/documentacao-tecnica-whatsapp/documentacao-tecnica-whatsapp/retorno-de-chama-de-atualizacao-de-status.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
