17. Saltar a contenido

17. Flujo de integración: Legajos

Este flujo de integración permite la creación de legajos digital en Trak.e a partir de los sistemas del cliente. En general esta integración se hace desde el onboarding. Trak.e permite ir generando un legajo parcial y luego ir completando la información del mismo a medida que se recolecta más información del usuario final. En algunos casos esto se realiza sincronizando algún CRM o sistema CORE del cliente a fin de día o en forma periódica. Ambos esquemas son válidos y soportado por Trak.e.

Es fundamental tener en cuenta que la información del legajo debería mantenerse sincronizada entre Trak.e y el o los sistemas que alimentan Trak.e. Por ejemplo, si un usuario cambia su dirección, actividad económica o actualiza documentación. Lo mismo si en Trak.e se lo inhabilita total o parcialmente por una alerta. Para esta segunda parte, Trak.e provee un esquema de notificaciones basado en callbacks.

 Flujo de integración: Legajos

17.1 Ejemplo de integración

17.1.1 Paso 1: Crear un cabinet/folder para los documentos del legajo

Para crear un cabinet se hace uso del servicio de cabinets. El único dato requerido es un nombre para el cabinet, que puede ser un string arbitrario - poco importante. Por ejemplo, la siguiente request da de alta el cabinet:

curl --request POST \
  --url https://api-dev.trake.io/doc/cabinet \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "name":"docs_dp_2039499639"
}'

17.1.2 Paso 2: Crear un legajo

Para crear un legajo, los datos mínimos que se necesitan son nombre, CUIT, y tipo de persona. Es recomendable tambien incluir el id del cabinet donde se alojaran los documentos del legajo. Por ejemplo, el siguiente cURL permite crear un legajo de persona juridica:

curl --request POST \
  --url https://api-dev.trake.io/dprofile/profile \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Treviño S.A.",
  "tax_payer_id": "30993334444",
  "person_type": "legal_person",
  "documents": [
    "64dbbe98119dd4ef7da9908d"
  ]
}'

y el siguiente permite crear un legajo de persona física:

curl --request POST \
  --url https://api-dev.trake.io/dprofile/profile \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Nicolas Jesus Martinez",
  "tax_payer_id": "20394995675",
  "person_type": "natural_person",
  "documents": [
    "64dbbe98119dd4ef7da9908d"
  ]
}'

17.1.3 Paso 3: Crear un documento

Para crear un documento en un cabinet, hacemos uso del servicio de alta de documento. El id del cabinet al que queremos agregar al documento se pasa como path parameter. Los datos que debemos pasar son un nombre para el documento y en el campo 'ref' debemos referenciar el id del legajo que corresponda. Por ejemplo:

curl --request POST \
  --url https://api-dev.trake.io/doc/cabinet/64dbbe98119dd4ef7da9908d/document \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "name" : "balance 2023",
    "ref": "64dbbe98119dd4ef7da9908d"
}'

17.1.4 Paso 4: Subir archivos al documento

Para subir archivos al documento, se suben utilizando el servicio de subida de archivos. Los archivos se suben mediante una request HTTP con body multipart/form-data con una key "files" a la que se asocian los documentos. Por ejemplo:

curl --request PUT \
  --url https://api-dev.trake.io/doc/document/64dbc020119dd4ef7da9908e/files \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: multipart/form-data' \
  --form 'files=@/tmp/foo.png'

Repetir los pasos 3 y 4 como sea necesario hasta subir todos los documentos y archivos necesarios.

17.2 Servicios relacionados: