No me deja cargar una nueva app en el entorno de Freshdesk

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:
image

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);
});

Hi @Gonzalo,

If you are getting this issue while submitting the application, make sure you have provided the appropriate node version in the manifest.json file

for example:

image

Please use the below link to get more ideas on this,
https://developers.freshworks.com/docs/app-sdk/v2.3/freshdesk/front-end-apps/app-manifest/

Hope that helps, let me know otherwise.

Thank you.