인증
Open Echo는 서버 배포된 비밀 키가 아니라 도메인에 잠긴 공개 키로 파트너 앱을 인증합니다. 브라우저에 그대로 노출돼도 등록된 origin에서만 동작하므로 안전합니다.
공개 키
파트너 앱마다 pk_live_…(운영) 또는 pk_test_…(개발) 형식의 공개 키가 발급됩니다. createClient에 넘기면 모든 요청 헤더에 실려 전송됩니다.
ts
const oe = createClient({
baseUrl: "https://api.your-openecho-instance.com",
publicKey: "pk_live_...", // 도메인 잠금 공개 키
});키가 무효하거나 거부되면 Unauthorized(PARTNER_UNAUTHORIZED, 401)가 발생합니다.
도메인 잠금 (allowed origin)
파트너 앱은 등록된 origin에서만 호출을 수락합니다. 공개 키가 유출돼도 다른 사이트에서는 쓸 수 없습니다.
- 운영:
https://your-site.example.com - 개발:
http://localhost:5174등 dev origin
미등록 origin에서 호출하면 OriginForbidden(PARTNER_ORIGIN_FORBIDDEN, 403)이 발생합니다. 관리 콘솔 → 파트너 앱 → Allowed Origins에서 origin을 추가하세요.
capability grant
기능별로 별도 권한(capability)을 부여받습니다. 권한 없는 기능을 호출하면 CapabilityDenied(CAPABILITY_DENIED, 403)가 발생합니다.
| 기능 | 필요 capability |
|---|---|
| TTS 방송 | TTS |
| 실시간 MIC | MIC |
| 디바이스 그룹 관리 | DEVICE_GROUP MANAGE |
| 컨텐츠 조회·복제 | CONTENT READ · CONTENT EXECUTE |
| 템플릿 관리 | TEMPLATE MANAGE |
| 예약 관리 | SCHEDULE MANAGE |
| 이력 조회 | HISTORY READ |
인증 실패 진단
세 인증 에러(Unauthorized·OriginForbidden·CapabilityDenied)는 wire code로 정확히 구분됩니다. 브라우저 CORS 차단과 서버 wire error를 나눠 보는 진단 절차는 에러 문서의 Origin 잠금 진단을 참조하세요.

