Troca o endpoint de um aparelho (service worker, sem login)
POST/api/push/subscriptions/renew
- Auth
- Pública
- Chave de API:
- Não aceita chave de API
Para o `pushsubscriptionchange` do service worker, que não tem token: troca o endpoint e as chaves de uma inscrição existente, provada pelo endpoint antigo e pelo `auth` antigo dela. Qualquer outra coisa (endpoint desconhecido, removido ou `auth` errado) dá o mesmo 404. O endpoint novo precisa ser de um serviço de push de navegador (Google, Mozilla, Apple, Microsoft). Não usa `X-CommunityId`. Limite de 30 trocas por hora por IP (429).
Corpo da requisição application/json
| Nome | Tipo | Descrição |
|---|---|---|
oldEndpointobrigatório | string | |
oldAuthobrigatório | string | |
endpointobrigatório | string | |
keysobrigatório | object | |
keys.p256dhopcional | string | |
keys.authopcional | string | |
vapidKeyIdopcional | string |
Respostas
| Código | Descrição |
|---|---|
200 | Inscrição atualizada. |
400 | Requisição inválida — falha de validação. |
404 | Recurso não encontrado. |
409 | Conflito com o estado atual do recurso. |
429 | Mais de 30 trocas por hora a partir do mesmo IP. O cabeçalho `Retry-After` diz em quantos segundos tentar de novo. |
500 | Erro interno do servidor. |
Exemplo com curl
curl -X POST "https://api.memberfy.net/api/push/subscriptions/renew" \
-H "Content-Type: application/json" \
-d '{"oldEndpoint":"string","oldAuth":"string","endpoint":"string","keys":{}}'