Pular para o conteúdo principal

Envio de documento

POST/document/uploadchave privadaprk_

Este serviço permite iniciar um processo para solicitar anexos com assinatura ou apenas anexos sem assinatura. Cada anexo pode ser configurado como obrigatório ou opcional.

info

Se você quiser incluir um processo de assinatura, pode enviar diretamente um documento PDF em formato base64. Se quiser que a solicitação de assinatura e anexos faça parte de um modelo, observe que esse fluxo não pode ser configurado diretamente pelo endpoint; você deve solicitar suporte à nossa equipe.

info

Antes de integrar este endpoint, você pode consultar como definir as posições de assinatura e as configurações de validação de identidade.


Autenticação​

Inclua sua chave privada no cabeçalho Authorization.

Authorization: prk_xxx...

Parâmetros de criação​

NomeTipoDescrição
emailString obrigatórioEndereço de e-mail do criador do processo.
codeString opcionalCódigo de um documento previamente colocado em edição. Enviá-lo sobrescreve esse processo em vez de criar um novo, mantendo o código dele. Reenvie o payload completo: o que você omitir será removido. Saiba mais
documentString condicionalSe você quiser criar o processo a partir de um modelo, deve enviar o ID do modelo neste campo. Para visualizar e obter modelos, acesse esta documentação.
nameString obrigatórioNome do processo de assinatura do documento, somente se o processo de anexos incluir a assinatura do documento.
messageString condicionalMensagem que será incluída no corpo do e-mail que notifica os signatários ou aprovadores do documento. Obrigatório quando algum participante for notificado por e-mail.
subjectString condicionalAssunto do e-mail de notificação enviado aos signatários ou aprovadores. Obrigatório quando algum participante for notificado por e-mail.
fileString condicionalSe você quiser enviar o documento na mesma requisição, envie o arquivo PDF em Base64 neste parâmetro. (Somente para arquivos pequenos)
compressBoolean condicionalSe o arquivo PDF a ser enviado for muito grande, recomenda-se não enviar o parâmetro file; use compress: true. Assim, o serviço retorna uma URL assinada para enviar o arquivo PDF em formato binário por meio de uma requisição PUT.
folderString condicionalSe você quiser salvar este processo em uma pasta específica, informe o caminho dessa pasta neste parâmetro. Observe que a pasta deve existir e pertencer ao criador do processo.
rememberNumber condicionalParâmetro que ativa lembretes automáticos com o intervalo de tempo (em horas) entre cada notificação.
expiredDateDate opcionalData de expiração do documento. Deve ser superior a 3 dias após a data de criação do processo e é enviada no formato Date do JSON.
cameraBoolean opcionalEste parâmetro indica se a validação por foto é exigida. O padrão é false.
otpCodeBoolean opcionalEste parâmetro indica se a validação por código OTP é exigida. O padrão é false.
optionsObject opcionalEste parâmetro especifica as configurações de validação de identidade. Saiba mais
notificationBoolean opcionalDefine se a Auco notifica os participantes assim que o processo é criado. O padrão é true. É o valor padrão para todos os signatários; cada um pode substituí-lo com signProfile[x].notification.
targetWebhooksArray[String] opcionalSe você tiver vários webhooks, pode enviar o nome do webhook para o qual deseja que as atualizações deste processo sejam notificadas.
tagsArray[String] opcionalSe você quiser classificar processos com tags, pode enviar os nomes das tags às quais relacionar o processo (elas devem existir).
customObject opcionalObjeto livre para enviar parâmetros definidos pelo integrador (por exemplo, identificadores internos ou metadados). A Auco o armazena como está e o repassa nas notificações de webhook e na resposta de GET /document, sem interpretar nem validar seu conteúdo.
readersArray opcionalEste parâmetro é uma lista de objetos que define participantes que não fazem parte do processo de assinatura, mas devem poder acompanhar cada fase dele.
readers[x].nameString obrigatórioNome do leitor.
readers[x].emailString obrigatórioE-mail do leitor.
signProfileArray obrigatórioEste campo é uma lista de objetos com as informações de cada signatário ou aprovador para sua notificação e assinatura.
signProfile[x].nameString obrigatórioNome do signatário.
signProfile[x].emailString obrigatórioE-mail do signatário.
signProfile[x].phoneString obrigatórioNúmero de telefone do signatário.
signProfile[x].roleString condicionalEste parâmetro define o papel do participante; pode ser 'APPROVER' ou 'SIGNER'.
signProfile[x].orderString condicionalEste parâmetro define a ordem em que ocorrerá o processo de notificação para assinatura ou aprovação.
signProfile[x].labelBoolean(true) | String condicionalParâmetro que indica se o posicionamento das assinaturas será feito por meio de tags no PDF.
signProfile[x].positionArray condicionalNeste parâmetro são enviadas as posições de assinatura deste signatário em cada página. As posições de assinatura podem ser pré-carregadas em modelos. Obtenha mais informações na documentação.
signProfile[x].typeString condicionalNome usado para identificar o tipo de signatário, se pré-salvo em um modelo, por exemplo 'co-signer'.
signProfile[x].optionsObject opcionalPermite definir validações personalizadas para um signatário específico. Se você quiser aplicar validações individualmente por signatário, saiba mais.
signProfile[x].cameraBoolean opcionalSe você quiser validações individuais por signatário e exigir validação por foto, envie este parâmetro como true. O padrão é false.
signProfile[x].otpCodeBoolean opcionalSe você quiser validações individuais por signatário e exigir validação por código OTP, envie este parâmetro como true. O padrão é false.
signProfile[x].notificationBoolean opcionalSubstitui o notification global para este signatário, nos dois sentidos: false o silencia mesmo que o global seja true, e true faz a Auco notificá-lo mesmo que o global seja false. Signatários silenciados recebem um id na resposta.

