Saltar al contenido

Renomeia ou altera um tema da comunidade

PATCH/api/community-themes/{id}

Auth
Requiere token
X-CommunityId
X-CommunityId Enví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.

`name` renomeia; `values` (parcial) altera por cima dos valores salvos. `id` = `active` altera o tema ativo (salvando antes o "Atual" virtual, se for o caso). Alterar os valores do tema ativo muda a comunidade na hora: cores do app, dos e-mails, do certificado e do formulário público, modo e navegação. Mesmos 422 do `POST` (o modo escuro só é recusado quando muda). Owner e admin.

Parámetros

NombreDóndeTipoDescripción
idobligatoriopathstringId do tema ou `active`.

Headers

NombreTipoDescripción
X-CommunityIdopcionalstring (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

NombreTipoDescripción
nameopcionalstringmax 80
valuesopcionalobjectOs valores de um tema: tudo o que é aparência da comunidade. Sempre completos na resposta. Na escrita (`values` em `POST` e `PATCH`), parciais: o que não vem fica como está. Numa escala, os tons que não vêm são derivados do 500 enviado (como "Gerar tons"); sem o 500, ficam os de antes. Cor que não é hexadecimal, fonte, cantos, densidade, modo, estado do menu, `navigation.layout` ou elemento de `navigation.hiddenNative` fora da lista → 422 com `param` no campo (por exemplo `values.font.heading` ou `values.navigation.hiddenNative[1]`).
values.modeopcionallight | dark | auto`dark` e `auto` só com o tema escuro liberado (`darkModeAllowed`); senão, 422 com `param = values.mode`.
values.lightopcionalobjectAs cores de um lado do tema (claro ou escuro).
values.light.primaryopcionalobjectEscala inteira (50 a 950). No escuro, `null` = gerada do claro.
values.light.secondaryopcionalobjectEscala inteira (50 a 950). No escuro, `null` = gerada do claro.
values.light.sidebarBgopcionalstringFundo do menu lateral; `null` = a superfície padrão.
values.light.sidebarTextopcionalstringTexto do menu lateral; `null` = o texto padrão.
values.light.headerBgopcionalstringFundo do cabeçalho; `null` = a superfície padrão.
values.light.headerTextopcionalstringTexto do cabeçalho; `null` = o texto padrão.
values.light.browserBaropcionalstringCor da barra do navegador no celular. A do claro é copiada para o `themeColor` da comunidade.
values.darkopcionalobjectAs cores de um lado do tema (claro ou escuro).
values.dark.primaryopcionalobjectEscala inteira (50 a 950). No escuro, `null` = gerada do claro.
values.dark.secondaryopcionalobjectEscala inteira (50 a 950). No escuro, `null` = gerada do claro.
values.dark.sidebarBgopcionalstringFundo do menu lateral; `null` = a superfície padrão.
values.dark.sidebarTextopcionalstringTexto do menu lateral; `null` = o texto padrão.
values.dark.headerBgopcionalstringFundo do cabeçalho; `null` = a superfície padrão.
values.dark.headerTextopcionalstringTexto do cabeçalho; `null` = o texto padrão.
values.dark.browserBaropcionalstringCor da barra do navegador no celular. A do claro é copiada para o `themeColor` da comunidade.
values.fontopcionalobject
values.font.headingopcionalsystem | inter | manrope | dm-sans | plus-jakarta-sans | poppins | lora | merriweather | ibm-plex-sans
values.font.bodyopcionalsystem | inter | manrope | dm-sans | plus-jakarta-sans | poppins | lora | merriweather | ibm-plex-sans
values.radiusopcionalrounded | soft | squareArredondados (12 px, padrão), Suaves (6 px) ou Retos.
values.densityopcionalcomfortable | compact
values.navigationopcionalobjectAusente nos temas prontos (usar um pronto herda a navegação do tema ativo).

Respuestas

CódigoDescripción
200O tema alterado.
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.
422Valor fora da lista, cor inválida ou tema escuro sem liberação.
500Erro interno do servidor.

Ejemplo con curl

curl -X PATCH "https://api.memberfy.net/api/community-themes/<id>" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'