# Chamadas de Callback

Sempre que você fornecer uma URL no parâmetro `callback_url` e houver alguma atualização, uma requisição será enviada para o endereço. O corpo da requisição depende to tipo da atualização, mas sempre contará com o [código do envio (parâmetro batch).](https://docs.dchat.com.br/books/rcs-api/page/disparando-um-rcs#bkmrk-c%C3%B3digo-do-disparo)

#### Atualização de Status da Mensagem

##### Mensagem Entregue

```json
{
    "batch": "41",
    "token": "5514999998877",
    "status": "delivered",
    "message": "",
}
```

##### Mensagem Lida

```json
{
    "batch": "41",
    "token": "5514999998877",
    "status": "read",
    "message": "",
}
```

##### Erro

```json
{
    "batch": "41",
    "token": "5514999998877",
    "status": "exception",
    "message": "Aparelho não possui suporte ao RCS.",
}
```

##### Expirado

Quando o RCS não consegue ser entregue em **24 horas** ele é automaticamente descartado pelo Google e o **saldo ressarcido**.

```json
{
    "batch": "41",
    "token": "5514999998877",
    "status": "expired",
    "message": "",
}
```

##### Duplicidade

Para evitar o envio de SPAM, você não pode enviar dois ou mais RCS para o mesmo número com conteúdo semelhante em um período de três horas.

```json
{
    "batch": "41",
    "token": "5514999998877",
    "status": "error",
    "message": "Bloqueado por duplicidade.",
}
```

#### SMS de Fallback

Se você optar por enviar um SMS para os números que não possuírem suporte ao RCS você poderá receber dois tipos de requisições.

##### SMS Enviado

<p class="callout info">**Atenção:** Algumas operadoras não informam a entrega do SMS, então um "SMS Enviado" pode ter sido entregue ou não.</p>

```json
{
    "batch": "41",
    "token": "5514999998877",
    "status": "sms_sent",
    "message": "",
}
```

##### SMS Entregue

```json
{
    "batch": "41",
    "token": "5514999998877",
    "status": "sms_delivered",
    "message": "",
}
```

#### Respostas

```json
{
    "batch": "36",
    "token": "5514999998877",
    "type": "reply",
    "message": "Texto da mensagem"
}
```

#### Call e Link

Os botões do tipo `call` e `link` retornam da mesma forma.

##### Call

```json
{
    "batch": "36",
    "token": "5514999998877",
    "type": "response",
    "text": "Liga pra mim!",
    "data": "5514981546757"
}
```

##### Link

```json
{
    "batch": "36",
    "token": "5514999998877",
    "type": "response",
    "text": "Acesse nosso site!",
    "data": "https://dfive.com.br"
}
```