Como Gerar Certificados Automáticos com Vecsy e n8n
Aprenda a automatizar a emissão de certificados com Vecsy e n8n! Este guia prático mostra como criar e configurar fluxos automáticos passo a passo.
Se você já usa n8n para automatizar fluxos — inscrições, disparos de email, notificações de WhatsApp — provavelmente tem pelo menos um caso onde seria útil gerar uma imagem personalizada para cada usuário ou participante, sem processo manual.
Este tutorial mostra como fazer isso do zero: criar um card personalizado via API da Vecsy dentro de um fluxo n8n e compartilhar a imagem gerada. O exemplo usa o cenário de inscrição em evento, mas a lógica se aplica a certificados, cards de boas-vindas, postagens de redes sociais e qualquer outro caso onde você precisa de imagem + dado de usuário.
O fluxo que vamos construir tem três etapas:
Antes de qualquer coisa, o template precisa estar pronto. No editor da Vecsy, crie um template com os campos dinâmicos que vão variar por participante. No nosso exemplo:
name — nome do participante (campo de texto)photo — foto do participante (campo de imagem)Anote o UUID do template — você vai precisar dele na chamada de API. Ele aparece na URL do template ou na seção de API dentro da plataforma.
No n8n, crie um novo workflow e adicione o nó Webhook como trigger.
Configure assim:
/inscricao (ou qualquer nome que faça sentido para o seu fluxo)Ative o webhook e copie a URL gerada. Ela terá o formato:
https://seu-n8n.com/webhook/inscricao
Essa URL é o ponto de entrada do fluxo. No seu site ou plataforma de inscrição, configure para enviar um POST com os dados do participante ao concluir o cadastro.
Exemplo de payload esperado:
json
{
"name": "Ana Souza",
"photo": "https://exemplo.com/fotos/ana.jpg",
"email": "ana@exemplo.com"
}
Adicione um nó HTTP Request após o webhook.
Configure os campos:
CampoValorMethodPOSTURLhttps://www.vecsy.co/api/generate-imageAuthenticationHeader AuthHeader nameAuthorizationHeader valueBearer SEU_TOKEN_AQUIBody Content TypeJSON
No corpo da requisição, mapeie os valores dinâmicos vindos do webhook:
json
{
"template_uuid": "18cc03b9-68c9-4aaf-ad74-17c8c76e0827",
"file_format": "png",
"name": "{{ $json.name }}",
"photo": "{{ $json.photo }}"
}
Substitua template_uuid pelo UUID do seu template e os nomes dos campos (name, photo) pelos campos que você configurou no editor da Vecsy.
Resposta esperada da API:
json
{
"url": "https://…",
"key": "uploads/api/generate-image/…",
"format": "png"
}
O campo url contém o link temporário para download da imagem gerada. Use esse valor nos próximos nós do fluxo.
Atenção: o link retornado é temporário. Se o seu fluxo precisar armazenar a imagem por mais tempo, faça o download e salve em um storage próprio (S3, Google Drive, etc.) antes de prosseguir.
Com a URL da imagem em mãos, o próximo passo é enviar para o participante. Aqui vão as duas abordagens mais comuns.
Adicione o nó Send Email (ou Gmail, se preferir) e configure:
{{ $('Webhook').item.json.email }}Seu card está pronto, {{ $('Webhook').item.json.name }}!html
<p>Olá, {{ $('Webhook').item.json.name }}!</p>
<p>Seu card foi gerado. Clique no link abaixo para baixar:</p>
<p><a href="{{ $json.url }}">Baixar meu card</a></p>
<img src="{{ $json.url }}" alt="Seu card" style="max-width: 600px;" />
Se o seu fluxo inclui WhatsApp, adicione outro nó HTTP Request apontando para a sua instância de WhatsApp e passe a URL da imagem como mídia:
json
{
"number": "{{ $('Webhook').item.json.phone }}",
"mediaUrl": "{{ $json.url }}",
"caption": "Aqui está o seu card, {{ $('Webhook').item.json.name }}! 🎉"
}
A API da Vecsy retorna erros padronizados em JSON. Os mais comuns que você pode encontrar:
Authorization está correto.Para lidar com isso no n8n, adicione um nó IF após o HTTP Request verificando o status code:
{{ $json.url }} existe → siga para o envio[Webhook] → [HTTP Request: Vecsy API] → [IF: sucesso?]
↓ sim
[Send Email / WhatsApp]
↓ não
[Log de erro / Alerta]
Com esse fluxo, cada nova inscrição gera automaticamente um card personalizado e entrega para o participante sem nenhuma intervenção manual — independente do volume.
Com a integração básica funcionando, algumas extensões naturais:
Para qualquer um desses casos, a estrutura base é a mesma: trigger → chamada à API da Vecsy → ação com a URL retornada.
Quer testar a integração? Acesse a documentação completa da API ou fale com o time da Vecsy para configurar seu acesso. Solicite acesso à API →
Continue lendo sobre temas similares
Aprenda a automatizar a emissão de certificados com Vecsy e n8n! Este guia prático mostra como criar e configurar fluxos automáticos passo a passo.
Descubra por que desenvolvedores estão trocando o Bannerbear pela API da Vecsy para geração de imagens em larga escala, otimizando custos e eficiência.