Aller au contenu

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-CommunityId Envoyez 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

NomTypeDescription
X-CommunityIdobligatoirestring (uuid)Comunidade em que a ação é registrada.

Corps de la requête application/json

NomTypeDescription
memberIdobligatoirestring (uuid)Perfil que recebe os pontos. Precisa ser da comunidade do `X-CommunityId`.
communityIdfacultatifstring (uuid)Obsoleto e ignorado. Se vier, precisa ser igual ao `X-CommunityId` (senão 403).
actionTypeobligatoirestringTipo da ação (`GameActionType`), com regra ativa na comunidade.
targetIdfacultatifstringId do item em que a ação aconteceu.
targetTypefacultatifstringTipo do item em que a ação aconteceu.
sectionIdfacultatifstring (uuid)Seção em que a ação aconteceu, para o ranking por seção.

Réponses

StatutDescription
200Ação registrada; `data` é o registro da ação, com os pontos ganhos.
400Header `X-CommunityId` ausente, corpo inválido, ou gamificação desligada ou ação sem regra ativa na comunidade.
401Token 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`).
403Sem papel de owner ou admin na comunidade, ou `communityId` do corpo diferente do `X-CommunityId`.
404O `memberId` não é de um perfil da comunidade.
500Erro 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"}'