# Messages statuses

## **Receive double check**

The "receive double check" on **messages sent by the customer** appears when the callback with the *received* status reaches 360Dialog Webhook and then notifies the WABA. [This setting](https://docs.360dialog.com/partner/messaging/sending-and-receiving-messages/receiving-messages-via-webhook#set-webhook-url) needs to be set up previously for this to work.

The "receive double check" on **messages sent by the business** appears when the customer’s WhatsApp app receives the message.

## **Read double check**

The read double check on **messages sent by the customer** appears when the [message is marked as read by the business](https://developers.facebook.com/docs/whatsapp/cloud-api/guides/mark-message-as-read/).

The read double check on **messages sent by the business** appears when the customer’s WhatsApp app is open in the message.

<img src="https://2248475362-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuyAl2S0lSHJaNDXJHo7A%2Fuploads%2FW5eOFhgLEGbNUczQbar7%2Fmark_as_read.png?alt=media&#x26;token=08f58319-55b1-4c3b-955a-b0cd44464d72" alt="" data-size="original">&#x20;

#### Step 1: Make `POST` Request to `/messages` <a href="#step-1--make-put-request-to--messages" id="step-1--make-put-request-to--messages"></a>

The `message_id` used in this API call is the `id` provided in the Webhook Inbound Notification.

```json
POST /messages
{
  "messaging_product": "whatsapp",
  "status": "read",
  "message_id": "MESSAGE_ID"
  }'
```

**`Parameters`**

<table><thead><tr><th width="266.5">Name</th><th>Description</th></tr></thead><tbody><tr><td><code>messaging_product</code></td><td><strong>Required</strong>.<br>Use <code>whatsapp</code></td></tr><tr><td><code>message_id</code></td><td><strong>Required</strong>.</td></tr><tr><td><code>status</code></td><td><p><strong>Required.</strong></p><p>Updating <code>status</code> to <code>read</code> is applicable only for incoming messages.</p></td></tr></tbody></table>

#### Step 2: Check the API Response <a href="#step-2--check-the-api-response" id="step-2--check-the-api-response"></a>

A successful response returns:

```json
null # or { "success" : true }
```

## Typing indicators

Typing indicators allow a business integration to signal that a reply is being composed after an incoming message is received. When triggered, WhatsApp marks the message as read, then displays a typing indicator in the conversation until a response message is sent. If a response message is not sent within 25 seconds, the indicator is automatically dismissed.

Typing indicators are useful when additional processing time is required before sending a response, such as calling external services or performing complex business logic.

### Send a typing indicator

To send a typing indicator, use this [endpoint](https://app.gitbook.com/s/-M4sMxKjL6eJRvZn6jeG-887967055/messaging-api/api-reference/messages#post-messages), and a JSON body.

```json
{ 
   "messaging_product": "whatsapp",
   "status": "read",
   "message_id": "<WHATSAPP_MESSAGE_ID>",
   "typing_indicator": {
     "type": "text"
   }
}
```
