Criação de documento
/document/savechave privadaprk_Este serviço permite gerar um documento dinamicamente a partir de um modelo Auco ou de um documento personalizado criado previamente. Diferentemente do envio direto de um arquivo PDF, neste fluxo o documento não é anexado como arquivo. Em vez disso, são enviadas apenas as informações (variáveis) exigidas pelo modelo ou documento base, que serão usadas para gerar o documento automaticamente e habilitar o processo de assinatura.
Antes de integrar este endpoint, você pode precisar ver como definir as posições de assinatura e as configurações de validação de identidade.
Passos para criar um documento:
- Consultar os modelos ou documentos personalizados disponíveis: Você deve come çar consultando os recursos disponíveis (modelos próprios ou da Auco) para identificar o documento base que deseja usar.
- Obter o identificador (_id) do documento base: Depois de identificar o modelo ou documento desejado, obtenha o seu _id para continuar o processo.
- Consultar as variáveis exigidas do documento selecionado: Use o serviço correspondente para obter a lista de variáveis que precisam ser preenchidas. Este passo é essencial para construir corretamente a requisição de criação do documento.
- Montar e enviar a requisição de criação: Com as informações das variáveis, você pode montar o corpo da requisição (POST) para gerar o documento.
A seguir estão os parâmetros necessários para este serviço, junto com exemplos e as possíveis respostas do sistema.
Autenticação
Inclua sua chave privada no cabeçalho Authorization.
Authorization: prk_xxx...
Parâmetros de criação
| Nome | Tipo | Descrição |
|---|---|---|
email | String obrigatório | E-mail do criador do processo. |
document | String obrigatório | ID do documento personalizado ou do modelo Auco. |
sign | Boolean obrigatório | Parâmetro que define se o processo será feito por assinatura digital e eletrônica. O padrão é false, caso em que o documento será enviado por e-mail para impressão. |
name | String obrigatório | Nome do processo de assinatura do documento, somente se o processo de anexo incluir a assinatura do documento. |
message | String condicional | Mensagem que será incluída no corpo do e-mail que notifica os signatários ou aprovadores do documento. Obrigatório quando algum participante é notificado por e-mail. |
subject | String condicional | Assunto com o qual o e-mail de notificação será enviado aos signatários ou aprovadores. Obrigatório quando algum participante é notificado por e-mail. |
folder | String condicional | Se você quiser salvar este processo em uma pasta específica, deve informar neste parâmetro o caminho dessa pasta. Observe que a pasta deve existir e pertencer ao criador do processo. |
remember | Number condicional | Parâmetro que habilita lembretes automáticos com o intervalo de tempo (em horas) entre cada notificação. |
expiredDate | Date opcional | Data de expiração do documento. Deve ser superior a 3 dias a partir da data de criação do processo e é enviada no formato JSON Date. |
camera | Boolean opcional | Este parâmetro indica se a validação por foto é obrigatória; o padrão é false. |
otpCode | Boolean opcional | Este parâmetro indica se a validação por código OTP é obrigatória; o padrão é false. |
options | Object opcional | Este parâmetro indica as especificações da validação de identidade. Saiba mais |
notification | Boolean opcional | Define se a Auco notifica os participantes assim que o processo é criado. O padrão é true. Aplica-se a todos os signatários, exceto aqueles que o modelo marca com notification próprio no signatureProfile. |
targetWebhooks | Array[String] opcional | Se você tem vários webhooks, pode enviar o nome do webhook para o qual deseja que as atualizações deste processo sejam notificadas. |
tags | Array[String] opcional | Se você quiser classificar os processos com tags, pode enviar os nomes das tags às quais relacionar o processo (elas devem existir). |
data | Array opcional | Este parâmetro envia todos os dados de que o modelo precisa para gerar o documento. |
data[x].key | String obrigatório | Nome do parâmetro registrado no modelo. |
data[x].value | String obrigatório | Valor atribuído ao parâmetro. |
readers | Array opcional | Este parâmetro é uma lista de objetos que define participantes que não fazem parte do processo de assinatura, mas que devem poder acompanhar cada fase dele. |
readers[x].name | String obrigatório | Nome do leitor. |
readers[x].email | String obrigatório | E-mail do leitor. |
🧪 Exemplos de uso
Você pode copiar qualquer um dos exemplos conforme a sua linguagem preferida.
- Lembre-se de que os e-mails e números de telefone entre os signatários não devem se repetir.
- Os leitores receberão notificações a cada atualização do processo de assinatura.
- Formato de data:
'DD/MM/YYYY' - Os números de telefone devem incluir o código do país, por exemplo:
+57, +1, +52...
Processo de assinatura básico
- curl
- Python
- Node.js
curl --location 'https://api.auco.ai/v1.5/ext/document/save' \
--header 'Authorization: prk_private_key_company' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "example@auco.ai",
"name": "PRUEBA 1",
"notification": false,
"data": [
{
"key": "name_customer",
"value": "Frimante 1"
},
{
"key": "document_type_customer",
"value": "cc"
},
{
"key": "cedula_customer",
"value": "1234156"
},
{
"key": "email_customer",
"value": "example@auco.ai"
},
{
"key": "phone_customer",
"value": "+573173654513"
}
],
"document": "64823dc5ce28a265e02d68f3",
"sign": true
}'
import requests
import json
url = "https://api.auco.ai/v1.5/ext/document/save"
payload = json.dumps({
"email": "example@auco.ai",
"name": "PRUEBA 1",
"notification": False,
"data": [
{
"key": "name_customer",
"value": "Frimante 1"
},
{
"key": "document_type_customer",
"value": "cc"
},
{
"key": "cedula_customer",
"value": "1234156"
},
{
"key": "email_customer",
"value": "example@auco.ai"
},
{
"key": "phone_customer",
"value": "+573173654513"
}
],
"document": "64823dc5ce28a265e02d68f3",
"sign": True
})
headers = {
'Authorization': 'prk_private_key_company',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
const axios = require('axios');
let data = JSON.stringify({
email: 'example@auco.ai',
name: 'PRUEBA 1',
notification: false,
data: [
{
key: 'name_customer',
value: 'Frimante 1',
},
{
key: 'document_type_customer',
value: 'cc',
},
{
key: 'cedula_customer',
value: '1234156',
},
{
key: 'email_customer',
value: 'example@auco.ai',
},
{
key: 'phone_customer',
value: '+573173654513',
},
],
document: '64823dc5ce28a265e02d68f3',
sign: true,
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.auco.ai/v1.5/ext/document/save',
headers: {
Authorization: 'prk_private_key_company',
'Content-Type': 'application/json',
},
data: data,
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
📥 Exemplos de resposta
Criação do processo
{
"document": "DOCUMENTCODE",
"signProfile": [
{
"id": "ZR",
"email": "example@auco.ai"
}
]
}
📋 Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
document | String | Código do processo criado. É o valor que os demais serviços recebem como code: GET /document, GET /document/roadmap e os outros. |
signProfile | Array<Object> | Opcional. Retornado quando algum participante não é notificado pela Auco. Traz um elemento por participante do processo; aqueles que a Auco notifica vêm sem id. |
signProfile[].id | String | Identificador do participante dentro do processo. É o valor que serviços como GET /whatsapp/records recebem como userId. |
signProfile[].email | String | E-mail do participante. |
signProfile só é retornado se algum participante não for notificadoO exemplo acima envia notification: false. Com esse valor, a Auco não notifica
os participantes, então a resposta os devolve com o seu id e você pode distribuir o processo
por conta própria. Um participante que o modelo marca com notification: true no seu signatureProfile
é notificado pela Auco e vem sem id. Com notification em true —o padrão—, a
resposta traz apenas document.
⚠️ Respostas de erro
| Código | Descrição |
|---|---|
| 400 | Parâmetros ausentes, ou algumas validações não cumprem as condições de aplicabilidade |
| 401 | Autenticação inválida ou ausente |