---
title: "App Store Connect 연동 - iOS 심사 알림"
sidebarTitle: App Store Connect
description: App Store Connect Webhook을 Echobell에 연결하고 앱 심사 상태, TestFlight 빌드, 릴리스 업데이트에 대한 푸시 알림이나 전화 알림을 받아 보세요.
---

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

# App Store Connect 연동

App Store Connect Webhook은 iOS 릴리스 파이프라인에서 일어나는 모든 중요한 변화를 전달합니다. 이 신호가 Echobell로 들어오면 팀은 심사 결정, 릴리스, TestFlight 피드백을 발생 즉시 확인할 수 있습니다. 화면을 직접 새로 고치거나 메일함을 뒤질 필요가 없습니다.

**팀이 이 연동을 구성하는 이유:**

- 심사 상태가 "Rejected"나 "Ready for Sale"로 바뀔 때 더 빠르게 대응할 수 있습니다
- TestFlight 피드백과 빌드 처리 상황을 하나의 알림 흐름으로 확인할 수 있습니다
- PM, QA, 마케팅 담당자가 같은 정보를 공유하도록 돕는 명확한 모바일 알림

<Callout type="info">
  App Store Connect Webhook은 Account Holder, Admin 또는 App Manager 역할을 가진
  개발자만 사용할 수 있습니다. Webhook 하나는 앱 하나에만 적용되며, 앱당 최대
  10개의 Webhook을 만들 수 있습니다.
</Callout>

## 사전 준비 사항

- Webhook 트리거가 활성화된 Echobell 채널
- App Store Connect 접근 권한(Account Holder, Admin 또는 App Manager)
- 모니터링할 활성 iOS 앱 최소 하나
- Echobell Webhook URL(채널 → **Triggers**)

## 모니터링할 수 있는 항목

App Store Connect는 다음과 같은 상황을 Echobell로 알려 줍니다:

1. **App Store 버전 라이프사이클** — 제출 진행 상황, 승인, 거절, 릴리스
2. **TestFlight 주요 이벤트** — 빌드 처리 결과, 테스터 피드백, 초대 상태 변경

## 설정 개요

1. Echobell 채널과 알림 템플릿을 준비합니다
2. 채널의 Webhook URL을 복사합니다
3. App Store Connect에서 Webhook을 설정합니다
4. 테스트 전송을 보내 표시 형식을 확인합니다

## 단계별 가이드

<Steps>
<Step>
### Echobell 채널 만들기

1. Echobell 앱을 엽니다
2. 새 채널을 만듭니다(예: "App Store Connect")
3. 한눈에 알아볼 수 있도록 눈에 띄는 색상을 선택합니다
4. 이 업데이트를 받아야 할 팀원을 추가합니다
</Step>
<Step>

### 알림 템플릿 설정하기

팀이 빠르게 대응할 수 있도록 각 이벤트 페이로드에 명확한 제목과 요약을 지정합니다.

**제목 템플릿:**

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

**본문 템플릿:**

```
📱 App: {{app.name}}
🔄 Event: {{eventType}}
📊 Status: {{status}}
⏰ Time: {{eventDate}}
💬 Message: {{message}}
🔗 View in App Store Connect
```

더 담백한 표현을 원한다면 이모지는 빼도 됩니다. 템플릿 변수는 그대로 유지됩니다.

</Step>
<Step>
### Echobell Webhook URL 가져오기

1. 채널 설정 → **Triggers**를 엽니다
2. 제공된 Webhook URL을 복사합니다
3. 이 URL은 외부에 공개하지 마세요. App Store Connect에 붙여 넣을 값입니다
</Step>
<Step>

### App Store Connect Webhook 설정하기

앞서 복사한 Echobell URL을 사용해 [Apple 공식 가이드](https://developer.apple.com/help/app-store-connect/manage-your-team/manage-webhooks/)를 따릅니다:

#### 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**: 복사한 Echobell Webhook URL을 붙여 넣습니다
   - **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>

### 연동 테스트하기

App Store Connect에 내장된 **Test** 버튼을 사용합니다:

1. Webhook 목록에서 방금 추가한 Webhook을 엽니다
2. **Test**를 클릭하면 App Store Connect가 핑을 보냅니다
3. Echobell에 "Ping" 이벤트가 템플릿 형식대로 표시되는지 확인합니다
</Step>
</Steps>

## 고급 설정

### Webhook 보안

1. **HTTPS**: Echobell URL은 TLS를 기본으로 사용하므로 추가 설정이 필요 없습니다.
2. **시크릿 관리**: App Store Connect는 시크릿을 필수로 요구하지만 Echobell은 이를 메타데이터로만 취급합니다. 나중에 직접 서명을 검증하고 싶을 수 있으니 잘 보관해 두세요.
3. **IP 허용 목록**: Apple의 아웃바운드 IP 대역만 허용하도록 방화벽을 좁혀 두세요.

### 사용자 지정 알림 템플릿

심사 상태 변경과 피드백에 서로 다른 형식을 사용하면 신호를 한눈에 구분할 수 있습니다.

**앱 상태 변경용**

- 제목:

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

- 본문:

```
🍎 Your app "{{app.name}}" status has changed!

📊 Status: {{status}}
📅 Date: {{eventDate}}
```

- 링크:

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

**TestFlight 피드백용**

- 제목:

```
[{{app.name}}] New TestFlight Feedback
```

- 본문:

```
📱 App: {{app.name}}
👤 Tester: {{tester.name}}
⭐ Rating: {{rating}}/5
💬 Feedback: {{feedback}}
📱 Device: {{device}}
```

- 링크:

```
{{feedbackUrl}}
```

### 여러 앱 관리하기

- 앱이나 환경별로 채널을 나누어 만드세요("MyApp - Beta", "MyApp - Prod")
- 이름 규칙을 통일해 팀원이 어디를 봐야 할지 바로 알 수 있게 하세요
- 트래픽이 몰릴 때는 채널별로 자동화 규칙이나 무음 시간을 적용하세요
- 각자의 역할에 맞는 채널에만 팀원을 추가하세요

## Webhook 페이로드 구조

App Store Connect는 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. App Store Connect의 Webhook 설정을 확인합니다
4. App Store Connect의 Test 버튼으로 연결 상태를 확인합니다
5. App Store Connect에서 Webhook 전송 기록을 확인합니다

## 개인정보 보호 및 데이터 처리

Echobell은 개인정보 보호를 우선합니다:

- 알림 내용은 사용자 기기에 로컬로 저장됩니다
- 서버에는 필수 설정 데이터만 저장됩니다
- Webhook URL은 비밀 정보로 취급해야 합니다
- Echobell 서버에는 알림 데이터가 남지 않습니다

## 추가 자료

- [Apple Webhook 문서](https://developer.apple.com/help/app-store-connect/manage-your-team/manage-webhooks/)
- [Echobell Webhook 연동](/ko/docs/webhook)
- [알림 템플릿 가이드](/ko/docs/template)
- [지원 센터](/ko/docs/support)