🧪 Exemplos de uso​

dica

Você pode copiar qualquer um dos exemplos de acordo com a linguagem de sua preferência.

  • Lembre-se de que os endereços de e-mail e números de telefone dos signatários não devem se repetir.
  • Os leitores receberão notificações a cada atualização do processo de assinatura.

Processo de assinatura com lembretes automáticos (PDF Base64)​

Neste caso, os lembretes serão enviados a cada 3 horas.

curl --location 'https://api.auco.ai/v1.5/ext/document/upload' \
--header 'Authorization: prk_private_key_company' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Documento de prueba",
"subject": "prueba auco",
"message": "prueba auco",
"remember": 3,
"email": "example@auco.ai",
"signProfile": [
{
"name": "Jhon Firma",
"email": "example@auco.ai",
"label": true
}
],
"readers":[{"email":"example2@auco.ai", "name":"Frimante 1"}],
"file": Base64
}'

Assinatura de documento com validações individuais (compress - PDF binário)​

curl --location 'https://api.auco.ai/v1.5/ext/document/upload' \
--header 'Authorization: prk_private_key_company' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Prueba de Anexos Compress y validaciones individuales",
"email": "owner@auco.ai",
"message": "Cargar adjuntos de prueba",
"subject": "Solicitud de adjuntos",
"signProfile": [
{
"type": "firmante1",
"name": "Nombre Firmante 1",
"email": "example @auco.ai",
"camera": true,
"otpCode": true,
"options": {
"camera": "identification",
"whatsapp": true,
"otpCode": "email"
},
"phone": "+573000000000",
},
{
"type": "firmante2",
"name": "Nombre Firmante 2",
"email": "example2@auco.ai",
"phone": "+573000000000",
"otpCode": true,
"options": {
"otpCode": "email"
},
}
],
"compress": true
}'

📥 Exemplos de resposta​

🔹 Modo normal (sem compress ou com compress: false)​

{
"document": "ABCDEF1234"
}
CampoTipoDescrição
documentStringCódigo único do documento criado.

🔸 Modo compress (compress: true)​

info

A URL pré-assinada fornecida na resposta é de uso único e ficará disponível por apenas 300 segundos (5 minutos). Ela deve ser usada para enviar o documento PDF em formato binário por meio de uma requisição HTTP PUT.

{
"document": "ABCDEF1234",
"url": "https://s3.amazonaws.com/...signed-url..."
}
CampoTipoDescrição
documentStringCódigo único do documento criado.
urlStringURL S3 pré-assinada para enviar o PDF (expira em 300 s).

🔹 Signatários que a Auco não notifica​

A resposta inclui signProfile quando algum signatário é silenciado, isto é, quando o notification efetivo dele é false: o próprio, se ele tiver um, ou, caso contrário, o global. Todo signatário silenciado traz um id que o integrador usa para levá-lo a assinar por conta própria. Os signatários que a Auco notifica aparecem sem id: o acesso deles é gerado quando são notificados.

{
"document": "ABCDEF1234",
"signProfile": [
{
"id": "abc123",
"name": "Juan",
"email": "juan@email.com",
"phone": "+57300..."
}
]
}
CampoTipoDescrição
documentStringCódigo único do documento criado.
signProfileArrayLista de signatários do processo.
signProfile[x].idStringIdentificador único do signatário.
signProfile[x].nameStringNome do signatário.
signProfile[x].emailStringEndereço de e-mail do signatário.
signProfile[x].phoneStringNúmero de telefone do signatário.
dica

Este campo também é incluído no modo compress, junto com a url.


⚠️ Respostas de erro​

CódigoDescrição
400Parâmetros ausentes, ou algumas validações não atendem às condições de aplicabilidade
401Autenticação inválida ou ausente