# Estatísticas de mensagens

## messages:list

Exibe a lista de mensagens enviadas.

`POST` `https://api.pushwoosh.com/api/v2/messages:list`

##### Cabeçalhos

| Nome    <div style="width:200px"></div>        | Obrigatório <div style="width:100px"></div>| Descrição  <div style="width:150px"></div>                                                                                        |
|----------------|----------|------------------------------------------------------------------------------------------------------|
| `Authorization`| Sim      | [Token de API do servidor](/pt/developer/api-reference/api-access-token/#server-api-token). Deve ser fornecido no seguinte formato: `Authorization: Api <Server Key>`.     |

##### Parâmetros do corpo da solicitação

| Nome <div style="width:150px"></div> | Obrigatório <div style="width:100px"></div> | Tipo <div style="width:100px"></div> | Descrição <div style="width:150px"></div> |
|--------------------------------------|----------|---------|--------------------------------------------------------------------------------------------------------------------------------|
| `platforms`                         | Não       | Array   | Plataformas de mensagem. Valores possíveis: `"IOS"`, `"ANDROID"`, `"OSX"`, `"WINDOWS"`, `"AMAZON"`, `"SAFARI"`, `"CHROME"`, `"FIREFOX"`, `"IE"`, `"EMAIL"`, `"HUAWEI_ANDROID"`, `"SMS"`.                                                           |
| `date_range`                         | Não       | Objeto  | Período do relatório. `date_from` e `date_to` devem seguir o formato `YYYY-MM-DD` (ex: `"2000-01-01"`).                                                                  |
| `campaign`                           | Não       | String  | [Código da campanha](/pt/developer/api-reference/api-identifiers/#campaign-code)                                                                                                               |
| `filters`                            | Sim      | Objeto  | Filtros de mensagem.                                                                                                          |
| `source`                             | Não       | String  | Fonte da mensagem. Por exemplo: `AB_TEST`, `API`, `AUTO_PUSH`, `CP`, `CSV`, `CUSTOMER_JOURNEY`, `EMAIL_API`, `EMAIL_CP`, `GEO_ZONE`, `PUSH_ON_EVENT`, `RSS`.                                                             |
| `messages_codes`                     | Não       | Array   | [Códigos de mensagem](/pt/developer/api-reference/api-identifiers/#message-code) obtidos das respostas da API `/createMessage`.                                                                                                               |
| `messages_ids`                       | Não       | Array   | IDs de mensagem obtidos do Histórico de Mensagens                                                                                                                |
| `params`                             | Não       | Objeto  | Especifique se deseja mostrar detalhes e métricas da mensagem. Defina `with_details: true` para incluir o objeto `"details"` e `with_metrics: true` para incluir o objeto `"metrics"` na resposta.                               |
| `application`                        | Sim      | String  | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code).                                                                                                  |
| `per_page`                           | Não       | Inteiro | Número de resultados por página (≤ 1000).                                                                                         |
| `page`                               | Não       | Inteiro | Número da página para paginação.                                                                                                  |


##### Exemplo de solicitação

```
{
    "filters": {
      "platforms": [],                  // IOS, ANDROID, OSX, WINDOWS, AMAZON, SAFARI, CHROME, FIREFOX, IE, EMAIL, HUAWEI_ANDROID, SMS
      "date_range": {
        "date_from": "string",          // Formato obrigatório: 2000-01-01
        "date_to": "string"             // Formato obrigatório: 2000-01-01
      },
      "source": "API",                  // AB_TEST, API, AUTO_PUSH, CP, CSV, CUSTOMER_JOURNEY, EMAIL_API, EMAIL_CP, GEO_ZONE, PUSH_ON_EVENT, RSS
      "campaign": "string",             // Código da campanha
      "messages_ids": [],               // IDs de mensagem
      "messages_codes": [],             // Códigos de mensagem
      "application": "string"           // Código do aplicativo Pushwoosh
    },
    "params": {
      "with_details": true,             // Adicionar detalhes da mensagem à resposta (objeto "details")
      "with_metrics": true              // Adicionar métricas da mensagem à resposta (objeto "metrics")
    },
    "per_page": 20,                     // <= 1000
    "page": 0
}
```

 <details>
  <summary> Códigos de resposta e exemplos </summary>
<Tabs>
<TabItem label="200: OK">
```
{
  "total": 0,
  "items": [{
    "id": 0,
    "code": "string",
    "created_date": "string",
    "send_date": "string",
    "status": "string",
    "platforms": [],
    "source": "string",
    "push_info": {
      "details": {
        "title": "string",
        "filter_name": "string",
        "filter_code": "string",
        "content": {
          "key": "value"
        },
        "platform_parameters": {
          "android_header": "string",
          "android_root_params": {
            "key": "value"
          },
          "ios_title": "string",
          "ios_subtitle": "string",
          "ios_root_params": {
            "key": "value"
          },
          "chrome_header": "string",
          "chrome_root_params": {
            "key": "value"
          },
          "firefox_header": "string",
          "firefox_root_params": {
            "key": "value"
          },
          "conditions": [               // condições de tag (veja /developer/api-reference/messages-api/#tag-conditions)
            TAG_CONDITION1,
            TAG_CONDITION2,
            ...,
            TAG_CONDITIONN
          ],
          "conditions_operator": "AND", // operador lógico para arrays de condições; valores possíveis: AND, OR
          "data": {
            "key": "value"
          }
        },
        "follow_user_timezone": true
      },
      "metrics": [{
        "sends": 0,
        "opens": 0,
        "deliveries": 0,
        "inbox_opens": 0,
        "unshowable_sends": 0,
        "errors": 0,
        "platform": 0
      }]
    },
    "email_info": {
      "details": {
        "template": "string",
        "filter_name": "string",
        "filter_code": "string",
        "subject": {
          "key": "value"
        },
        "from_name": "string",
        "from_email": "string",
        "reply_name": "string",
        "reply_email": "string",
        "follow_user_timezone": true,
        "conditions": [              // condições de tag (veja Messages-api - tag-conditions) 
          TAG_CONDITION1,
          TAG_CONDITION2,
          ...,
          TAG_CONDITIONN
        ],  
        "conditions_operator": "AND" // operador lógico para arrays de condições; valores possíveis: AND, OR
      },
      "metrics": [{
        "sends": 0,
        "opens": 0,
        "deliveries": 0,
        "hard_bounces": 0,
        "soft_bounces": 0,
        "rejects": 0,
        "confirmed_sends": 0,
        "unsubs": 0,
        "complaints": 0,
        "errors": 0
      }]
    }
  }]
}
```
</TabItem>

<TabItem label="400: Erro de Requisição Inválida">
```json
{
  "error": "exceeded the maximum date interval. Max interval: 30 days"
}
```
</TabItem>

<TabItem label="401: Token de acesso à API incorreto">
```json
{
  "error": "account not found"
}
```
</TabItem>

<TabItem label="500: Erro Interno do Servidor">

</TabItem>
</Tabs>

</details>


<Aside type="note">
Para iOS, certifique-se de ter adicionado a Extensão de Serviço de Notificação ao seu projeto para rastrear a entrega de push. [Saiba mais](/pt/developer/pushwoosh-sdk/ios-sdk/ios-message-delivery-tracking)
</Aside>

## totalsByIntervals

Retorna métricas e dados de conversão com base no código da mensagem, agregados por hora.

**POST** `https://api.pushwoosh.com/api/v2/statistics/messages/totalsByIntervals`
  

##### Autorização

A autorização é tratada via Token de Acesso à API no cabeçalho da solicitação.

##### Parâmetros do corpo da solicitação

| Nome do Parâmetro  <div style="width:150px"></div>   | Tipo   <div style="width:150px"></div>   | Descrição                 | Obrigatório |
|----------------|--------|-----------------------------|----------|
| `message_code` | string | [Código da mensagem](/pt/developer/api-reference/api-identifiers/#message-code) obtido das respostas da API `/createMessage`.    | Sim      |
| `platforms`    | [int]  | [Plataformas](/pt/developer/api-reference/messages-api/api-prerequisites/#platforms)                    | Não       |

##### Exemplo de solicitação

```
{
  "message_code": "XXXXX-XXXXXXXXX-XXXXXXXX", // obrigatório. Identificador único da mensagem
  "platforms": [1, 3, 7, 10, 11, 12]          // opcional. Lista de códigos de plataforma
}
```

##### Campos de resposta

| Nome              | Tipo   | Descrição                                                       |
|-------------------|--------|-------------------------------------------------------------------|
|  **`metrics`**         | **array**  | **Contém um array de métricas de mensagem**                              |
|    `timestamp`       | string | O horário da métrica.                                           |
|    `platform`        | int    | O código da plataforma (ex: iOS, Android).                           |
| `sends`           | string | O número de mensagens enviadas.                                      |
| `opens`           | string | O número de mensagens abertas.                                    |
| `deliveries`      | string | O número de mensagens entregues.                                 |
| `inbox_opens`     | string | O número de aberturas na caixa de entrada.                                        |
| `unshowable_sends`| string | O número de mensagens enviadas que não puderam ser exibidas.              |
| `errors`          | string | O número de erros.                                             |
| **`conversion`**      | **object** | **Contém dados de conversão**                                          |
| `sends`           | string | O número total de mensagens enviadas.                                |
| `opens`           | string | O número total de mensagens abertas.                              |
| **`events`**          | **array**  | **Um array de eventos com suas estatísticas**                         |
| `name`            | string | O nome do evento (ex: adição ao carrinho).                           |
| `hits`            | string | O número de ocorrências.                                               |
| `conversion`      | float  | A taxa de conversão relativa às aberturas.                            |
| `revenue`         | float  | A receita (apenas para eventos com atributos `__amount` e `__currency`). |

##### Exemplo de resposta

```
{
  "metrics": [{
    "timestamp": "2024-08-03 15:00:00",  // Timestamp das métricas no formato "YYYY-MM-DD HH:MM:SS"
    "platform": 3,                       // Código da plataforma
    "sends": "55902",                    // Número de mensagens enviadas
    "opens": "382",                      // Número de mensagens abertas
    "deliveries": "22931",               // Número de mensagens entregues
    "inbox_opens": "0",                  // Número de mensagens abertas na caixa de entrada
    "unshowable_sends": "2",             // Número de mensagens que não puderam ser exibidas
    "errors": "0"                        // Número de erros encontrados
  }],
  "conversion": {
    "sends": "55902",                    // Número total de mensagens enviadas
    "opens": "772",                      // Número total de mensagens abertas
    "events": [{
      "name": "cart_add",                // Nome do evento
      "hits": "96",                      // Número de ocorrências do evento
      "conversion": 0.12,                // Taxa de conversão relativa às aberturas
      "revenue": 0                       // Receita gerada pelo evento (apenas para eventos com atributos amount/currency)
    }]
  }
}
```

## getMessageLog

Exibe informações detalhadas sobre as mensagens enviadas.

`POST` `https://api.pushwoosh.com/api/v2/statistics/getMessageLog`

##### Cabeçalhos


| Nome   <div style="width:150px"></div>              | Obrigatório <div style="width:150px"></div>    |  Descrição    <div style="width:150px"></div>                                                                                                             |
|-----------------|----------|----------------------------------------------------------------------------------------------------------------------------|
| `Authorization` | Obrigatório | [Token de acesso à API](/pt/developer/api-reference/api-access-token/) do Painel de Controle Pushwoosh. |


##### Parâmetros do corpo da solicitação

| Nome    <div style="width:150px"></div>            | Obrigatório <div style="width:80px"></div>      | Tipo   <div style="width:100px"></div>              | Descrição       <div style="width:150px"></div>                                                                                                                                                                                               |
|--------------------|------------------|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `message_id`       | Não        | Inteiro         | Seleciona eventos de mensagens pelo ID da Mensagem obtido do histórico de mensagens. Exemplo: `12345678900`.                                                                                                               |
| `message_code`     | Não         | String          | Seleciona eventos de mensagens pelo [Código da mensagem](/pt/developer/api-reference/api-identifiers/#message-code) obtido das respostas da API `/createMessage`. Exemplo: `"A444-AAABBBCC-00112233"`.                                                                                |
| `campaign_code`    | Não         | String          | Seleciona eventos de mensagens pelo [Código da campanha](/pt/developer/api-reference/api-identifiers/#campaign-code) especificado no payload da sua mensagem. Exemplo: `"AAAAA-XXXXX"`.                                                                                                      |
| `hwid`            | Não          | String ou Array  | Seleciona eventos de mensagens pelo [HWID (ID de Hardware)](/pt/developer/api-reference/api-identifiers/#hardware-id) ou um array de HWIDs.                                                                                                                                        |
| `date_from`       | Obrigatório se `message_id`, `message_code` ou `campaign_code` não for fornecido | Datetime        | Data de início para filtrar mensagens. Formato: `"YYYY-MM-DD HH:MM:SS"`. Exemplo: `"2000-01-25 00:00:00"`.                                                                                                   |
| `date_to`         | Obrigatório se `message_id`, `message_code` ou `campaign_code` não for fornecido | Datetime        | Data final para filtrar mensagens. Formato: `"YYYY-MM-DD HH:MM:SS"`. Exemplo: `"2000-01-26 00:00:00"`.                                                                                                     |
| `limit`           | Não        | Inteiro         | Número máximo de eventos de mensagem retornados em uma única resposta. Valor máximo: `100000`.                                                                                                                 |
| `pagination_token` | Não         | String         | Token de paginação obtido de uma resposta anterior de `/getMessageLog`. Use-o para recuperar resultados adicionais.                                                                                              |
| `user_id`         | Não          | String          | Seleciona eventos de mensagens por um [User ID](/pt/developer/api-reference/api-identifiers/#user-id) personalizado. Veja `/registerUser` para mais detalhes.                                                                                                                        |
| `application_code` | Sim        | String          | Seleciona eventos de mensagens pelo [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code)                                                                                                                                                |
| `actions`         | Não         | Array           | Filtrar resultados por ações de mensagem específicas. Valores possíveis: `"sent"`, `"delivered"`, `"opened"`, `"inbox_delivered"`, `"inbox_read"`, `"inbox_opened"`, `"inbox_deleted"`.                           |
| `platforms`       | Não         | Array           | Array de plataformas de destino para filtrar resultados. Valores possíveis: `"ios"`, `"android"`, `"osx"`, `"windows"`, `"amazon"`, `"safari"`, `"chrome"`, `"firefox"`, `"ie"`, `"email"`, `"huawei_android"`.     |

##### Exemplo de solicitação
```shell
curl --location --request POST 'https://api.pushwoosh.com/api/v2/statistics/getMessageLog' \
--header 'Authorization: Key API_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
   "pagination_token": "PAGINATION_TOKEN_FROM_PREVIOUS_RESPONSE",  // opcional, token para paginação
   "limit": 1000,                                  // opcional, o número máximo de entradas para uma única resposta
   "application_code": "XXXXX-XXXXX",              // código do aplicativo Pushwoosh
   "message_code": "A444-AAABBBCC-00112233",       // opcional, código da mensagem obtido da solicitação /createMessaage
   "message_id": 1234567890,                       // opcional, ID da mensagem obtido do Painel de Controle Pushwoosh
   "campaign_code": "AAAAA-XXXXX",                 // opcional, código de uma campanha para obter o log
   "hwid": "aaazzzqqqqxxx",                        // opcional, ID de hardware de um dispositivo específico direcionado com uma mensagem
   "user_id": "user_123",                          // opcional, ID de um usuário direcionado com a mensagem
   "date_from": "2000-01-25 00:00:00",             // opcional, início do período de estatísticas 
   "date_to": "2000-02-10 23:59:59",               // opcional, fim do período de estatísticas
   "actions": ["opened", "inbox_opened"],          // opcional, usado para filtragem de resultados. Valores possíveis: "sent", "opened", "delivered", "inbox_delivered", "inbox_read", "inbox_opened", "inbox_deleted". A resposta incluirá todas as mensagens com a(s) ação(ões) especificada(s).
   "platforms": ["ios", "chrome"]                  // opcional, usado para filtragem de resultados. Valores possíveis: "ios", "android", "osx", "windows", "amazon", "safari", "chrome", "firefox", "ie", "email", "huawei android"
}'
```


<Aside type="caution" title="Importante">
Um dos seguintes campos é obrigatório:\
\- _message\_id_\
_- message\_code_\
_- campaign\_code_\
_- hwid_\
_- user\_id_\
_- date\_from_ e _date\_to_

Considere aplicar vários parâmetros de filtragem para obter o máximo das estatísticas de suas mensagens.
</Aside>

<details>
  <summary> Códigos de resposta e exemplos </summary>
<Tabs>
<TabItem label="200: OK">
```json
{
  "pagination_token": "PAGINATION_TOKEN_FOR_NEXT_REQUEST",
  "data": [{
    "timestamp": "2000-01-25T11:18:47Z",
    "application_code": "XXXXX-XXXXX",
    "message_id": 12345678900,
    "message_code": "A444-AAABBBCC-00112233",
    "campaign_code": "AAAAA-XXXXX",
    "hwid": "aaazzzqqqqxxx",
    "user_id": "user_123",
    "platform": "android",
    "action": "sent",
    "status": "success",
    "push_alerts_enabled": "true"
  }, {
    "timestamp": "2000-01-25T11:18:49Z",
    "application_code": "XXXXX-XXXXX",
    "message_id": 12345678900,
    "message_code": "A444-AAABBBCC-00112233",
    "campaign_code": "AAAAA-XXXXX",
    "hwid": "aaazzzqqqqxxx",
    "user_id": "user_123",
    "platform": "android",
    "action": "delivered",
    "push_alerts_enabled": "true"
  }, {
    "timestamp": "2000-01-25T11:19:23Z",
    "application_code": "XXXXX-XXXXX",
    "message_id": 12345678900,
    "message_code": "A444-AAABBBCC-00112233",
    "campaign_code": "AAAAA-XXXXX",
    "hwid": "aaazzzqqqqxxx",
    "user_id": "user_123",
    "platform": "android",
    "action": "opened",
    "push_alerts_enabled": "true"
  }]
}
```
</TabItem>

<TabItem label="400: Requisição Inválida">
```json
{
  "error": "exceeded the maximum date interval. Max interval: 30 days"
}
```
</TabItem>

<TabItem label="401: Não Autorizado">
```json
{
  "error": "account not found"
}
```
</TabItem>

<TabItem label="500: Erro Interno do Servidor">

</TabItem>
</Tabs>

</details>



<Aside type="note">
Os dados podem ser baixados até um máximo de 30 dias a partir do horário atual.
</Aside>


<Aside type="tip">
Para iOS, certifique-se de ter adicionado a Extensão de Serviço de Notificação ao seu projeto para rastrear a entrega de push. [Saiba mais](/pt/developer/pushwoosh-sdk/ios-sdk/ios-message-delivery-tracking)
</Aside>

## Estatísticas de e-mail

### linksInteractions

Exibe estatísticas sobre cliques em links em e-mails

`POST` `https://api.pushwoosh.com/api/v2/statistics/emails/linksInteractions`


##### Cabeçalhos

| Nome    <div style="width:200px"></div>         | Obrigatório <div style="width:100px"></div> | Descrição                                                                                          |
|-----------------|----------|-------------------------------------------------------------------------------------------------------|
| `Authorization` | Sim      | [Token de acesso à API](/pt/developer/api-reference/api-access-token/) do Painel de Controle Pushwoosh.        |

##### Parâmetros do corpo da solicitação

| Nome    <div style="width:200px"></div>            | Obrigatório  <div style="width:50px"></div> |  Tipo | Descrição                                                                                          |
|--------------------|----------|--------|------------------------------------------------------------------------------------------------------|
| `date_range`       | Não       | Objeto | Define o período do relatório. Contém `date_from` e `date_to`.                                   |
| `filters`          | Sim      | Objeto | Filtros de e-mail.                                                                                      |
| `application`      | Sim      | String | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) (alternativamente, especifique `campaign`, `messages_ids` ou `message_codes`). |
| `messages_codes`   | Sim      | Array  | [Códigos de mensagem](/pt/developer/api-reference/api-identifiers/#message-code) (alternativamente, especifique `application`, `campaign` ou `messages_ids`).                |
| `campaign`        | Sim      | String | [Código da campanha](/pt/developer/api-reference/api-identifiers/#campaign-code) (alternativamente, especifique `application`, `messages_ids` ou `message_codes`).           |
| `messages_ids`     | Sim      | Array  | IDs de mensagem (alternativamente, especifique `application`, `campaign` ou `message_codes`).                 |
| `link_template`    | Obrigatório se `application` ou `campaign` for especificado.     | String  | Filtra interações de links de e-mail por palavra-chave. Apenas links que incluem o texto especificado em sua URL serão retornados na resposta da API. Por exemplo, se seu e-mail contém links como `https://example.com/news` e `https://example.com/shop`, definir "link_template": "shop" retornará interações apenas para `https://example.com/shop`.   |
| `email_content_code`        | Não       | String | [Identificador único para o conteúdo do e-mail](/pt/developer/api-reference/api-identifiers/#email-content-code).                                                                               |
| `params`          | Não       | Objeto | Define opções de resposta adicionais. Inclui `with_full_links`, que adiciona uma lista de links completos com estatísticas. |

##### Exemplo de solicitação

```shell
curl --location --request POST 'https://api.pushwoosh.com/api/v2/statistics/emails/linksInteractions' \
--header 'Authorization: Api API_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
   "filters": {
      "date_range": {
         "date_from": "string",           // Formato obrigatório: 2000-01-01
         "date_to": "string"              // Formato obrigatório: 2000-01-01
      },
      "campaign": "string",               // Código da campanha (você pode especificar application, messages_ids ou message_codes em vez disso)
      "application": "string",            // Código do aplicativo (você pode especificar campaign, messages_ids ou message_codes em vez disso)
      "messages_ids": [],                 // IDs de mensagem (você pode especificar application, campaign ou message_codes em vez disso)
      "messages_codes": [],               // Códigos de mensagem (você pode especificar application, campaign ou message_ids em vez disso)
      "link_template": "string",          // Modelo de link (obrigatório se application ou campaign for especificado)
      "email_content_code": "string"      // Identificador único para o conteúdo do e-mail.
   },
   "params": {
      "with_full_links": true             // Especifique se deseja mostrar estatísticas detalhadas. Uma lista de links completos com estatísticas será passada no array full_links.
   }
}'
``` 

##### Códigos de resposta e exemplos 
<Tabs>
<TabItem label="200: OK">
```json
{
  "items": [{
    "template": "string",
    "link": "string",
    "title": "string",
    "clicks": 0,
    "full_links": [{
      "full_link": "string",
      "clicks": 0
    }]
  }]
}
```
</TabItem>

<TabItem label="400: Requisição Inválida">
```json
{
  "error": "exceeded the maximum date interval. Max interval: 30 days"
}
```
</TabItem>

<TabItem label="401: Não Autorizado">
```json
{
  "error": "account not found"
}
```
</TabItem>

<TabItem label="500: Erro Interno do Servidor ">

</TabItem>
</Tabs>



### linksInteractionsDevices

Mostra usuários que clicaram em links em e-mails

`POST` `https://api.pushwoosh.com/api/v2/statistics/emails/linksInteractionsDevices`


##### Cabeçalhos

| Nome  <div style="width:150px"></div>            | Obrigatório <div style="width:100px"></div> | Descrição                                                                                          |
|-----------------|----------|------------------------------------------------------------------------------------------------------|
| `Authorization` | Sim      | [Token de acesso à API](/pt/developer/api-reference/api-access-token/) do Painel de Controle Pushwoosh.    |



##### Parâmetros do corpo da solicitação

| Nome    <div style="width:150px"></div>            | Obrigatório  <div style="width:100px"></div> | Tipo    | Descrição                                                                                          |
|--------------------|----------|---------|------------------------------------------------------------------------------------------------------|
| `date_range`       | Não       | Objeto  | Define o período do relatório. Contém `date_from` e `date_to`.                                   |
| `filters`          | Sim      | Objeto  | Filtros de e-mail.                                                                                      |
| `application`      | Sim      | String  | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) (alternativamente, especifique `campaign`, `messages_ids` ou `message_codes`). |
| `messages_codes`   | Sim      | Array   | [Códigos de mensagem](/pt/developer/api-reference/api-identifiers/#message-code) (alternativamente, especifique `application`, `campaign` ou `messages_ids`).                |
| `campaign`         | Sim      | String  | [Código da campanha](/pt/developer/api-reference/api-identifiers/#campaign-code) (alternativamente, especifique `application`, `messages_ids` ou `message_codes`).           |
| `messages_ids`     | Sim      | Array   | IDs de mensagem (alternativamente, especifique `application`, `campaign` ou `message_codes`).                 |
| `link_template`    | Obrigatório se `application` ou `campaign` for especificado.     | String  | Filtra interações de links de e-mail por palavra-chave. Apenas links que incluem o texto especificado em sua URL serão retornados na resposta da API. Por exemplo, se seu e-mail contém links como `https://example.com/news` e `https://example.com/shop`, definir "link_template": "shop" retornará interações apenas para `https://example.com/shop`.   |
| `email_content_code`         | Não       | String  | [Identificador único para o conteúdo do e-mail](/pt/developer/api-reference/api-identifiers/#email-content-code).                                                                             |
| `page`            | Não       | Inteiro | Número da página para paginação.                                                                         |
| `per_page`        | Não       | Inteiro | Número de resultados por página (≤ 1000).                                                                |

##### Exemplo de solicitação

```shell
curl --location --request POST 'https://api.pushwoosh.com/api/v2/statistics/emails/linksInteractionsDevices' \
--header 'Authorization: Api API_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
   "filters": {
      "date_range": {
         "date_from": "string",         // Formato obrigatório: 2000-01-01
         "date_to": "string"            // Formato obrigatório: 2000-01-01
      },
      "campaign": "string",             // Código da campanha (você pode especificar application, messages_ids ou message_codes em vez disso)
      "application": "string",          // Código do aplicativo (você pode especificar campaign, messages_ids ou message_codes em vez disso)
      "messages_ids": [],               // IDs de mensagem (você pode especificar application, campaign ou message_codes em vez disso)
      "messages_codes": [],             // Códigos de mensagem (você pode especificar application, campaign ou message_ids em vez disso)
      "link_template": "string",        // Modelo de link (obrigatório se application ou campaign for especificado)
      "email_content_code": "string"    // Identificador único para o conteúdo do e-mail.
   },
   "per_page": 100,
   "page": 0
}'
``` 

##### Códigos de resposta e exemplos  
<Tabs>
<TabItem label="200: OK">
```json
{
  "total": 0,
  "items": [{
    "timestamp": "string",
    "link": "string",
    "hwid": "string"
  }]
}
```
</TabItem>

<TabItem label="400: Requisição Inválida">
```json
{
  "error": "exceeded the maximum date interval. Max interval: 30 days"
}
```
</TabItem>

<TabItem label="401: Não Autorizado">
```json
{
  "error": "account not found"
}
```
</TabItem>

<TabItem label="500: Erro Interno do Servidor">

</TabItem>
</Tabs>


### bouncedEmails

**POST** `https://api.pushwoosh.com/api/v2/statistics/emails/bouncedEmails`

Fornece dados sobre reclamações de e-mail, soft bounces e hard bounces, incluindo a data, endereço de e-mail e motivo de cada devolução.

##### Autorização

A autorização é tratada via Token de Acesso à API no cabeçalho da solicitação.

##### Parâmetros do corpo da solicitação

| Nome do Parâmetro | Tipo   | Descrição                                                                                      | Obrigatório                                       |
|----------------|--------|--------------------------------------------------------------------------------------------------|------------------------------------------------|
| `application`  | string | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code)                                                                             | Sim                                            |
| `message_code` | string | [Código da mensagem](/pt/developer/api-reference/api-identifiers/#message-code).                                                                                 | Obrigatório se `date range` ou `campaign` não for fornecido        |
| `campaign` | string | [Código da campanha](/pt/developer/api-reference/api-identifiers/#campaign-code).    | Obrigatório se `message_code` ou `date range` não for fornecido        |
| `date_from`    | string | A data de início para os dados no formato `YYYY-MM-DDTHH:MM:SS.000Z` (padrão ISO 8601).         | Obrigatório se `message_code` ou `campaign` não for fornecido     |
| `date_to`      | string | A data final para os dados no formato `YYYY-MM-DDTHH:MM:SS.000Z` (padrão ISO 8601).           | Obrigatório se `message_code` ou `campaign` não for fornecido     |
| `per_page`     | int    | O número de linhas por página, máximo 5000.                                                        | Sim                                            |
| `page`         | int    | O número da página, começando do zero.                                                              | Sim                                            |
| `type`         | string | O tipo de devolução: Complaint, Softbounce, Hardbounce.                                            | Não                                             |

##### Exemplo de solicitação

```
{
  "application": "XXXXX-XXXXX",               // obrigatório. Código do aplicativo Pushwoosh
  "message_code": "XXXXX-XXXXXXXXX-XXXXXXXX", // obrigatório se campaign ou date range não for fornecido.
                                              //          Identificador único da mensagem
  "campaign": "XXXXX-XXXXX",                  // obrigatório se message_code ou date range não for fornecido.
                                              //          Código da campanha
  "date_from": "2024-07-20T00:00:00.000Z",    // obrigatório se message_code ou campaign não for fornecido.
                                              //          Data de início no formato ISO 8601 "YYYY-MM-DDTHH:MM:SS.SSSZ"
  "date_to": "2024-07-20T00:00:00.000Z",      // obrigatório se message_code ou campaign não for fornecido.
                                              //          Data final no formato ISO 8601 "YYYY-MM-DDTHH:MM:SS.SSSZ"
  "per_page": 1000,                           // obrigatório. Número de resultados por página, máximo 5000
  "page": 5,                                  // opcional. Número da página, começando do zero
  "type": "Softbounce"                        // opcional. O tipo de devolução: Complaint, Softbounce, Hardbounce 
}

```

##### Campos de resposta

| Nome do Campo     | Tipo   | Descrição                                                                 |
|-------------------|--------|-----------------------------------------------------------------------------|
| `total`           | int    | A contagem total de linhas.                                                    |
| `bounced_emails`  | array  | Um array de detalhes de e-mails devolvidos.                                           |
| ├── `email`       | string | O endereço de e-mail que foi devolvido.                                              |
| ├── `date`        | string | A data da devolução (formato: `YYYY-MM-DDTHH:MM:SS.000Z`).                |
| ├── `reason`      | string | O motivo da devolução.                                                   |
| └── `type`        | string | O tipo de devolução: Complaint, Softbounce, Hardbounce.                       |

##### Exemplo de resposta

```
{
  "total": 25,                             // Contagem total de linhas.
  "bounced_emails": [{
    "email": "example@example.com",        // Endereço de e-mail que foi devolvido
    "date": "2024-07-20T00:00:00.000Z",    // Data da devolução no formato ISO 8601
    "reason": "Invalid recipient address", // Motivo da devolução
    "type": "Hardbounce"                   // Tipo de devolução: Complaint, Softbounce, Hardbounce
  }]
}
```