Edita um modelo
PUT/api/certificates/templates/{id}
- Auth
- Exige token
- X-CommunityId
X-CommunityIdEnvie o X-CommunityId da comunidade em que a operação acontece.
Se o modelo já emitiu, `version` sobe; os certificados emitidos guardam a cópia do modelo usado e não mudam. Um modelo ativo que fique sem os campos obrigatórios volta a rascunho.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
idobrigatório | path | string (uuid) |
Headers
| Nome | Tipo | Descrição |
|---|---|---|
X-CommunityIdopcional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Corpo da requisição application/json
| Nome | Tipo | Descrição |
|---|---|---|
nameopcional | string | Nome interno do modelo. |
slugopcional | string | Endereço estável do modelo, para outros módulos (gatilhos de curso e evento) apontarem para ele sem o id. Gerado do nome na criação quando não vier; editável; único na comunidade; minúsculas, números e hífens. Renomear o modelo não muda o slug. Inválido ou já usado: 400 com `param: slug`. · max 60 |
titleopcional | string | Título impresso ("Certificado de conclusão"). |
descriptionopcional | string | Aceita {nome}, {assunto} e {cargaHoraria} ({curso} e {evento} continuam valendo, como apelidos de {assunto}). Trecho entre colchetes é opcional: `concluiu[ {assunto}], com…` some quando a variável dentro dele está vazia. Fora de colchetes, a oração (entre vírgulas) com uma variável vazia é omitida, exceto a primeira, onde só a variável sai. |
workloadHoursopcional | number | |
languageopcional | string | Nasce com o idioma da comunidade. |
timezoneopcional | string | Fuso IANA da data impressa. |
signersopcional | object[] | |
signers[].nameobrigatório | string | |
signers[].roleopcional | string | |
signers[].signatureImageUrlopcional | string | URL devolvida pelo upload de assinatura. |
layoutopcional | object[] | Só no tipo IMAGE. |
layout[].keyobrigatório | recipientName | issuedAt | qr | title | description | workload | subjectTitle | code | signer1 | signer2 | |
layout[].boxobrigatório | object | |
layout[].box.xopcional | number | ≥ 0, ≤ 100 |
layout[].box.yopcional | number | ≥ 0, ≤ 100 |
layout[].box.wopcional | number | ≥ 0.1, ≤ 100 |
layout[].box.hopcional | number | ≥ 0.1, ≤ 100 |
layout[].fontopcional | inter | montserrat | lora | playfair-display | eb-garamond | great-vibes | noto-sans | Obrigatório fora do `qr`. |
layout[].weightopcional | 400 | 700 | |
layout[].sizeopcional | number | % da altura da página (6 ≈ 36 pt). |
layout[].minSizeopcional | number | O texto encolhe até aqui antes de quebrar em duas linhas. |
layout[].coloropcional | string | |
layout[].alignopcional | left | center | right | |
layout[].valignopcional | top | middle | bottom | |
layout[].uppercaseopcional | boolean |
Respostas
| Código | Descrição |
|---|---|
200 | Operação realizada com sucesso. |
400 | Requisição inválida — falha de validação. |
401 | Token ausente, inválido ou expirado. |
403 | Autenticado, mas sem permissão para esta operação. |
404 | Recurso não encontrado. |
500 | Erro interno do servidor. |
Exemplo com curl
curl -X PUT "https://api.memberfy.net/api/certificates/templates/<id>" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{}'