Muda as minhas preferências do chat
PATCH/api/chat/me
- Auth
- Token erforderlich
- API-Schlüssel:
- Kein API-Schlüssel möglich
- X-CommunityId
X-CommunityIdSende die X-CommunityId der Community, in der die Operation stattfindet.
Qualquer papel; cada campo é opcional. Ligar `chatAvailable` com o app aberto coloca a pessoa em "Online agora" na hora (evento `presence.delta` para quem está disponível); desligar remove na hora. `panelState` guarda o estado do painel no desktop (volta igual em outra sessão). `availabilityNoticeSeen: true` marca o aviso único de disponibilidade como visto (só marca; `false` é ignorado).
**Status:** `chatStatus` aceita `AVAILABLE`, `BUSY` (Ocupado) ou `UNAVAILABLE`; outro valor (inclusive `AWAY`, que é automático) dá 400 com `errors[0].param = chatStatus`. `chatAvailable: false` equivale a `UNAVAILABLE` (e tira o Ocupado); `chatAvailable: true` só leva de `UNAVAILABLE` para `AVAILABLE` (quem está Ocupado continua Ocupado). `chatStatus` e `chatAvailable` contraditórios na mesma requisição (ex.: `BUSY` com `chatAvailable: false`) dão 400. Cada pessoa só muda o próprio status. Trocar entre `AVAILABLE` e `BUSY` com o app aberto publica `presence.delta` (`online: true` com o `status` novo) para quem está disponível, menos bloqueios; toda troca de status publica `me.updated` (`{ chatAvailable, chatStatus }`) para as outras abas da própria pessoa.
Header
| Name | Typ | Beschreibung |
|---|---|---|
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 | Typ | Beschreibung |
|---|---|---|
chatStatusoptional | AVAILABLE | BUSY | UNAVAILABLE | Status no chat. Contraditório com `chatAvailable` na mesma requisição: 400. |
chatAvailableoptional | boolean | `false` = `UNAVAILABLE`; `true` tira de `UNAVAILABLE` (vira `AVAILABLE`) e mantém quem está Ocupado. |
chatReadReceiptsoptional | boolean | |
chatShowLastSeenoptional | boolean | "Mostrar quando estive online por último" (padrão `true`). Recíproco, como no WhatsApp: quem desliga deixa de mostrar o seu `lastSeenAt` e também deixa de ver o dos outros. |
panelStateoptional | COLLAPSED | EXPANDED | SIDE | |
availabilityNoticeSeenoptional | boolean |
Antworten
| Status | Beschreibung |
|---|---|
200 | Preferências atualizadas. |
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. |
500 | Erro interno do servidor. |
curl-Beispiel
curl -X PATCH "https://api.memberfy.net/api/chat/me" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{}'