Edita um modelo
PUT/api/certificates/templates/{id}
- Auth
- Requires a token
- X-CommunityId
X-CommunityIdSend 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.
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.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string (uuid) |
Headers
| Name | Type | Description |
|---|---|---|
X-CommunityIdoptional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Request body application/json
| Name | Type | Description |
|---|---|---|
nameoptional | string | Nome interno do modelo. |
slugoptional | 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 |
titleoptional | string | Título impresso ("Certificado de conclusão"). |
descriptionoptional | 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. |
workloadHoursoptional | number | |
languageoptional | string | Nasce com o idioma da comunidade. |
timezoneoptional | string | Fuso IANA da data impressa. |
signersoptional | object[] | |
signers[].namerequired | string | |
signers[].roleoptional | string | |
signers[].signatureImageUrloptional | string | URL devolvida pelo upload de assinatura. |
layoutoptional | object[] | Só no tipo IMAGE. |
layout[].keyrequired | recipientName | issuedAt | qr | title | description | workload | subjectTitle | code | signer1 | signer2 | |
layout[].boxrequired | object | |
layout[].box.xoptional | number | ≥ 0, ≤ 100 |
layout[].box.yoptional | number | ≥ 0, ≤ 100 |
layout[].box.woptional | number | ≥ 0.1, ≤ 100 |
layout[].box.hoptional | number | ≥ 0.1, ≤ 100 |
layout[].fontoptional | inter | montserrat | lora | playfair-display | eb-garamond | great-vibes | noto-sans | Obrigatório fora do `qr`. |
layout[].weightoptional | 400 | 700 | |
layout[].sizeoptional | number | % da altura da página (6 ≈ 36 pt). |
layout[].minSizeoptional | number | O texto encolhe até aqui antes de quebrar em duas linhas. |
layout[].coloroptional | string | |
layout[].alignoptional | left | center | right | |
layout[].valignoptional | top | middle | bottom | |
layout[].uppercaseoptional | boolean |
Responses
| Status | Description |
|---|---|
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. |
curl example
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 '{}'