1. API
  2. SDK
  3. Registrar inscrição
Ir para Dashboard
  • Visão geral da API
  • Erros
  • Limites
  • Paginação
  • GETListar campanhas
  • POSTCriar campanha
  • GETObter campanha
  • DELETEExcluir campanha
  • PATCHAtualizar campanha
  • POSTCancelar campanha
  • POSTCriar segmento
  • GETRelatório diário
  • GETListar assinantes
  • GETObter assinante
  • DELETEExcluir assinante
  • PATCHAtualizar assinante
  • GETObter configuração do site
  • POSTRegistrar inscrição
  • DELETECancelar inscrição do dispositivo
  • POSTRegistrar evento
  • GETObter preferências
  • PUTAtualizar preferências
POST/v1/sites/{pub}/subscriptions

Registrar inscrição

Registra ou atualiza a inscrição de push de um dispositivo. O processamento é assíncrono: a API responde 202 e grava a inscrição logo depois, numa fila.

Se o endpoint já existe, a inscrição é atualizada. Quando tags vem no corpo, a lista substitui as tags atuais do assinante, e [] limpa todas. Sem o campo tags, as tags ficam como estavam. Atributos são mesclados chave a chave.

Ao enviar external_id, mande também external_id_token, assinado no seu servidor (veja o guia de identificação de usuários).

Com a organização no limite de assinantes do plano, um dispositivo novo recebe 402. Um dispositivo que já está inscrito continua sendo aceito e atualizado.

Send request

Use the documented inputs to call this endpoint directly.

API serverbase URL

Parameters

Values are applied to the request and the example on the right.

pubpath · stringrequired

ID público do site (pub_ seguido de 24 caracteres), o mesmo do atributo data-site do snippet.

Request body

application/jsonrequired
endpointstringrequired

Endpoint de push do navegador, https, até 2048 caracteres. O host precisa ser de um serviço de push conhecido: fcm.googleapis.com, updates.push.services.mozilla.com, web.push.apple.com ou notify.windows.com.

keysrequired
langstringoptional

Idioma do navegador, até 10 caracteres.

external_idstringoptional

ID do usuário no seu sistema, até 255 caracteres.

external_id_tokenstringoptional

HMAC-SHA256 em hexadecimal de external_id com o segredo de identidade do site. Obrigatório na prática sempre que external_id vier.

tagsarray<string>optional

Até 50 tags. Substituem as tags atuais do assinante; [] limpa todas. Omita o campo para não mexer nas tags.

attributesobjectoptional

Até 50 pares chave e valor. Chaves de até 255 caracteres.

consentoptional
migrationoptional

Responses

202application/json

Inscrição aceita para processamento.

{
  "status": "accepted"
}
statusenumoptional

Values: "accepted" · "ok"

402application/json

A organização atingiu o limite de assinantes do plano e o dispositivo ainda não está inscrito.

{
  "message": "Limite de assinantes do plano atingido."
}
messagestringoptional

Descrição do erro, em português. Quando a causa não tem mensagem própria, vem a mensagem padrão do código HTTP. Trate pelo código, não pelo texto.

403application/json

O cabeçalho Origin está ausente ou não consta nas origens permitidas do site.

{
  "message": "Origem não permitida."
}
messagestringoptional

Descrição do erro, em português. Quando a causa não tem mensagem própria, vem a mensagem padrão do código HTTP. Trate pelo código, não pelo texto.

404application/json

Nenhum site com esse ID público.

{
  "message": "Recurso não encontrado."
}
messagestringoptional

Descrição do erro, em português. Quando a causa não tem mensagem própria, vem a mensagem padrão do código HTTP. Trate pelo código, não pelo texto.

422application/json

Dados inválidos, ou external_id sem assinatura válida.

{
  "message": "O external_id não tem uma assinatura válida do publisher."
}
messagestringoptional

Descrição do erro, em português. Quando a causa não tem mensagem própria, vem a mensagem padrão do código HTTP. Trate pelo código, não pelo texto.

429application/json

Limite de requisições excedido. Espere os segundos indicados em Retry-After.

{
  "message": "Muitas requisições. Tente novamente em instantes."
}
messagestringoptional

Descrição do erro, em português. Quando a causa não tem mensagem própria, vem a mensagem padrão do código HTTP. Trate pelo código, não pelo texto.

Obter configuração do site< PreviousCancelar inscrição do dispositivoNext >

Powered by heyo

curl --request POST \  'https://api.pushwi.com/v1/sites/pub_8fK2mQx7Lw3nRt5Yv9Bc1Dz4/subscriptions' \  --header 'Content-Type: application/json' \  --data '{  "endpoint": "https://fcm.googleapis.com/fcm/send/dQw4w9WgXcQ:APA91b…",  "keys": {    "p256dh": "BOr8…",    "auth": "k9Xq…"  },  "lang": "pt-BR",  "external_id": "user-42",  "external_id_token": "6f1c0e…",  "tags": [    "vip",    "newsletter"  ],  "attributes": {    "plano": "anual",    "pedidos": 7  },  "consent": {    "text": "Loja Exemplo",    "source": "widget"  }}'
{  "status": "accepted"}