Saltearse al contenido

Importación de datos

La Importación de Datos permite ingresar datos externos en DatAscend mediante la carga de archivos (Excel/CSV) a través de una API REST. Esto es útil para la carga masiva de datos, migraciones desde otros sistemas o integración con fuentes de datos externas. La API proporciona endpoints para iniciar trabajos de importación, rastrear su progreso y gestionar errores de validación.

Estructura de una solicitud de Importación de Datos

Sección titulada «Estructura de una solicitud de Importación de Datos»
CampoTipoDescripciónRequerido
AuthorizationstringToken Bearer para autenticación.
Content-TypestringDebe ser multipart/form-data.
domainstringDominio de destino para los registros.
CampoTipoDescripciónRequerido
versionstringVersión actual de la aplicación.
entitystringNombre o ID de la entidad a importar.

Endpoints para gestionar la Importación de Datos

Sección titulada «Endpoints para gestionar la Importación de Datos»

Crear una importación de datos desde un archivo

Sección titulada «Crear una importación de datos desde un archivo»

Sigue el formato multipart/form-data con los siguientes campos:

CampoTipoRequeridoDescripción
typestringEl tipo de archivo, puede ser csv o xlsx
filestring($binary)El archivo a cargar, enviado como datos binarios
mappingobjectMapa de índices de columnas (comenzando en 1) a nombres de propiedad de la entidad
localestringNoConfiguración regional del usuario para analizar fechas
timezoneOffsetnumberNoDesfase horario en minutos respecto a UTC
POST /api/v1/entities/:entity/import

Ejemplo de respuesta:

{
"status": 200,
"error": false,
"message": "string",
"errors": [
{}
],
"data": {
// Identificadores únicos para el trabajo de importación
"id": "A0123456-7890-ABCD-EF00-00000000000",
"entity": "E0123456-7890-ABCD-EF00-00000000000",
// Estado del trabajo de importación.
"duration": "10 seconds",
"status": "QUEUED",
"type": "IMPORT",
"progress": 100,
"payload": {},
"output": {},
// Tiempos del ciclo de vida del trabajo.
"jobEnd": "2020-01-01T00:00:10.000Z",
"jobStart": "2020-01-01T00:00:00.000Z",
"createdAt": "2022-01-01T00:00:00.000Z",
"updatedAt": "2022-01-01T00:00:00.000Z",
"lastHeartbeat": "2022-01-01T00:00:05.000Z"
},
"pagination": { <Paginación> }
}
  • La importación se procesa de forma asíncrona; utilice el endpoint de estado de trabajos en segundo plano /api/v1/job/:id para verificar el progreso.
  • Al completarse exitosamente, el jobStatus puede pasar a completed, con valores de importedCount y failedCount.
  • Los errores de validación y las filas fallidas se reportan en los detalles del trabajo.

Este endpoint permite recuperar el estado y los detalles de un trabajo de importación específico.

GET /api/v1/job/{id}
NombreTipoDescripciónRequerido
idstringEl valor del ID del trabajo (por ejemplo, 24a55348-e5c9-48b7-b377-07db2f1df368)

Devuelve un objeto Job con detalles sobre el proceso de importación.

Ejemplo de respuesta:

{
"errors": [],
"status": 200,
"error": false,
"message": "string",
"data": {
"id": "132e4567-e89b-12d3-a456-426614174000",
"entity": "132e4567-e89b-12d3-a456-426614174000",
"duration": "10 seconds",
"status": "QUEUED",
"type": "IMPORT",
"progress": 100,
"payload": {},
"output": {},
"jobEnd": "2022-01-05T16:27:16.560Z",
"jobStart": "2022-01-05T16:27:16.560Z",
"createdAt": "2022-01-05T16:27:16.560Z",
"updatedAt": "2022-01-05T16:27:16.560Z",
"lastHeartbeat": "2022-01-05T16:27:16.560Z"
}
}