Cargue archivos CSV o Excel para usarlos como fuente de datos
csv, enumérelos y elimínelos, y descargue el
resultado de un process.
{DOMAIN} es el nombre de host de su propio
servidor DQE One Standalone — es autoalojado, por lo que
este valor depende de su implementación. {EMAIL}
es su usuario de DQE One y {API_TOKEN} el
token generado en My Account > API Token.
Conviene saber: cuando usted crea un process
csv, el archivo se clona y
el clon queda vinculado al process. Su carga original sigue
libre (puede eliminarla); el clon aparece en listFiles
con su process_id y no se puede eliminar mientras
el process exista.
Envíe una solicitud multipart/form-data mediante
POST con un campo llamado file.
Reglas: solo .csv, .xlsx
y .xls (la comprobación de la extensión distingue
entre mayúsculas y minúsculas, por lo que DATA.CSV
se rechaza). Los archivos Excel se convierten a CSV (solo
la primera hoja) pero conservan su nombre de Excel. Los encabezados
de columna deben ser únicos y
no deben contener espacios. El delimitador
y el carácter de comillas se detectan automáticamente. La
API no impone ningún límite de tamaño: el
archivo completo se lee en memoria, así que mantenga las
cargas dentro de un tamaño razonable.
POSThttps://{DOMAIN}/api/File/add
Ejemplos de código
Cargar un archivo
curl -u "{EMAIL}:{API_TOKEN}" -X POST \
-F "file=@contacts.csv" \
"https://{DOMAIN}/api/File/add"
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new
AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("{EMAIL}:{API_TOKEN}")));
using var request = new HttpRequestMessage(HttpMethod.Post,
"https://{DOMAIN}/api/File/add");
var form = new MultipartFormDataContent();
form.Add(new ByteArrayContent(File.ReadAllBytes("contacts.csv")),
"file", "contacts.csv");
request.Content = form;
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode + " "
+ await response.Content.ReadAsStringAsync());
Autenticación: HTTP Basic — su email de
DQE One y su API token (My Account > API Token).
Consulte el artículo de Introducción.
Respuesta
Archivo almacenado. Estado HTTP
201.
Clave
Descripción
Tipo
status
Valores: success
String
id
Integer
Ejemplo de respuesta
Respuesta de ejemplo
{
"status":
"success",
"id": 12
}
Errores
HTTP
Cuerpo / significado
400
API only accept .csv, .xlsx or .xls file.
401
Unauthorized
500
Failed to save file: No space in header fields name allowed.
Probar la API
Haga clic en el botón de abajo para probar este endpoint
en directo en su navegador.
Atención: esta consola envía una
solicitud real a su propio servidor desde
su navegador, con su API token real. Esto carga un archivo
real en su servidor.
Abrir consola
Listar archivos - DQE One Standalone API
Enumera los archivos que usted ha cargado, del más reciente
al más antiguo, incluidos los clones vinculados a processes.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new
AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("{EMAIL}:{API_TOKEN}")));
using var request = new HttpRequestMessage(HttpMethod.Get,
"https://{DOMAIN}/api/File/list");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode + " "
+ await response.Content.ReadAsStringAsync());
Envíe una solicitud GET con el processId.
La respuesta es un archivo, no JSON.
Qué obtiene: la clave primaria más los campos
que el process sincroniza — no el archivo de salida
completo. Todos los valores van entrecomillados, en UTF-8
y con el delimitador original. El nombre de archivo sugerido
termina en .csv.csv (una peculiaridad conocida;
puede renombrarlo libremente). Si el process
nunca se ha ejecutado, o su último run aún
no tiene archivo de salida (sigue en ejecución o ha fallado),
el servidor responde con un HTTP 500 sin formato
en lugar de un error JSON. Compruebe antes el estado del
run (Runs & results).
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new
AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("{EMAIL}:{API_TOKEN}")));
using var request = new HttpRequestMessage(HttpMethod.Get,
"https://{DOMAIN}/api/File/get?processId=42");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode + " "
+ await response.Content.ReadAsStringAsync());
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new
AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("{EMAIL}:{API_TOKEN}")));
using var request = new HttpRequestMessage(HttpMethod.Delete,
"https://{DOMAIN}/api/File/delete?id=12");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode + " "
+ await response.Content.ReadAsStringAsync());
Autenticación: HTTP Basic — su email de
DQE One y su API token (My Account > API Token).
Consulte el artículo de Introducción.
Respuesta
Eliminado. Estado HTTP 200.
Clave
Descripción
Tipo
status
Valores: success
String
Ejemplo de respuesta
Respuesta de ejemplo
{
"status":
"success"
}
Errores
HTTP
Cuerpo / significado
400
File ID is required
401
Unauthorized
404
File not found
423
File is associated with a process and cannot be deleted
Probar la API
Haga clic en el botón de abajo para probar este endpoint
en directo en su navegador.
Atención: esta consola envía una
solicitud real a su propio servidor desde
su navegador, con su API token real. Esto
elimina de forma permanente el archivo.