Estoy usando JSForce para hacer llamadas de API en Salesforce. Estoy tratando de agregar una tarea usando esta API
const body = `<a href=${process.env.CONSOLE_URL}/myUrl/${id}>Click Here</>` const createObj = { WhoId: contact.Id, Subject: 'Call', CallDisposition : 'Call', Description : body }; this.conn.sobject("Task").create(createObj, function(err, result) { if (err) return reject(err); return resolve(result); }) Funciona como se esperaba, excepto que la parte del body(Description) contiene algunas etiquetas html, por lo que no las analiza, sino que las pega tal como están en la sección de comentarios. Amablemente ayuda
El backend probablemente escapa de los caracteres html cuando se carga el comentario como medida de seguridad; ya sea antes de que se almacene en la base de datos o antes de que se devuelva al cliente.
Lógicamente, esto debería hacerse para impedir que los usuarios carguen etiquetas maliciosas y es estándar.
En lugar de cargar etiquetas html, sugeriría cargar etiquetas de descuento en el body(description) en lugar de las cuales puede encontrar información aquí .
Luego, necesita una secuencia de comandos para convertir el descuento nuevamente a html antes de representarlo.
Description es un campo de texto sin formato y, como tal, no analizará HTML. En términos generales, la solución es agregar un campo personalizado del tipo correcto a su objeto y completar este campo. Un tipo de campo que permite HTML y/u otro marcado es Área de texto (Rich) :
Área de texto (enriquecido)
los usuarios pueden formatear el contenido del campo y agregar imágenes e hipervínculos. [...] El tamaño máximo del campo es de 131.072 caracteres, incluido todo el formato y las etiquetas HTML.
Desafortunadamente, las actividades (la tarea es un tipo de actividad) no permiten campos personalizados del tipo de área de texto (enriquecido). Otro tipo de campo que está disponible para campos personalizados en Actividades es URL :
Permite a los usuarios ingresar hasta 255 caracteres de cualquier dirección de sitio web válida. Solo los primeros 50 caracteres se muestran en las páginas de detalles del registro. Cuando un usuario hace clic en el campo en Salesforce Classic, la URL se abre en una ventana de navegador independiente. En Lightning Experience, las direcciones URL internas se abren en la misma ventana y las direcciones URL externas se abren en una ventana de navegador independiente. En las aplicaciones de la consola de Salesforce, la URL se abre en una nueva pestaña del espacio de trabajo. En las aplicaciones de la consola Lightning, las direcciones URL internas se abren en una nueva pestaña del espacio de trabajo y las direcciones URL externas se abren en una ventana de navegador separada.
En lugar de marcado HTML en un campo, podría tener texto sin formato en el campo Descripción con la instrucción de hacer clic en el enlace contenido en su campo de tipo URL personalizado.