Erros
Códigos HTTP usados pela API e o formato do corpo em cada caso.
Loading documentation…
A API usa os códigos HTTP de sempre. Trate os erros pelo código; a mensagem serve para ler nos logs e pode mudar de texto.
| Código | Quando |
|---|---|
200 | Leitura ou atualização concluída |
201 | Campanha ou segmento criado |
202 | Inscrição aceita; o processamento acontece logo depois, numa fila |
204 | Concluído, sem corpo (evento registrado, assinante excluído) |
401 | Chave ausente, inválida, revogada ou de um tipo que não existe mais (pub_live_) |
402 | Limite de assinantes do plano atingido |
403 | Origin não permitido numa rota do SDK (Origem não permitida.) |
404 | Site, dispositivo ou assinante não encontrado |
405 | Método HTTP que a rota não aceita |
409 | A campanha não pode ser alterada no status atual (o envio já começou ou terminou) |
421 | A requisição chegou num host que não é api.pushwi.com |
422 | Dados inválidos |
429 | Limite de requisições excedido. Veja limites. |
5xx | Erro do lado do Pushwi. Tente de novo com espera crescente. |
Todo erro devolve um objeto com message, em português:
Quando a causa não tem uma mensagem própria, a API usa a mensagem padrão do código:
| Código | Mensagem padrão |
|---|---|
401 | Credencial ausente ou inválida. |
402 | Limite do plano atingido. |
403 | Acesso negado. |
404 | Recurso não encontrado. |
405 | Método não permitido. |
409 | Conflito com o estado atual do recurso. |
429 | Muitas requisições. Tente novamente em instantes. |
Erros de validação (422) trazem a lista de problemas por campo. A chave é o caminho do campo, com pontos para objetos e números para posições em listas:
Em segmentos, o caminho aponta a regra exata: definition.groups.0.rules.1.op.
A rota de inscrição usa o mesmo formato. Os erros de regra de negócio dela são estes:
| Código | Mensagem |
|---|---|
402 | Limite de assinantes do plano atingido. |
422 | O external_id não tem uma assinatura válida do publisher. |
O 402 só vale para dispositivos novos. A reinscrição de um navegador que já é assinante continua sendo aceita com a conta no limite, e tags, atributos e login seguem atualizando.
A inscrição é processada depois da resposta. Se nesse meio-tempo a organização atingir o limite do plano, a inscrição de um dispositivo novo é descartada sem aviso ao navegador. Acompanhe o uso do plano pelo painel ou pelo webhook subscriber.created.
| Código | Ação recomendada |
|---|---|
401, 403 | Não repita. Confira a chave, ou as origens permitidas. |
402 | Não repita. É preciso mudar de plano ou liberar espaço. |
404 | Não repita. O recurso não existe neste site. |
409 | Não repita. Leia a campanha de novo para ver o status atual. |
422 | Corrija os campos indicados em errors antes de reenviar. |
429 | Espere os segundos de Retry-After e tente de novo. |
5xx | Repita com espera crescente: 1 s, 2 s, 4 s… |
Para repetir POST /v1/campaigns depois de um erro de rede sem risco de criar a campanha duas vezes, mande o cabeçalho Idempotency-Key. Veja evitando campanha duplicada.
| Código | Mensagem |
|---|---|
422 | Esta Idempotency-Key já foi usada com outro corpo de requisição. |
422 | O cabeçalho Idempotency-Key precisa ter de 1 a 255 caracteres. |