Saltar al contenido principal

🔵 Crear Proceso de Anexos

POST /attachments

Este servicio permite iniciar un proceso para solicitar anexos para firma o simplemente anexos sin firma. Cada anexo puede configurarse como obligatorio u opcional.

info

Si deseas incluir un proceso de firma, puedes enviar directamente un documento PDF en formato base64, si deseas que la firma y solicitud de anexos hagan parte de una plantilla, ten en cuenta que este flujo no puede configurarse directamente mediante el endpoint; debes realizar una solicitud a nuestro equipo de soporte.

info

Antes de integrar este endopint puede necesitar ver cómo definir posiciones de firma y configuraciones de validación de identidad.


Autenticación

Incluye tu llave privada en el encabezado Authorization.

Authorization: prk_xxx...

Parámetros de creación

NombreTipoRequeridoDescripción
emailStringRequeridoCorreo electrónico del creador del proceso.
documentStringCondicionalSi desea crear el proceso por medio de una plantilla, debe enviar el id de dicha plantilla en este campo. Para ver y obtener plantillas acceda esta documentación.
nameStringRequeridoNombre del proceso del documento a firmar, solo si el proceso de adjuntos incluye firma de documento.
packageNameStringRequeridoNombre con que será creada la carpeta contenedora de los archivos adjuntos y el documento a firmar (Si contiene).
messageStringRequeridoMensaje que llegará en el cuerpo del correo notificando a los firmantes u aprobadores del documento.
subjectStringRequeridoAsunto con el que será enviado el correo de notificación a los firmantes u aprobadores.
fileStringCondicionalEn caso de querer cargar el documento en la misma petición, en éste parámetro se envía el archivo PDF en Base64. (Sólo para archivos pequeños)
compressBooleanCondicionalSi el archivo PDF que se desea cargar es demasiado grande, se recomienda no enviar el parámetro file, en sulugar, se debe usar compress: true, de esta forma el servicio retorna una url firmada para cargar el archivo PDF en formato binario mediante una petición de tipo PUT.
folderStringCondicionalSi desea guardar este proceso en una carpeta específica, en este parámetro debe igresar el path de dicha carpeta, tenga en cuenta que la carpeta debe existir y pertenecer al creador del proceso.
rememberNumberCondicionalParámetro que habilita recordatorios automáticos con el lapso de tiempo (horas) entre cada notificación. Debe ser múltiplo de 3
expiredDateDateOpcionalFecha de expiración del documento. Esta debe ser mayor a 3 días de la fecha de creación del proceso y se envia en formato Date JSON.
cameraBooleanOpcionalEste parámetro indica si es obligatoria la validación con foto, por defecto va en false.
otpCodeBooleanOpcionalEste parámetro indica si es obligatorio la validación por código OTP, por defecto va en false.
optionsObjectOpcionalEn este parámetro se indican las especificaciones de la validación de identidad.
notificationBooleanOpcionalEste parámetro define si se va a anotificar a los participante suna vez creado el proceso, por defecto es true
signProfileArrayRequeridoEste campo es una lista de objetos, donde se encuentra la información de cada firmante o aprobador para su notificación y firma.
signProfile[x].nameStringRequeridonombre del usuario anexador.
signProfile[x].emailStringRequeridocorreo del usuario anexador.
signProfile[x].phoneStringRequeridonúmero de teléfono del usuario anexador.
signProfile[x].roleStringCondicionalEste parámetro define el role del participante, puede ser 'APPROVER' o 'SIGNER'.
signProfile[x].orderStringCondicionalEste parámetro define el orden en que se realizará el proceso de notificación para firma o aprobación.
signProfile[x].labelBooleanCondicionalParámetro que indica si se realizará el posicionamiento de firmas por medio de labels en el pdf.
signProfile[x].positionArrayCondicionalEn este parámetro se envían las posiciones de firma de este firmante en cada página. Las posiciones de firma pueden estar previamente cargadas en plantillas, obtenga mas informacion en .
signProfile[x].typeArrayCondicionalNombre con el que se identifica el tipo de firmante en caso de estar pre guardadas en una plantilla, por ejemplo: 'codeudor'.
signProfile[x].optionsObjectOpcionalPermite definir validaciones personalizadas para un firmante específico. Si se desea aplicar validaciones de forma individual por firmante, este parámetro acepta los mismos campos definidos en options a nivel global. Es posible combinar validaciones globales e individuales, aplicando las generales por defecto y las individuales donde se requiera un tratamiento particular.
signProfile[x].cameraBooleanOpcionalSi se desea tener validaciones individuales por firmante y se requiere validación con foto o video, se debe enviar este parametro en true por defecto es false.
signProfile[x].otpCodeBooleanOpcionalSi se desea tener validaciones individuales por firmante y se requiere validación con otp, se debe enviar este parametro en true por defecto es false.
signProfile[x].bothBooleanOpcionalSi se desea tener validaciones individuales por firmante y se requiere que el proceso de firma se pueda hacer por medio de WhatsApp y/o correo electrónico, se debe enviar este parámetro en true, por defecto es false.
signProfile[x].filesArrayRequeridoEn este parámetro se especifica la lista de archivos adjuntos que se le solicitará al firmante.
signProfile[x].files[x].nameStringRequeridoNombre del archivo adjunto.
signProfile[x].files[x].optionalBooleanOpcionalEn caso de ser opcional algún archivo adjunto es importante enviar este parámetro en true, por defecto es false.

