Erstellen, prüfen und löschen Sie die Verbindungen, über
die DQE One Standalone auf Ihre Daten zugreift: Salesforce,
Microsoft Dynamics 365, PostgreSQL, Snowflake, BigQuery und
SFTP.
{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.
Geheimnisse: Die API gibt niemals ein Passwort,
einen Schlüssel oder einen Token zurück. getCredential
zeigt nur den Login an. Beim Erstellen eines Credentials
werden Geheimnisse übertragen: Verwenden Sie immer HTTPS
und vermeiden Sie es, echte Geheimnisse in gemeinsam genutzte
Tools einzufügen.
Erstellt eine Verbindung. Bei den meisten Typen
testet DQE One zuerst die Verbindung, sodass
ein Credential, das keine Verbindung herstellen kann, nie
gespeichert wird.
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/Cred/create");
request.Content = new StringContent("{\"type\":\"postgres\",\"endpoint\":\"db.acme.com\",\"port\":5432,\"login\":\"dqe\",\"password\":\"s3cret\",\"database\":\"crm\"}",
Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode + " "
+ await response.Content.ReadAsStringAsync());
Instanz-URL, z. B. https://acme.my.salesforce.com.
Ein abschließendes '/' wird entfernt.
String
Pflicht
client_id
Consumer Key der Connected App.
String
Pflicht
pvt
Privater PEM-Schlüssel, der zum Zertifikat der
Connected App passt.
String
Pflicht
Authentifizierung: HTTP Basic — Ihre DQE
One E-Mail-Adresse und Ihr API token (My Account > API Token).
Siehe den Artikel Introduction.
Erforderliche Schlüssel pro type
type
Erforderliche Schlüssel
Hinweise
salesforce
login, endpoint,
client_id, pvt
JWT-Bearer-Flow: endpoint ist die
Instanz-URL (ein abschließendes /
wird entfernt), pvt der private
PEM-Schlüssel des Zertifikats der Connected App.
dynamics
client_id, client_secret,
scope, tenant
Erfordert eine OAuth-Anmeldung im Browser — antwortet
mit pending (siehe unten).
snowflake
endpoint, client_id,
client_secret
Erfordert eine OAuth-Anmeldung im Browser — antwortet
mit pending. Processes auf Snowflake
scheitern derzeit an der Validierung.
postgres
endpoint, port, login,
password, database
endpoint ist der Hostname.
sftp
endpoint, port, login,
password
Optional pvt = privater Schlüssel;
password ist dann die Passphrase
des Schlüssels. Der Host muss in der Liste
AUTHORIZED_SFTP_HOSTS des Servers
stehen (exakte Übereinstimmung).
bigquery
login, email, id,
key_id, pvt
Service-Konto: login = Client-ID,
email = Client-E-Mail, id
= Projekt-ID, key_id und pvt
= ID und Inhalt des privaten Schlüssels.
Dynamics und Snowflake: die pending-Antwort
Diese beiden Typen erfordern eine OAuth-Anmeldung in einem
Browser. Die API speichert Ihre Einstellungen für
5 Minuten und antwortet mit HTTP 201 und
{"status":"pending","url":"https://{DOMAIN}/login/?token=..."}.
Eine Person muss diese URL öffnen und sich anmelden;
es gibt keinen API-Aufruf, um den Vorgang abzuschließen.
Fragen Sie listCredentials regelmäßig ab, bis
das Credential erscheint.
Zu name
Ein Schlüssel name wird akzeptiert, aber
ignoriert: Die Bezeichnung wird aus der
Verbindung abgeleitet — bei Salesforce “<org name>
(<org id>)”, bei PostgreSQL und SFTP der Host, bei
BigQuery die Projekt-ID.
Keys endpoint,port need to be set for type postgres
401
Unauthorized
500
Failed to create credentials.
Ein fehlgeschlagener Verbindungstest (falsches Passwort,
nicht erreichbarer oder nicht autorisierter Host, ungültiger
Schlüssel) wird immer mit derselben generischen Meldung
Failed to create credentials. (HTTP 500) gemeldet.
Prüfen Sie Host, Port und Geheimnisse und bei SFTP, ob der
Host auf dem Server zugelassen ist.
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. Das Erstellen eines Credentials
testet eine echte Verbindung zu Ihrer Datenquelle.
Konsole öffnen
Credentials auflisten - DQE One Standalone API
Listet die ID und die Bezeichnung Ihrer Credentials auf.
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/Cred/list");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode + " "
+ await response.Content.ReadAsStringAsync());
Senden Sie eine GET-Anfrage mit der Credential-ID.
Live-Test bei jedem Aufruf:status
wird jedes Mal berechnet, indem tatsächlich eine Verbindung
zur Datenquelle hergestellt wird (valid, wenn
die Verbindung gelingt, sonst expired); dieser
Aufruf kann daher langsam sein. login ist der
entschlüsselte Login; bei Typen ohne Login ist es die
client_id.
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/Cred/get?id=3");
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/Cred/delete?id=3");
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
No id found.
401
Unauthorized
404
Credential not found
423
Credential is used in one or more processes and cannot be deleted
500
Failed to delete the Credential
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 das Credential
endgültig gelöscht.