구독자 API 레퍼런스
구독자 가져오기
엔드포인트:
GET /v2/:page_id/subscribers?page=:page&per_page=:per_page&search=:search_query
- 기본 page 번호는 1입니다.
- 기본 per_page 값은 50이며 페이지당 최대 100개입니다.
- 선택 사항인 search 쿼리로 이메일 주소나 전화번호를 기준으로 구독자를 필터링할 수 있습니다.
응답 예시
[{"id": "cm1111x6ofgsd5666mzxcw978qh","email": "ali@instatus.com","phone": null,"webhook": null,"webhookEmail": null,"confirmed": false,"all": true,"components": []},{"id": "cm1111x6ofgsd5666mzxcw978qh","email": null,"phone": "5417543010","webhook": null,"webhookEmail": null,"confirmed": false,"all": true,"components": []}]
구독자 추가하기
엔드포인트:
POST /v1/:page_id/subscribers
누군가 구독하면 확인 동작은 페이지의 subscriberConfirmationMode 설정을 따릅니다. 이 엔드포인트의 autoConfirm을 사용하면 구독자 한 명에 대해 그 동작을 덮어쓸 수 있습니다.
요청 예시
{"email": "sarah@instatus.com","all": true,"autoConfirm": false}
autoConfirm— 선택 사항입니다.true이면 페이지 설정과 관계없이 확인 이메일이나 환영 이메일 없이 구독자를 바로 추가합니다. Pro 전용입니다.
응답 예시
{"id": "cm1111x6ofgsd5666mzxcw978df","name": null,"email": "sarahs@instatus.com","phone": null,"confirmed": false,"all": true,"createdAt": "2024-10-01T03:48:41.474Z","updatedAt": "2024-10-01T03:48:41.474Z","siteId": "cm1111x6ofgsd5666mzxcw978qh","unsubscribeToken": "e3b51de6-1234-4664-zxyv-1679gg524260","webhook": null,"webhookEmail": null,"discord": null,"discordTeam": null,"slack": null,"slackTeam": null,"language": "en","company": null,"microsoftTeamsWebhook": null,"googleChatWebhook": null,"googleChatSpace": null,"failedAttempts": 0,"approved": true,"importedFrom": null,"hideUnsubLink": false,"webhookIncidentBody": null,"webhookMaintenanceBody": null,"webhookComponentBody": null,"webhookHttpMethod": "POST","webhookHeaders": null,"site": {"id": "cm1111x6ofgsd5666mzxcw978qh"}}
특정 구성 요소 구독하기
요청 예시
{"email": "adam@instatus.com","all": false,"components": ["cl2xv23rl0119e7jlk2mweepd"],"autoConfirm": false}
응답 예시
{"id": "cl09gt11151422bjluflghewx","email": "adam@instatus.com","site": {"id": "ckg8a112344s5v86wrn","name": "Test","logoUrl": null,"subdomain": "test","publicEmail": null,"language": "en"}}
여러 구독자 추가하기
엔드포인트:
POST /v1/:page_id/subscribers/bulk
이 엔드포인트로 한 번의 요청에서 여러 구독자를 만들 수 있습니다.
요청 예시
{"subscribers": [{"email": "sarah@instatus.com","all": true},{"email": "john@instatus.com","components": ["cl2xv23rl0119e7jlk2mweepd"]},{"name": "Jane Doe","phone": "5417543010","all": true}],"autoConfirm": false}
autoConfirm은 배치의 모든 구독자에 적용됩니다. Pro 전용입니다.
응답 예시
{"success": true,"created": 3,"failed": 0,"results": {"created": [{"id": "cm1111x6ofgsd5666mzxcw978df","email": "sarah@instatus.com","phone": null,"confirmed": false,"all": true,"site": {"id": "cm1111x6ofgsd5666mzxcw978qh"}},{"id": "cm2222x6ofgsd5666mzxcw978df","email": "john@instatus.com","phone": null,"confirmed": false,"all": false,"site": {"id": "cm1111x6ofgsd5666mzxcw978qh"}},{"id": "cm3333x6ofgsd5666mzxcw978df","email": null,"phone": "5417543010","name": "Jane Doe","confirmed": false,"all": true,"site": {"id": "cm1111x6ofgsd5666mzxcw978qh"}}],"failed": []}}
일부 구독자 추가에 실패한 경우의 응답
일부 구독자 생성에 실패하면(예: 이메일 중복, 형식 오류) 응답에 실패에 대한 세부 정보가 포함됩니다.
{"success": false,"created": 2,"failed": 1,"results": {"created": [{"id": "cm1111x6ofgsd5666mzxcw978df","email": "sarah@instatus.com","site": {"id": "cm1111x6ofgsd5666mzxcw978qh"}},{"id": "cm2222x6ofgsd5666mzxcw978df","email": "john@instatus.com","site": {"id": "cm1111x6ofgsd5666mzxcw978qh"}}],"failed": [{"index": 2,"subscriber": {"email": "duplicate@instatus.com","all": true},"error": {"code": "creation_failed","message": "Subscriber with this email already exists"}}]}}
참고:
- 요청당 최대 100명의 구독자
- 각 구독자 객체는 단일 구독자 엔드포인트와 동일한 필드를 사용할 수 있습니다
- 부분 성공을 지원합니다. 일부가 실패해도 성공적으로 생성된 구독자는 반환됩니다
확인 동작 방식
상태 페이지는 상태 페이지 업데이트하기 엔드포인트의 subscriberConfirmationMode로 새 구독자 처리 방식을 제어합니다.
| 값 | 동작 |
|---|---|
REQUIRED | 구독자가 업데이트를 받기 전에 이메일로 확인해야 합니다. 기본값입니다. |
WELCOME | 구독자가 바로 추가되고 환영 이메일을 받습니다. Pro 전용입니다. |
NONE | 이메일 없이 구독자가 바로 추가됩니다. Pro 전용입니다. |
생성 엔드포인트의 autoConfirm 파라미터는 해당 요청에 한해 페이지 설정을 덮어쓰며 NONE처럼 동작합니다.
구독자 삭제하기
엔드포인트:
DELETE /v1/:page_id/subscribers/:subscriber_id
응답 예시
{"id": "cm1zvzm3434dlp9255d6jgy8","name": null,"email": "sarah@instatus.com","phone": null,"webhook": null,"webhookEmail": null,"discord": null,"microsoftTeamsWebhook": null,"company": null,"site": {"id": "cm180slpo000g9343478qh"}}