DESENVOLVEDORES
Documentação da API.
Consulte os tópicos do seu site e crie campanhas de notificação push por requisições HTTP — integre o AI Web Push ao seu back-end.
Visão geral
A API do AI Web Push permite consultar os tópicos associados ao seu site e criar campanhas de notificação push por meio de requisições HTTP. Cada site possui sua própria chave de API, que deve permanecer privada.
Obtendo a chave de API
- Acesse Configurações → API no painel: app.aiwebpush.com/settings
- Selecione o site que deseja usar a API.
- Copie a chave exibida e guarde-a em local seguro — nunca exponha em front-end ou repositórios públicos.
.env no seu back-end.Cabeçalhos obrigatórios
| Header | Valor |
|---|---|
| Content-Type | application/json |
| Authorization | <sua-chave-de-api> |
Endpoint #1 — Listar Tópicos
https://api.aiwebpush.com/v2/topics
Retorna um array com cada tópico e a quantidade de usuários inscritos.
Exemplo (cURL)
curl --request GET \
--url https://api.aiwebpush.com/v2/topics \
--header "Content-Type: application/json" \
--header "Authorization: abcd1234efgh5678"
Resposta · 200 OK
[
{ "name": "esportes", "users": 542 },
{ "name": "negocios", "users": 187 },
{ "name": "cinema", "users": 95 }
]
| Status | Significado |
|---|---|
| 200 | Requisição bem-sucedida |
| 401 | Chave inválida ou ausente |
| 500 | Erro interno inesperado |
Endpoint #2 — Listar Países
https://api.aiwebpush.com/v2/countries
Retorna um array com cada país e a quantidade de usuários inscritos.
Resposta · 200 OK
[
{ "name": "country__Brazil", "users": 6552 },
{ "name": "country__Mexico", "users": 3265 },
{ "name": "country__Argentina", "users": 214 }
]
Endpoint #3 — Criar Campanha
https://api.aiwebpush.com/v2/campaign/create
Cria uma nova campanha de push. Envie um objeto JSON com os campos abaixo:
| Campo | Tipo | Obrigatório | Regras / Observações |
|---|---|---|---|
| title | string | Sim | 3 – 100 caracteres |
| body | string | Sim | 3 – 160 caracteres |
| status | string | Sim | published ou draft |
| scheduleMode | string | Sim | now ou scheduled |
| scheduleDate | string | Condicional | Formato ISO UTC; obrigatório se scheduled. Ex: 2025-05-02T18:30:00Z |
| icon | string | Não | URL HTTPS de ícone (png/jpg/webp) |
| image | string | Não | URL HTTPS de imagem de capa |
| topics | string[] | Condicional | Array com nomes (não objetos) dos tópicos |
| countries | string[] | Condicional | Array com nomes (não objetos) dos países |
| link | string | Sim | URL de destino do clique |
| callToAction | string | Não | Texto do botão (ex.: “Ler agora”) |
| utmSource | string | Não | Para tracking opcional |
| utmMedium | string | Não | Para tracking opcional |
| utmCampaign | string | Não | Para tracking opcional |
| ttl | number | Não | Em segundos; prazo máximo para entregar a um dispositivo offline antes do descarte (máx: 28 dias) |
Exemplo (cURL)
curl --request POST \
--url https://api.aiwebpush.com/v2/campaign/create \
--header "Content-Type: application/json" \
--header "Authorization: abcd1234efgh5678" \
--data '{
"title": "Lançamento da Semana",
"body": "Confira os bastidores do nosso novo produto!",
"status": "published",
"scheduleMode": "now",
"scheduleDate": null,
"icon": "https://exemplo.com/media/icon-96x96.png",
"image": "https://exemplo.com/media/banner-produto.webp",
"topics": ["esportes", "negocios"],
"countries": ["country__Brazil"],
"link": "https://exemplo.com/blog/lancamento",
"callToAction": "Ver detalhes",
"utmSource": "api-doc",
"utmMedium": "push",
"utmCampaign": "lancamento-semana"
}'
Resposta · 200 OK
{ "Id": "c_01h9y4c3x1z7p3r5" }
| Status | Significado |
|---|---|
| 200 | Campanha criada |
| 401 | Chave inválida ou sem permissão |
| 422 | Campo inválido/ausente |
| 500 | Erro interno |
Boas práticas de segurança
Nunca exponha a chave em código cliente/JavaScript. Valide entradas antes de enviar para a API (tamanho de título, URLs https, etc.).
Próximos passos
Teste primeiro no ambiente de homologação (Postman ou Insomnia). Integre ao seu back-end (Node, Python, PHP, n8n, Make) centralizando o header de autorização.
Dúvidas ou sugestões sobre a API?
Entre em contato por e-mail para contato@aiwebpush.com — o acesso à API está disponível nos planos Professional e Enterprise.