# API de configuração de aplicativo

## configureApplication para iOS

Configura a plataforma iOS para o aplicativo.

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


#### Corpo da Requisição

| Nome | Tipo | Descrição |
| -------------------------- | ------- |--------------------------------------------------|
| auth | string | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) do Painel de Controle da Pushwoosh |
| application | string | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| device\_type | integer | Deve ser 1 para iOS |
| ios\_key\_management\_type | string | "manual" |
| ios\_key\_file | string | Conteúdo do arquivo de chave do iOS codificado em Base64 |
| ios\_key\_password | string | Senha para o arquivo de chave do iOS |
| ios\_gateway | integer | "0" para sandbox, "1" para produção |
| ios\_framework | string | Valores possíveis: "native", "cordova", "titanium" |


<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "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
    }
  }
}
```
</TabItem>
</Tabs>


```json title="Exemplo"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",      // obrigatório. Token de acesso à API do Painel de Controle da Pushwoosh
    "application": "XXXXX-XXXXX",        // obrigatório. Código do aplicativo Pushwoosh
    "device_type": 1,                    // obrigatório. 1 para iOS
    "ios_key_management_type": "manual", // obrigatório. "manual"
    "ios_key_file": "MIIMY...BAQ==",     // obrigatório. conteúdo do arquivo de chave do iOS codificado em base64
    "ios_key_password": "password",      // obrigatório.
    "ios_gateway": 1,                    // obrigatório. "0" (sandbox) | "1" (produção)
    "ios_framework": "native"            // obrigatório. valores possíveis: "native", "cordova", "titanium",
                                         //           "marmalade", "adobeAir", "corona", "xamarin",
                                         //           "phoneGapBuild", "triggerIO", "unity"
  }
}


```

## configureApplication para Android

Configura a plataforma Android para o aplicativo.

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


#### Corpo da Requisição

| Nome | Tipo | Descrição |
| ---------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| auth\* | string | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) do seu Painel de Controle da Pushwoosh. |
| application\* | string | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | Deve ser 3 para Android. |
| android\_framework\* | string | Framework Android. Valores possíveis: native, cordova, marmalade, adobeAir, corona, xamarin, phoneGapBuild, triggerIO, titanium, unity. |
| android\_fcm\_service\_account\* | object | Chave da conta de serviço do FCM (arquivo JSON gerado nas configurações do projeto Firebase). |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "providers": {
      "ios": false,
      "amazon": false,
      "android": true,
      "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
    }
  }
}
```
</TabItem>
</Tabs>



<Tabs>
<TabItem label="Exemplo">
```json
{
  "request": {
    "auth": "Z2PLR....IRwTqHwCr",
    "application": "87E33-XXXXX",
    "device_type": 3,
    "android_fcm_service_account": {
      "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
      "auth_uri": "https://accounts.google.com/o/oauth2/auth",
      "client_email": "****@foobar.iam.gserviceaccount.com",
      "client_id": "115********6584854983",
      "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-zffgu%40foobar.iam.gserviceaccount.com",
      "private_key": "-----BEGIN PRIVATE KEY-----\nuH/OU/fIL+i6Wm8as...\n-----END PRIVATE KEY-----\n",
      "private_key_id": "e3749********6d9",
      "project_id": "app-android",
      "token_uri": "https://oauth2.googleapis.com/token",
      "type": "service_account",
      "universe_domain": "googleapis.com"
    },
    "android_framework": "native"
  }
}

```
</TabItem>
</Tabs>

## configureApplication para Mac OS X

Configura a plataforma Mac OS X para o aplicativo.

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


#### Corpo da Requisição

