# Statistiques des messages

## messages:list

Affiche la liste des messages envoyés.

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

##### En-têtes

| Nom <div style="width:200px"></div> | Requis <div style="width:100px"></div> | Description <div style="width:150px"></div> |
|---|---|---|
| `Authorization` | Oui | [Jeton d'accès API serveur](/fr/developer/api-reference/api-access-token/#server-api-token). Doit être fourni au format suivant : `Authorization: Api <Server Key>`. |

##### Paramètres du corps de la requête

| Nom <div style="width:150px"></div> | Requis <div style="width:100px"></div> | Type <div style="width:100px"></div> | Description <div style="width:150px"></div> |
|---|---|---|---|
| `platforms` | Non | Tableau | Plateformes de message. Valeurs possibles : `"IOS"`, `"ANDROID"`, `"OSX"`, `"WINDOWS"`, `"AMAZON"`, `"SAFARI"`, `"CHROME"`, `"FIREFOX"`, `"IE"`, `"EMAIL"`, `"HUAWEI_ANDROID"`, `"SMS"`. |
| `date_range` | Non | Objet | Période de rapport. `date_from` et `date_to` doivent suivre le format `YYYY-MM-DD` (par ex. `"2000-01-01"`). |
| `campaign` | Non | Chaîne | [Code de campagne](/fr/developer/api-reference/api-identifiers/#campaign-code) |
| `filters` | Oui | Objet | Filtres de message. |
| `source` | Non | Chaîne | Source du message. Par exemple : `AB_TEST`, `API`, `AUTO_PUSH`, `CP`, `CSV`, `CUSTOMER_JOURNEY`, `EMAIL_API`, `EMAIL_CP`, `GEO_ZONE`, `PUSH_ON_EVENT`, `RSS`. |
| `messages_codes` | Non | Tableau | [Codes de message](/fr/developer/api-reference/api-identifiers/#message-code) obtenus à partir des réponses de l'API `/createMessage`. |
| `messages_ids` | Non | Tableau | Identifiants de message obtenus à partir de l'historique des messages. |
| `params` | Non | Objet | Spécifiez s'il faut afficher les détails et les métriques du message. Définissez `with_details: true` pour inclure l'objet `"details"` et `with_metrics: true` pour inclure l'objet `"metrics"` dans la réponse. |
| `application` | Oui | Chaîne | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code). |
| `per_page` | Non | Entier | Nombre de résultats par page (≤ 1000). |
| `page` | Non | Entier | Numéro de page pour la pagination. |

##### Exemple de requête

```
{
    "filters": {
      "platforms": [],                  // IOS, ANDROID, OSX, WINDOWS, AMAZON, SAFARI, CHROME, FIREFOX, IE, EMAIL, HUAWEI_ANDROID, SMS
      "date_range": {
        "date_from": "string",          // Required format: 2000-01-01
        "date_to": "string"             // Required format: 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",             // Campaign code
      "messages_ids": [],               // Message IDs
      "messages_codes": [],             // Message codes
      "application": "string"           // Pushwoosh application code
    },
    "params": {
      "with_details": true,             // Add message details to the response ("details" object)
      "with_metrics": true              // Add message metrics to the response ("metrics" object)
    },
    "per_page": 20,                     // <= 1000
    "page": 0
}
```

<details>
  <summary> Codes de réponse et exemples </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": [               // tag conditions (see /developer/api-reference/messages-api/#tag-conditions)
            TAG_CONDITION1,
            TAG_CONDITION2,
            ...,
            TAG_CONDITIONN
          ],
          "conditions_operator": "AND", // logical operator for conditions arrays; possible values: 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": [              // tag conditions (see Messages-api - tag-conditions) 
          TAG_CONDITION1,
          TAG_CONDITION2,
          ...,
          TAG_CONDITIONN
        ],  
        "conditions_operator": "AND" // logical operator for conditions arrays; possible values: 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: Bad Request Error">
```json
{
  "error": "exceeded the maximum date interval. Max interval: 30 days"
}
```
</TabItem>

