# API Appareil

## registerDevice

`POST` `https://api.pushwoosh.com/json/1.3/registerDevice`

Appelée en interne depuis le SDK. Enregistre l'appareil pour l'application.

##### En-têtes de la requête

| Nom | Requis | Valeur | Description |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Oui | Jeton `XXXX` | [Jeton d'API Appareil](/fr/developer/api-reference/api-access-token/#device-api-token) pour accéder à l'API Appareil. Remplacez `XXXX` par votre jeton d'API Appareil réel. |


##### Corps de la requête

| Nom | Type | Description |
| ---------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------- |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| push\_token | string | [Jeton push](/fr/developer/api-reference/api-identifiers/#push-token) pour l'appareil. |
| language | string | Paramètres régionaux de la langue de l'appareil. Doit être un code de deux lettres en minuscules conformément à la norme ISO-639-1. |
| hwid\* | string | Chaîne unique pour identifier l'appareil (IDFV sur iOS, valeur générée aléatoirement sur Android). [En savoir plus](/fr/developer/api-reference/api-identifiers/#hardware-id) |
| timezone | integer | Décalage du fuseau horaire en secondes pour l'appareil. |
| device\_type\* | integer | [Type d'appareil](/fr/developer/api-reference/api-identifiers/#device-type). Voir les valeurs possibles ci-dessous. |
| email | string | Adresse e-mail à enregistrer (à utiliser pour les utilisateurs d'e-mail au lieu du HWID et du jeton push). |
| tags | object | Valeurs de tag à assigner à l'appareil enregistré. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

```json title="Exemple"
{
  "request": {
    "application": "XXXXX-XXXXX",        // requis. Code d'application Pushwoosh
    "push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // optionnel.
    "hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C",                                   // requis. ID matériel de l'appareil
    "idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239",                                   // optionnel.
    "timezone": 3600,                    // optionnel. Décalage en secondes
    "device_type": 1,                    // requis. Voir les valeurs possibles ci-dessous. Pour les e-mails, 
                                         //           utilisez les paramètres "emails" comme décrit ci-dessous.
    "email": "email_address@domain.com", // à utiliser au lieu de "hwid" et "push_token" pour enregistrer
                                         //           l'adresse e-mail pour votre projet d'e-mail
    "language": "en",                    // optionnel. Code de langue ISO 639-1|639-2
    "userId": "Alex",                    // optionnel.
    "tags": {                            // optionnel. Valeurs de tag à définir pour l'appareil enregistré 
      "StringTag": "string value",
      "IntegerTag": 42,
      "ListTag": ["string1", "string2"], // définit la liste des valeurs pour les Tags de type Liste
      "DateTag": "2024-10-02 22:11",     // notez que l'heure doit être en UTC
      "BooleanTag": true                 // les valeurs valides sont : true, false
    },

    // tags système, optionnels
    "app_version": "1.2.3", 
    "device_model": "Samsung SM-G355H",
    "os_version": "2.3",

    // clés de chiffrement optionnelles pour chrome/firefox
    "public_key": "BNmDO4BTKEMJqaqprTf7t/HBXXXXX/orcXXXXX/scS5CFP6XXXXXHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
    "auth_token": "RlRmCXXXXX/s7XXXXXjKFzoQ==",
 
    // clés FCM optionnelles pour Chrome (pour XMPP)
    "fcm_token": "BNmDO4BTKEMJXXXXXprTf7t/XXXXXBQ/orXXXXXc/scS5CFP6zhQGIHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
    "fcm_push_set": "RlXXXXXGM/s7XXXXXjKFzoQ=="
  }
}
```

Types d'appareils possibles :

* 1 – iOS
* 3 – Android
* 7 – Mac OS X
* 8 – Windows
* 9 – Amazon
* 10 – Safari
* 11 – Chrome
* 12 – Firefox
* 13 – Internet Explorer
* 14 – E-mail
* 16 – Baidu Android
* 17 – Huawei
* 18 – SMS
* 20 – Web
* 21 – WhatsApp
* 22 – Line
* 23 – Kakao Talk
* 24 – Telegram
* 25 – Apple Wallet
* 26 – Google Wallet
* 27 – Viber

### Enregistrement des appareils e-mail
Pour **enregistrer un abonné par e-mail** pour votre application, envoyez le paramètre `"email": "email_address@domain.com"` dans votre requête `/registerDevice` ou [`/registerEmail`](/fr/developer/api-reference/email-api#registeremail) comme suit :

##### Exemple de requête
```json
{
  "request":{
    "application": "XXXXX-XXXXX",        // requis. Code d'application Pushwoosh
    "email": "email_address@domain.com", // requis. Adresse e-mail à enregistrer pour votre projet d'e-mail
    "language": "en",                    // optionnel. Code de langue ISO 639-1|639-2
    "userId": "Alex",                    // optionnel.
    "tags": {                            // optionnel. Valeurs de tag à définir pour l'appareil enregistré 
      "StringTag": "string value",
      "IntegerTag": 42,
      "ListTag": ["string1", "string2"], // définit la liste des valeurs pour les Tags de type Liste
      "DateTag": "2024-10-02 22:11",     // notez que l'heure doit être en UTC
      "BooleanTag": true                 // les valeurs valides sont : true, false
    }
  }
}
```

### Enregistrement des appareils WhatsApp
Pour enregistrer un appareil WhatsApp pour votre application, suivez ces directives :

- **hwid** : Assurez-vous que ce champ inclut le préfixe `whatsapp:` suivi du numéro de téléphone au format E.164 (par ex., `whatsapp:+0000000000`). Le numéro de téléphone doit être valide, ce que Pushwoosh vérifiera.

- **Jeton push** : Un jeton push n'est pas requis, car le `hwid` fonctionnera automatiquement comme jeton push.

- **device_type** : Définissez ce champ à 21 pour spécifier WhatsApp comme plateforme.

##### Exemple de requête
```json
{ 
  "request": {
    "application": "XXXXX-XXXXX",        // requis. Code d'application Pushwoosh
    "hwid": "whatsapp:+0000000000",      // requis. Préfixe WhatsApp et numéro de téléphone valide
    "timezone": 3600,                    // optionnel. Décalage horaire en secondes
    "device_type": 21,                   // requis. Le type d'appareil WhatsApp est 21
    "language": "en",                    // optionnel. Code de langue ISO 639-1|639-2
    "userId": "Alex",                    // optionnel. Identifiant utilisateur
    "tags": {                            // optionnel. Valeurs de tag pour une segmentation personnalisée
      "StringTag": "string value",
      "IntegerTag": 42,
      "ListTag": ["string1", "string2"],
      "DateTag": "2024-10-02 22:11",     // Format UTC
      "BooleanTag": true  
    },
    "app_version": "1.2.3",              // optionnel. Version de l'application
    "device_model": "Samsung SM-G355H",  // optionnel. Modèle de l'appareil
    "os_version": "2.3"                  // optionnel. Version du système d'exploitation
  }
}
```

### Enregistrement des appareils SMS
Pour enregistrer un appareil SMS pour votre application, suivez ces directives :

- **hwid** : Assurez-vous que ce champ inclut le numéro de téléphone au format E.164 (par ex., `+0000000000`). Le numéro de téléphone doit être valide, ce que Pushwoosh vérifiera.

- **Jeton push** : Un jeton push n'est pas requis, car le `hwid` fonctionnera automatiquement comme jeton push.

- **device_type** : Définissez ce champ requis à 18 pour désigner SMS comme plateforme.

##### Exemple de requête
```json 
{  
   "request": {
      "application": "XXXXX-XXXXX",           // requis. Code d'application Pushwoosh
      "hwid": "+0000000000",                  // requis. Numéro de téléphone valide au format E.164
      "timezone": 3600,                       // optionnel. Décalage horaire en secondes
      "device_type": 18,                      // requis. Le type d'appareil SMS est 18
      "language": "en",                       // optionnel. Code de langue ISO 639-1|639-2
      "userId": "Alex",                       // optionnel. Identifiant utilisateur
      "tags": {                               // optionnel. Valeurs de tag pour une segmentation personnalisée
           "StringTag": "string value",
           "IntegerTag": 42,
           "ListTag": ["string1", "string2"],
           "DateTag": "2024-10-02 22:11",     // Format UTC
           "BooleanTag": true  
      },
      "app_version": "1.2.3",                 // optionnel. Version de l'application
      "device_model": "Samsung SM-G355H",     // optionnel. Modèle de l'appareil
      "os_version": "2.3"                     // optionnel. Version du système d'exploitation
   }
}
```

**Codes de statut** :

| Code de statut HTTP | status\_code | Description |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | Appareil enregistré avec succès |
| 200 | 210 | Erreur d'argument. Voir `status_message` pour plus d'informations. |
| 400 | N/A | Chaîne de requête malformée |
| 500 | 500 | Erreur interne |



## unregisterDevice

`POST` `https://api.pushwoosh.com/json/1.3/unregisterDevice`

Supprime le jeton push de l'appareil. L'appareil désenregistré est toujours compté dans le Total des Appareils et peut être atteint avec les In-Apps. Appelée en interne depuis le SDK.

##### En-têtes de la requête

| Nom | Requis | Valeur | Description |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Oui | Jeton `XXXX` | [Jeton d'API Appareil](/fr/developer/api-reference/api-access-token/#device-api-token) pour accéder à l'API Appareil. Remplacez `XXXX` par votre jeton d'API Appareil réel. |

##### Corps de la requête

| Nom | Type | Description |
| --------------------------------------------- | ------ | --------------------------------------------------- |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID matériel de l'appareil](/fr/developer/api-reference/api-identifiers/#hardware-id) utilisé dans la requête `/registerDevice`. |

<Tabs>
<TabItem label="200">
```json
{
    "status_code": 200,
    "status_message": "OK",
    "response": null
}
```
</TabItem>
</Tabs>

```json title="Exemple"
{
  "request": {
    "application": "XXXXX-XXXXX",              // requis. Code d'application Pushwoosh
    "hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2"  // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice 
  }
}
```

<Aside type="note">
Pour les e-mails, appelez [`/deleteEmail`](/fr/developer/api-reference/email-api/#deleteemail).
</Aside>

**Codes de statut** :

| Code de statut HTTP | status\_code | Description |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | Appareil désabonné avec succès |
| 200 | 210 | Erreur d'argument. Voir `status_message` pour plus d'informations. |
| 400 | N/A | Chaîne de requête malformée |
| 500 | 500 | Erreur interne |



## deleteDevice

`POST` `https://api.pushwoosh.com/api/v2/device-api/deleteDevice`

Supprime un appareil et toutes ses données associées, identifié par le [HWID](/fr/developer/api-reference/api-identifiers/#hardware-id) spécifié dans l'application. Contrairement à [`/unregisterDevice`](/fr/developer/api-reference/device-api/#unregisterdevice), qui ne supprime que le jeton push et conserve l'enregistrement de l'appareil, `/deleteDevice` supprime entièrement l'appareil. La requête est traitée de manière asynchrone, et le point de terminaison renvoie `200 OK` dès que la demande de suppression a été acceptée pour traitement.

#### En-têtes de la requête

| Nom | Requis | Valeur | Description |
|---------------|----------|------------------|------------------------------------------------------------|
| Authorization | Oui | Jeton `XXXX` | [Jeton d'API Appareil](/fr/developer/api-reference/api-access-token/#device-api-token) pour accéder à l'API Appareil. Remplacez `XXXX` par votre jeton d'API Appareil réel. |
| Content-Type | Oui | application/json | |

#### Corps de la requête

| Nom | Requis | Type | Description |
| ----------- | -------- | ------ | ----------------------------------------------------------------------------------------------------------- |
| application | Oui | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| hwid | Oui | string | [ID matériel de l'appareil](/fr/developer/api-reference/api-identifiers/#hardware-id) de l'appareil à supprimer. |


#### Exemple de requête

```json
{
  "application": "XXXXX-XXXXX",                 // requis. Code d'application Pushwoosh
  "hwid": "8f65b16df378e7a6bece9614e1530fb2"    // requis. ID matériel de l'appareil à supprimer
}
```

#### Exemple de réponse

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

##### Codes de statut

| Code de statut HTTP | status\_code | Description |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | Demande de suppression acceptée |
| 200 | 210 | Erreur d'argument. Voir `status_message` pour plus d'informations. |
| 400 | N/A | Chaîne de requête malformée |
| 401 | N/A | Jeton d'autorisation manquant ou invalide |
| 500 | 500 | Erreur interne |



## setTags

`POST` `https://api.pushwoosh.com/json/1.3/setTags`

Définit les valeurs des tags pour l'appareil. Appelée depuis le SDK.

##### En-têtes de la requête

| Nom | Requis | Valeur | Description |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Oui | Jeton `XXXX` | [Jeton d'API Appareil](/fr/developer/api-reference/api-access-token/#device-api-token) pour accéder à l'API Appareil. Remplacez `XXXX` par votre jeton d'API Appareil réel. |

##### Corps de la requête

| Nom | Type | Description |
| --------------------------------------------- | ------ | ------------------------------------------------------------ |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID matériel de l'appareil](/fr/developer/api-reference/api-identifiers/#hardware-id) utilisé dans la requête `/registerDevice`. |
| tags\* | object | Objet JSON des tags à définir, envoyez "null" pour supprimer la valeur. |

<Tabs>
<TabItem label="200">
```json
{
   "status_code": 200,
   "status_message": "OK",
   "response": null
}
```
</TabItem>
</Tabs>

<Aside type="note">
La méthode est appelée depuis le SDK. Il est possible de l'appeler à distance depuis votre backend, cependant vous devez maintenir une base de données à jour des hwid du côté du backend.
</Aside>

```json title="Exemple"
{
  "request":{
    "application": "XXXXX-XXXXX",               // requis. Code d'application Pushwoosh
    "hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
    "tags": {                                   // requis.
      "StringTag": "string value",
      "IntegerTag": 42,
      "ListTag": ["string1", "string2"],        // définit la liste des valeurs pour les Tags de type Liste
      "DateTag": "2024-10-02 22:11",            // notez que l'heure est en UTC
      "BooleanTag": true                        // les valeurs valides sont - true, false
    }  
  }
}
```

### Incrémenter les valeurs de tag Entier

Pour **incrémenter** une valeur du Tag Entier, utilisez le paramètre `operation` avec la valeur « increment » comme suit :

```json
{
  "request":{
    "application": "12345-67890",                   // requis. Code d'application Pushwoosh
    "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
    "tags": {                                       // requis.
      "Level": {                                    // Nom du Tag
        "operation": "increment",                   // écrase le tag entier par incréments de la valeur suivante 
        "value": 1                                  // incrément pour la valeur du tag
      }  
    }  
  }
}
```

### Décrémenter les valeurs de tag Entier

Pour **décrémenter**, utilisez des nombres négatifs comme valeur pour l'opération « increment » (-1, -2, -3,-n) :

```json
{
  "request":{
    "application": "12345-67890",                   // requis. Code d'application Pushwoosh
    "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
    "tags": {                                       // requis
      "Level": {                                    // Nom du Tag
        "operation": "increment",                   // écrase le tag entier en décrémentant de la valeur suivante 
        "value": -1                                 // décrément pour la valeur du tag
      }  
    }  
  }
}
```

### Ajouter des valeurs au tag Liste

Pour **étendre le Tag Liste avec de nouvelles valeurs**, utilisez le paramètre `operation` avec la valeur « append » comme suit :

```json title="Exemple"
{
  "request": {
    "hwid": "3d124a79XXXXf189XXXX7dfd9XXXXafd", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
    "application": "6XXXX-XXXX3",               // requis. Code d'application Pushwoosh
    "tags": {                                   // requis.
      "ListTag": {                              // Nom du Tag
        "operation": "append",                  // ajoute les valeurs suivantes à la liste de valeurs du Tag
        "value": [                              // valeurs à ajouter
          "tag2",
          "tag3"
        ]
      }
    }
  }
}
```

### Supprimer des valeurs du tag Liste

Pour supprimer certaines valeurs du Tag Liste, utilisez l'opération « remove » comme suit :

```json
{
  "request":{
    "application": "12345-67890",                   // requis. Code d'application Pushwoosh
    "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
    "tags": {                                       // requis.
      "In-App Product": {                           // Nom du Tag
        "operation": "remove",                      // supprime les valeurs suivantes du tag liste
        "value": "outwear_02"                       // valeur ou valeurs à supprimer
      }
    }  
  }
}
```

### Définir les tags par UserID

Pour définir des tags pour tous les appareils associés à un [ID Utilisateur](/fr/developer/api-reference/api-identifiers/#user-id) particulier, utilisez le paramètre « userId » au lieu de « hwid ».

<Aside type="caution">
Assurez-vous que le tag pour lequel vous définissez des valeurs est [spécifique à l'utilisateur](/fr/developer/guides/audience-and-segmentation/tags/#tag-scope-general-vs-user-specific).
</Aside>

```json title="Exemple"
{
  "request":{
    "application": "AAAAA-BBBBB", // Code d'application Pushwoosh
    "userId": "some_user",        // ID utilisateur pour lequel vous souhaitez définir des tags 
    "tags": {                     // tags et valeurs à définir
      "Language": "es"
    }  
  }
}
```

<Aside type="note">
Pour les e-mails, appelez [`/setEmailTags`](/fr/developer/api-reference/email-api/#setemailtags).
</Aside>

**Codes de statut :**

| Code de statut HTTP | status\_code | Description |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | Les tags ont été définis avec succès |
| 200 | 210 | Erreur d'argument. Voir `status_message` pour plus d'informations. |
| 400 | N/A | Chaîne de requête malformée |
| 500 | 500 | Erreur interne |


## getTags

`POST` `https://api.pushwoosh.com/json/1.3/getTags`

Récupère une liste de tags avec les valeurs correspondantes pour l'appareil spécifique.

##### En-têtes de la requête

| Nom | Requis | Valeur | Description |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Oui | Jeton `XXXX` | [Jeton d'API Appareil](/fr/developer/api-reference/api-access-token/#device-api-token) pour accéder à l'API Appareil. Remplacez `XXXX` par votre jeton d'API Appareil réel. |

##### Corps de la requête

| Nom | Type | Description |
| --------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------- |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| userId | string | [ID Utilisateur](/fr/developer/api-reference/api-identifiers/#user-id) à utiliser à la place de "hwid". S'il est utilisé avec un "hwid", le "hwid" prévaut. |
| hwid | string | [ID matériel de l'appareil](/fr/developer/api-reference/api-identifiers/#hardware-id) utilisé dans la requête `/registerDevice`. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "result": {
      "Language": "fr"
    }
  }
}
```
</TabItem>
</Tabs>

```json title="Exemple"
{
  "request":{
    "application": "XXXXX-XXXXX",   // requis. Code d'application Pushwoosh
    "hwid": "HWID",                 // optionnel. ID matériel de l'appareil utilisé dans l'API /registerDevice
    "userId": "USER_ID"             // optionnel. Peut être utilisé à la place de "hwid" pour récupérer les tags d'un utilisateur spécifique
  }
}
```

## setBadge

`POST` `https://api.pushwoosh.com/json/1.3/setBadge`

Envoie la valeur actuelle du badge pour un appareil à Pushwoosh. Appelée en interne depuis le SDK.

##### En-têtes de la requête

| Nom | Requis | Valeur | Description |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Oui | Jeton `XXXX` | [Jeton d'API Appareil](/fr/developer/api-reference/api-access-token/#device-api-token) pour accéder à l'API Appareil. Remplacez `XXXX` par votre jeton d'API Appareil réel. |

##### Corps de la requête

| Nom | Type | Description |
| --------------------------------------------- | ------- | --------------------------------------------------- |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID matériel de l'appareil](/fr/developer/api-reference/api-identifiers/#hardware-id) utilisé dans la requête `/registerDevice`. |
| badge\* | integer | Badge actuel sur l'application. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK"
}
```
</TabItem>
</Tabs>

```json title="Exemple"
{
  "request":{
    "application": "XXXXX-XXXXX",               // requis. Code d'application Pushwoosh
    "hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
    "badge": 4                                  // requis. Badge actuel sur l'application
  }
}
```

Appelée depuis le SDK en interne. Envoie la valeur actuelle du badge pour un appareil à Pushwoosh. Cela se produit en interne lorsque l'application modifie la valeur du badge sur un appareil iOS. Permet aux badges à incrémentation automatique de fonctionner correctement.

<Aside type="caution">
Cette méthode **N'EST PAS** utilisée pour mettre à jour la valeur du badge sur l'appareil. Veuillez plutôt utiliser la requête [`/createMessage`](/fr/developer/api-reference/messages-api/#createmessage) avec le paramètre `"ios_badges"`.
</Aside>



## applicationOpen

`POST` `https://api.pushwoosh.com/json/1.3/applicationOpen`

Enregistre un événement d'ouverture d'application. Appelée en interne depuis le SDK.

##### En-têtes de la requête

| Nom | Requis | Valeur | Description |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Oui | Jeton `XXXX` | [Jeton d'API Appareil](/fr/developer/api-reference/api-access-token/#device-api-token) pour accéder à l'API Appareil. Remplacez `XXXX` par votre jeton d'API Appareil réel. |

##### Corps de la requête

| Nom | Type | Description |
| --------------------------------------------- | ------ | --------------------------------------------------- |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID matériel de l'appareil](/fr/developer/api-reference/api-identifiers/#hardware-id) utilisé dans la requête `/registerDevice`. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK"
}
```
</TabItem>
</Tabs>

```json title="Exemple"
{
  "request": {
    "application": "XXXXX-XXXXX",              // requis. Code d'application Pushwoosh
    "hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice    
  }
}
```



## pushStat

`POST` `https://api.pushwoosh.com/json/1.3/pushStat`

Enregistre un événement d'ouverture de push. Appelée en interne depuis le SDK.

##### En-têtes de la requête

| Nom | Requis | Valeur | Description |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Oui | Jeton `XXXX` | [Jeton d'API Appareil](/fr/developer/api-reference/api-access-token/#device-api-token) pour accéder à l'API Appareil. Remplacez `XXXX` par votre jeton d'API Appareil réel. |
##### Corps de la requête

| Nom | Type | Description |
| --------------------------------------------- | ------ | --------------------------------------------------------------------------- |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID matériel de l'appareil](/fr/developer/api-reference/api-identifiers/#hardware-id) utilisé dans la requête `/registerDevice`. |
| userId | string | [ID Utilisateur](/fr/developer/api-reference/api-identifiers/#user-id) à associer à l'événement d'ouverture de push. |
| hash | string | Tag de hachage reçu dans la notification push (paramètre "p" de la charge utile du push). |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

```json title="Exemple"
{
  "request": {
    "application": "XXXXX-XXXXX",               // requis. Code d'application Pushwoosh
    "hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice 
    "userId": "USER012345",                     // optionnel. L'ID utilisateur à associer à l'événement d'ouverture de push 
    "hash": "HASH_TAG"                          // optionnel. Tag de hachage reçu dans la notification push
                                                //           (paramètre "p" dans la charge utile du push)
  }
}
```


## messageDeliveryEvent

`POST` `https://api.pushwoosh.com/json/1.3/messageDeliveryEvent`

Enregistre un événement de livraison de push pour l'appareil. Appelée en interne depuis le SDK.

##### En-têtes de la requête

| Nom | Requis | Valeur | Description |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | Oui | Jeton `XXXX` | [Jeton d'API Appareil](/fr/developer/api-reference/api-access-token/#device-api-token) pour accéder à l'API Appareil. Remplacez `XXXX` par votre jeton d'API Appareil réel. |

##### Corps de la requête

| Nom | Type | Description |
| --------------------------------------------- | ------ | --------------------------------------------------------------------------- |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [ID matériel de l'appareil](/fr/developer/api-reference/api-identifiers/#hardware-id) utilisé dans la requête `/registerDevice`. |
| hash | string | Tag de hachage reçu dans la notification push (paramètre "p" de la charge utile du push). |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

```json title="Exemple"
 {
  "request": {
    "application": "XXXXX-XXXXX",               // requis. Code d'application Pushwoosh
    "hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
    "hash": "HASH_TAG"                          // optionnel. Tag de hachage reçu dans la notification push
                                                //           (paramètre "p" dans la charge utile du push)
  }
}
```