# API การกำหนดค่าแอป

## configureApplication สำหรับ iOS

กำหนดค่าแพลตฟอร์ม iOS สำหรับแอป

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


#### Request Body

| ชื่อ | ประเภท | คำอธิบาย |
| -------------------------- | ------- |--------------------------------------------------|
| auth | string | [API access token](/th/developer/api-reference/api-identifiers/#api-access-token) จาก Pushwoosh Control Panel |
| application | string | [รหัสแอปพลิเคชัน Pushwoosh](/th/developer/api-reference/api-identifiers/#application-code) |
| device\_type | integer | ต้องเป็น 1 สำหรับ iOS |
| ios\_key\_management\_type | string | "manual" |
| ios\_key\_file | string | เนื้อหาไฟล์คีย์ iOS ที่เข้ารหัสแบบ Base64 |
| ios\_key\_password | string | รหัสผ่านสำหรับไฟล์คีย์ iOS |
| ios\_gateway | integer | "0" สำหรับ sandbox, "1" สำหรับ production |
| ios\_framework | string | ค่าที่เป็นไปได้: "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="ตัวอย่าง"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",      // จำเป็น. API access token จาก Pushwoosh Control Panel
    "application": "XXXXX-XXXXX",        // จำเป็น. รหัสแอปพลิเคชัน Pushwoosh
    "device_type": 1,                    // จำเป็น. 1 สำหรับ iOS
    "ios_key_management_type": "manual", // จำเป็น. "manual"
    "ios_key_file": "MIIMY...BAQ==",     // จำเป็น. เนื้อหาไฟล์คีย์ iOS ที่เข้ารหัสแบบ base64
    "ios_key_password": "password",      // จำเป็น.
    "ios_gateway": 1,                    // จำเป็น. "0" (sandbox) | "1" (production)
    "ios_framework": "native"            // จำเป็น. ค่าที่เป็นไปได้: "native", "cordova", "titanium",
                                         //           "marmalade", "adobeAir", "corona", "xamarin",
                                         //           "phoneGapBuild", "triggerIO", "unity"
  }
}


```

## configureApplication สำหรับ Android

กำหนดค่าแพลตฟอร์ม Android สำหรับแอป

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


#### Request Body

| ชื่อ | ประเภท | คำอธิบาย |
| ---------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| auth\* | string | [API access token](/th/developer/api-reference/api-identifiers/#api-access-token) จาก Pushwoosh Control Panel ของคุณ |
| application\* | string | [รหัสแอปพลิเคชัน Pushwoosh](/th/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | ต้องเป็น 3 สำหรับ Android |
| android\_framework\* | string | เฟรมเวิร์ก Android ค่าที่เป็นไปได้: native, cordova, marmalade, adobeAir, corona, xamarin, phoneGapBuild, triggerIO, titanium, unity |
| android\_fcm\_service\_account\* | object | คีย์บัญชีบริการ FCM (ไฟล์ JSON ที่สร้างขึ้นในการตั้งค่าโปรเจกต์ 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="ตัวอย่าง">
```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 สำหรับ Mac OS X

กำหนดค่าแพลตฟอร์ม Mac OS X สำหรับแอป

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


#### Request Body

