Cree, consulte y elimine las conexiones que DQE One Standalone
utiliza para acceder a sus datos: Salesforce, Microsoft Dynamics
365, PostgreSQL, Snowflake, BigQuery y SFTP.
{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.
Secretos: la API nunca devuelve una contraseña,
clave ni token. getCredential solo expone el
nombre de usuario. Crear un credential envía secretos por
la red: utilice siempre HTTPS y evite pegar secretos reales
en herramientas compartidas.
Crea una conexión. Para la mayoría de los tipos, DQE One
prueba primero la conexión, de modo que
un credential que no puede conectarse nunca se guarda.
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());
Nombre de usuario de Salesforce (flujo JWT bearer).
String
Obligatorio
endpoint
URL de la instancia, p. ej. https://acme.my.salesforce.com.
Se elimina una '/' final.
String
Obligatorio
client_id
Consumer key de la connected app.
String
Obligatorio
pvt
Clave privada PEM correspondiente al certificado
de la connected app.
String
Obligatorio
Autenticación: HTTP Basic — su email de
DQE One y su API token (My Account > API Token).
Consulte el artículo de Introducción.
Claves obligatorias, según type
type
Claves obligatorias
Notas
salesforce
login, endpoint,
client_id, pvt
Flujo JWT bearer: endpoint es la
URL de la instancia (se elimina una /
final), pvt la clave privada PEM
del certificado de la connected app.
dynamics
client_id, client_secret,
scope, tenant
Requiere un inicio de sesión OAuth en el navegador
— responde pending (véase más abajo).
snowflake
endpoint, client_id,
client_secret
Requiere un inicio de sesión OAuth en el navegador
— responde pending. Actualmente
los processes sobre Snowflake fallan en la validación.
postgres
endpoint, port, login,
password, database
endpoint es el nombre de host.
sftp
endpoint, port, login,
password
pvt opcional = clave privada;
password es entonces la frase de
contraseña de la clave. El host debe figurar
en la lista AUTHORIZED_SFTP_HOSTS
del servidor (coincidencia exacta).
bigquery
login, email, id,
key_id, pvt
Cuenta de servicio: login = client
id, email = client email, id
= id del proyecto, key_id y pvt
= id de la clave privada y clave.
Dynamics y Snowflake: la respuesta pending
Estos dos tipos requieren un inicio de sesión OAuth en un
navegador. La API almacena su configuración durante
5 minutos y responde HTTP 201 con
{"status":"pending","url":"https://{DOMAIN}/login/?token=..."}.
Una persona debe abrir esa URL e iniciar sesión;
no existe ninguna llamada a la API para finalizarlo.
Consulte listCredentials periódicamente hasta
que aparezca el credential.
Acerca de name
Se acepta una clave name, pero se
ignora: la etiqueta se deriva de la conexión
— en Salesforce “<org name> (<org id>)”, en PostgreSQL
y SFTP el host, en BigQuery el id del proyecto.
Respuesta
Creado (u OAuth pendiente). Estado HTTP
201.
Clave
Descripción
Tipo
status
Valores: success
String
id
Integer
Ejemplo de respuesta
Respuesta de ejemplo
{
"status":
"success",
"id": 3
}
Errores
HTTP
Cuerpo / significado
400
Keys endpoint,port need to be set for type postgres
401
Unauthorized
500
Failed to create credentials.
Una prueba de conexión fallida (contraseña incorrecta, host
inaccesible o no autorizado, clave no válida) se notifica
siempre con el mismo mensaje genérico
Failed to create credentials. (HTTP 500). Compruebe
el host, el puerto y los secretos y, para SFTP, que el host
esté permitido en el servidor.
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. Crear un credential
prueba una conexión real con su fuente de
datos.
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());
Prueba en directo en cada llamada:status se calcula conectándose realmente a la
fuente de datos cada vez (valid si se conecta,
expired en caso contrario), por lo que esta
llamada puede ser lenta. login es el nombre
de usuario descifrado; en los tipos que no tienen login es
el 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());
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
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
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 credential.