Saltar al contenido

Pré-visualização do modelo renderizada pelo servidor

POST/api/certificates/templates/{id}/preview

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.

O mesmo motor da emissão, com dados fictícios (nome longo de propósito). O corpo é opcional e pode trazer edições não salvas (`layout`, `title`, `signers`...). Responde a imagem PNG (1600 px de largura) ou o PDF com `?format=pdf`. O header `X-Certificate-Warnings` lista campos cujo texto não coube nem no tamanho mínimo.

Parámetros

NombreDóndeTipoDescripción
idobligatoriopathstring (uuid)
formatopcionalquerypng | pdf

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
nameopcionalstringNome interno do modelo.
slugopcionalstringEndereç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
titleopcionalstringTítulo impresso ("Certificado de conclusão").
descriptionopcionalstringAceita {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.
workloadHoursopcionalnumber
languageopcionalstringNasce com o idioma da comunidade.
timezoneopcionalstringFuso IANA da data impressa.
signersopcionalobject[]
signers[].nameobligatoriostring
signers[].roleopcionalstring
signers[].signatureImageUrlopcionalstringURL devolvida pelo upload de assinatura.
layoutopcionalobject[]Só no tipo IMAGE.
layout[].keyobligatoriorecipientName | issuedAt | qr | title | description | workload | subjectTitle | code | signer1 | signer2
layout[].boxobligatorioobject
layout[].box.xopcionalnumber≥ 0, ≤ 100
layout[].box.yopcionalnumber≥ 0, ≤ 100
layout[].box.wopcionalnumber≥ 0.1, ≤ 100
layout[].box.hopcionalnumber≥ 0.1, ≤ 100
layout[].fontopcionalinter | montserrat | lora | playfair-display | eb-garamond | great-vibes | noto-sansObrigatório fora do `qr`.
layout[].weightopcional400 | 700
layout[].sizeopcionalnumber% da altura da página (6 ≈ 36 pt).
layout[].minSizeopcionalnumberO texto encolhe até aqui antes de quebrar em duas linhas.
layout[].coloropcionalstring
layout[].alignopcionalleft | center | right
layout[].valignopcionaltop | middle | bottom
layout[].uppercaseopcionalboolean

Respuestas

CódigoDescripción
200A imagem ou o PDF.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
500Erro interno do servidor.

Ejemplo con curl

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