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}
autoConfirmvale 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:
| Valor | Comportamento |
|---|---|
REQUIRED | Os assinantes precisam confirmar por e-mail antes de receber atualizações. Padrão. |
WELCOME | Os assinantes são adicionados na hora e recebem um e-mail de boas-vindas. Só no Pro. |
NONE | Os 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"}}