Autenticação
A AI Web Push API autentica cada chamada por uma chave de API vinculada a um site, enviada no header Authorization, sem prefixo Bearer. Não há login, token temporário nem OAuth: a chave copiada do painel é o que você manda em toda requisição.
Onde pegar a chave
- Acesse app.aiwebpush.com/settings.
- Clique no site que você quer integrar.
- Copie o valor do campo Chave da API.
Cada site tem a sua própria chave. Se você integra mais de um site, use a chave do site correspondente em cada chamada: a chave de um site não enxerga campanhas, tópicos nem países de outro.
Como enviar
A chave vai no header Authorization, exatamente como foi copiada.
Authorization: SUA_CHAVE
curl https://api.aiwebpush.com/v2/topics \
-H "Authorization: SUA_CHAVE"
Nas chamadas POST, acrescente Content-Type: application/json:
curl -X POST https://api.aiwebpush.com/v2/campaigns \
-H "Authorization: SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{}'
Cada método da Referência mostra o mesmo header em curl, PHP, Node.js e Python.
Respostas de autenticação
| Situação | Status | Resposta |
|---|---|---|
| Header ausente ou chave não reconhecida | 403 | { "message": "Not authorized" } |
| Chave válida, mas a conta não tem acesso ao método de campanha (recurso não incluído no plano) | 403 | { "message": "This plan does not have permission to..." } |
Chave válida sem acesso liberado, em GET /topics ou GET /countries | 200 | [] |
| ID de campanha que não pertence ao site da chave | 404 | { "message": "Campaign not found" } |
| Cursor de paginação gerado com outra chave | 400 | { "message": "Invalid pagination cursor" } |
Os dois 403 têm causas diferentes: o primeiro é chave errada ou ausente; o segundo é chave certa numa conta cujo plano não inclui a API ou os relatórios via API. A mensagem exata varia com o método (...to create campaigns with API, ...to access campaign reports via API, ...to delete campaigns via API). Veja Disponibilidade por plano.
Boas práticas com a chave
- Guarde no servidor. A chave dá acesso a criar e excluir campanhas do site; trate como senha. Use variável de ambiente ou cofre de segredos, nunca código versionado.
- Nunca no navegador. Não chame a API a partir de JavaScript de página pública nem de app mobile: a chave ficaria exposta. Faça a chamada do seu backend.
- Uma chave por site. Se integra vários sites, mapeie site → chave do seu lado e não reutilize.
- Suspeita de vazamento? Fale com contato@aiwebpush.com.
Mais respostas curtas em Perguntas frequentes.