Referência da API de assinantes

Obter os assinantes

Endpoint:

GET /v2/:page_id/subscribers?page=:page&per_page=:per_page&search=:search_query
  • O número de página padrão é 1.
  • O per_page padrão é 50 e o máximo é 100 itens por página.
  • A busca opcional serve para filtrar os assinantes por endereço de e-mail ou número de telefone.

Exemplo de resposta

[
{
"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": []
}
]

Adicionar um assinante

Endpoint:

POST /v1/:page_id/subscribers

Quando alguém assina, o comportamento de confirmação segue a configuração subscriberConfirmationMode da página. Use autoConfirm neste endpoint para substituir esse comportamento em um assinante específico.

Exemplo de requisição

{
"email": "sarah@instatus.com",
"all": true,
"autoConfirm": false
}
  • autoConfirm — opcional. Quando é true, adiciona o assinante na hora, sem enviar e-mail de confirmação nem de boas-vindas, independentemente da configuração da página. Só no Pro.

Exemplo de resposta

{
"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"
}
}

Assinar componentes específicos

Exemplo de requisição

{
"email": "adam@instatus.com",
"all": false,
"components": ["cl2xv23rl0119e7jlk2mweepd"],
"autoConfirm": false
}

Exemplo de resposta

{
"id": "cl09gt11151422bjluflghewx",
"email": "adam@instatus.com",
"site": {
"id": "ckg8a112344s5v86wrn",
"name": "Test",
"logoUrl": null,
"subdomain": "test",
"publicEmail": null,
"language": "en"
}
}

Adicionar vários assinantes

Endpoint:

POST /v1/:page_id/subscribers/bulk

Este endpoint permite criar vários assinantes em uma única requisição.

Exemplo de requisição

{
"subscribers": [
{
"email": "sarah@instatus.com",
"all": true
},
{
"email": "john@instatus.com",
"components": ["cl2xv23rl0119e7jlk2mweepd"]
},
{
"name": "Jane Doe",
"phone": "5417543010",
"all": true
}
],
"autoConfirm": false
}
  • autoConfirm vale para todos os assinantes do lote. Só no Pro.

Exemplo de resposta

{
"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": []
}
}

Resposta quando alguns assinantes falham

Se alguns assinantes não puderem ser criados (por exemplo, e-mail duplicado ou formato inválido), a resposta traz os detalhes das falhas:

{
"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"
}
}
]
}
}

Observações:

  • No máximo 100 assinantes por requisição
  • Cada objeto de assinante aceita os mesmos campos do endpoint de assinante único
  • Há suporte a sucesso parcial: os assinantes criados com sucesso são retornados mesmo que alguns falhem

Comportamento de confirmação

As páginas de status definem o tratamento de novos assinantes por meio de subscriberConfirmationMode no endpoint Atualizar uma página de status:

ValorComportamento
REQUIREDOs assinantes precisam confirmar por e-mail antes de receber atualizações. Padrão.
WELCOMEOs assinantes são adicionados na hora e recebem um e-mail de boas-vindas. Só no Pro.
NONEOs assinantes são adicionados na hora, sem e-mail. Só no Pro.

O parâmetro autoConfirm nos endpoints de criação substitui a configuração da página naquela requisição e se comporta como NONE.

Remover um assinante

Endpoint:

DELETE /v1/:page_id/subscribers/:subscriber_id

Exemplo de resposta

{
"id": "cm1zvzm3434dlp9255d6jgy8",
"name": null,
"email": "sarah@instatus.com",
"phone": null,
"webhook": null,
"webhookEmail": null,
"discord": null,
"microsoftTeamsWebhook": null,
"company": null,
"site": {
"id": "cm180slpo000g9343478qh"
}
}