<TabItem label="401: Incorrect API access token">
```json
{
  "error": "account not found"
}
```
</TabItem>

<TabItem label="500: Internal Server Error">

</TabItem>
</Tabs>

</details>

<Aside type="note">
Pour iOS, veuillez vous assurer que vous avez ajouté l'extension de service de notification à votre projet pour le suivi de la livraison des push. [En savoir plus](/fr/developer/pushwoosh-sdk/ios-sdk/ios-message-delivery-tracking)
</Aside>

## totalsByIntervals

Renvoie les métriques et les données de conversion basées sur le code du message, agrégées par heure.

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

##### Autorisation

L'autorisation est gérée via le jeton d'accès API dans l'en-tête de la requête.

##### Paramètres du corps de la requête

| Nom du paramètre <div style="width:150px"></div> | Type <div style="width:150px"></div> | Description | Requis |
|---|---|---|---|
| `message_code` | chaîne | [Code de message](/fr/developer/api-reference/api-identifiers/#message-code) obtenu à partir des réponses de l'API `/createMessage`. | Oui |
| `platforms` | [int] | [Plateformes](/fr/developer/api-reference/messages-api/api-prerequisites/#platforms) | Non |

##### Exemple de requête

```
{
  "message_code": "XXXXX-XXXXXXXXX-XXXXXXXX", // required. Unique message identifier
  "platforms": [1, 3, 7, 10, 11, 12]          // optional. List of platform codes
}
```

##### Champs de réponse

| Nom | Type | Description |
|---|---|---|
| **`metrics`** | **tableau** | **Contient un tableau de métriques de message** |
| `timestamp` | chaîne | L'heure de la métrique. |
| `platform` | int | Le code de la plateforme (par ex. iOS, Android). |
| `sends` | chaîne | Le nombre de messages envoyés. |
| `opens` | chaîne | Le nombre de messages ouverts. |
| `deliveries` | chaîne | Le nombre de messages livrés. |
| `inbox_opens` | chaîne | Le nombre d'ouvertures dans la boîte de réception. |
| `unshowable_sends` | chaîne | Le nombre de messages envoyés qui n'ont pas pu être affichés. |
| `errors` | chaîne | Le nombre d'erreurs. |
| **`conversion`** | **objet** | **Contient les données de conversion** |
| `sends` | chaîne | Le nombre total de messages envoyés. |
| `opens` | chaîne | Le nombre total de messages ouverts. |
| **`events`** | **tableau** | **Un tableau d'événements avec leurs statistiques** |
| `name` | chaîne | Le nom de l'événement (par ex. ajout au panier). |
| `hits` | chaîne | Le nombre d'occurrences. |
| `conversion` | flottant | Le taux de conversion par rapport aux ouvertures. |
| `revenue` | flottant | Le revenu (uniquement pour les événements avec les attributs `__amount` et `__currency`). |

##### Exemple de réponse

```
{
  "metrics": [{
    "timestamp": "2024-08-03 15:00:00",  // Timestamp of the metrics in "YYYY-MM-DD HH:MM:SS" format
    "platform": 3,                       // Platform code
    "sends": "55902",                    // Number of messages sent
    "opens": "382",                      // Number of messages opened
    "deliveries": "22931",               // Number of messages delivered
    "inbox_opens": "0",                  // Number of messages opened in the inbox
    "unshowable_sends": "2",             // Number of messages that couldn't be shown
    "errors": "0"                        // Number of errors encountered
  }],
  "conversion": {
    "sends": "55902",                    // Total number of messages sent
    "opens": "772",                      // Total number of messages opened
    "events": [{
      "name": "cart_add",                // Name of the event
      "hits": "96",                      // Number of hits for the event
      "conversion": 0.12,                // Conversion rate relative to opens
      "revenue": 0                       // Revenue generated by the event (only for events with amount/currency attributes)
    }]
  }
}
```

## getMessageLog

Affiche des informations détaillées sur les messages envoyés.

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

##### En-têtes

| Nom <div style="width:150px"></div> | Requis <div style="width:150px"></div> | Description <div style="width:150px"></div> |
|---|---|---|
| `Authorization` | Requis | [Jeton d'accès API](/fr/developer/api-reference/api-access-token/) du panneau de configuration Pushwoosh. |

##### Paramètres du corps de la requête

| Nom <div style="width:150px"></div> | Requis <div style="width:80px"></div> | Type <div style="width:100px"></div> | Description <div style="width:150px"></div> |
|---|---|---|---|
| `message_id` | Non | Entier | Sélectionner les événements de messages par ID de message obtenu à partir de l'historique des messages. Exemple : `12345678900`. |
| `message_code` | Non | Chaîne | Sélectionner les événements de messages par [Code de message](/fr/developer/api-reference/api-identifiers/#message-code) obtenu à partir des réponses de l'API `/createMessage`. Exemple : `"A444-AAABBBCC-00112233"`. |
| `campaign_code` | Non | Chaîne | Sélectionner les événements de messages par [Code de campagne](/fr/developer/api-reference/api-identifiers/#campaign-code) spécifié dans la charge utile de votre message. Exemple : `"AAAAA-XXXXX"`. |
| `hwid` | Non | Chaîne ou Tableau | Sélectionner les événements de messages par [HWID (Hardware ID)](/fr/developer/api-reference/api-identifiers/#hardware-id) ou un tableau de HWID. |
| `date_from` | Requis si `message_id`, `message_code` ou `campaign_code` n'est pas fourni | Datetime | Date de début pour le filtrage des messages. Format : `"YYYY-MM-DD HH:MM:SS"`. Exemple : `"2000-01-25 00:00:00"`. |
| `date_to` | Requis si `message_id`, `message_code` ou `campaign_code` n'est pas fourni | Datetime | Date de fin pour le filtrage des messages. Format : `"YYYY-MM-DD HH:MM:SS"`. Exemple : `"2000-01-26 00:00:00"`. |
| `limit` | Non | Entier | Nombre maximum d'événements de message renvoyés dans une seule réponse. Valeur maximale : `100000`. |
| `pagination_token` | Non | Chaîne | Jeton de pagination obtenu à partir d'une réponse `/getMessageLog` précédente. Utilisez-le pour récupérer des résultats supplémentaires. |
| `user_id` | Non | Chaîne | Sélectionner les événements de messages par un [User ID](/fr/developer/api-reference/api-identifiers/#user-id) personnalisé. Voir `/registerUser` pour plus de détails. |
| `application_code` | Oui | Chaîne | Sélectionner les événements de messages par [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code). |
| `actions` | Non | Tableau | Filtrer les résultats par actions de message spécifiques. Valeurs possibles : `"sent"`, `"delivered"`, `"opened"`, `"inbox_delivered"`, `"inbox_read"`, `"inbox_opened"`, `"inbox_deleted"`. |
| `platforms` | Non | Tableau | Tableau de plateformes cibles pour filtrer les résultats. Valeurs possibles : `"ios"`, `"android"`, `"osx"`, `"windows"`, `"amazon"`, `"safari"`, `"chrome"`, `"firefox"`, `"ie"`, `"email"`, `"huawei_android"`. |

##### Exemple de requête

```
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",  // optional, token for pagination
   "limit": 1000,                                  // optional, the max number of entries for a single response
   "application_code": "XXXXX-XXXXX",              // Pushwoosh app code
   "message_code": "A444-AAABBBCC-00112233",       // optional, message code obtained from /createMessaage request
   "message_id": 1234567890,                       // optional, message ID obtained from Pushwoosh Control Panel
   "campaign_code": "AAAAA-XXXXX",                 // optional, code of a campaign to get the log for
   "hwid": "aaazzzqqqqxxx",                        // optional, hardware ID of a specific device targeted with a message
   "user_id": "user_123",                          // optional, ID of a user targeted with the message
   "date_from": "2000-01-25 00:00:00",             // optional, start of the stats period 
   "date_to": "2000-02-10 23:59:59",               // optional, end of the stats period
   "actions": ["opened", "inbox_opened"],          // optional, used for results filtration. Possible values: "sent", "opened", "delivered", "inbox_delivered", "inbox_read", "inbox_opened", "inbox_deleted". The response will include all the messages with the specified action(s).
   "platforms": ["ios", "chrome"]                  // optional, used for results filtration. Possible values: "ios", "android", "osx", "windows", "amazon", "safari", "chrome", "firefox", "ie", "email", "huawei android"
}'
```

<Aside type="caution" title="Important">
L'un des champs suivants est requis :\
\- _message\_id_\
_- message\_code_\
_- campaign\_code_\
_- hwid_\
_- user\_id_\
_- date\_from_ et _date\_to_

Pensez à appliquer divers paramètres de filtrage pour tirer le meilleur parti de vos statistiques de messages.
</Aside>

<details>
  <summary> Codes de réponse et exemples </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: Bad Request">
```json
{
  "error": "exceeded the maximum date interval. Max interval: 30 days"
}
```
</TabItem>

<TabItem label="401: Unauthorized">
```json
{
  "error": "account not found"
}
```
</TabItem>

<TabItem label="500: Internal Server Error">

</TabItem>
</Tabs>

</details>

<Aside type="note">
Les données peuvent être téléchargées jusqu'à un maximum de 30 jours à partir de l'heure actuelle.
</Aside>

<Aside type="tip">
Pour iOS, veuillez vous assurer que vous avez ajouté l'extension de service de notification à votre projet pour le suivi de la livraison des push. [En savoir plus](/fr/developer/pushwoosh-sdk/ios-sdk/ios-message-delivery-tracking)
</Aside>

## Statistiques des e-mails

### linksInteractions

Affiche les statistiques sur les clics sur les liens dans les e-mails.

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

##### En-têtes

| Nom <div style="width:200px"></div> | Requis <div style="width:100px"></div> | Description |
|---|---|---|
| `Authorization` | Oui | [Jeton d'accès API](/fr/developer/api-reference/api-access-token/) du panneau de configuration Pushwoosh. |

##### Paramètres du corps de la requête

| Nom <div style="width:200px"></div> | Requis <div style="width:50px"></div> | Type | Description |
|---|---|---|---|
| `date_range` | Non | Objet | Définit la période de rapport. Contient `date_from` et `date_to`. |
| `filters` | Oui | Objet | Filtres d'e-mail. |
| `application` | Oui | Chaîne | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) (alternativement, spécifiez `campaign`, `messages_ids` ou `message_codes`). |
| `messages_codes` | Oui | Tableau | [Codes de message](/fr/developer/api-reference/api-identifiers/#message-code) (alternativement, spécifiez `application`, `campaign` ou `messages_ids`). |
| `campaign` | Oui | Chaîne | [Code de campagne](/fr/developer/api-reference/api-identifiers/#campaign-code) (alternativement, spécifiez `application`, `messages_ids` ou `message_codes`). |
| `messages_ids` | Oui | Tableau | Identifiants de message (alternativement, spécifiez `application`, `campaign` ou `message_codes`). |
| `link_template` | Requis si `application` ou `campaign` est spécifié. | Chaîne | Filtre les interactions avec les liens d'e-mail par mot-clé. Seuls les liens qui incluent le texte spécifié dans leur URL seront renvoyés dans la réponse de l'API. Par exemple, si votre e-mail contient des liens comme `https://example.com/news` et `https://example.com/shop`, définir "link_template": "shop" renverra les interactions pour `https://example.com/shop` uniquement. |
| `email_content_code` | Non | Chaîne | [Identifiant unique pour le contenu de l'e-mail](/fr/developer/api-reference/api-identifiers/#email-content-code). |
| `params` | Non | Objet | Définit des options de réponse supplémentaires. Inclut `with_full_links`, qui ajoute une liste de liens complets avec des statistiques. |

##### Exemple de requête

```
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",           // Required format: 2000-01-01
         "date_to": "string"              // Required format: 2000-01-01
      },
      "campaign": "string",               // Campaign code (you can specify application, messages_ids, or message_codes instead)
      "application": "string",            // Application code (you can specify campaign, messages_ids, or message_codes instead)
      "messages_ids": [],                 // Message IDs (you can specify application, campaign, or message_codes instead)
      "messages_codes": [],               // Message codes (you can specify application, campaign, or message_ids instead)
      "link_template": "string",          // Link template (required if application or campaign is specified)
      "email_content_code": "string"      // Unique identifier for the email content.
   },
   "params": {
      "with_full_links": true             // Specify whether to show detailed statistics. A list of full links with statistics will be passed in the full_links array.
   }
}'
```

##### Codes de réponse et exemples
<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: Bad Request">
```json
{
  "error": "exceeded the maximum date interval. Max interval: 30 days"
}
```
</TabItem>

<TabItem label="401: Unauthorized">
```json
{
  "error": "account not found"
}
```
</TabItem>

<TabItem label="500: Internal Server Error ">

</TabItem>
</Tabs>

### linksInteractionsDevices

Affiche les utilisateurs qui ont cliqué sur des liens dans les e-mails.

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

##### En-têtes

| Nom <div style="width:150px"></div> | Requis <div style="width:100px"></div> | Description |
|---|---|---|
| `Authorization` | Oui | [Jeton d'accès API](/fr/developer/api-reference/api-access-token/) du panneau de configuration Pushwoosh. |

##### Paramètres du corps de la requête

| Nom <div style="width:150px"></div> | Requis <div style="width:100px"></div> | Type | Description |
|---|---|---|---|
| `date_range` | Non | Objet | Définit la période de rapport. Contient `date_from` et `date_to`. |
| `filters` | Oui | Objet | Filtres d'e-mail. |
| `application` | Oui | Chaîne | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) (alternativement, spécifiez `campaign`, `messages_ids` ou `message_codes`). |
| `messages_codes` | Oui | Tableau | [Codes de message](/fr/developer/api-reference/api-identifiers/#message-code) (alternativement, spécifiez `application`, `campaign` ou `messages_ids`). |
| `campaign` | Oui | Chaîne | [Code de campagne](/fr/developer/api-reference/api-identifiers/#campaign-code) (alternativement, spécifiez `application`, `messages_ids` ou `message_codes`). |
| `messages_ids` | Oui | Tableau | Identifiants de message (alternativement, spécifiez `application`, `campaign` ou `message_codes`). |
| `link_template` | Requis si `application` ou `campaign` est spécifié. | Chaîne | Filtre les interactions avec les liens d'e-mail par mot-clé. Seuls les liens qui incluent le texte spécifié dans leur URL seront renvoyés dans la réponse de l'API. Par exemple, si votre e-mail contient des liens comme `https://example.com/news` et `https://example.com/shop`, définir "link_template": "shop" renverra les interactions pour `https://example.com/shop` uniquement. |
| `email_content_code` | Non | Chaîne | [Identifiant unique pour le contenu de l'e-mail](/fr/developer/api-reference/api-identifiers/#email-content-code). |
| `page` | Non | Entier | Numéro de page pour la pagination. |
| `per_page` | Non | Entier | Nombre de résultats par page (≤ 1000). |

##### Exemple de requête

```
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",         // Required format: 2000-01-01
         "date_to": "string"            // Required format: 2000-01-01
      },
      "campaign": "string",             // Campaign code (you can specify application, messages_ids, or message_codes instead)
      "application": "string",          // Application code (you can specify campaign, messages_ids, or message_codes instead)
      "messages_ids": [],               // Message IDs (you can specify application, campaign, or message_codes instead)
      "messages_codes": [],             // Message codes (you can specify application, campaign, or message_ids instead)
      "link_template": "string",        // Link template (required if application or campaign is specified)
      "email_content_code": "string"    // Unique identifier for the email content.
   },
   "per_page": 100,
   "page": 0
}'
```

##### Codes de réponse et exemples
<Tabs>
<TabItem label="200: OK">
```json
{
  "total": 0,
  "items": [{
    "timestamp": "string",
    "link": "string",
    "hwid": "string"
  }]
}
```
</TabItem>

<TabItem label="400: Bad Request">
```json
{
  "error": "exceeded the maximum date interval. Max interval: 30 days"
}
```
</TabItem>

<TabItem label="401: Unauthorized">
```json
{
  "error": "account not found"
}
```
</TabItem>

<TabItem label="500: Internal Server Error">

</TabItem>
</Tabs>

### bouncedEmails

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

Fournit des données sur les plaintes par e-mail, les rebonds doux (soft bounces) et les rebonds durs (hard bounces), y compris la date, l'adresse e-mail et la raison de chaque rebond.

##### Autorisation

L'autorisation est gérée via le jeton d'accès API dans l'en-tête de la requête.

##### Paramètres du corps de la requête

| Nom du paramètre | Type | Description | Requis |
|---|---|---|---|
| `application` | chaîne | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) | Oui |
| `message_code` | chaîne | [Code de message](/fr/developer/api-reference/api-identifiers/#message-code). | Requis si `date range` ou `campaign` n'est pas fourni |
| `campaign` | chaîne | [Code de campagne](/fr/developer/api-reference/api-identifiers/#campaign-code). | Requis si `message_code` ou `date range` n'est pas fourni |
| `date_from` | chaîne | La date de début pour les données au format `YYYY-MM-DDTHH:MM:SS.000Z` (norme ISO 8601). | Requis si `message_code` ou `campaign` n'est pas fourni |
| `date_to` | chaîne | La date de fin pour les données au format `YYYY-MM-DDTHH:MM:SS.000Z` (norme ISO 8601). | Requis si `message_code` ou `campaign` n'est pas fourni |
| `per_page` | int | Le nombre de lignes par page, maximum 5000. | Oui |
| `page` | int | Le numéro de page, commençant à zéro. | Oui |
| `type` | chaîne | Le type de rebond : Complaint, Softbounce, Hardbounce. | Non |

##### Exemple de requête

```
{
  "application": "XXXXX-XXXXX",               // required. Pushwoosh app code
  "message_code": "XXXXX-XXXXXXXXX-XXXXXXXX", // required if campaign or date range is not provided.
                                              //          Unique message identifier
  "campaign": "XXXXX-XXXXX",                  // required if message_code or date range is not provided.
                                              //          Campaign code
  "date_from": "2024-07-20T00:00:00.000Z",    // required if message_code or campaign is not provided.
                                              //          Start date in ISO 8601 format "YYYY-MM-DDTHH:MM:SS.SSSZ"
  "date_to": "2024-07-20T00:00:00.000Z",      // required if message_code or campaign is not provided.
                                              //          End date in ISO 8601 format "YYYY-MM-DDTHH:MM:SS.SSSZ"
  "per_page": 1000,                           // required. Number of results per page, maximum 5000
  "page": 5,                                  // optional. Page number, starting from zero
  "type": "Softbounce"                        // optional. The type of bounce: Complaint, Softbounce, Hardbounce 
}
```

##### Champs de réponse

| Nom du champ | Type | Description |
|---|---|---|
| `total` | int | Le nombre total de lignes. |
| `bounced_emails` | tableau | Un tableau de détails sur les e-mails rejetés. |
| ├── `email` | chaîne | L'adresse e-mail qui a été rejetée. |
| ├── `date` | chaîne | La date du rebond (format : `YYYY-MM-DDTHH:MM:SS.000Z`). |
| ├── `reason` | chaîne | La raison du rebond. |
| └── `type` | chaîne | Le type de rebond : Complaint, Softbounce, Hardbounce. |

##### Exemple de réponse

```
{
  "total": 25,                             // Total count of rows.
  "bounced_emails": [{
    "email": "example@example.com",        // Email address that bounced
    "date": "2024-07-20T00:00:00.000Z",    // Bounce date in ISO 8601 format
    "reason": "Invalid recipient address", // Reason for the bounce
    "type": "Hardbounce"                   // Type of bounce: Complaint, Softbounce, Hardbounce
  }]
}
```