# API Applications

## createApplication

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

Crée une nouvelle application sur le compte.

### Request Body

| Nom | Type | Description |
| --- | --- | --- |
| authorize\_all\_tokens | boolean | Autorise tous les jetons API à communiquer avec cette application. |
| auth\* | string | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) depuis le Panneau de configuration Pushwoosh. |
| icon | string | Contenu binaire encodé en Base64 du fichier png. |
| sdk\_ios | string | Type de SDK iOS. Valeurs possibles : « pw » ou « corona ». Pour Corona, la charge utile (payload) du push est différente. |
| sdk\_android | string | Type de SDK Android. Valeurs possibles : « pw », « corona », « phonegap ». Les utilisateurs d'AppPresser doivent sélectionner « phonegap ». |
| title\* | string | Titre de la nouvelle application dans Pushwoosh. |

Exemple de réponse :

```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "application": "1DC69-73EDB"
  }
}
```

Exemple de code :

```
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",          // requis. Jeton d'accès API depuis le Panneau de configuration Pushwoosh
    "icon": "iVBORw0KGgoAAAANSUhEUgAAA...",  // optionnel. Contenu binaire encodé en Base64 du fichier png
    "authorize_all_tokens": true,            // optionnel. Si true, autorise tous les jetons API à communiquer avec cette application
    "sdk_ios": "pw",                         // optionnel. Valeurs possibles : "pw" ou "corona"
    "sdk_android": "pw",                     // optionnel. Valeurs possibles : "pw", "corona" ou "phonegap"
    "title": "APP_TITLE"                     // requis. Titre de la nouvelle application dans Pushwoosh
  }
}
```

## updateApplication

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

Met à jour les paramètres de l'application.

### Request Body

| Nom | Type | Description |
| --- | --- | --- |
| auth\* | string | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) depuis le Panneau de configuration Pushwoosh. |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| icon | string | Contenu binaire encodé en Base64 du fichier png. |
| sdk\_ios | string | Type de SDK iOS. Valeurs possibles : « pw » ou « corona ». Pour Corona, la charge utile (payload) du push est différente. |
| sdk\_android | string | Type de SDK Android. Valeurs possibles : « pw », « corona », « phonegap ». Les utilisateurs d'AppPresser doivent sélectionner « phonegap ». |
| title | string | Nouveau titre pour l'application dans Pushwoosh. |

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

```text title="Exemple"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",     // requis. Jeton d'accès API depuis le Panneau de configuration Pushwoosh
    "application": "XXXXX-XXXXX",       // requis. code d'application de l'application que vous souhaitez mettre à jour
    "icon": "iVBORw0KGgoAAAANSUD6...",  // optionnel. Contenu binaire encodé en Base64 du fichier png
    "sdk_ios": "pw",                    // optionnel. Valeurs possibles : "pw" ou "corona"
    "sdk_android": "pw",                // optionnel. Valeurs possibles : "pw", "corona" ou "phonegap"
    "title": "APP_TITLE"                // optionnel. Nouveau titre pour l'application dans Pushwoosh
  }
}
```

## deleteApplication

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

Supprime l'application du compte.

### Request Body

| Nom | Type | Description |
| --- | --- | --- |
| auth\* | string | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) depuis le Panneau de configuration Pushwoosh. |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |

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

```text title="Exemple"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H", // requis. Jeton d'accès API depuis le Panneau de configuration Pushwoosh
    "application": "XXXXX-XXXXX"    // requis. Code d'application Pushwoosh
  }
}
```

## getApplication

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

Obtient les détails de l'application.

### Request Body

