---
title: "เชื่อมต่อ App Store Connect - แจ้งเตือนการรีวิว iOS"
sidebarTitle: App Store Connect
description: เชื่อม webhook ของ App Store Connect เข้ากับ Echobell เพื่อรับการแจ้งเตือนแบบพุชหรือสายโทรเข้าสำหรับสถานะการรีวิวแอป บิลด์ TestFlight และการอัปเดตการปล่อยเวอร์ชัน
---

import { Step, Steps } from "fumadocs-ui/components/steps";

# การเชื่อมต่อกับ App Store Connect

Webhook ของ App Store Connect จะกระจายทุกความเปลี่ยนแปลงที่สำคัญในไปป์ไลน์การปล่อยแอป iOS ของคุณ เมื่อสัญญาณเหล่านั้นไหลเข้าสู่ Echobell ทีมของคุณจะเห็นผลการรีวิว การปล่อยเวอร์ชัน และฟีดแบ็กจาก TestFlight ทันทีที่เกิดขึ้น โดยไม่ต้องคอยรีเฟรชหน้าหรือรื้อค้นในกล่องอีเมล

**ทำไมหลายทีมจึงเชื่อมต่อนี้:**

- ตอบสนองได้เร็วขึ้นเมื่อผลการรีวิวเปลี่ยนเป็น "Rejected" หรือ "Ready for Sale"
- มีสายการแจ้งเตือนเดียวสำหรับทั้งฟีดแบ็ก TestFlight และการประมวลผลบิลด์
- การแจ้งเตือนที่ชัดเจนและอ่านง่ายบนมือถือ ช่วยให้ PM, QA และฝ่ายการตลาดเห็นตรงกัน

<Callout type="info">
  Webhook ของ App Store Connect ใช้ได้กับนักพัฒนาที่มีบทบาท Account Holder,
  Admin หรือ App Manager แต่ละ webhook ใช้ได้กับแอปเดียวเท่านั้น และคุณสร้าง
  webhook ได้สูงสุด 10 รายการต่อแอป
</Callout>

## สิ่งที่ต้องเตรียม

- ช่อง Echobell ที่เปิดใช้ทริกเกอร์แบบ webhook แล้ว
- สิทธิ์เข้าถึง App Store Connect (Account Holder, Admin หรือ App Manager)
- แอป iOS ที่ใช้งานอยู่อย่างน้อยหนึ่งแอปเพื่อเฝ้าดู
- Webhook URL ของ Echobell (ช่อง → **Triggers**)

## สิ่งที่คุณเฝ้าดูได้

App Store Connect ส่งสัญญาณมายัง Echobell ได้ในกรณีต่อไปนี้:

1. **วงจรชีวิตของเวอร์ชันบน App Store** — ความคืบหน้าการส่งตรวจ การอนุมัติ การถูกปฏิเสธ และการปล่อยเวอร์ชัน
2. **หมุดหมายของ TestFlight** — ผลการประมวลผลบิลด์ ฟีดแบ็กจากผู้ทดสอบ และการเปลี่ยนสถานะคำเชิญ

## ภาพรวมการตั้งค่า

1. เตรียมช่อง Echobell พร้อมเทมเพลตการแจ้งเตือน
2. คัดลอก webhook URL ของช่อง
3. ตั้งค่า webhook ใน App Store Connect
4. ส่งข้อมูลทดสอบเพื่อตรวจสอบรูปแบบข้อความ

## คู่มือทีละขั้นตอน

<Steps>
<Step>
### สร้างช่องใน Echobell

1. เปิดแอป Echobell
2. สร้างช่องใหม่ (เช่น "App Store Connect")
3. เลือกสีที่โดดเด่นเพื่อให้กวาดตาหาได้เร็ว
4. เพิ่มเพื่อนร่วมทีมที่ควรได้รับอัปเดตเหล่านี้
</Step>
<Step>

### ตั้งค่าเทมเพลตการแจ้งเตือน

ตั้งหัวข้อและสรุปที่ชัดเจนให้กับ payload ของแต่ละอีเวนต์ เพื่อให้ทีมลงมือได้อย่างรวดเร็ว

**เทมเพลตหัวข้อ:**

```
[{{app.name}}] {{eventType}} - {{status}}
```

**เทมเพลตเนื้อหา:**