| Nome | Tipo | Descrição |
| -------------------------------------------------------------- | ------- | --------------------------------------------------- |
| auth\* | string | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) do Painel de Controle da Pushwoosh. |
| application\* | string | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | Deve ser 7 para Mac OS X. |
| macos\_key\_management\_type\* | string | Apenas o tipo "manual" está disponível no momento. |
| macos\_cert\_file | string | Conteúdo do arquivo de certificado do Mac OS X codificado em Base64. |
| macos\_key\_file | string | Conteúdo do arquivo de chave do Mac OS X codificado em Base64. |
| macos\_key\_password | string | Senha do arquivo de chave. |
| macos\_gateway\* | integer | Gateway de push. "0" para sandbox, "1" para produção. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "providers": {
      "ios": false,
      "amazon": false,
      "android": false,
      "baidu_android": false,
      "chrome": false,
      "email": false,
      "firefox": false,
      "huawei_android": false,
      "internet_explorer": false,
      "osx": true,
      "safari": false,
      "sms": false,
      "web": false,
      "whats_app": false,
      "windows": false
    }
  }
}
```
</TabItem>
</Tabs>



```json title="Exemplo"
{
  "request":{
    "auth": "yxoPUlwqm…………pIyEX4H",                   // obrigatório. Token de acesso à API do Painel de Controle da Pushwoosh
    "application": "XXXXX-XXXXX",                     // obrigatório. Código do aplicativo Pushwoosh
    "device_type": 7,                                 // obrigatório. 7 para Mac OS X
    "macos_key_management_type": "manual",            // obrigatório. "manual" 
    "macos_cert_file": "iVBORw0KGgoAAAANSUhEUgAABB…", // opcional. Conteúdo codificado em Base64 do arquivo de certificado do Mac OS X 
    "macos_key_file": "iVBORw0KGgoAAAANSUhEUgAABB…",  // opcional. Conteúdo codificado em Base64 do arquivo de chave do Mac OS X 
    "macos_key_password": "PASSWORD",                 // opcional. Senha do arquivo de chave 
    "macos_gateway": 1                                // obrigatório. gateway de push. "0" para sandbox ou "1" para produção 
  }
}
```

## configureApplication para Windows

Configura as plataformas Windows para o aplicativo.

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


#### Corpo da Requisição

| Nome | Tipo | Descrição |
| ---------------------------------------------- | ------- | ------------------------------------------------------------------------------------- |
| auth\* | string | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) do Painel de Controle da Pushwoosh. |
| application\* | string | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | Deve ser 8 para Windows. |
| wns\_psid\* | string | Identificador de segurança do pacote da Windows Store para o aplicativo. Começa com "ms-app://". |
| wns\_secret\* | string | Segredo do Cliente da Windows Store para o aplicativo. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "providers": {
      "ios": false,
      "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": true
    }
  }
}
```
</TabItem>
</Tabs>



```json title="Exemplo"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",  // obrigatório. Token de acesso à API do Painel de Controle da Pushwoosh
    "application": "XXXXX-XXXXX",    // obrigatório. Código do aplicativo Pushwoosh
    "device_type": 8,                // obrigatório. 8 para Windows
    "wns_psid": "ms-app://…",        // obrigatório. identificador de segurança do pacote do aplicativo da Windows Store
    "wns_secret": "CLIENT_SECRET"    // obrigatório. Segredo do cliente Windows 
  }
}


```

## configureApplication para Amazon

Configura a plataforma Amazon para o aplicativo.

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


#### Corpo da Requisição