| Nom | Type | Description |
| --- | --- | --- |
| auth\* | string | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) depuis le Panneau de configuration Pushwoosh. |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "application": {
      "adm_cid": "",
      "adm_secret": "",
      "android_api_type": "x31",
      "android_gcm_api_key": "x7836363631366236353566366236353739",
      "android_sdk": "x7077",
      "icon_url": null,
      "ios_gateway": "x783330",
      "ios_key_management_type": "x783631373537343666",
      "ios_key_password": "x7836353336363236353335333736353333",
      "ios_sdk": "x7077",
      "title": "0 Application For test",
      "providers": {
        "ios": true,
        "amazon": false,
        "android": false,
        "baidu_android": false,
        "chrome": false,
        "email": false,
        "firefox": false,
        "huawei_android": false,
        "internet_explorer": false,
        "osx": false,
        "safari": false,
        "sms": false,
        "web": false,
        "whats_app": false,
        "windows": false
      },
      "languages": {
        "en": "34",
        "zh": "12",
        "sv": "7",
        "de": "6",
        "pt": "6"
      }
    }
  }
}
```
</TabItem>
</Tabs>

```
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H", // requis. Jeton d'accès API depuis le Panneau de configuration Pushwoosh
    "application": "XXXXX-XXXXX"    // requis. Code d'application Pushwoosh
  }
}
```

## getApplications

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

Obtient la liste des applications sur le compte. Peut renvoyer le résultat avec pagination.

### Request Body

| Nom | Type | Description |
| --- | --- | --- |
| auth\* | string | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) depuis le Panneau de configuration Pushwoosh. |
| page | integer | Le numéro de page pour la pagination. |

### Exemple de requête

```
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",  // requis. Jeton d'accès API depuis le Panneau de configuration Pushwoosh
    "page": 2                        // optionnel. Le numéro de page pour la pagination
  }
}
```

### Réponse

S'il y a plus de 100 applications dans le compte, la réponse inclut `current page` (page actuelle) et `total amount of pages` (nombre total de pages).

### Exemple de réponse

```
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "page": 1,   // Page actuelle
    "total": 2,  // Nombre total de pages
    "applications": [{
      "APPLICATION_CODE": "MyApp1"
    }, {
      "APPLICATION_CODE": "MyApp2"
    }]
  }
}
```

## getApplicationFile

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

Obtient les fichiers de configuration liés à l'application.

### Request Body

| Nom | Type | Description |
| --- | --- | --- |
| auth\* | string | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) depuis le Panneau de configuration Pushwoosh. |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| file\* | string | Identifiant du fichier à récupérer. Voir les valeurs ci-dessous. |

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

```text title="Exemple"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",  // requis. Jeton d'accès API depuis le Panneau de configuration Pushwoosh
    "application": "XXXXX-XXXXX",    // requis. Code d'application Pushwoosh
    "file": "ios_auto_privatekey"    // requis. identifiant du fichier à récupérer. Voir les valeurs ci-dessous
  }
}
```

### Valeurs possibles pour le paramètre « file » :

`"ios_auto_privatekey" | "ios_manual_privatekey" | "ios_auto_certificate" | "ios_manual_certificate"       | "ios_push_certificate" | "ios_provisioning_profile" | "macos_manual_privatekey" | "macos_manual_certificate"       | "macos_push_certificate" | "safari_manual_privatekey" | "safari_push_certificate" | "safari_push_package"`

**Exemple de réponse** :

```
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
```

## setApplicationPlatformStatus

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

Modifie le statut de la plateforme de l'application.

### Request Body

| Nom | Type | Description |
| --- | --- | --- |
| auth\* | string | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) depuis le Panneau de configuration Pushwoosh. |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| platform\* | integer | Le type de plateforme. Voir la liste des types de plateformes ci-dessous. |
| status\* | string | "enable" ou "disable" |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "message": "iOS pushes are disabled",
    "available_platforms": {
      "iOS": false,
      "Android": true,
      "OS X": false,
      "Windows": false,
      "Amazon": false,
      "Safari": false,
      "Chrome": true,
      "Firefox": false,
    }
  }
}
```
</TabItem>
</Tabs>

```text title="Exemple"
{
  "request": {
    "application": "XXXXX-XXXXX",   // requis. Code d'application Pushwoosh
    "auth": "yxoPUlwqm…………pIyEX4H", // requis. Jeton d'accès API depuis le Panneau de configuration Pushwoosh
    "platform": 1,                  // requis. 1 — iOS ; 3 — Android ; 7 — Mac OS X ; 8 — Windows ;
                                    //           9 — Amazon ; 10 — Safari ; 11 — Chrome ; 12 — Firefox ;
    "status": "disable"             // requis. "disable" ou "enable"
  }
}
```