Laden Sie CSV- oder Excel-Dateien hoch, um sie als csv-Datenquelle
zu verwenden, listen und löschen Sie sie und laden Sie das
Ergebnis eines Process herunter.
{DOMAIN} ist der Hostname Ihres eigenen
DQE One Standalone Servers — er wird selbst gehostet, daher
hängt dieser Wert von Ihrer Bereitstellung ab.
{EMAIL} ist Ihr DQE One Login und
{API_TOKEN} der Token, der unter
My Account > API Token generiert wird.
Gut zu wissen: Wenn Sie einen csv-Process
erstellen, wird die Datei geklont und der
Klon mit dem Process verknüpft. Ihr ursprünglicher Upload
bleibt frei (Sie können ihn löschen); der Klon erscheint
in listFiles mit seiner process_id
und kann nicht gelöscht werden, solange der Process existiert.
Senden Sie einen multipart/form-data-POST
mit einem Feld namens file.
Regeln: nur .csv, .xlsx
und .xls (die Prüfung der Dateiendung unterscheidet
zwischen Groß- und Kleinschreibung, daher wird DATA.CSV
abgelehnt). Excel-Dateien werden in CSV umgewandelt (nur
das erste Blatt), behalten aber ihren Excel-Namen. Spaltenüberschriften
müssen eindeutig sein und dürfen
keine Leerzeichen enthalten. Trennzeichen
und Anführungszeichen werden automatisch erkannt. Die API
erzwingt keine Größenbeschränkung: Die gesamte
Datei wird in den Arbeitsspeicher gelesen, halten Sie Uploads
daher in einem vernünftigen Rahmen.
POSThttps://{DOMAIN}/api/File/add
Codebeispiele
Datei hochladen
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());
Authentifizierung: HTTP Basic — Ihre DQE
One E-Mail-Adresse und Ihr API token (My Account > API Token).
Siehe den Artikel Introduction.
Antwort
Datei gespeichert. HTTP-Status
201.
Schlüssel
Beschreibung
Typ
status
Werte: success
String
id
Integer
Antwortbeispiel
Beispielantwort
{
"status":
"success",
"id": 12
}
Fehler
HTTP
Body / Bedeutung
400
API only accept .csv, .xlsx or .xls file.
401
Unauthorized
500
Failed to save file: No space in header fields name allowed.
API testen
Klicken Sie auf die Schaltfläche unten, um diesen Endpoint
live in Ihrem Browser zu testen.
Hinweis: Diese Konsole sendet aus Ihrem
Browser eine echte Anfrage an Ihren eigenen Server,
mit Ihrem echten API token. Dadurch wird eine echte Datei
auf Ihren Server hochgeladen.
Konsole öffnen
Dateien auflisten - DQE One Standalone API
Listet die von Ihnen hochgeladenen Dateien auf, die neuesten
zuerst, einschließlich der mit Processes verknüpften Klone.
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());
Senden Sie eine GET-Anfrage mit der
processId. Die Antwort ist eine Datei, kein
JSON.
Was Sie erhalten: den Primärschlüssel plus
die Felder, die der Process synchronisiert — nicht
die vollständige Ausgabedatei. Alle Werte sind in Anführungszeichen
gesetzt, UTF-8, mit dem ursprünglichen Trennzeichen. Der
vorgeschlagene Dateiname endet auf .csv.csv
(eine bekannte Eigenheit; benennen Sie die Datei einfach
um). Wenn der Process nie ausgeführt wurde
oder sein letzter Run noch keine Ausgabedatei hat (läuft
noch oder ist fehlgeschlagen), antwortet der Server mit einem
unformatierten HTTP 500 statt mit einem
JSON-Fehler. Prüfen Sie daher zuerst den Run-Status (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());
Senden Sie eine DELETE-Anfrage mit der Datei-ID.
Eine nicht numerische ID führt zu einem unformatierten HTTP
500, validieren Sie sie daher auf Ihrer Seite.
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());
Authentifizierung: HTTP Basic — Ihre DQE
One E-Mail-Adresse und Ihr API token (My Account > API Token).
Siehe den Artikel Introduction.
Antwort
Gelöscht. HTTP-Status 200.
Schlüssel
Beschreibung
Typ
status
Werte: success
String
Antwortbeispiel
Beispielantwort
{
"status":
"success"
}
Fehler
HTTP
Body / Bedeutung
400
File ID is required
401
Unauthorized
404
File not found
423
File is associated with a process and cannot be deleted
API testen
Klicken Sie auf die Schaltfläche unten, um diesen Endpoint
live in Ihrem Browser zu testen.
Hinweis: Diese Konsole sendet aus Ihrem
Browser eine echte Anfrage an Ihren eigenen Server,
mit Ihrem echten API token. Dadurch wird die Datei
endgültig gelöscht.