| Nome | Tipo | Descrição |
| ------------------------------------------------ | ------- | -------------------------------------------------------------- |
| auth\* | string | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) do Painel de Controle da Pushwoosh. |
| application\* | string | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | Deve ser 9 para Amazon. |
| adm\_cid\* | string | ID do cliente Amazon. |
| adm\_secret\* | string | Segredo do cliente Amazon. |
| adm\_framework\* | string | Framework Amazon. Valores possíveis: _native, unity, adobeAir._ |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "providers": {
      "ios": false,
      "amazon": true,
      "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
    }
  }
}
```
</TabItem>
</Tabs>



```json title="Exemplo"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",  // obrigatório. Token de acesso à API do Painel de Controle da Pushwoosh
    "application": "XXXXX-XXXXX",    // obrigatório. Código do aplicativo Pushwoosh
    "device_type": 9,                // obrigatório. 9 para Amazon
    "adm_cid": "CLIENT_ID",          // obrigatório. ID do cliente Amazon
    "adm_secret": "CLIENT_SECRET",   // obrigatório. Segredo do Cliente Amazon
    "adm_framework": "native"        // obrigatório. valores possíveis: native, unity, adobeAir. 
  }
}
```

## configureApplication para Chrome

Configura a plataforma Chrome para o aplicativo.

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


#### Corpo da Requisição

| Nome | Tipo | Descrição | Obrigatório |
|------------------------------|---------|-----------------------------------------------------------------------------------------------------|----------|
| auth* | string | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) do Painel de Controle da Pushwoosh. | Obrigatório |
| application* | string | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) | Obrigatório |
| device_type* | integer | Deve ser 11 para Chrome. | Obrigatório |
| chrome_fcm_service_account* | object | Chave da conta de serviço do FCM (arquivo JSON gerado nas configurações do projeto Firebase). | Obrigatório |
| chrome_vapid_key* | string | Chave VAPID pública (Voluntary Application Server Identification) usada para autenticação de notificação push no Chrome. | Obrigatório |
| chrome_vapid_private_key* | string | Chave VAPID privada usada para assinar e enviar notificações push no Chrome. | Obrigatório |


```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "providers": {
      "ios": false,
      "amazon": false,
      "android": false,
      "baidu_android": false,
      "chrome": true,
      "email": false,
      "firefox": false,
      "huawei_android": false,
      "internet_explorer": false,
      "osx": false,
      "safari": false,
      "sms": false,
      "web": false,
      "whats_app": false,
      "windows": false
    }
  }
}
```



<Tabs>
<TabItem label="Exemplo">
```json
{
  "request": {
    "auth": "Z2PLR....IRwTqHwCr",
    "application": "87E33-XXXXX",
    "device_type": 11,
    "chrome_fcm_service_account": {
      "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
      "auth_uri": "https://accounts.google.com/o/oauth2/auth",
      "client_email": "****@foobar.iam.gserviceaccount.com",
      "client_id": "11529......6584854983",
      "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/****foobar.iam.gserviceaccount.com",
      "private_key": "-----BEGIN PRIVATE KEY-----\nuH/OU/fIm8as...\n-----END PRIVATE KEY-----\n",
      "private_key_id": "e3749......e66d9",
      "project_id": "app-chrome",
      "token_uri": "https://oauth2.googleapis.com/token",
      "type": "service_account",
      "universe_domain": "googleapis.com"
    },
    "chrome_vapid_key": "BEr....KPqQvCbU",
    "chrome_vapid_private_key": "ee....flOqmSo"
  }
}

```
</TabItem>
</Tabs>

## configureApplication para Safari

Configura a plataforma Safari para o aplicativo.

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


#### Corpo da Requisição

| Nome | Tipo | Descrição |
| --------------------------------------------------------------- | ------- |-------------------------------------------------|
| auth\* | string | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) do Painel de Controle da Pushwoosh. |
| application\* | string | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | Deve ser 10 para Safari. |
| safari\_key\_management\_type\* | string | Apenas o tipo "manual" está disponível no momento. |
| safari\_website\_name | string | Nome do site. |
| safari\_allowed\_domains | array | Ex: https://site1.com", https://site2.com" |
| safari\_url\_template\* | string | Modelo de URL do Safari formatado como "https://%@". |
| safari\_icon\_file | string | Conteúdo codificado em Base64 de um arquivo png de 256x256px. |
| safari\_key\_file\* | string | Conteúdo do arquivo de chave .p12 do Safari codificado em Base64. |
| safari\_key\_password | string | Senha para o arquivo de chave. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "providers": {
      "ios": false,
      "amazon": false,
      "android": false,
      "baidu_android": false,
      "chrome": false,
      "email": false,
      "firefox": false,
      "huawei_android": false,
      "internet_explorer": false,
      "osx": false,
      "safari": true,
      "sms": false,
      "web": false,
      "whats_app": false,
      "windows": false
    }
  }
}
```
</TabItem>
</Tabs>



```json title="Exemplo"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",                    // obrigatório. Token de acesso à API do Painel de Controle da Pushwoosh
    "application": "XXXXX-XXXXX",                      // obrigatório. Código do aplicativo Pushwoosh
    "device_type": 10,                                 // obrigatório. 10 para Safari
    "safari_key_management_type": "manual",            // obrigatório. "manual"
    "safari_website_name": "WEBSITE_NAME",             // opcional.
    "safari_allowed_domains": [                        // opcional.
      "https://site1.com",
      "https://site2.com"
    ],
    "safari_url_template": "https://%@",               // obrigatório.
    "safari_icon_file": "iVBORw0KGgoAAAANSUhEUgAABB…", // opcional. Conteúdo codificado em Base64 de um arquivo png de 256x256px
    "safari_key_file": "MIIMY...BAQ==",                // obrigatório. conteúdo do arquivo de chave .p12 do Safari codificado em base64
    "safari_key_password": "PASSWORD"                  // opcional. Senha para o arquivo de chave acima  
  }
}


```

