Aller au contenu

Abre um chamado

POST/api/support/tickets

Auth
Jeton requis
Clé d’API:
support: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.

Qualquer membro com acesso ao space. Cria o chamado `OPEN` com número sequencial por space (alocado sob trava: aberturas simultâneas recebem números diferentes). `resourceId` precisa ser um recurso de **Reservas** da comunidade, ativo (e `listed` para o residente); senão 400. As fotos (`mediaIds`, até 5; 20 por chamado) vêm do upload de mídia com `purpose: supportPhoto`. A equipe que responde pode abrir em nome de um residente (`requesterId`): ele recebe o e-mail "abrimos um chamado para você". Acima de `maxOpenPerMember` chamados abertos do mesmo residente no space (padrão 10; 0 = sem teto): 409. **Idempotente** por `clientRequestId`: o segundo toque devolve o mesmo chamado (200, `alreadyCreated: true`). Os e-mails saem pela fila, nunca na requisição; "novo chamado" sai no máximo 1 vez a cada 10 minutos por destinatário, qualquer que seja o chamado. **Limites (429 com `Retry-After` e `errors`):** 10 chamados **criados** por hora por residente e 20 por 24 horas, contando os cancelados e apagados; requisição recusada por validação (400) não gasta cota; a equipe que responde não tem esses tetos. Cria: `201`.

En-têtes

NomTypeDescription
X-CommunityIdfacultatifstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Corps de la requête application/json

NomTypeDescription
spaceIdobligatoirestring (uuid)O space de Suporte.
kindobligatoireMAINTENANCE | REQUEST
categoryobligatoireFACILITIES | CLEANING | EQUIPMENT | INTERNET | ACCESS | BILLING | OTHER
titleobligatoirestringmax 140
descriptionobligatoirestringmax 10000
resourceIdfacultatifstring (uuid)Recurso das Reservas (`module: bookings`, ativo; o residente só enxerga os `listed`).
locationTextfacultatifstringmax 120
urgentfacultatifbooleanMarca como `HIGH` se o space permite (`allowUrgentFlag`).
priorityfacultatifLOW | NORMAL | HIGH | URGENTSó a equipe que responde.
requesterIdfacultatifstring (uuid)Abre em nome de um residente (só quem responde).
mediaIdsfacultatifstring (uuid)[]Fotos já enviadas pelo `POST /api/media/uploads` com `purpose: supportPhoto`.
clientRequestIdfacultatifstringIdempotência: o segundo toque devolve o mesmo chamado. · max 64

Réponses

StatutDescription
200Já aberto com o mesmo `clientRequestId`.
201Chamado aberto.
400Requisição inválida — falha de validação.
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`).
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
409Conflito com o estado atual do recurso.
429Limite de chamados criados (10 por hora ou 20 por 24 h). Cabeçalho `Retry-After` em segundos; `errors` traduzido.
500Erro interno do servidor.

Exemple curl

curl -X POST "https://api.memberfy.net/api/support/tickets" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"spaceId":"00000000-0000-0000-0000-000000000000","kind":"MAINTENANCE","category":"FACILITIES","title":"string","description":"string"}'