Quickstart
Em menos de 5 minutos você já estará coletando inscrições e enviando push. Escolha sua integração:
Autenticação
Todas as requisições à API devem incluir sua chave de API no header Authorization. Gere sua chave em Painel → Configurações → API.
Authorization: Bearer sp_live_xxxxxxxxxxxxxxxxxxxxxxxx
Exemplo com fetch
const res = await fetch('https://sendpush.com.br/api/v1/campanhas', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer sp_live_xxxxxxxx'
},
body: JSON.stringify({ titulo: 'Meu push', corpo: 'Confira agora!' })
})Snippet JavaScript
Para qualquer site (Next.js, Nuxt, Webflow, HTML estático), adicione o snippet abaixo antes do fechamento do </body>. Substitua SEU_SITE_ID pelo ID do seu site no painel.
<script src="https://sendpush.com.br/sdk.js" data-site-id="SEU_SITE_ID" async> </script>
O SDK exibe automaticamente o banner de solicitação de permissão após 3 segundos. Você pode personalizar o comportamento:
<script>
window.SendPushConfig = {
siteId: 'SEU_SITE_ID',
delay: 5000, // ms até exibir o banner (padrão: 3000)
position: 'bottom', // 'bottom' ou 'top'
autoPrompt: true, // false para acionar manualmente
}
</script>
<script src="https://sendpush.com.br/sdk.js" async></script>Acionar manualmente
// Aciona o banner de permissão ao clicar em um botão
document.getElementById('meu-botao').addEventListener('click', () => {
window.SendPush.requestPermission()
})Plugin WordPress
O plugin SendPush para WordPress cuida de tudo: instala o service worker, exibe o banner de permissão e adiciona a metabox de criação de push no painel de publicação.
Instalação
- Faça o download do plugin no painel SendPush → Integração → WordPress.
- No WordPress: Plugins → Adicionar novo → Enviar plugin → selecione o .zip.
- Ative o plugin.
- Acesse SendPush → Configurações e insira sua Chave de API.
- Salve. O banner de permissão já está ativo no frontend.
Webhook (envio automático)
Quando você publica um post, o plugin envia um webhook para a API do SendPush com os dados do post. A IA processa e cria o push automaticamente. O endpoint do webhook é:
POST https://sendpush.com.br/api/push/wp-webhook X-Site-ID: SEU_SITE_ID X-Webhook-Secret: SEU_WEBHOOK_SECRET
API — Campanhas
Criar campanha
| Parâmetro | Tipo | Descrição |
|---|---|---|
| tituloobrigatório | string | Título da notificação (máx. 50 caracteres) |
| corpoobrigatório | string | Corpo da notificação (máx. 120 caracteres) |
| url | string | URL de destino ao clicar. Padrão: URL do site |
| icone | string | URL de ícone personalizado (192x192px) |
| segmento | object | Filtro de audiência (ver abaixo) |
| agendado_para | string | Data/hora ISO 8601 para agendamento |
// Envio imediato para todos os inscritos
{
"titulo": "Nova matéria no portal",
"corpo": "Confira a análise completa sobre o novo orçamento.",
"url": "https://seusite.com.br/materia-x"
}
// Envio segmentado por estado
{
"titulo": "Notícia do Nordeste",
"corpo": "Confira o que acontece na sua região.",
"segmento": {
"estados": ["BA", "PE", "CE", "RN", "PB", "MA", "PI", "AL", "SE"]
}
}
// Agendado
{
"titulo": "Bom dia, leitor!",
"corpo": "Veja as principais notícias de hoje.",
"agendado_para": "2026-05-20T07:00:00-03:00"
}Listar campanhas
// Resposta
{
"campanhas": [
{
"id": "uuid",
"titulo": "Nova matéria",
"status": "enviado", // rascunho | agendado | enviado | cancelado
"enviados": 8431,
"cliques": 312,
"ctr": 3.7,
"criado_em": "2026-05-17T22:00:00Z"
}
],
"total": 42
}API — Inscritos
Listar inscritos
Parâmetros de query: page, limit (máx. 1000), cidade, estado.
Remover inscrito
Remove permanentemente um inscrito. Use para atender solicitações de exclusão (LGPD).
API — Estatísticas
// Resposta
{
"inscritos_total": 12847,
"inscritos_novos_30d": 2418,
"enviados_30d": 8431,
"cliques_30d": 312,
"ctr_30d": 3.7,
"top_cidades": [
{ "cidade": "São Paulo", "estado": "SP", "inscritos": 94 },
{ "cidade": "Rio de Janeiro", "estado": "RJ", "inscritos": 43 }
]
}Códigos de erro
| Código | Status HTTP | Descrição |
|---|---|---|
| unauthorized | 401 | Chave de API inválida ou ausente |
| forbidden | 403 | Sem permissão para este recurso |
| not_found | 404 | Recurso não encontrado |
| validation_error | 422 | Parâmetros inválidos ou ausentes |
| rate_limited | 429 | Limite de requisições excedido |
| plan_limit | 402 | Limite do plano atingido (inscritos ou envios) |
| server_error | 500 | Erro interno — contate o suporte |
Limites de uso
| Recurso | Limite |
|---|---|
| Requisições à API | 1.000 req/hora por chave |
| Criação de campanhas | 50 campanhas/dia |
| Tamanho do título | 50 caracteres |
| Tamanho do corpo | 120 caracteres |
| Tamanho do ícone | 512 KB, mínimo 192x192px |
| Webhooks WordPress | Sem limite |
Dúvidas sobre a API? Envie para suporte@sendpush.com.br