Hola.
Estoy intentando cargar una nueva app en el entorno de freshdesk y al intentarlo me indica que no es compatible, me aparece este mensaje:
Ya modifique el código a la versión indicada pero me sigue arrojando el mismo error.
Este es el script que estoy intentando cargar: // Lógica para mostrar información en la interfaz de usuario de Freshdesk
function mostrarInformacionEnInterfaz(infoCliente, infoEnvio, infoPago, infoInversa) {
// Aquí deberías usar las funciones y métodos proporcionados por Freshdesk para mostrar la información en la interfaz de usuario.
// Por ejemplo, podrías agregar la información a campos personalizados, crear notas o enviar respuestas a tickets, dependiendo de cómo desees presentar la información.
// Función para crear una nota interna en Freshdesk
function crearNotaInterna(ticketId, nota) {
fetch(https://tu_dominio.freshdesk.com/api/v2/tickets/${ticketId}/notes
, {//<<–Ingresa el Dominio de FD
method: ‘POST’,
headers: {
‘Content-Type’: ‘application/json’,
‘Authorization’: 'Basic ’ + btoa(‘tu_api_key’ + ‘:X’)//<<–Ingresa el api_key de FD
},
body: JSON.stringify({
“private”: true, // Indica que la nota es interna
“body”: nota // Contenido de la nota
})
})
.then(response => {
if (response.ok) {
console.log(‘Nota interna creada con éxito.’);
} else {
console.error(‘Error al crear la nota interna:’, response.status);
}
})
.catch(error => {
console.error(‘Error al crear la nota interna:’, error);
});
}
// Obtener el ID del ticket actual desde el contexto de Freshdesk
const ticketId = FD.ticket.id();
// Solicitar información de la ficha de cliente
fetch(‘https://api.dcos.com/cliente’, {
method: ‘GET’,
headers: {
‘Authorization’: ‘Bearer tu_token_de_autenticacion’//<<–Ingresa el Token_de_autenticacion de DCOS
}
})
.then(response => response.json())
.then(clienteData => {
// Procesar la respuesta de la ficha de cliente
const nombreCliente = clienteData.nombre;
const apellidoCliente = clienteData.apellido;
const dniRutCliente = clienteData.dni_rut;
const emailCliente = clienteData.email;
const telefonoCliente = clienteData.telefono;
const direccionCliente = clienteData.direccion;
// Construir el contenido de la nota interna
const notaCliente = `Información del cliente:\nNombre: ${nombreCliente}\nApellido: ${apellidoCliente}\nDNI o RUT: ${dniRutCliente}\nEmail: ${emailCliente}\nTeléfono: ${telefonoCliente}\nDirección: ${direccionCliente}`;
// Crear la nota interna en Freshdesk con la información del cliente
crearNotaInterna(ticketId, notaCliente);
})
.catch(error => {
console.error(‘Error al obtener datos de DCOS:’, error);
});
}
// Solicitar información de la ficha de cliente
fetch(‘https://api.dcos.com/cliente’, {
method: ‘GET’,
headers: {
‘Authorization’: ‘Bearer tu_token_de_autenticacion’//<<–Ingresa el Token_de_autenticacion de DCOS
}
})
.then(response => response.json())
.then(clienteData => {
// Procesar la respuesta de la ficha de cliente
const nombreCliente = clienteData.nombre;
const apellidoCliente = clienteData.apellido;
const dniRutCliente = clienteData.dni_rut;
const emailCliente = clienteData.email;
const telefonoCliente = clienteData.telefono;
const direccionCliente = clienteData.direccion;
// Solicitar información de la ficha de envío
return fetch('https://api.dcos.com/envio', {
method: 'GET',
headers: {
'Authorization': 'Bearer tu_token_de_autenticacion'//<<--Ingresa el Token_de_autenticacion de DCOS
}
})
.then(response => response.json())
.then(envioData => {
// Procesar la respuesta de la ficha de envío
const estadoEnvio = envioData.estado;
const fechaComprometida = envioData.fecha_comprometida;
const codigoSeguimiento = envioData.codigo_seguimiento;
const linkSeguimiento = envioData.link_seguimiento;
// Solicitar información de la ficha de pago
return fetch('https://api.dcos.com/pago', {
method: 'GET',
headers: {
'Authorization': 'Bearer tu_token_de_autenticacion'//<<--Ingresa el Token_de_autenticacion de DCOS
}
})
.then(response => response.json())
.then(pagoData => {
// Procesar la respuesta de la ficha de pago
const montoPagado = pagoData.monto;
const metodoPago = pagoData.metodo;
const tipoPago = pagoData.tipo;
const gatewayPago = pagoData.gateway;
// Solicitar información de la ficha inversa
return fetch('https://api.dcos.com/inversa', {
method: 'GET',
headers: {
'Authorization': 'Bearer tu_token_de_autenticacion'//<<--Ingresa el Token_de_autenticacion de DCOS
}
})
.then(response => response.json())
.then(inversaData => {
// Procesar la respuesta de la ficha inversa
const nombreProducto = inversaData.nombre_producto;
const skuProducto = inversaData.sku;
const cantidadRequerida = inversaData.cantidad_requerida;
const cantidadDisponible = inversaData.cantidad_disponible;
const valorProducto = inversaData.valor;
const porcentajeDescuento = inversaData.porcentaje_descuento;
const totalPagar = inversaData.total_pagar;
// Mostrar la información en la interfaz de usuario de Freshdesk
mostrarInformacionEnInterfaz(
{ nombreCliente, apellidoCliente, dniRutCliente, emailCliente, telefonoCliente, direccionCliente },
{ estadoEnvio, fechaComprometida, codigoSeguimiento, linkSeguimiento },
{ montoPagado, metodoPago, tipoPago, gatewayPago },
{ nombreProducto, skuProducto, cantidadRequerida, cantidadDisponible, valorProducto, porcentajeDescuento, totalPagar }
);
});
});
});
})
.catch(error => {
console.error(‘Error al obtener datos de DCOS:’, error);
});