Conoce paso a paso como integrar Trackline con Microsoft Dynamics 365
Trackline es una funcionalidad de la plataforma Code Contract que permite automatizar la recopilación de información sin modificar los procesos de trabajo y sin necesidad de registros manuales.
Si deseas integrar Trackline con Microsoft Dynamics 365 para recuperar documentos y datos de procesos, sigue estos pasos utilizando autenticación con Token JWT.
Paso 1: Obtener el token de autenticación
Microsoft Dynamics 365 debe autenticarse en la API de Trackline mediante una solicitud POST para obtener un token JWT. Este token será utilizado en las siguientes peticiones.
Petición desde Microsoft Dynamics 365 (HTTP Request)
http
POST /login HTTP/1.1
Host: api.codecontractplattform.com
Content-Type: application/json
{
"email": "dynamics_integration_user",
"password": "dynamics_secure_password"
}
Respuesta esperada
http
HTTP/1.1 200 OK
Content-Type: application/json
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmV..."
}
El valor del token deberá almacenarse en Dynamics 365 y enviarse en cada petición como Bearer Token en la cabecera de autorización.
Paso 2: Consultar datos adicionales y archivos en Trackline desde Dynamics 365
Consultar datos adicionales de un proceso
Microsoft Dynamics 365 puede obtener información sobre un proceso específico usando el process_id o process_name.
Petición desde Dynamics 365
http
GET /track-line/ext/track-path/metadata?process_id=12345 HTTP/1.1
Host: api.codecontractplattform.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmV...Respuesta esperada
json
{
"process_id": "12345",
"name": "Proceso de Facturación Dynamics 365",
"status": "En Proceso",
"created_at": "2024-02-09T10:30:00Z",
"documents": [
{
"doc_id": "98765",
"doc_name": "Factura_001.pdf",
"doc_type": "Factura"
}
]
}
Microsoft Dynamics 365 puede utilizar esta información para gestionar procesos y documentos de manera automatizada.
Descargar un archivo adjunto
Una vez obtenidos los metadatos, Microsoft Dynamics 365 puede descargar un archivo adjunto por su attachment_id.
Petición desde Dynamics 365
http
GET /track-line/ext/attachment/file?attachment_id=98765 HTTP/1.1
Host: api.codecontractplattform.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmV...Respuesta esperada (archivo)
El servidor responderá con un archivo PDF, XML o el formato correspondiente, el cual Dynamics 365 podrá almacenar o procesar.
Integración en Microsoft Dynamics 365 (Ejemplo en C# con .NET)
Si se necesita integrar esta funcionalidad en Microsoft Dynamics 365 usando C# y .NET, se puede utilizar el siguiente código:
csharp
using System;
using System.IO;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
class TracklineIntegration
{
private static readonly HttpClient client = new HttpClient();
static async Task Main()
{
try
{
// Paso 1: Obtener el Token JWT
var loginUrl = "https://api.codecontractplattform.com/api/login";
var loginData = new StringContent("{\"email\": \"dynamics_integration_user\", \"password\": \"dynamics_secure_password\"}", System.Text.Encoding.UTF8, "application/json");
var loginResponse = await client.PostAsync(loginUrl, loginData);
loginResponse.EnsureSuccessStatusCode();
var token = await loginResponse.Content.ReadAsStringAsync();
token = token.Split(":")[1].Trim('"', '}'); // Extraer token
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
// Paso 2: Consultar Metadatos del Proceso en Trackline
var metadataUrl = "https://api.codecontractplattform.com/api/track-line/ext/track-path/metadata?process_id=12345";
var metadataResponse = await client.GetAsync(metadataUrl);
metadataResponse.EnsureSuccessStatusCode();
var metadata = await metadataResponse.Content.ReadAsStringAsync();
Console.WriteLine("Metadatos obtenidos: " + metadata);
// Paso 3: Descargar archivo adjunto
var attachmentId = "98765"; // Este ID debe obtenerse de los metadatos
var attachmentUrl = $"https://api.codecontractplattform.com/api/track-line/ext/attachment/file?attachment_id={attachmentId}";
var attachmentResponse = await client.GetAsync(attachmentUrl);
attachmentResponse.EnsureSuccessStatusCode();
var fileBytes = await attachmentResponse.Content.ReadAsByteArrayAsync();
await File.WriteAllBytesAsync("Factura_001.pdf", fileBytes);
Console.WriteLine("Archivo descargado correctamente.");
}
catch (Exception ex)
{
Console.WriteLine("Error en la integración: " + ex.Message);
}
}
}
Resumen
✔️ Paso 1: Microsoft Dynamics 365 obtiene el Token JWT mediante autenticación.
✔️ Paso 2: Microsoft Dynamics 365 consulta metadatos de procesos con process_id.
✔️ Paso 3: Microsoft Dynamics 365 descarga archivos adjuntos mediante attachment_id.
✔️ Paso 4: Microsoft Dynamics 365 puede automatizar estos procesos usando C#, .NET o un conector de API.
Si necesitas más información o soporte, contacta con el equipo de Code Contract. 🚀
