Seu primeiro modelo em 5 minutos
Este guia leva você do zero a um modelo assinável funcionando. Ao final, você terá um contrato simples com um signatário que o SDK poderá abrir, preencher e assinar.
- Sua chave privada e sua chave pública da Auco (painel → Developers).
curlou um cliente HTTP equivalente.
Passo 1 — Definir o JSON
Um modelo mínimo precisa de: três perguntas (nome, documento de identidade, e-mail) e um signatário que as referencie.
{
"name": "Mi Primera Plantilla",
"sign": ["nombre_firmante", "cedula_firmante", "correo_firmante"],
"config": [
{
"name": "nombre_firmante",
"description": "Ingrese su nombre completo",
"type": "name"
},
{
"name": "cedula_firmante",
"description": "Ingrese su cédula",
"type": "identification",
"country": "CO"
},
{
"name": "correo_firmante",
"description": "Ingrese su correo electrónico",
"type": "email"
}
],
"signatureProfile": [
{
"name": "nombre_firmante",
"identification": "cedula_firmante",
"email": "correo_firmante",
"type": "firmante"
}
]
}
Passo 2 — Escrever o HTML Mask
O HTML Mask é o que o usuário vê enquanto preenche o formulário. Um <span name="..."> para cada pergunta do JSON.
<!DOCTYPE html>
<html lang="es">
<head><meta charset="UTF-8" /><title>Mi Primera Plantilla</title></head>
<body>
<h1>Acuerdo Simple</h1>
<p>Yo, <span name="nombre_firmante">_____</span>, identificado con
<span name="cedula_firmante">_____</span>, confirmo mi identidad
con el correo <span name="correo_firmante">_____</span>.</p>
</body>
</html>
Passo 3 — Escrever o HTML Complete
O HTML Complete é o que é impresso no PDF final. Os mesmos span do Mask, mais um <div class="sign-margin"> onde ficará a assinatura.
<!DOCTYPE html>
<html lang="es">
<head><meta charset="UTF-8" /><title>Mi Primera Plantilla</title></head>
<body>
<h1>Acuerdo Simple</h1>
<p>Yo, <strong><span name="nombre_firmante">_____</span></strong>,
identificado con <strong><span name="cedula_firmante">_____</span></strong>,
confirmo mi identidad con el correo
<strong><span name="correo_firmante">_____</span></strong>.</p>
<p>Firmado el <span name="signDate">_____</span>.</p>
<div name="firmante" class="sign-margin"></div>
</body>
</html>
O name="firmante" do <div> deve coincidir com o type do signatureProfile do JSON.
Passo 4 — Criar o modelo
Envie o JSON para a API. A resposta retorna duas URLs assinadas (válidas por 120 segundos) onde você enviará os HTMLs: tenha os arquivos prontos antes deste passo.
curl -X POST https://api.auco.ai/v1.5/ext/template \
-H "Content-Type: application/json" \
-H "Authorization: prk_private_key_company" \
-d @plantilla.json
Resposta:
{
"id": "template_id",
"urls": {
"mask": "https://...signed_mask",
"complete": "https://...signed_complete"
}
}
Guarde o id: você o usará no SDK.
Passo 5 — Enviar os HTMLs
Os dois arquivos são enviados como binários com PUT para as URLs assinadas do passo anterior, com Content-Type: binary/octet-stream: as URLs são assinadas para esse tipo e, com outro —como text/html—, o envio é rejeitado.
curl -X PUT "https://...signed_mask" \
-H "Content-Type: binary/octet-stream" \
--data-binary @mask.html
curl -X PUT "https://...signed_complete" \
-H "Content-Type: binary/octet-stream" \
--data-binary @complete.html
Se as URLs expirarem antes do envio, chame PUT /template com o id do modelo para obter novas URLs. Não chame POST /template novamente: você criaria outro modelo.
Passo 6 — Testar no SDK
Com o id recebido, abra o modelo no SDK. Consulte a documentação do SDK para a integração completa.
Próximos passos
- Configuração JSON — os 17 tipos de perguntas, validações e condicionais.
- Configuração HTML — cláusulas condicionais, vários signatários, campos automáticos como
signDate. - Tipo de requisição — preencher campos previamente a partir do seu próprio serviço.
- Atualizar um modelo — altere perguntas ou HTML sem recriá-lo.