```
📱 แอป: {{app.name}}
🔄 อีเวนต์: {{eventType}}
📊 สถานะ: {{status}}
⏰ เวลา: {{eventDate}}
💬 ข้อความ: {{message}}
🔗 ดูใน App Store Connect
```

หากคุณชอบโทนที่เรียบง่ายกว่านี้ จะตัดอีโมจิออกก็ได้ ตัวแปรของเทมเพลตยังคงเหมือนเดิม

</Step>
<Step>
### รับ Webhook URL ของ Echobell

1. เปิดหน้าตั้งค่าช่องของคุณ → **Triggers**
2. คัดลอก webhook URL ที่ระบบให้มา
3. เก็บไว้เป็นความลับ เพราะคุณจะนำไปวางใน App Store Connect
</Step>
<Step>

### ตั้งค่า Webhook ใน App Store Connect

ทำตาม [คู่มืออย่างเป็นทางการของ Apple](https://developer.apple.com/help/app-store-connect/manage-your-team/manage-webhooks/) โดยใช้ URL ของ Echobell ที่คุณคัดลอกไว้ก่อนหน้านี้:

#### สร้าง Webhook

1. ลงชื่อเข้าใช้ [App Store Connect](https://appstoreconnect.apple.com/)
2. ไปที่ **Users and Access** → **Integrations**
3. ในหัวข้อ **Additional** ให้คลิก **Webhooks**
4. คลิกปุ่มเพิ่ม (+) ที่อยู่ข้าง Webhooks
5. ตั้งค่า webhook ของคุณ:
   - **Name**: ชื่อที่สื่อความหมาย (เช่น "Echobell Notifications")
   - **Payload URL**: วาง webhook URL ของ Echobell
   - **Secret**: สร้างสตริงที่ปลอดภัยไว้ใช้ยืนยันความถูกต้อง
   - **App**: เลือกแอปที่คุณต้องการเฝ้าดู
   - **Event Triggers**: เลือกอีเวนต์ที่คุณต้องการติดตาม

#### อีเวนต์ทริกเกอร์ที่ใช้ได้

เลือกผสมกันได้ตามสิ่งที่คุณให้ความสำคัญ:

**อีเวนต์ของเวอร์ชันบน App Store**

- **App Store Version State Changed** — ทุกความเคลื่อนไหวระหว่างสถานะการรีวิว
- **App Store Version Released** — การปล่อยขึ้นสโตร์ครั้งสุดท้าย

**อีเวนต์ของ TestFlight**

- **TestFlight Beta Feedback** — ความคิดเห็นใหม่ คะแนน และรายละเอียดอุปกรณ์
- **TestFlight Beta Review State Changed** — การอนุมัติและการปฏิเสธบิลด์

7. คลิก **Add** เพื่อสร้าง webhook
</Step>
<Step>

### ทดสอบการเชื่อมต่อ

ใช้ปุ่ม **Test** ที่มีอยู่ใน App Store Connect:

1. ในรายการ webhook ให้เปิด webhook ที่คุณเพิ่งเพิ่ม
2. คลิก **Test** แล้ว App Store Connect จะส่ง ping ออกมา
3. ยืนยันว่า Echobell แสดงอีเวนต์ "Ping" ตามรูปแบบเทมเพลตของคุณ
</Step>
</Steps>

## การตั้งค่าขั้นสูง

### ความปลอดภัยของ Webhook

1. **HTTPS**: URL ของ Echobell มาพร้อม TLS อยู่แล้ว ไม่ต้องตั้งค่าเพิ่ม
2. **การจัดการ secret**: App Store Connect บังคับให้ใส่ secret แต่ Echobell ถือว่าเป็นข้อมูลเมตา เก็บไว้เผื่อคุณต้องการนำไปตรวจสอบลายเซ็นในภายหลัง
3. **การอนุญาต IP**: รัดกุมยิ่งขึ้นด้วยการอนุญาตเฉพาะช่วง IP ขาออกของ Apple

### เทมเพลตการแจ้งเตือนแบบกำหนดเอง

ใช้รูปแบบที่ต่างกันระหว่างการเปลี่ยนสถานะการรีวิวกับฟีดแบ็ก เพื่อให้สัญญาณชัดเจนขึ้น

**สำหรับการเปลี่ยนสถานะแอป**

- หัวข้อ:

```
[{{app.name}}] App {{eventType}}
```

- เนื้อหา:

```
🍎 สถานะแอป "{{app.name}}" ของคุณเปลี่ยนแล้ว!

📊 สถานะ: {{status}}
📅 วันที่: {{eventDate}}
```

- ลิงก์:

```
{{app.url}}
```

**สำหรับฟีดแบ็กของ TestFlight**

- หัวข้อ:

```
[{{app.name}}] มีฟีดแบ็ก TestFlight ใหม่
```

- เนื้อหา:

```
📱 แอป: {{app.name}}
👤 ผู้ทดสอบ: {{tester.name}}
⭐ คะแนน: {{rating}}/5
💬 ฟีดแบ็ก: {{feedback}}
📱 อุปกรณ์: {{device}}
```

- ลิงก์:

```
{{feedbackUrl}}
```

### การจัดการหลายแอป

- สร้างช่องแยกกันตามแอปหรือตามสภาพแวดล้อม ("MyApp - Beta", "MyApp - Prod")
- ตั้งชื่อให้เป็นมาตรฐานเดียวกัน เพื่อให้เพื่อนร่วมทีมรู้ทันทีว่าต้องดูที่ไหน
- เพิ่มกฎอัตโนมัติหรือช่วงเวลาเงียบให้แต่ละช่องเมื่อมีการแจ้งเตือนถี่ขึ้น
- เพิ่มคนเข้าเฉพาะช่องที่ตรงกับบทบาทของเขาเท่านั้น

## โครงสร้าง Payload ของ Webhook

App Store Connect ส่ง payload ของ webhook มาในรูปแบบ JSON โครงสร้างทั่วไปเป็นดังนี้:

```json
{
  "eventType": "APP_STORE_VERSION_STATE_CHANGED",
  "apiVersion": "v1",
  "eventId": "12345678-1234-1234-1234-123456789012",
  "eventDate": "2025-01-15T10:30:00Z",
  "data": {
    "app": {
      "id": "1234567890",
      "name": "My App"
    },
    "appStoreVersion": {
      "id": "12345678",
      "versionString": "1.2.3",
      "state": "READY_FOR_SALE"
    }
  }
}
```

## แนวปฏิบัติที่ดี

1. **การจัดระเบียบช่อง**: สร้างช่องแยกกันสำหรับแต่ละแอปหรือแต่ละสภาพแวดล้อม
2. **การจัดการทีม**: เพิ่มเฉพาะสมาชิกทีมที่เกี่ยวข้องเข้าแต่ละช่อง
3. **การปรับแต่งเทมเพลต**: ปรับเทมเพลตให้แสดงข้อมูลที่เกี่ยวข้องกับเวิร์กโฟลว์ของคุณมากที่สุด
4. **ประเภทการแจ้งเตือน**: ใช้แบบสำคัญตามเวลาสำหรับกรณีแอปถูกปฏิเสธซึ่งเป็นเรื่องวิกฤต และใช้แบบปกติสำหรับอัปเดตทั่วไป

## การแก้ปัญหา

หากคุณไม่ได้รับการแจ้งเตือน:

1. ตรวจสอบว่าคัดลอก webhook URL มาถูกต้อง
2. ตรวจสอบว่าช่องยังใช้งานอยู่และมีผู้ติดตาม
3. ตรวจสอบการตั้งค่า webhook ใน App Store Connect
4. ใช้ปุ่ม Test ใน App Store Connect เพื่อตรวจสอบการเชื่อมต่อ
5. ดูประวัติการส่ง webhook ใน App Store Connect

## ความเป็นส่วนตัวและการจัดการข้อมูล

แนวทางที่ให้ความเป็นส่วนตัวมาก่อนของ Echobell:

- เนื้อหาการแจ้งเตือนถูกเก็บไว้บนเครื่องของคุณ
- เซิร์ฟเวอร์เก็บเฉพาะข้อมูลการตั้งค่าที่จำเป็นเท่านั้น
- ควรถือว่า webhook URL เป็นข้อมูลลับ
- ไม่มีการเก็บข้อมูลการแจ้งเตือนไว้บนเซิร์ฟเวอร์ของ Echobell

## แหล่งข้อมูลเพิ่มเติม

- [เอกสาร Webhook ของ Apple](https://developer.apple.com/help/app-store-connect/manage-your-team/manage-webhooks/)
- [การเชื่อมต่อ Webhook ของ Echobell](/docs/webhook)
- [คู่มือเทมเพลตการแจ้งเตือน](/docs/template)
- [ศูนย์ช่วยเหลือ](/docs/support)
