Registra uma ação de gamificação para um perfil
POST/api/gamification/track
- Auth
- Jeton requis
- Qui peut l’appeler:
- owner
- admin
- Clé d’API:
- gamification:write
- X-CommunityId
X-CommunityIdEnvoyez le X-CommunityId de la communauté où l’opération a lieu.
Les descriptions des endpoints viennent directement de la spécification de l’API et sont en portugais pour l’instant. L’interface autour est traduite.
Registra manualmente uma ação de gamificação e soma os pontos dela ao perfil, como se a pessoa a tivesse feito. Só owner e admin da comunidade.
A comunidade vem **só** do header `X-CommunityId`, que é obrigatório. O campo `communityId` do corpo é opcional e está obsoleto: se vier com outra comunidade, a requisição é recusada com 403. O `memberId` precisa ser de um perfil dessa comunidade; senão a resposta é 404 e nada é gravado.
En-têtes
| Nom | Type | Description |
|---|---|---|
X-CommunityIdobligatoire | string (uuid) | Comunidade em que a ação é registrada. |
Corps de la requête application/json
| Nom | Type | Description |
|---|---|---|
memberIdobligatoire | string (uuid) | Perfil que recebe os pontos. Precisa ser da comunidade do `X-CommunityId`. |
communityIdfacultatif | string (uuid) | Obsoleto e ignorado. Se vier, precisa ser igual ao `X-CommunityId` (senão 403). |
actionTypeobligatoire | string | Tipo da ação (`GameActionType`), com regra ativa na comunidade. |
targetIdfacultatif | string | Id do item em que a ação aconteceu. |
targetTypefacultatif | string | Tipo do item em que a ação aconteceu. |
sectionIdfacultatif | string (uuid) | Seção em que a ação aconteceu, para o ranking por seção. |
Réponses
| Statut | Description |
|---|---|
200 | Ação registrada; `data` é o registro da ação, com os pontos ganhos. |
400 | Header `X-CommunityId` ausente, corpo inválido, ou gamificação desligada ou ação sem regra ativa na comunidade. |
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 | Sem papel de owner ou admin na comunidade, ou `communityId` do corpo diferente do `X-CommunityId`. |
404 | O `memberId` não é de um perfil da comunidade. |
500 | Erro interno do servidor. |
Exemple curl
curl -X POST "https://api.memberfy.net/api/gamification/track" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{"memberId":"00000000-0000-0000-0000-000000000000","actionType":"CREATE_POST"}'