Aprende a usar Code Contract de forma sencilla
🤖 Trackline - Automatización proactiva
🔎 SmartCheck - Evidencias digitales
🚀 Ejemplos de uso por sector
Sector alimentario
Sector construcción
Sector industrial
Sector logístico
Sector Legal
👤 Ejemplos de uso por rol
📊 Ejemplos de uso por funcionalidad
🤝🏻 Partners
Integración de Trackline con NetSuite
Exportar documentos y datos adicionales de Trackline a NetSuite mediante consultas API

Conoce paso a paso como integrar Trackline con Netsuite

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 NetSuite para recuperar documentos y datos de procesos, sigue estos pasos utilizando autenticación con Token JWT.

 

Paso 1: Obtener el token de autenticación

NetSuite 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 NetSuite (HTTP Request)

http
POST /login HTTP/1.1
Host: api.codecontractplattform.com
Content-Type: application/json

{
"email": "netsuite_integration_user",
"password": "netsuite_secure_password"
}

Respuesta esperada

http
HTTP/1.1 200 OK
Content-Type: application/json

{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmV..."
}

 

El valor del token deberá almacenarse en NetSuite 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 NetSuite

Consultar datos adicionales de un proceso

NetSuite puede obtener información sobre un proceso específico usando el process_id o process_name.

Petición desde NetSuite

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
CopyEdit{
"process_id": "12345",
"name": "Proceso de Facturación NetSuite",
"status": "En Proceso",
"created_at": "2024-02-09T10:30:00Z",
"documents": [
{
"doc_id": "98765",
"doc_name": "Factura_001.pdf",
"doc_type": "Factura"
}
]
}

 

NetSuite puede utilizar esta información para gestionar procesos y documentos de manera automatizada.

Descargar un archivo adjunto

Una vez obtenidos los metadatos, NetSuite puede descargar un archivo adjunto por su attachment_id.

Petición desde NetSuite

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 NetSuite podrá almacenar o procesar.

Integración en NetSuite (Ejemplo en SuiteScript 2.0)

Si se necesita integrar esta funcionalidad en NetSuite usando SuiteScript 2.0, se puede utilizar el siguiente código:

 

javascript
/**
* @NApiVersion 2.x
* @NModuleScope Public
*/
define(['N/https', 'N/log', 'N/file'], function(https, log, file) {

function getToken() {
try {
var url = "https://api.codecontractplattform.com/api/login";
var headers = {
'Content-Type': 'application/json'
};
var body = JSON.stringify({
email: "netsuite_integration_user",
password: "netsuite_secure_password"
});

var response = https.post({
url: url,
headers: headers,
body: body
});

var responseBody = JSON.parse(response.body);
return responseBody.token;
} catch (e) {
log.error("Error obteniendo el Token", e);
}
}

function getProcessMetadata(processId) {
try {
var token = getToken();
var url = "https://api.codecontractplattform.com/api/track-line/ext/track-path/metadata?process_id=" + processId;

var headers = {
'Authorization': 'Bearer ' + token
};

var response = https.get({
url: url,
headers: headers
});

var metadata = JSON.parse(response.body);
log.debug("Metadatos obtenidos", metadata);
return metadata;
} catch (e) {
log.error("Error obteniendo metadatos", e);
}
}

function downloadAttachment(attachmentId) {
try {
var token = getToken();
var url = "https://api.codecontractplattform.com/api/track-line/ext/attachment/file?attachment_id=" + attachmentId;

var headers = {
'Authorization': 'Bearer ' + token
};

var response = https.get({
url: url,
headers: headers
});

var fileObj = file.create({
name: "Factura_001.pdf",
fileType: file.Type.PDF,
contents: response.body,
folder: -15 // ID de la carpeta donde se almacenará en NetSuite
});

var fileId = fileObj.save();
log.debug("Archivo guardado con ID:", fileId);
return fileId;
} catch (e) {
log.error("Error descargando archivo", e);
}
}

return {
getProcessMetadata: getProcessMetadata,
downloadAttachment: downloadAttachment
};
});

 

Este código permite a NetSuite:

  1. Obtener el token de autenticación.
  2. Consultar metadatos de un proceso específico en Trackline.
  3. Descargar un archivo adjunto asociado al proceso y almacenarlo en NetSuite.

 

El código puede ser ejecutado como parte de un script de cliente o programado mediante SuiteScript 2.0.

Resumen

✔️ Paso 1: NetSuite obtiene el Token JWT mediante autenticación.
✔️ Paso 2: NetSuite consulta metadatos de procesos con process_id.
✔️ Paso 3: NetSuite descarga archivos adjuntos mediante attachment_id.
✔️ Paso 4: NetSuite puede automatizar estos procesos usando SuiteScript 2.0 o un conector de API.

 

Si necesitas más información o soporte, contacta con el equipo de Code Contract. 🚀

 

¿Has obtenido lo que buscabas?