Skip to content

Posta no canal

POST/api/channels/{spaceId}/messages

Auth
Requires a token
Who can call it:
admin
finance
API key:
channels:write
X-CommunityId
X-CommunityId Send the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.

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]`.

Parameters

NameInTypeDescription
spaceIdrequiredpathstring (uuid)

Headers

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

Request body application/json

NameTypeDescription
bodyoptionalstringmax 4000
mediaIdsoptionalstring (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.

Responses

StatusDescription
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.

curl example

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":[]}'