구독자 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"
}
}