Inscreve (ou renova) este aparelho
POST/api/push/subscriptions
- Auth
- Requires a token
- API key:
- No API key accepted
- X-CommunityId
X-CommunityIdSend the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.
Qualquer papel. Recebe o `PushSubscription.toJSON()` do navegador (`endpoint` e `keys`), mais `platform` e `standalone` (aberto pelo app instalado). Cria (201) ou renova pelo endpoint (200): o mesmo navegador inscrito de novo, mesmo em outra conta, passa a ser de quem está logado. O endpoint precisa ser de um serviço de push de navegador (Google, Mozilla, Apple, Microsoft; também `jmt17.google.com`, o do Chromium); outro dá 400. No máximo 10 aparelhos por pessoa por comunidade: o mais antigo é apagado. Até 20 chamadas por hora por pessoa por comunidade; a 21ª dá 429. O rótulo (`deviceLabel`) vem do navegador.
Headers
| Name | Type | Description |
|---|---|---|
X-CommunityIdoptional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Request body application/json
| Name | Type | Description |
|---|---|---|
endpointrequired | string | max 2048 |
keysrequired | object | |
keys.p256dhrequired | string | |
keys.authrequired | string | |
vapidKeyIdoptional | string | O `vapidKeyId` de `GET /api/push/config` usado na inscrição. |
platformoptional | ios | android | macos | windows | linux | other | |
standaloneoptional | boolean |
Responses
| Status | Description |
|---|---|
200 | Aparelho já inscrito: renovado. |
201 | Aparelho inscrito. |
400 | Requisição inválida — falha de validação. |
401 | Token ausente, inválido ou expirado; token de outra comunidade (o `X-CommunityId` ou o `communityId` do corpo não é o do token); token antigo ou de uma sessão encerrada (troca de senha, convite aceito). Nesses casos a mensagem pede para entrar de novo (`auth.signInAgain`). |
403 | Autenticado, mas sem permissão para esta operação. |
409 | Conflito com o estado atual do recurso. |
429 | Mais de 20 inscrições por hora da mesma pessoa nesta comunidade. O cabeçalho `Retry-After` diz em quantos segundos tentar de novo. |
500 | Erro interno do servidor. |
curl example
curl -X POST "https://api.memberfy.net/api/push/subscriptions" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{"endpoint":"string","keys":{"p256dh":"string","auth":"string"}}'