| ชื่อ | ประเภท | คำอธิบาย |
| -------------------------------------------------------------- | ------- | --------------------------------------------------- |
| auth\* | string | [API access token](/th/developer/api-reference/api-identifiers/#api-access-token) จาก Pushwoosh Control Panel |
| application\* | string | [รหัสแอปพลิเคชัน Pushwoosh](/th/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | ต้องเป็น 7 สำหรับ Mac OS X |
| macos\_key\_management\_type\* | string | ปัจจุบันมีเฉพาะประเภท "manual" เท่านั้น |
| macos\_cert\_file | string | เนื้อหาไฟล์ใบรับรอง Mac OS X ที่เข้ารหัสแบบ Base64 |
| macos\_key\_file | string | เนื้อหาไฟล์คีย์ Mac OS X ที่เข้ารหัสแบบ Base64 |
| macos\_key\_password | string | รหัสผ่านไฟล์คีย์ |
| macos\_gateway\* | integer | เกตเวย์พุช "0" สำหรับ sandbox, "1" สำหรับ production |

<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="ตัวอย่าง"
{
  "request":{
    "auth": "yxoPUlwqm…………pIyEX4H",                   // จำเป็น. API access token จาก Pushwoosh Control Panel
    "application": "XXXXX-XXXXX",                     // จำเป็น. รหัสแอปพลิเคชัน Pushwoosh
    "device_type": 7,                                 // จำเป็น. 7 สำหรับ Mac OS X
    "macos_key_management_type": "manual",            // จำเป็น. "manual" 
    "macos_cert_file": "iVBORw0KGgoAAAANSUhEUgAABB…", // ไม่บังคับ. เนื้อหาไฟล์ใบรับรอง Mac OS X ที่เข้ารหัสแบบ Base64
    "macos_key_file": "iVBORw0KGgoAAAANSUhEUgAABB…",  // ไม่บังคับ. เนื้อหาไฟล์คีย์ Mac OS X ที่เข้ารหัสแบบ Base64
    "macos_key_password": "PASSWORD",                 // ไม่บังคับ. รหัสผ่านไฟล์คีย์
    "macos_gateway": 1                                // จำเป็น. เกตเวย์พุช "0" สำหรับ sandbox หรือ "1" สำหรับ production
  }
}
```

## configureApplication สำหรับ Windows

กำหนดค่าแพลตฟอร์ม Windows สำหรับแอป

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


#### Request Body

| ชื่อ | ประเภท | คำอธิบาย |
| ---------------------------------------------- | ------- | ------------------------------------------------------------------------------------- |
| auth\* | string | [API access token](/th/developer/api-reference/api-identifiers/#api-access-token) จาก Pushwoosh Control Panel |
| application\* | string | [รหัสแอปพลิเคชัน Pushwoosh](/th/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | ต้องเป็น 8 สำหรับ Windows |
| wns\_psid\* | string | ตัวระบุความปลอดภัยของแพ็คเกจจาก Windows Store สำหรับแอป เริ่มต้นด้วย "ms-app://" |
| wns\_secret\* | string | Client Secret จาก Windows Store สำหรับแอป |

<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="ตัวอย่าง"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",  // จำเป็น. API access token จาก Pushwoosh Control Panel
    "application": "XXXXX-XXXXX",    // จำเป็น. รหัสแอปพลิเคชัน Pushwoosh
    "device_type": 8,                // จำเป็น. 8 สำหรับ Windows
    "wns_psid": "ms-app://…",        // จำเป็น. ตัวระบุความปลอดภัยของแพ็คเกจของแอปจาก Windows Store
    "wns_secret": "CLIENT_SECRET"    // จำเป็น. Windows client secret 
  }
}


```

## configureApplication สำหรับ Amazon

กำหนดค่าแพลตฟอร์ม Amazon สำหรับแอป

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


#### Request Body

| ชื่อ | ประเภท | คำอธิบาย |
| ------------------------------------------------ | ------- | -------------------------------------------------------------- |
| auth\* | string | [API access token](/th/developer/api-reference/api-identifiers/#api-access-token) จาก Pushwoosh Control Panel |
| application\* | string | [รหัสแอปพลิเคชัน Pushwoosh](/th/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | ต้องเป็น 9 สำหรับ Amazon |
| adm\_cid\* | string | Amazon client ID |
| adm\_secret\* | string | Amazon client secret |
| adm\_framework\* | string | เฟรมเวิร์ก Amazon ค่าที่เป็นไปได้: _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="ตัวอย่าง"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",  // จำเป็น. API access token จาก Pushwoosh Control Panel
    "application": "XXXXX-XXXXX",    // จำเป็น. รหัสแอปพลิเคชัน Pushwoosh
    "device_type": 9,                // จำเป็น. 9 สำหรับ Amazon
    "adm_cid": "CLIENT_ID",          // จำเป็น. Amazon client ID
    "adm_secret": "CLIENT_SECRET",   // จำเป็น. Amazon Client Secret
    "adm_framework": "native"        // จำเป็น. ค่าที่เป็นไปได้: native, unity, adobeAir. 
  }
}
```

## configureApplication สำหรับ Chrome

กำหนดค่าแพลตฟอร์ม Chrome สำหรับแอป

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


#### Request Body

| ชื่อ | ประเภท | คำอธิบาย | จำเป็น |
|------------------------------|---------|-----------------------------------------------------------------------------------------------------|----------|
| auth* | string | [API access token](/th/developer/api-reference/api-identifiers/#api-access-token) จาก Pushwoosh Control Panel | จำเป็น |
| application* | string | [รหัสแอปพลิเคชัน Pushwoosh](/th/developer/api-reference/api-identifiers/#application-code) | จำเป็น |
| device_type* | integer | ต้องเป็น 11 สำหรับ Chrome | จำเป็น |
| chrome_fcm_service_account* | object | คีย์บัญชีบริการ FCM (ไฟล์ JSON ที่สร้างขึ้นในการตั้งค่าโปรเจกต์ Firebase) | จำเป็น |
| chrome_vapid_key* | string | คีย์ VAPID (Voluntary Application Server Identification) สาธารณะที่ใช้สำหรับการรับรองความถูกต้องของการแจ้งเตือนแบบพุชใน Chrome | จำเป็น |
| chrome_vapid_private_key* | string | คีย์ VAPID ส่วนตัวที่ใช้สำหรับการลงนามและส่งการแจ้งเตือนแบบพุชใน Chrome | จำเป็น |


```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="ตัวอย่าง">
```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 สำหรับ Safari

กำหนดค่าแพลตฟอร์ม Safari สำหรับแอป

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


#### Request Body

| ชื่อ | ประเภท | คำอธิบาย |
| --------------------------------------------------------------- | ------- |-------------------------------------------------|
| auth\* | string | [API access token](/th/developer/api-reference/api-identifiers/#api-access-token) จาก Pushwoosh Control Panel |
| application\* | string | [รหัสแอปพลิเคชัน Pushwoosh](/th/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | ต้องเป็น 10 สำหรับ Safari |
| safari\_key\_management\_type\* | string | ปัจจุบันมีเฉพาะประเภท "manual" เท่านั้น |
| safari\_website\_name | string | ชื่อเว็บไซต์ |
| safari\_allowed\_domains | array | ตัวอย่าง: https://site1.com", https://site2.com" |
| safari\_url\_template\* | string | เทมเพลต URL ของ Safari ที่จัดรูปแบบเป็น "https://%@" |
| safari\_icon\_file | string | เนื้อหาไฟล์ png ขนาด 256x256px ที่เข้ารหัสแบบ Base64 |
| safari\_key\_file\* | string | เนื้อหาไฟล์คีย์ .p12 ของ Safari ที่เข้ารหัสแบบ Base64 |
| safari\_key\_password | string | รหัสผ่านสำหรับไฟล์คีย์ |

<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="ตัวอย่าง"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",                    // จำเป็น. API access token จาก Pushwoosh Control Panel
    "application": "XXXXX-XXXXX",                      // จำเป็น. รหัสแอปพลิเคชัน Pushwoosh
    "device_type": 10,                                 // จำเป็น. 10 สำหรับ Safari
    "safari_key_management_type": "manual",            // จำเป็น. "manual"
    "safari_website_name": "WEBSITE_NAME",             // ไม่บังคับ.
    "safari_allowed_domains": [                        // ไม่บังคับ.
      "https://site1.com",
      "https://site2.com"
    ],
    "safari_url_template": "https://%@",               // จำเป็น.
    "safari_icon_file": "iVBORw0KGgoAAAANSUhEUgAABB…", // ไม่บังคับ. เนื้อหาไฟล์ png ขนาด 256x256px ที่เข้ารหัสแบบ Base64
    "safari_key_file": "MIIMY...BAQ==",                // จำเป็น. เนื้อหาไฟล์คีย์ .p12 ของ Safari ที่เข้ารหัสแบบ base64
    "safari_key_password": "PASSWORD"                  // ไม่บังคับ. รหัสผ่านสำหรับไฟล์คีย์ด้านบน
  }
}


```

## configureApplication สำหรับ Firefox

กำหนดค่าแพลตฟอร์ม Firefox สำหรับแอป

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


#### Request Body

| ชื่อ | ประเภท | คำอธิบาย | จำเป็น |
|-------------------------------|---------|-------------------------------------------------------------------------------------------------------|----------|
| auth* | string | [API access token](/th/developer/api-reference/api-identifiers/#api-access-token) จาก Pushwoosh Control Panel | จำเป็น |
| application* | string | [รหัสแอปพลิเคชัน Pushwoosh](/th/developer/api-reference/api-identifiers/#application-code) | จำเป็น |
| device_type* | integer | ต้องเป็น 12 สำหรับ Firefox | จำเป็น |
| firefox_is_enabled | boolean | เปิดใช้งานการแจ้งเตือนแบบพุชสำหรับ Firefox | ไม่บังคับ |
| firefox_fcm_service_account* | object | JSON ที่สร้างขึ้นในการตั้งค่าโปรเจกต์ Firebase | จำเป็น |
| firefox_vapid_key* | string | คีย์ VAPID (Voluntary Application Server Identification) สาธารณะที่ใช้สำหรับการรับรองความถูกต้องของการแจ้งเตือนแบบพุชใน Firefox | จำเป็น |
| firefox_vapid_private_key* | string | คีย์ VAPID ส่วนตัวที่ใช้สำหรับการลงนามและส่งการแจ้งเตือนแบบพุชใน Firefox | จำเป็น |


<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="ตัวอย่าง">
```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 สำหรับ Email

กำหนดค่าแพลตฟอร์มอีเมลสำหรับแอป

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


#### Request Body

| ชื่อ | ประเภท | คำอธิบาย |
| ---------------------------------------------------- | ------- | --------------------------------------------------------- |
| auth\* | string | [API access token](/th/developer/api-reference/api-identifiers/#api-access-token) จาก Pushwoosh Control Panel |
| application\* | string | [รหัสแอปพลิเคชัน Pushwoosh](/th/developer/api-reference/api-identifiers/#application-code) |
| device\_type\* | integer | ต้องเป็น 14 สำหรับ Email |
| email\_from\_email\* | string | ที่อยู่อีเมลผู้ส่ง ควรถูกต้องและได้รับการยืนยัน |
| email\_from\_name\* | string | ชื่อผู้ส่ง |
| email\_reply\* | string | ที่อยู่อีเมลสำหรับตอบกลับ ควรถูกต้องและได้รับการยืนยัน |

<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="ตัวอย่าง"
{
  "request":{
    "auth": "yxoPUlwqm…………pIyEX4H",         // จำเป็น. API access token จาก Pushwoosh Control Panel
    "application": "XXXXX-XXXXX",           // จำเป็น. รหัสแอปพลิเคชัน Pushwoosh
    "device_type": 14,                      // จำเป็น. 14 สำหรับอีเมล
    "email_from_email": "email@domain.com", // จำเป็น. ที่อยู่อีเมลควรถูกต้องและได้รับการยืนยัน
    "email_from_name": "SENDER_NAME",       // จำเป็น. ชื่อที่จะแสดงในช่อง "จาก" ของอีเมล
    "email_reply": "email@domain.com"       // จำเป็น. ที่อยู่อีเมลสำหรับตอบกลับควรถูกต้องและได้รับการยืนยัน
  }
}
```