Saltar al contenido principal

Previsualizar el último archivo de una lista

GET/v1/lists/{id}/preview

Para desarrolladores

Descripción​

Devuelve las primeras líneas del último archivo subido a la lista, separadas en columnas, y el campo del catálogo que se propone para cada columna. Sirve para declarar las columnas con PUT /v1/lists/{id}/fields.

Las filas se separan con el mismo separador con el que se importa el archivo, así que cada columna ocupa aquí la posición que tendrá en la importación.

Autenticación​

Authorizationbearer tokenheaderobligatorio
API key con scope list:read. Formato: Bearer <API_KEY>.
X-Instance-Slugstringheaderobligatorio
Identificador de su instancia. Ver Autenticación.

Request​

Path params:

idintegerobligatorio
Identificador de la lista.

Response​

200 OKDevuelve un objeto con los campos que siguen.
import_idintegersiempre presente
Importación cuyo archivo dio la vista previa: la última que se subió.
encodingstringsiempre presente
Codificación detectada en las primeras líneas, con la que se decodificó la vista previa. La importación la vuelve a decidir sobre el archivo completo.
delimiterstringsiempre presente
Separador de columnas: el indicado al subir el archivo o el detectado.
rowsstring[][]siempre presente
Hasta 10 líneas del archivo, cada una separada en columnas. Las líneas vacías se omiten.
columnsobject[]siempre presente
Una por columna de la cabecera, con la propuesta para ella.
positionintegersiempre presente
Posición de la columna, contando desde 1: el csv_pos con que se declara.
headerstringsiempre presente
La cabecera de la columna, tal como viene en el archivo.
field_idinteger | nullsiempre presente
Campo activo del catálogo que coincide con la cabecera.
suggested_fieldobject | nullsiempre presente
Campo nuevo para una columna que no coincide con ninguno: name, field_key y type, listos para POST /v1/fields.

Errores​

CódigoCuándo
404La lista no existe (list_not_found), o todavía no se le ha subido ningún archivo (list_preview_not_found).
Notas
  • Cómo se propone el campo de una columna. Una cabecera coincide con un campo activo cuando es su field_key escrito de otra forma (Correo-E coincide con CORREO_E) o su nombre sin distinguir mayúsculas ni tildes (telefono coincide con Teléfono). No hay coincidencias aproximadas. Un campo se propone para una sola columna.
  • Una columna sin campo y sin sugerencia (field_id y suggested_field en null) se propone omitida: no tiene cabecera, repite la de otra columna, o coincide con un campo desactivado. Una columna que no se declara no se importa.
  • Para aplicar la propuesta: cree los campos sugeridos con POST /v1/fields y declare las columnas con su position como csv_pos.
  • La propuesta se calcula con el catálogo de cada consulta: un campo creado después aparece en la siguiente.
  • La vista previa es la del último archivo subido, aunque su importación haya fallado o siga en curso.
  • La primera fila de rows es la cabecera del archivo.
  • Si el archivo vino comprimido, la vista previa es la de su contenido descomprimido.
Request
curl -X GET "https://$API_HOST/v1/lists/12/preview" \
-H "Authorization: Bearer $API_KEY" \
-H "X-Instance-Slug: $SLUG"
Response
{
"import_id": 17,
"encoding": "cp1252",
"delimiter": ";",
"rows": [
[
"email",
"nombre",
"comuna"
],
[
"ana@example.com",
"Ana Muñoz",
"Ñuñoa"
]
],
"columns": [
{
"position": 1,
"header": "email",
"field_id": 1,
"suggested_field": null
},
{
"position": 2,
"header": "nombre",
"field_id": 3,
"suggested_field": null
},
{
"position": 3,
"header": "comuna",
"field_id": null,
"suggested_field": {
"name": "comuna",
"field_key": "COMUNA",
"type": "text"
}
}
]
}