Visão geral da API
Endereço base, os dois tipos de autenticação e as convenções da API do Pushwi.
Loading documentation…
A API do Pushwi é REST, recebe e devolve JSON e fica em:
As rotas se dividem em dois grupos, com autenticações diferentes. Misturar os dois é o erro mais comum de quem começa.
| Rotas de servidor | Rotas do SDK | |
|---|---|---|
| Quem chama | O seu back-end | O SDK, dentro do site |
| Credencial | Chave secreta no Authorization | ID público do site + Origin permitido |
| Rotas | campanhas, segmentos, relatórios, assinantes | configuração, inscrição, eventos, preferências |
| Limite | 120 por minuto por chave | 60 ou 120 por minuto, por IP ou dispositivo |
Mande a chave secreta do site como Bearer token:
A chave é criada em Desenvolvedor › Chaves de API e aparece completa uma única vez. Cada chave pertence a um site e só enxerga os dados dele. Chaves não expiram; revogue pelo painel quando não precisar mais ou suspeitar de vazamento.
Sem Authorization, com a chave em formato errado, revogada ou inexistente, a resposta é 401.
O SDK identifica o site pelo ID público (pub_ + 24 caracteres), no caminho da URL ou no campo site do corpo. Não há segredo envolvido. A proteção é o cabeçalho Origin: a API só responde quando ele está exatamente na lista de origens permitidas do site. Caso contrário, devolve 403 com a mensagem Origem não permitida.
O navegador preenche o Origin sozinho e o JavaScript da página não consegue alterá-lo. Por isso essas rotas não funcionam a partir de um servidor, de um curl ou do botão de teste desta documentação: sem Origin, a resposta é sempre 403.
Rotas que agem sobre um dispositivo recebem o endpoint de push dele no cabeçalho X-Pushwi-Endpoint. É assim que a API sabe de quem são as preferências que estão sendo lidas ou qual inscrição cancelar.
Content-Type: application/json.2026-10-06T15:04:12+00:00). Nas requisições, uma data sem fuso é lida no fuso do site (padrão America/Sao_Paulo).message. Veja erros.As páginas de cada rota têm um formulário para enviar a requisição de verdade. A chamada passa por um proxy desta documentação, que só encaminha para api.pushwi.com e não guarda nada. A chave que você digita fica salva só no seu navegador enquanto você navega entre as páginas da API.
O teste funciona para as rotas de servidor. As do SDK recusam a chamada por falta de Origin, como explicado acima.
| Método | Rota | Grupo |
|---|---|---|
GET | /v1/campaigns | Servidor |
POST | /v1/campaigns | Servidor |
GET | /v1/campaigns/{id} | Servidor |
PATCH | /v1/campaigns/{id} | Servidor |
POST | /v1/campaigns/{id}/cancel | Servidor |
DELETE | /v1/campaigns/{id} | Servidor |
POST | /v1/segments | Servidor |
GET | /v1/reports/daily | Servidor |
GET | /v1/subscribers | Servidor |
GET | /v1/subscribers/{id} | Servidor |
PATCH | /v1/subscribers/{id} | Servidor |
DELETE | /v1/subscribers/{id} | Servidor |
GET | /v1/sites/{pub}/config | SDK |
POST | /v1/sites/{pub}/subscriptions | SDK |
DELETE | /v1/sites/{pub}/subscriptions | SDK |
POST | /v1/e | SDK |
GET | /v1/sites/{pub}/preferences | SDK |
PUT | /v1/sites/{pub}/preferences | SDK |
Segmentos só podem ser criados pela API; ler, editar e apagar segmentos fica no painel. Para saber quando uma campanha terminou sem consultar, use os webhooks.