Salva um bloco de um e-mail padrão, num idioma (edição em equipe)
PUT/api/email-overrides/{emailKey}/{language}/blocks/{blockId}
- Auth
- Requiere token
- Quién puede:
- owner
- admin
- Clave de API:
- reports:write
- X-CommunityId
X-CommunityIdEnvía el X-CommunityId de la comunidad en la que ocurre la operación.
Las descripciones de los endpoints vienen de la especificación de la API y, por ahora, están en portugués. La interfaz alrededor está traducida.
Só owner e admin. Grava **um bloco** da versão daquele idioma, achado pelo `id`, com as mesmas regras do `PUT /api/email-overrides/{emailKey}/{language}` (bloco travado `systemSlot` continua obrigatório, só links da comunidade em recibos). Antes do primeiro salvamento, o idioma ainda não tem versão: os blocos de partida (`starter-text`, `slot-…`) são salvos com este no lugar, como faria o salvamento da versão inteira. Não confere a versão: blocos diferentes nunca dão 409.
**Trava de edição (F-174):** bloco aberto por outra pessoa no editor: **423** com o nome dela. Quem está editando recebe o bloco salvo no WebSocket (`block.saved` na sala `item:emailOverride:{emailKey}`).
Parámetros
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
emailKeyobligatorio | path | string | |
languageobligatorio | path | string | |
blockIdobligatorio | path | string |
Headers
| Nombre | Tipo | Descripción |
|---|---|---|
X-CommunityIdopcional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Cuerpo de la solicitud application/json
| Nombre | Tipo | Descripción |
|---|---|---|
blockobligatorio | object | Bloco estático (`text`, `button`, `image`) ou o `systemSlot` que já estava ali. |
Respuestas
| Código | Descripción |
|---|---|
200 | Bloco salvo. |
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. |
404 | Recurso não encontrado. |
422 | Bloco inválido (as regras da versão inteira). |
423 | F-174: outra pessoa da equipe está editando o que esta gravação mexe (trava de edição). `errors[0].code` é `locked`; `data.locks` lista o que está travado e quem edita (`editor` nulo quando o chat da comunidade está desligado ou há bloqueio no chat entre as duas pessoas: "outra pessoa da equipe"). Tente de novo quando a pessoa sair do bloco (a trava some sozinha 30 s depois do último sinal dela). |
500 | Erro interno do servidor. |
Ejemplo con curl
curl -X PUT "https://api.memberfy.net/api/email-overrides/<emailKey>/<language>/blocks/<blockId>" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{"block":{}}'