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.

01

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.

02

Obtendo a chave de API

  1. Acesse Configurações → API no painel: app.aiwebpush.com/settings
  2. Selecione o site que deseja usar a API.
  3. Copie a chave exibida e guarde-a em local seguro — nunca exponha em front-end ou repositórios públicos.
Dica: armazene a chave em uma variável de ambiente ou arquivo .env no seu back-end.
03

Cabeçalhos obrigatórios

HeaderValor
Content-Typeapplication/json
Authorization<sua-chave-de-api>
04

Endpoint #1 — Listar Tópicos

GET 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  }
]
StatusSignificado
200Requisição bem-sucedida
401Chave inválida ou ausente
500Erro interno inesperado
05

Endpoint #2 — Listar Países

GET 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  }
]
06

Endpoint #3 — Criar Campanha

POST https://api.aiwebpush.com/v2/campaign/create

Cria uma nova campanha de push. Envie um objeto JSON com os campos abaixo:

CampoTipoObrigatórioRegras / Observações
titlestringSim3 – 100 caracteres
bodystringSim3 – 160 caracteres
statusstringSimpublished ou draft
scheduleModestringSimnow ou scheduled
scheduleDatestringCondicionalFormato ISO UTC; obrigatório se scheduled. Ex: 2025-05-02T18:30:00Z
iconstringNãoURL HTTPS de ícone (png/jpg/webp)
imagestringNãoURL HTTPS de imagem de capa
topicsstring[]CondicionalArray com nomes (não objetos) dos tópicos
countriesstring[]CondicionalArray com nomes (não objetos) dos países
linkstringSimURL de destino do clique
callToActionstringNãoTexto do botão (ex.: “Ler agora”)
utmSourcestringNãoPara tracking opcional
utmMediumstringNãoPara tracking opcional
utmCampaignstringNãoPara tracking opcional
ttlnumberNãoEm segundos; prazo máximo para entregar a um dispositivo offline antes do descarte (máx: 28 dias)
Obs.: para disparar a campanha, é necessário ter enviado uma lista de tópicos ou de países.

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" }
StatusSignificado
200Campanha criada
401Chave inválida ou sem permissão
422Campo inválido/ausente
500Erro interno
07

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.).
08

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.