## configureApplication para Firefox

Configura a plataforma Firefox para o aplicativo.

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


#### Corpo da Requisição

| Nome | Tipo | Descrição | Obrigatório |
|-------------------------------|---------|-------------------------------------------------------------------------------------------------------|----------|
| auth* | string | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) do Painel de Controle da Pushwoosh. | Obrigatório |
| application* | string | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) | Obrigatório |
| device_type* | integer | Deve ser 12 para Firefox. | Obrigatório |
| firefox_is_enabled | boolean | Habilita notificações push para o Firefox. | Opcional |
| firefox_fcm_service_account* | object | JSON gerado nas configurações do projeto Firebase. | Obrigatório |
| firefox_vapid_key* | string | Chave VAPID pública (Voluntary Application Server Identification) usada para autenticação de notificação push no Firefox. | Obrigatório |
| firefox_vapid_private_key* | string | Chave VAPID privada usada para assinar e enviar notificações push no Firefox. | Obrigatório |


<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "providers": {
      "ios": false,
      "amazon": false,
      "android": false,
      "baidu_android": false,
      "chrome": false,
      "email": false,
      "firefox": true,
      "huawei_android": false,
      "internet_explorer": false,
      "osx": false,
      "safari": false,
      "sms": false,
      "web": false,
      "whats_app": false,
      "windows": false
    }
  }
}
```
</TabItem>
</Tabs>



<Tabs>
<TabItem label="Exemplo">
```json
{
  "request": {
    "auth": "Z2PLR....IRwTqHwCr",
    "application": "87E33-XXXXX",
    "device_type": 12,
    "firefox_fcm_service_account": {
      "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
      "auth_uri": "https://accounts.google.com/o/oauth2/auth",
      "client_email": "****@foobar.iam.gserviceaccount.com",
      "client_id": "115........6584854983",
      "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/****@foobar.iam.gserviceaccount.com",
      "private_key": "-----BEGIN PRIVATE KEY-----\n****uH/OU/fILL****fMJZ+i6****um8as.....\n-----END PRIVATE KEY-----\n",
      "private_key_id": "e3........8e66d9",
      "project_id": "app-firefox",
      "token_uri": "https://oauth2.googleapis.com/token",
      "type": "service_account",
      "universe_domain": "googleapis.com"
    },
    "firefox_vapid_key": "BEr....KPqQvCbU",
    "firefox_vapid_private_key": "ee....flOqmSo"
  }
}

```
</TabItem>
</Tabs>

## configureApplication para E-mail

Configura a plataforma de E-mail para o aplicativo.

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


#### Corpo da Requisição

| Nome | Tipo | Descrição |
| ---------------------------------------------------- | ------- | --------------------------------------------------------- |
| auth\* | string | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) do Painel de Controle da Pushwoosh. |
| application\* | string | [Código do aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | Deve ser 14 para E-mail. |
| email\_from\_email\* | string | Endereço de e-mail do remetente. Deve ser válido e verificado. |
| email\_from\_name\* | string | Nome do remetente. |
| email\_reply\* | string | Endereço de e-mail para resposta. Deve ser válido e verificado. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "providers": {
      "ios": false,
      "amazon": false,
      "android": false,
      "baidu_android": false,
      "chrome": false,
      "email": true,
      "firefox": false,
      "huawei_android": false,
      "internet_explorer": false,
      "osx": false,
      "safari": false,
      "sms": false,
      "web": false,
      "whats_app": false,
      "windows": false
    }
  }
}
```
</TabItem>
</Tabs>



```json title="Exemplo"
{
  "request":{
    "auth": "yxoPUlwqm…………pIyEX4H",         // obrigatório. Token de acesso à API do Painel de Controle da Pushwoosh
    "application": "XXXXX-XXXXX",           // obrigatório. Código do aplicativo Pushwoosh
    "device_type": 14,                      // obrigatório. 14 para e-mail
    "email_from_email": "email@domain.com", // obrigatório. O endereço de e-mail deve ser válido e verificado
    "email_from_name": "SENDER_NAME",       // obrigatório. Nome a ser exibido no campo "De" do e-mail
    "email_reply": "email@domain.com"       // obrigatório. O endereço de e-mail para resposta deve ser válido e verificado
  }
}
```