🧪 Ejemplos de uso

tip

Puedes copiar cualquiera de los ejemplos según el lenguaje de tu preferencia.

Anexos opcionales con firma de documento (PDF Base64)

curl --location 'https://dev.auco.ai/v1.5/ext/package/upload' \
--header 'Authorization: prk_prk_tuLlavePrivada' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Contratación de prueba upload 1",
"email": "owner@auco.ai",
"message": "Cargar adjuntos de prueba",
"subject": "Solicitud de adjuntos",
"packageName": "Adjuntos api prueba",
"file": Base64,
"signProfile": [
{
"name": "Nombre Firmante 1",
"email": "example@auco.ai",
"phone": "+573000000000",
"position": [
{
"page": 1,
"x": 0.5854166461564629,
"y": 0.8034861200774693,
"w": 100,
"h": 50
}
],
"files": [
{
"name": "cedula de ciudadanía"
},
{
"name": "hoja de vida"
},
{
"name": "pasaporte",
"optional": true
}
]
}
],
}'

Anexos opcionales con firma de documento (PDF compress y validaciones individuales)

curl --location 'https://dev.auco.ai/v1.5/ext/package/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",
"packageName": "Adjuntos api prueba 2",
"signProfile": [
{
"type": "firmante1",
"name": "Nombre Firmante 1",
"email": "example @auco.ai",
"camera": true,
"otpCode": true,
"options": {
"camera": "identification",
"video": true,
"whatsapp": true,
"otpCode": "email"
},
"phone": "+573000000000",
"files": [
{
"name": "cedula de ciudadanía"
},
{
"name": "hoja de vida"
},
{
"name": "pasaporte",
"optional": true
}
]
},
{
"type": "firmante2",
"name": "Nombre Firmante 2",
"email": "example2@auco.ai",
"phone": "+573000000000",
"otpCode": true,
"options": {
"otpCode": "email"
},
"files": [
{
"name": "certificado"
}
]
}
],
"compress": true
}'

📥 Ejemplos de respuesta

🔹 Enviando PDF en Base64 en el atributo file

{
"package": "PROCESSID",
"code": "DOCUMENTCODE"
}

🔸 Enviando el atributo compress

info

La URL firmada proporcionada en la respuesta es de un solo uso y estará disponible únicamente durante 5 segundos. Debe utilizarse para cargar el documento PDF en formato binario mediante una solicitud HTTP PUT.

{
"package": "PROCESSID",
"code": "DOCUMENTCODE",
"url": "signed_url"
}

⚠️ Respuestas de error

CódigoDescripción
400Faltan parámetros, o alguna de las validaciones no coinciden con las condiciones de aplicabilidad
401Autenticación inválida o ausente