Aller au contenu

Posta no canal

POST/api/channels/{spaceId}/messages

Auth
Jeton requis
Qui peut l’appeler:
admin
finance
Clé d’API:
channels: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.

Quem pode postar no espaço ("Quem pode postar" do espaço: todos, equipe ou administradores; a equipe inclui o financeiro); quem só lê recebe 403 (ainda lê e reage). Texto puro até 4.000 caracteres (400 acima), com menções por token `<@idDoPerfil>`: só quem pode abrir o espaço é avisado (sino na hora e, se não ler em 10 minutos, e-mail da categoria `channels`, sem o texto). Até 10 fotos e 1 vídeo em `mediaIds`. Limites (429, com mensagem traduzida): 30 mensagens por minuto (equipe o dobro, quem entrou há menos de um dia a metade), o mesmo texto 3 vezes por hora no mesmo espaço, 20 mensagens com mídia e 10 vídeos por hora; sem Redis, os limites deixam passar. A sala `space:<id>` recebe `channel.messages` com `ids: [mensagem]`.

Paramètres

NomEmplacementTypeDescription
spaceIdobligatoirepathstring (uuid)

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
bodyfacultatifstringmax 4000
mediaIdsfacultatifstring (uuid)[]Até 10 fotos (`channelImage`, GIF incluído) e 1 vídeo (`channelVideo`), enviados por `POST /api/media/upload-url` no mesmo espaço por quem posta.

Réponses

StatutDescription
201A mensagem.
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 mensagens por minuto, de texto repetido no espaço ou de mídia por hora.

Exemple curl

curl -X POST "https://api.memberfy.net/api/channels/<spaceId>/messages" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"body":"Pessoal, a sala 2 está livre amanhã às 10h. <@3f1c2a9e-8d4b-4c1a-9f0e-2b7d6a5c4e31> topa?","mediaIds":[]}'