Skip to content

Etiqueta: SOAP

Creaci贸n de experiencias ciudadanas al ritmo de Salesforce

Se necesita un amplio conjunto de funciones para ofrecer y respaldar las experiencias digitales de los ciudadanos; 驴c贸mo pueden los departamentos del gobierno del Reino Unido ofrecerlas a un ritmo adecuado con Salesforce?

The post Creaci贸n de experiencias ciudadanas a un ritmo acelerado con Salesforce appeared first on Blog de Salesforce en Espa帽a.

Seguir leyendo

El escudo de la seguridad: Evitar las descargas de datos con la clasificaci贸n de datos

El escudo de la seguridad: Evitar las descargas de datos con la clasificaci贸n de datos

脷ltima actualizaci贸n el 15 de noviembre de 2023 por Rakesh Gupta Big Idea or Enduring Question: 驴C贸mo evitar la descarga de datos cr铆ticos a trav茅s de informes? Objetivos: Despu茅s de leer este blog, ser谩s capaz de: Entender la Clasificaci贸n de Datos Configurar la Clasificaci贸n de Datos para Campos Entender la Seguridad de Transacciones Crear una Seguridad de Transacciones

El post El escudo de la seguridad: Prevenir la Descarga de Datos con la Clasificaci贸n de Datos appeared first on Campe贸n de la Automatizaci贸n.

El Escudo de la Seguridad

Seguir leyendo

馃殌 Gu铆a definitiva de 150 preguntas sobre Salesforce Service Cloud: 隆domine cada detalle! 馃専

Servicio_nube

Temas cubiertos en la entrevista de Salesforce Service Cloud:

  • Conocimientos generales y caracter铆sticas
  • Gesti贸n de casos
  • Soluciones y base de conocimientos
  • Consola de servicio
  • Portales/comunidades de clientes y agentes
  • Flujo de trabajo y automatizaci贸n:
  • Informes y paneles en Service Cloud
  • Integraci贸n de CTI y telefon铆a
  • Servicio al cliente en redes sociales
  • Chat y mensajer铆a
  • Integraci贸n de correo electr贸nico
  • M茅tricas y an谩lisis de rendimiento
  • Inteligencia artificial (IA) en la nube de servicios
  • Servicio de campo
  • Macros
  • Preguntas basadas en escenarios

Conocimientos generales y caracter铆sticas

1. 驴Qu茅 es Salesforce Service Cloud?

鈥 Imagine que dirige una empresa y tiene toneladas de clientes que hacen preguntas o tal vez tienen problemas con su producto. Ahora, desea ayudarlos de manera r谩pida y eficiente. 隆Ah铆 es donde entra Salesforce Service Cloud!

2. 驴C贸mo beneficia Service Cloud a un departamento de atenci贸n al cliente?

ni帽o, ni帽o, juego, malabarismo, pelota, vector, aislado, 18804576, arte vectorial, en, Vecteezy

Como empresa, usted maneja cosas agitadas que pueden ponerse cuando los clientes lo llaman, le env铆an correos electr贸nicos o le hacen ping en las redes sociales. 隆Es como hacer malabares! Service Cloud es como un asistente s煤per inteligente que ayuda a atrapar esas pelotas. Realiza un seguimiento de todos los problemas de los clientes (llamados "casos" en Salesforce), se asegura de que los vea la persona adecuada y proporciona respuestas que su equipo puede utilizar para responder m谩s r谩pido.

驴La mejor parte? Puede conectarse con sus clientes dondequiera que est茅n: por tel茅fono, en las redes sociales, lo que sea. 隆Menos caos, m谩s choca esos cinco en la oficina!

3. 驴Cu谩l es la diferencia entre Salesforce Sales Cloud y Service Cloud?

Paseo en coche (#1) - Openclipart

Piense en su negocio como en un autom贸vil. Sales Cloud es como el motor que lo impulsa hacia adelante: lo ayuda a encontrar nuevos clientes y los convence para que se sumen. Estamos hablando de gestionar contratos, realizar un seguimiento de las ventas y realizar previsiones. Ahora bien, 驴la nube de servicios? Ese es su sistema de direcci贸n y comodidad. Una vez que los clientes est谩n a bordo, se garantiza que est茅n contentos durante el viaje. Atiende sus preguntas, resuelve cualquier problema y se asegura de que disfruten tanto del viaje que querr谩n viajar contigo nuevamente.

4. 驴Qu茅 es OmniCanal en el contexto de Service Cloud y c贸mo beneficia a una empresa?

OmniCanal es una forma para que su empresa hable con los clientes dondequiera que prefieran: redes sociales, correo electr贸nico, tel茅fono o incluso chat en vivo. Pero es inteligente; garantiza que su equipo no se sienta abrumado y que las preguntas de sus clientes lleguen a la persona adecuada que pueda responderlas mejor.

5. 驴C贸mo mejora Service Cloud la satisfacci贸n del cliente?

Conocer bien a sus clientes y satisfacer sus necesidades r谩pidamente no s贸lo los deja satisfechos; 隆Puede convertirlos en fan谩ticos de tu marca! Adem谩s, los clientes satisfechos a menudo significan que volver谩n y les dir谩n a sus amigos lo fant谩stico que eres: 隆todos ganan!

Gesti贸n de casos

1.驴Qu茅 es un caso en Salesforce?

鈥 Imag铆nese esto: un cliente tiene una pregunta o tiene problemas con su producto. Piden ayuda. 驴Ese mensaje de ayuda? En Salesforce, a eso lo llamamos "caso".

2.驴C贸mo se pueden crear casos en Salesforce?

Los casos son como boletos. En Salesforce, los casos pueden surgir de todas partes: un cliente env铆a un correo electr贸nico, completa un formulario en su sitio web, le env铆a un mensaje en las redes sociales o incluso llama. Cada una de estas acciones puede iniciar un caso para que su El equipo sabe que alguien necesita una mano.

3. 驴Qu茅 es Web-to-Case y c贸mo se utiliza?

驴Sabes c贸mo puedes pedir tu caf茅 con anticipaci贸n en una aplicaci贸n y te estar谩 esperando cuando llegues? Web-to-Case es algo as铆, pero para servicio al cliente. Permite a sus clientes completar un formulario en su sitio web cada vez que necesitan ayuda, y esa informaci贸n se env铆a directamente a Salesforce como un caso. De esta manera, su equipo de servicio al cliente puede comenzar a desarrollar soluciones de inmediato.

4. 驴Explicar el correo electr贸nico para enviar casos?

Piense en Email-to-Case como un puente entre su bandeja de entrada de correo electr贸nico de servicio al cliente y Salesforce . Cuando sus clientes le env铆an un correo electr贸nico pidi茅ndole ayuda, Email-to-Case lo detecta y lo convierte en un caso en Salesforce.

5. 驴Qu茅 es la escalada de casos y c贸mo se configura?

Una captura de pantalla de una computadora Descripci贸n generada autom谩ticamente

A veces, las cosas necesitan un poco m谩s de urgencia, como una entrega de pizza en 30 minutos o menos. La escalada de casos ocurre cuando un caso no se ha resuelto en un cierto per铆odo de tiempo y sube en la lista de prioridades o incluso se entrega a un gerente. En Salesforce, esto se configura creando reglas de escalamiento que controlan el tiempo de los casos y activan una se帽al de alerta cuando uno est谩 tardando demasiado.

6. 驴C贸mo funcionan las reglas de asignaci贸n de casos?

Se帽ales manuales de emergencia de la polic铆a de tr谩nsito para conductores: conduzca en Malasia

Las reglas de asignaci贸n son como los polic铆as de tr谩nsito de Salesforce. Observan los nuevos casos que llegan y les indican la direcci贸n correcta. Seg煤n los detalles del caso, como de qu茅 se trata o de qui茅n proviene, estas reglas los env铆an al departamento correcto o a la persona m谩s adecuada para ayudar. Mantiene las cosas en movimiento sin problemas.

7. 驴Qu茅 son las colas de casos y en qu茅 se diferencian de las reglas de asignaci贸n?

Las reglas de asignaci贸n dirigen los casos a personas espec铆ficas de inmediato, mientras que las colas les permiten esperar en un lugar relevante para que los tome cualquier miembro disponible del equipo.

8. 驴C贸mo se realiza un seguimiento del historial del caso?

Realizar un seguimiento del historial de un caso en Salesforce es como tener un mapa de d贸nde ha estado, a qui茅n ha visitado y qu茅 se ha hecho hasta el momento. Cada vez que alguien ve el caso, realiza un cambio o agrega algo, Salesforce toma nota de ello. As铆, cualquiera que observe el caso podr谩 ponerse al d铆a con su recorrido.

9. 驴Qu茅 son los equipos de casos?

Los equipos de casos en Salesforce son como grupos de proyectos en la escuela. Puede formar un equipo de varios usuarios con diferentes roles para colaborar y resolver un caso de manera eficiente.

10. 驴C贸mo se utilizan los feeds de casos?

Los feeds de casos son como l铆neas de tiempo de las redes sociales para cada caso. Muestran una vista cronol贸gica de todas las actividades, como mensajes, cambios de estado o acciones del usuario, relacionadas con un caso.

11. 驴Puedes realizar un seguimiento del tiempo dedicado a cada caso?

S铆, con funciones de seguimiento del tiempo. Es como un cron贸metro del trabajo: puede medir cu谩nto tiempo dedican los agentes a cada caso.

12. 驴C贸mo maneja Salesforce los correos electr贸nicos masivos en la gesti贸n de casos?

Salesforce le permite enviar correos electr贸nicos masivos para mantener actualizados a muchos clientes a la vez.

13. 驴Qu茅 son los hitos del caso?

Los hitos son como puntos de control en una carrera. Son objetivos espec铆ficos que los agentes deben alcanzar dentro de un plazo determinado mientras resuelven un caso.

14. 驴Cu谩l es la diferencia entre un caso y una orden de trabajo?

Un caso es un registro de un problema de un cliente, mientras que una orden de trabajo es una solicitud de trabajo, a menudo utilizada para servicios de campo o tareas f铆sicas.

15. 驴Cu谩les son los beneficios de utilizar Chatter para los casos?

Chatter es como una sala de chat para el trabajo. Los agentes pueden discutir casos, compartir archivos y obtener comentarios de los miembros del equipo directamente en el registro del caso.

16. 驴Cu谩les son los componentes de la regla de asignaci贸n de casos en Salesforce?

En Salesforce, la regla de asignaci贸n de casos giraba en torno a dos componentes principales, como la regla de caso y los criterios de caso.

Regla de caso: una regla de caso define una o m谩s de una condici贸n que debe cumplirse para ser asignada a un usuario espec铆fico. Podemos agregar tantas entradas de reglas como queramos a una sola regla de asignaci贸n.

Criterios de caso: Los criterios de caso son las condiciones que se basan en diferentes factores como el origen del caso, el estado, el tipo, etc.

Soluciones y base de conocimientos

1. 驴Qu茅 es el conocimiento de Salesforce?

Salesforce Knowledge es como una carpeta para toda la informaci贸n que su equipo necesita para ayudar a los clientes. Es un lugar donde puedes almacenar art铆culos, preguntas frecuentes, gu铆as de soluci贸n de problemas y m谩s, todo organizado y f谩cil de encontrar.

2. Explicar el proceso de creaci贸n y mantenimiento de una Base de Conocimiento en Salesforce.

Crear una base de conocimientos es como abastecer una biblioteca. Empiece por escribir art铆culos; pueden ser preguntas frecuentes, gu铆as pr谩cticas o pasos para la soluci贸n de problemas. Una vez que haya terminado, los colocar谩 en los estantes (es decir, los publicar谩 en Salesforce Knowledge) y as铆, estar谩n disponibles para que los lea su equipo o incluso sus clientes. Deber谩 revisar sus art铆culos con regularidad, actualizar la informaci贸n anterior y seguir agregando material nuevo para mantener todo actualizado.

3. 驴Cu谩l es la diferencia entre Soluciones y Art铆culos de Conocimiento?

Libro. Antiguo libro de texto, enciclopedia, diccionario o libro de cuentos de hadas. Dise帽o de dibujos animados felices para ni帽os, p谩gina para colorear, estampado de camisetas, icono, logotipo, etiqueta, parche, pegatina. SVG, cliparts, vectores y ilustraciones libres de derechos.

Las soluciones son como esas viejas enciclopedias : tienen informaci贸n 煤til, pero son un poco b谩sicas y solo su equipo puede leerlas. Por otro lado, los art铆culos de conocimiento son como tener una base de datos completa en l铆nea. Son m谩s din谩micos, pueden incluir videos e im谩genes y puedes compartirlos no solo con tu equipo sino tambi茅n con tus clientes.

4. 驴C贸mo pueden los usuarios de Service Cloud aprovechar los art铆culos de conocimiento?

Piense en los usuarios de Service Cloud como bibliotecarios. Cuando un cliente tiene una pregunta, en lugar de hojear montones de libros o luchar para encontrar un experto, puede buscar el art铆culo de conocimiento correcto y tener las respuestas al alcance de su mano. Esto hace que ayudar a los clientes sea m谩s r谩pido, m谩s preciso y, sinceramente, mucho menos estresante.

5. 驴Pueden los clientes acceder a los art铆culos de conocimiento? 驴Si es as铆, c贸mo?

隆Por supuesto que pueden! Puede configurar una comunidad de clientes o un sitio web p煤blico donde estos art铆culos est茅n disponibles. Los clientes pueden ingresar, buscar lo que necesitan y, a menudo, resolver sus propios problemas sin tener que levantar el tel茅fono o enviar un correo electr贸nico.

Consola de servicio

1.驴Qu茅 es la Consola de Servicio en Salesforce?

Ilustraci贸n de Chef y m谩s Vectores Libres de Derechos de Adulto - Chef, Dibujos Animados, Gorro De Chef - iStock

Imag铆nese ser chef en una cocina ocupada y bien equipada. La Consola de servicio es como su estaci贸n de cocina, donde tiene sus ingredientes (datos del cliente), utensilios (herramientas y aplicaciones) y recetas (art铆culos de conocimiento), todo en un solo lugar. Est谩s all铆, cocinando varios platos (manejando varios casos de clientes) a la vez. 馃嵆馃懇鈥嶐煃仇煍

2. 驴C贸mo mejora la Consola de servicio la productividad de los agentes?

Si eres chef en una cocina, 驴no ser铆a m谩s f谩cil cocinar si todos tus ingredientes, utensilios y recetas estuvieran en un solo lugar? Eso es lo que hace la Consola de servicio por los agentes. Pone todo lo que necesitan en un solo lugar. Pueden chatear con los clientes, echar un vistazo al historial de su cuenta y comprobar sus pedidos, todo al mismo tiempo. 隆Es como tener superpoderes, para que puedan ayudar a los clientes m谩s r谩pido y mejor!

3. 驴Se puede personalizar la Consola de servicio? Si es as铆, 驴c贸mo?

隆Por supuesto! Al igual que puedes reorganizar las aplicaciones en tu tel茅fono, puedes modificar la Consola de servicio para adaptarla a tus necesidades. Todo esto se hace a trav茅s de algo llamado "Creador de aplicaciones", donde arrastra y suelta los componentes que desea. Es como jugar un juego en el que dise帽as tu centro de mando.

Portales/comunidades de clientes y agentes:

1. 驴Qu茅 es una comunidad de clientes en el contexto de Service Cloud?

Dibujo infantil de CCC, bloques de colores 鈥 Catskill Community Center

Imag铆nese un centro comunitario en un vecindario. Es un lugar donde los residentes se re煤nen para discutir temas, compartir noticias, pedir prestado herramientas o incluso organizar eventos. Ahora, imagine si su empresa tuviera un 鈥渃entro comunitario鈥 virtual para sus clientes. Esa es una comunidad de clientes en Salesforce. Es un espacio en l铆nea donde sus clientes pueden reunirse para hacer preguntas, compartir ideas e incluso resolver problemas juntos. Tambi茅n pueden encontrar art铆culos o anuncios 煤tiles que haya publicado, 隆muy parecido a un tablero de anuncios comunitario!

2. 驴En qu茅 se diferencian los portales de agentes de los portales/comunidades de clientes?

Cree un portal de socios, habilite la cuenta de socio y los usuarios y agregue

En el centro comunitario, piense en el Portal del Cliente/Comunidad como el sal贸n principal donde todos se re煤nen, conversan y comparten. El Portal del Agente, sin embargo, es como la oficina administrativa que da al sal贸n principal. Desde esta oficina, sus agentes de servicio al cliente pueden observar lo que sucede en la comunidad, intervenir para ayudar cuando sea necesario o proporcionar recursos.

3. 驴C贸mo pueden los clientes utilizar las comunidades para autoservicio?

En una comunidad de clientes, los clientes pueden explorar los art铆culos que usted ha proporcionado, encontrar respuestas a preguntas comunes o hacer una nueva pregunta que cualquier miembro de la comunidad puede responder. Esto les permite encontrar soluciones en su propio tiempo y t茅rminos, sin necesidad de llamar directamente a la 鈥渙ficina del administrador鈥 (contactar con soporte).

4. 驴Cu谩les son las mejores pr谩cticas para crear una comunidad de clientes?

La comunidad de clientes de Salesforce debe ser f谩cil de usar y proporcionar valor real. Aseg煤rese de que sea de f谩cil acceso, con categor铆as claras para la discusi贸n y una amplia base de conocimientos. Actualice y modere peri贸dicamente el contenido para garantizar que sea relevante y apropiado. Fomente la participaci贸n reconociendo a los miembros activos u organizando eventos o desaf铆os comunitarios.

Flujo de trabajo y automatizaci贸n

1. 驴Se puede automatizar el enrutamiento de casos? 驴Si es as铆, c贸mo?

En Service Cloud, los casos se pueden enrutar autom谩ticamente. Puede establecer criterios, como si un caso proviene de un cliente VIP, va directamente a su mejor agente, o si es un problema com煤n, va a cualquier agente disponible. De esta manera, todos reciben un servicio eficiente y eficaz.

2. 驴C贸mo se automatiza el seguimiento del acuerdo de nivel de servicio (SLA) en Service Cloud?

驴Est谩s preparado para Domino's... - Domino's Pizza Bangladesh | Facebook

Imag铆nese el restaurante prometiendo que cada pedido se servir谩 en 30 minutos o, de lo contrario, ser谩 gratis. Para cumplir esta promesa, tienen un sistema que inicia una cuenta regresiva en el momento en que se realiza un pedido y alerta al gerente si llega a los 25 minutos. Service Cloud puede realizar un seguimiento de los SLA de forma similar. Puede establecer los plazos en los que los casos deben resolverse seg煤n su nivel de prioridad y automatizar recordatorios, escalamientos u otras acciones si esos plazos se acercan o no se cumplen. 隆Mantiene al equipo responsable y a los clientes contentos!

3. 驴Podr铆a definir la Gesti贸n de derechos en el contexto de Salesforce Service Cloud?

La gesti贸n de derechos en Salesforce Service Cloud es una funci贸n que ayuda a las empresas a definir, hacer cumplir y realizar un seguimiento de los acuerdos de nivel de servicio (SLA) con sus clientes. Permite a las empresas establecer el nivel de soporte al que tiene derecho un cliente, en funci贸n de factores como garant铆as de productos, contratos de servicio o planes de soporte. Esta caracter铆stica garantiza que los clientes reciban el soporte al que tienen derecho dentro del plazo acordado.

4. 驴Puedes explicar la funcionalidad de Visual SLA Timelines?

Los cronogramas visuales de SLA en Salesforce Service Cloud ofrecen una representaci贸n gr谩fica de los cronogramas asociados con cada SLA. Ayudan a los agentes de servicio a visualizar el tiempo restante necesario para resolver un caso seg煤n el SLA asociado. Esto permite a los agentes priorizar su trabajo de manera efectiva y garantizar el cumplimiento de los t茅rminos del SLA.

Informes y paneles

1. 驴C贸mo mejoran los informes y paneles las operaciones de servicio?

Imag铆nese que al final de cada d铆a, el gerente recibe un resumen de todo lo sucedido: cu谩ntos clientes llegaron, cu谩l fue el plato m谩s popular, cu谩ntos elogios o quejas se recibieron, etc. En Service Cloud, los informes y paneles son como este resumen diario. Ofrecen a los directivos una visi贸n r谩pida pero completa de c贸mo van las cosas. 驴Los clientes esperan demasiado? 驴Algunos problemas se resuelven m谩s r谩pido que otros? Esta informaci贸n ayuda al equipo a saber qu茅 funciona y qu茅 no, para que puedan mejorar su "servicio".

2. 驴Se puede realizar un seguimiento del rendimiento de los agentes con Service Cloud? Si es as铆, 驴c贸mo?

Service Cloud le permite realizar un seguimiento del desempe帽o de sus agentes. Puede ver cu谩ntos casos han resuelto, qu茅 tan r谩pido est谩n trabajando e incluso c贸mo los clientes califican su servicio. Es como un gr谩fico de desempe帽o para los camareros, pero para sus agentes de servicio.

3. 驴Cu谩les son algunas m茅tricas de servicio comunes que puede rastrear en Service Cloud?

En el mundo de Service Cloud, las m茅tricas comunes incluyen cosas como

  • tiempo promedio de resoluci贸n de casos
  • puntuaciones de satisfacci贸n del cliente
  • tasas de resoluci贸n del primer contacto
  • vol煤menes de casos por tipo o fuente

Integraci贸n de CTI y telefon铆a

1. 驴Qu茅 es la Integraci贸n Telef贸nica Computadora (CTI)?

Representante De Servicio Al Cliente De Dibujos Animados De Forma Tridimensional De Persona De Negocios - Banco de fotos e im谩genes de stock - iStock

Es un t茅rmino para un sistema que permite que las computadoras interact煤en con los tel茅fonos. Significa que cuando alguien llama, el sistema de atenci贸n al cliente sabe inmediatamente qui茅n es y cu谩l es su historial con la empresa.

2.驴C贸mo mejora CTI el servicio al cliente?

En el restaurante sin CTI, cada llamada de un cliente ser铆a como una reuni贸n de camareros durante la cena por primera vez. Tendr铆an que volver a hacer todas las preguntas b谩sicas: "驴Tiene alguna alergia?" 鈥溌縋refieres asiento junto a la ventana o en el pasillo?鈥 etc茅tera. Con CTI, es como si el camarero ya te conociera. Te saludan por tu nombre, recuerdan que eres al茅rgico al man铆, saben que te gusta el queso extra y tienen lista tu mesa favorita. En t茅rminos de atenci贸n al cliente, esto ahorra tiempo, personaliza la experiencia del cliente.

3. 驴Puede darnos un ejemplo de c贸mo se utiliza CTI en un escenario de call center?

Cuando un cliente llama, la pantalla del agente muestra inmediatamente el nombre del cliente, su historial de compras, problemas anteriores y cualquier otra informaci贸n relevante. Luego, el agente puede saludar al cliente por su nombre y atender sus necesidades de manera proactiva, a veces incluso antes de que el cliente indique por qu茅 llama. Se trata de hacer que la experiencia de servicio sea fluida y placentera, como tener la mejor mesa lista incluso antes de entrar.

Servicio al cliente en redes sociales

1. 驴Qu茅 es el servicio al cliente social en Salesforce?

驴Sabes c贸mo puedes chatear con amigos y ver qu茅 est谩n haciendo en las redes sociales? Salesforce permite a las empresas hacer lo mismo con sus clientes. Pueden revolotear y ver lo que la gente dice sobre ellos en las redes sociales.

2. 驴C贸mo pueden los agentes utilizar Salesforce para responder a las consultas de los clientes en las redes sociales?

Ya sea que los clientes tuiteen, publiquen en Facebook o compartan historias de Instagram sobre sus experiencias o problemas, los agentes no tienen que desplazarse de una plataforma a otra. Pueden responder a todas estas publicaciones sociales desde su 'colmena' de Salesforce, asegur谩ndose de que nadie se sienta ignorado y que cada problema se resuelva r谩pidamente.

3. 驴Puedes realizar un seguimiento de las conversaciones de las redes sociales en Service Cloud?

隆Absolutamente! Service Cloud controla todas las conversaciones que ocurren entre la empresa y los clientes en las plataformas sociales. Recuerda qui茅n dijo qu茅, almacena informaci贸n sobre los problemas del cliente e incluso c贸mo se resolvi贸. De esta manera, si el cliente vuelve a comunicarse, la empresa no hace las mismas preguntas de siempre, sino que contin煤a la conversaci贸n justo donde la dej贸, como si retrocediera en el historial de chat con un amigo.

Chat y mensajer铆a

1. 驴C贸mo funciona Live Agent en Service Cloud?

Imag铆nese si estuviera comprando en una gran tienda y en lugar de tener que buscar ayuda por todo el lugar, apareciera un asistente personal a su lado en el momento en que parec铆a confundido. As铆 es Live Agent en el mundo online. Es una caracter铆stica de Service Cloud que permite a los agentes de servicio al cliente chatear en tiempo real con los clientes mientras est谩n en el sitio web para responder preguntas, dar consejos o ayudarlos a encontrar lo que necesitan.

2. 驴Cu谩les son los beneficios de utilizar el chat para atenci贸n al cliente?

Los clientes obtienen atenci贸n instant谩nea y sus preguntas pueden responderse de inmediato. Adem谩s, es muy conveniente porque pueden hacer otras cosas mientras conversan. Para las empresas, significa que pueden manejar varios chats a la vez, lo que es como poder ayudar a varios clientes al mismo tiempo en diferentes l铆neas de pago.

3. 驴Se pueden automatizar las respuestas en Live Agent?

S铆, si alguien dice "hola", el sistema puede decir autom谩ticamente "隆Hola!". 驴C贸mo puedo ayudarte hoy?" Est谩 programado para reconocer palabras o preguntas espec铆ficas y luego proporcionar una respuesta preestablecida. Esto significa que el agente no tiene que escribir las mismas respuestas una y otra vez y los clientes obtienen respuestas ultrarr谩pidas a preguntas comunes.

4. 驴C贸mo maneja Salesforce los mensajes SMS para el servicio de atenci贸n al cliente?

Salesforce aporta esa comodidad al servicio al cliente. Con las funciones de mensajer铆a SMS, las empresas pueden enviar mensajes de texto a los clientes y los clientes pueden responder. Pueden enviar recordatorios de citas, confirmaciones, actualizaciones r谩pidas o incluso responder preguntas, todo a trav茅s de mensajes de texto. Todo se rastrea y almacena en Salesforce, para que la empresa no pierda la conversaci贸n.

Integraci贸n de correo electr贸nico

1. 驴C贸mo se utiliza el correo electr贸nico en Service Cloud?

No se trata s贸lo de enviar y recibir correos electr贸nicos; es un sistema completo que gestiona las comunicaciones por correo electr贸nico con los clientes. Puede mantener un historial de todas las interacciones, para saber exactamente qu茅 se dijo y cu谩ndo.

2. 驴Puedes automatizar las respuestas por correo electr贸nico?

– 隆Absolutamente! Seg煤n ciertas palabras clave en el correo electr贸nico del cliente o criterios espec铆ficos, el sistema puede enviar una respuesta escrita previamente. Es instant谩neo, por lo que los clientes no tienen que esperar y les da a los agentes reales m谩s tiempo para manejar los problemas complejos que necesitan un toque humano.

3. 驴C贸mo se asegura de que los correos electr贸nicos de los clientes se env铆en a los agentes adecuados?

Utilice el enrutamiento de correo electr贸nico en Service Cloud. Usando las reglas que usted configura, los correos electr贸nicos se pueden dirigir a ciertos agentes seg煤n el contenido del correo electr贸nico, la informaci贸n del cliente o incluso la carga de trabajo de cada agente.

Soporte M贸vil

1. 驴C贸mo respalda Salesforce el servicio al cliente m贸vil?

Con la aplicaci贸n m贸vil Salesforce, todo lo que puede hacer en su escritorio, ahora puede hacerlo en su tel茅fono: verificar los detalles del cliente, actualizar casos o incluso chatear con los clientes.

2. 驴Cu谩les son las limitaciones del servicio al cliente m贸vil en Salesforce?

Dibujos animados y c贸mics de Parking Boot - im谩genes divertidas de CartoonStock

Si bien la aplicaci贸n m贸vil Salesforce es s煤per poderosa, es un poco como intentar colocar una nave espacial en un lugar de estacionamiento. Algunas tareas o informes complejos pueden resultar dif铆ciles de navegar en una pantalla m谩s peque帽a y es posible que ciertas personalizaciones no se muestren como lo hacen en un escritorio.

M茅tricas y an谩lisis de rendimiento

1. 驴C贸mo se mide la satisfacci贸n del cliente en Service Cloud?

En Service Cloud, no solo responde las consultas de los clientes y espera que est茅n satisfechos; lo verifica utilizando herramientas como encuestas, puntajes CSAT y Net Promoter Scores (NPS). Puede enviarlos autom谩ticamente despu茅s de que se resuelva un caso. Es como preguntar: "驴Qu茅 le pareci贸 nuestro servicio?" 隆para que puedas seguir viviendo esa experiencia de servicio cinco estrellas!

2. 驴Qu茅 es una puntuaci贸n de satisfacci贸n del cliente (CSAT)?

CSAT es como preguntarle a sus clientes, en una escala del 1 al 5. Es una puntuaci贸n que los clientes otorgan en funci贸n de su satisfacci贸n con una interacci贸n espec铆fica que tuvieron con su equipo de servicio. Cuanto mayor sea la puntuaci贸n, mejor trabajo hizo para cumplir (隆o superar!) sus expectativas.

3. 驴Qu茅 es Net Promoter Score (NPS) y c贸mo se utiliza en Salesforce?

NPS es como preguntar a sus comensales: "驴Recomendar铆a nuestro restaurante a otras personas?" y luego, dependiendo de su respuesta, se agrupan en Promotores, Pasivos o Detractores. No se trata s贸lo de un plato de sopa; 隆Lo importante es si toda la experiencia gastron贸mica les hace querer cont谩rselo a sus amigos! En Salesforce, puede enviar encuestas NPS y luego realizar un seguimiento de su puntuaci贸n a lo largo del tiempo, con el objetivo siempre de mejorar la experiencia del curso completo.

4. 驴Se pueden integrar herramientas de encuestas externas con Salesforce?

Puede integrarlo con herramientas de encuestas externas que quiz谩s ya est茅 utilizando o prefiera, como SurveyMonkey o Google Forms. De esta manera, re煤ne todos esos comentarios cruciales en un solo lugar, lo que facilita ver el panorama general y tomar decisiones informadas.

Inteligencia artificial (IA)

1. 驴Qu茅 es Salesforce Einstein y c贸mo se aplica a Service Cloud?

Salesforce Einstein utiliza IA para analizar las diferentes interacciones y datos, predecir las necesidades de los clientes e incluso automatizar las respuestas.

2. 驴C贸mo funcionan los Bots de Einstein?

Se encargan de las tareas sencillas y rutinarias del servicio de atenci贸n al cliente, como responder preguntas comunes o guiar a un usuario a trav茅s de un proceso establecido.

3. 驴Puede Einstein sugerir respuestas a los agentes?

Es como un manual din谩mico e inteligente que no s贸lo tiene todas las respuestas sino que tambi茅n sabe exactamente cu谩ndo proporcionarlas. Analiza el problema del cliente y proporciona al agente la mejor respuesta o soluci贸n, acelerando el servicio y asegur谩ndose de que las "comidas" de su servicio al cliente sean siempre deliciosas.

Servicio de campo

1. 驴Qu茅 es Field Service Lightning?

Vector libre | Banner de cami贸n de comida de estilo de dibujos animados

Imagina que organizas un festival de camiones de comida, donde varios camiones sirven diferentes delicias por todo el lugar. Ahora, Field Service Lightning (FSL) es como tener un coordinador de eventos s煤per organizado que sabe qu茅 cami贸n de comida est谩 d贸nde, qu茅 sirven, qui茅n est谩 disponible para servir delicias y qui茅n se toma un descanso. 隆Se trata de administrar su equipo sobre la marcha, asegur谩ndose de que tengan los "ingredientes" correctos (herramientas, piezas) para resolver cualquier desaf铆o "culinario" (problema del cliente) que encuentren en el campo!

2.驴C贸mo se integra Field Service Lightning con Service Cloud?

Field Service Lightning, cuando se integra con Service Cloud, brinda informaci贸n en tiempo real hacia y desde las unidades m贸viles (FSL), para que todos sepan lo que sucede a su alrededor.

3. 驴Puede programar y enviar agentes de servicio de campo utilizando Salesforce?

隆Absolutamente! Puede planificar horarios, asignar agentes a diferentes trabajos y asegurarse de que est茅n listos para mejorar sus especialidades seg煤n sea necesario. Y si hay una prisa repentina, el sistema puede redirigir a los agentes desde lugares menos concurridos para que ayuden, equilibrando la carga de trabajo y manteniendo contentos a los clientes.

Claro, profundicemos en las macros en Service Cloud de Salesforce con un enfoque conversacional f谩cil de recordar. 隆Imag铆nate que estamos charlando en tu cafeter铆a favorita!

macros

1.驴Qu茅 es una macro en Salesforce Service Cloud?

Es un atajo genial que realiza tareas repetitivas por ti. Entonces, si te encuentras haciendo los mismos clics una y otra vez, una macro dice: "隆Oye, ya tengo esto!". 隆Y listo!

2. 驴Todos pueden usar mis Macros?

Si los mantiene p煤blicos, cualquiera puede usarlos. Pero si cree que su macro es secreta, puede guard谩rsela para usted. En Salesforce, se trata de establecer permisos y compartir configuraciones.

3. 驴Pueden las macros interactuar con aplicaciones de terceros en Salesforce?

鈥 Directamente, no. Las macros est谩n dise帽adas para automatizar las funcionalidades est谩ndar de Salesforce.

4. 驴Es posible deshacer las acciones de una Macro una vez ejecutada?

No, no hay un bot贸n "deshacer" para las macros. Una vez que se ejecuta una macro, sus acciones se consideran definitivas.

5. 驴Se pueden programar las macros para que se ejecuten a una hora espec铆fica?

No, las macros no se pueden programar. Son como un conjunto de herramientas manuales que requieren que alguien las utilice activamente; no funcionan con un temporizador autom谩tico.

6. 驴Qu茅 tipo de acciones no puedes realizar con una Macro?

Las macros no pueden manejar procesos complejos de toma de decisiones, interactuar con sistemas externos ni crear registros.

7. 驴C贸mo se organizan y gestionan las Macros para un equipo de agentes en Service Cloud?

Utilice carpetas para organizar y compartir colecciones de macros.

8. 驴Se puede modificar una macro activa? 驴Hay que tomar alguna precauci贸n?

S铆, puede editar una macro y probar las modificaciones antes de su uso generalizado.

9. 驴Es posible asignar Macros espec铆ficas a usuarios o perfiles espec铆ficos?

Si bien no puede asignar una macro directamente a usuarios espec铆ficos, puede controlar el acceso utilizando las carpetas de macros y la configuraci贸n de uso compartido de Salesforce.

10. 驴C贸mo se relacionan las macros con la API de Salesforce?

Las macros no interact煤an directamente con la API de Salesforce. Funcionan dentro de la interfaz de usuario, automatizando las acciones manuales del usuario.

11. 驴Se pueden utilizar las macros junto con Salesforce Flows?

Las macros y los flujos tienen diferentes prop贸sitos. Mientras que las Macros automatizan las acciones del usuario, los Flujos automatizan los procesos en el backend.

12. 驴C贸mo funciona el manejo de errores con Macros?

Si una macro encuentra un problema durante la ejecuci贸n, se detiene y se muestra un mensaje de error.

13. 驴Pueden los usuarios sin privilegios de administrador crear o modificar macros?

Los usuarios pueden crear macros personales, pero crear o modificar macros compartidas normalmente requiere ciertos permisos o privilegios de administrador.

14. 驴Existe alguna forma de realizar un seguimiento de los cambios realizados por una Macro?

No existe un mecanismo de seguimiento directo para las macros, pero puede utilizar las funciones de seguimiento de auditor铆a est谩ndar de Salesforce para ver los cambios en los registros.

15. 驴Cu谩l es el papel de las instrucciones macro en el proceso de creaci贸n?

Las instrucciones macro son el coraz贸n de la macro y dictan qu茅 acciones realiza. Elaborarlos es como escribir una lista detallada de tareas pendientes para otra persona; es necesario especificar cada paso de forma clara y en orden.

29. 驴Puedes usar macros para enviar correos electr贸nicos con archivos adjuntos?

No, las macros pueden automatizar el proceso de env铆o de un correo electr贸nico, pero no pueden agregar archivos adjuntos.

Omnicanal

1. 驴Puedes explicar qu茅 es OmniCanal en Salesforce?

Conozca todo sobre: OmniCanal en Salesforce

OmniCanal es una caracter铆stica de Salesforce que permite la gesti贸n de elementos de trabajo entrantes desde diferentes canales de comunicaci贸n. Se trata de dirigir el trabajo adecuado a los agentes adecuados en el momento adecuado, en funci贸n de su disponibilidad y capacidad, garantizando que las cargas de trabajo se gestionen de manera eficiente.

2: 驴C贸mo beneficia OmniCanal a un equipo de servicio al cliente?

OmniChannel ayuda a los equipos de servicio al cliente al distribuir el trabajo de manera uniforme entre los agentes, reducir los tiempos de espera de los clientes y permitir que los agentes manejen el trabajo desde varios canales dentro de una sola plataforma. Este enfoque simplificado conduce a un mejor servicio al cliente y una mayor productividad de los agentes.

3. 驴Cu谩l es la diferencia entre OmniCanal y distribuci贸n del trabajo tradicional?

La distribuci贸n tradicional del trabajo a menudo implica una asignaci贸n manual, lo que puede llevar mucho tiempo y ser ineficiente. OmniChannel, por otro lado, dirige autom谩ticamente el trabajo a los agentes m谩s adecuados seg煤n criterios preestablecidos y la disponibilidad de los agentes en tiempo real, lo que hace que el proceso sea m谩s r谩pido y eficiente.

4. 驴Puede explicar el 鈥淓stado de presencia鈥 en OmniCanal?

鈥淓stado de presencia鈥 se refiere a la disponibilidad actual de un agente para recibir trabajo. Los agentes pueden configurar su estado para mostrar si est谩n disponibles, ocupados o ausentes, y OmniCanal utiliza esta informaci贸n para enrutarles el trabajo en consecuencia.

5. 驴C贸mo garantiza OmniCanal que los casos de alta prioridad se manejen r谩pidamente?

OmniCanal permite a los administradores establecer niveles de prioridad para diferentes tipos de trabajo. Cuando llegan elementos de trabajo, se enrutan autom谩ticamente seg煤n estos niveles de prioridad. Los elementos de alta prioridad se env铆an al principio de la cola para que se atiendan m谩s r谩pido.

6. 驴Se puede integrar OmniCanal con otras funciones de Salesforce?

S铆, OmniCanal se integra perfectamente con otras funciones de Salesforce. Por ejemplo, funciona con Service Cloud para gestionar procesos de atenci贸n al cliente, Sales Cloud para procesos de ventas e incluso aplicaciones personalizadas de Salesforce.

7. 驴C贸mo admite OmniCanal los diferentes canales de comunicaci贸n?

OmniCanal es vers谩til al admitir varios canales de comunicaci贸n como correo electr贸nico, chat, SMS y redes sociales. Dirige todos estos diferentes tipos de trabajo a los agentes a trav茅s de la misma plataforma, garantizando un enfoque unificado del servicio al cliente.

8. 驴Puede describir un escenario en el que el enrutamiento omnicanal podr铆a resultar beneficioso?

Imagine un escenario en el que hay un gran volumen de solicitudes de servicio entrantes y una cantidad limitada de agentes disponibles. OmniCanal dirige eficientemente las solicitudes a los agentes disponibles seg煤n sus habilidades, carga de trabajo y prioridad de los casos, garantizando una carga de trabajo equilibrada y respuestas oportunas.

9. 驴Cu谩les son los tipos de Omni Channel?

Basado en cola 鈫 Asignar agentes a la cola

Basado en habilidades 鈫 Asignar habilidades a los agentes

Enrutamiento externo 鈫 Configuraci贸n de enrutamiento de terceros

10. 驴C贸mo configurar Omni Channel?

  1. Habilite OmniCanal.
  2. Crear canales de atenci贸n.
  3. Cree configuraciones de enrutamiento.
  4. Asociar configuraciones de enrutamiento y agentes con colas.
  5. Crear configuraciones de presencia.
  6. Crear estados de presencia.
  7. Agregue el widget omnicanal.

11. 驴C贸mo crear un Canal de Atenci贸n?

Se puede crear un canal de servicio para cualquier objeto de Salesforce, como un caso, cliente potencial, sesi贸n SOS o objeto personalizado.

12. 驴C贸mo crear una configuraci贸n de enrutamiento?

Las configuraciones de enrutamiento determinan c贸mo se enrutan los elementos de trabajo a los agentes.

Util铆celos para priorizar la importancia relativa y el tama帽o de los elementos de trabajo de sus colas.

13. 驴Explicar los ajustes de configuraci贸n de enrutamiento?

Prioridad de ruta:

El orden en el que los elementos de trabajo de la cola asociados con esta configuraci贸n de enrutamiento se enrutan a los agentes. Los objetos en colas con un n煤mero menor se enrutan primero a los agentes.

Modelo de enrutamiento:

Determina c贸mo se enrutan los elementos de trabajo entrantes a los agentes asignados al canal de servicio de configuraci贸n.

Tiempo de espera de empuje (segundos):

Establece un l铆mite de tiempo para que un agente responda a un elemento antes de enviarlo a otro agente.

Unidades de Capacidad:

Cantidad de capacidad total del agente.

Preguntas basadas en escenarios

1. 驴C贸mo dise帽ar铆a una soluci贸n para respaldar a un equipo de soporte multiling眉e que utiliza Service Cloud?

Service Cloud de Salesforce admite equipos multiling眉es mediante el uso de funciones como Translation Workbench, que le permite traducir objetos est谩ndar y personalizados, reglas de validaci贸n, etiquetas de campo y m谩s, a cualquiera de los idiomas admitidos.

Adem谩s, los art铆culos de conocimiento se pueden escribir y traducir a varios idiomas, lo que permite a los agentes de soporte acceder y proporcionar informaci贸n en varios idiomas.

Tambi茅n puede configurar OmniCanal para enrutar casos a los agentes adecuados seg煤n sus habilidades ling眉铆sticas. De esta manera, los clientes pueden interactuar con el soporte en su idioma preferido, mejorando la satisfacci贸n del cliente.

2. 驴Puede explicarme el proceso de dise帽o de una soluci贸n de Service Cloud que incorpore reglas de escalamiento de casos y SLA para garantizar una resoluci贸n oportuna del caso?

  1. Es necesario definir los SLA, es decir, el tiempo dentro del cual se deben resolver casos de ciertos tipos o prioridades.
  2. Una vez definidos, configurar谩 los procesos de derechos para especificar el cronograma para cada etapa de resoluci贸n del caso.
  3. Luego, usar铆a Milestones dentro de estos procesos para rastrear si los casos se est谩n resolviendo dentro de los SLA definidos.
  4. Las reglas de escalamiento de casos se usar铆an para escalar casos que est茅n en peligro de violar sus SLA. Estos se pueden configurar para escalar seg煤n la antig眉edad del caso, la prioridad o incluso si el caso ha estado inactivo. Los casos escalados pueden luego remitirse autom谩ticamente a agentes o supervisores con m谩s experiencia para recibir atenci贸n urgente.

3. 驴C贸mo abordar铆a el dise帽o de una soluci贸n para un centro de llamadas a gran escala que necesita gestionar grandes vol煤menes de casos y llamadas?

鈥 Para los centros de llamadas de gran volumen, le conviene aprovechar la funci贸n OmniCanal de Service Cloud, que garantiza que los casos se dirijan a los agentes adecuados seg煤n su disponibilidad y conjunto de habilidades, lo que ayuda a gestionar la carga de trabajo de manera eficiente. La integraci贸n de la telefon铆a mediante Open CTI permite a los agentes recibir y realizar llamadas directamente dentro de Salesforce, garantizando que tengan toda la informaci贸n relevante del cliente al alcance de su mano.

4. 驴Cu谩l es su experiencia con la integraci贸n de aplicaciones de terceros en Service Cloud y c贸mo ha abordado la soluci贸n de problemas de integraci贸n en el pasado?

Mi enfoque implica primero garantizar que la aplicaci贸n de terceros tenga una documentaci贸n API s贸lida y cumpla con las mejores pr谩cticas de seguridad y cumplimiento. Salesforce ofrece varias formas de integraci贸n, como mediante API REST o SOAP, servicios externos o incluso mediante aplicaciones AppExchange, si est谩n disponibles.

5. 驴C贸mo dise帽ar铆a una soluci贸n que utilice Service Cloud para rastrear la opini贸n del cliente e incorporar esa informaci贸n en los flujos de trabajo de gesti贸n de casos?

Service Cloud puede integrarse con herramientas que ofrecen an谩lisis de sentimientos, incluido Einstein Sentiment de Salesforce. Al analizar el texto de las interacciones con los clientes (correos electr贸nicos, transcripciones de chat, publicaciones en redes sociales), se puede determinar el sentimiento (positivo, neutral, negativo). Estos datos de opini贸n se pueden almacenar como un campo en el objeto Caso o en un objeto personalizado relacionado.

6. 驴Puede dar un ejemplo de c贸mo ha utilizado Service Cloud para mejorar las capacidades de autoservicio del cliente y reducir la cantidad de solicitudes de soporte entrantes?

Una estrategia eficaz es implementar una comunidad o portal de clientes utilizando Salesforce Community Cloud, integrado con Service Cloud. Aqu铆 se puede acceder a los art铆culos de la base de conocimientos, lo que permite a los clientes encontrar respuestas a sus preguntas. Tambi茅n se pueden crear casos directamente desde la comunidad y los clientes pueden verificar su estado sin necesidad de comunicarse con el soporte. La implementaci贸n de un chatbot a trav茅s de Einstein Bots tambi茅n puede desviar consultas rutinarias al proporcionar respuestas autom谩ticas a preguntas comunes.

7. 驴Has trabajado con Service Cloud Voice? 驴C贸mo ha utilizado esta tecnolog铆a para mejorar el rendimiento del call center y la satisfacci贸n del cliente?

Service Cloud Voice integra la telefon铆a en Salesforce, brindando una vista unificada del cliente y transcripci贸n de llamadas en tiempo real. Esto permite a los agentes centrarse m谩s en el cliente que en tomar notas. La transcripci贸n en tiempo real, impulsada por Einstein, tambi茅n puede proporcionar sugerencias para el siguiente paso, ayudando a los agentes m谩s nuevos. La conclusi贸n posterior a la llamada se acelera porque los datos de la llamada ya est谩n en Salesforce, lo que reduce el trabajo posterior a la llamada y, en consecuencia, los tiempos de espera para los clientes. Los datos hist贸ricos de llamadas brindan informaci贸n valiosa para el an谩lisis de la opini贸n del cliente y el desempe帽o de los agentes, lo que impacta positivamente la capacitaci贸n y la satisfacci贸n del cliente.

8. 驴C贸mo abordar铆a el dise帽o de una soluci贸n para una empresa que opera en varios pa铆ses con diferentes regulaciones de privacidad de datos?

鈥 El cumplimiento de diversas normas de privacidad de datos se puede gestionar en Service Cloud mediante el uso de funciones como opciones de residencia de datos para almacenar datos en regiones espec铆ficas, enmascaramiento de datos, cifrado, seguridad a nivel de campo y reglas de acceso a registros para controlar qui茅n puede acceder a qu茅 datos.

9. 驴C贸mo ha abordado los problemas de escalabilidad y rendimiento al dise帽ar soluciones de Service Cloud para grandes empresas?

  • Para las grandes empresas, las consideraciones incluyen la gesti贸n del volumen de datos, el uso de las herramientas de optimizaci贸n del rendimiento integradas de Salesforce y la revisi贸n peri贸dica de la organizaci贸n para eliminar configuraciones y personalizaciones obsoletas.
  • Tambi茅n es importante dise帽ar con una mentalidad de 鈥渃lics, no c贸digo鈥 para minimizar el c贸digo personalizado, que puede introducir complejidad y sobrecarga de rendimiento.
  • Cuando es necesario un c贸digo personalizado, es vital seguir las mejores pr谩cticas para la masificaci贸n y las consultas SOQL eficientes. Finalmente, el monitoreo a trav茅s del Optimizador, Health Check y otras herramientas de Salesforce puede ayudar a identificar y mitigar problemas de rendimiento de manera proactiva.

10. 驴C贸mo ha utilizado Service Cloud para mejorar la retenci贸n de clientes y reducir las tasas de abandono?

En Service Cloud, la retenci贸n de clientes se puede mejorar significativamente utilizando las s贸lidas funciones de servicio al cliente de la plataforma. Por ejemplo, aprovecho las capacidades de an谩lisis e informes de Service Cloud para realizar un seguimiento de las puntuaciones de satisfacci贸n del cliente e identificar problemas comunes que provocan la insatisfacci贸n del cliente. Al integrar los comentarios directamente en el sistema de gesti贸n de casos, los agentes pueden abordar las inquietudes de manera proactiva antes de que se intensifiquen, lo que impacta directamente en la satisfacci贸n y retenci贸n del cliente. Adem谩s, caracter铆sticas como la comunicaci贸n personalizada con el cliente, art铆culos de conocimiento para el autoservicio y la resoluci贸n eficiente de casos a trav茅s del enrutamiento y escalamiento automatizados de casos ayudan a mantener una experiencia positiva para el cliente, reduciendo as铆 la deserci贸n.

11. 驴Ha trabajado con la funcionalidad Live Agent de Service Cloud? 驴C贸mo ha utilizado esta tecnolog铆a para mejorar las experiencias de atenci贸n al cliente?

S铆, utilic茅 Live Agent dentro de Service Cloud para mejorar el soporte que reciben los clientes en tiempo real. Al integrar Live Agent, los clientes pueden chatear instant谩neamente con agentes de soporte, lo que reduce los tiempos de espera y mejora la satisfacci贸n general. Descubr铆 que incorporar el chat de Live Agent en sitios web y aplicaciones m贸viles donde los clientes son m谩s activos reduce significativamente la barrera para acceder al soporte.

12. 驴Puede describir c贸mo dise帽ar铆a una soluci贸n de Service Cloud que incorpore el enrutamiento automatizado de casos al agente apropiado seg煤n el problema del cliente y el conjunto de habilidades del agente?

Para lograr esto, aprovechar铆amos la funci贸n OmniCanal, que permite enrutar los casos seg煤n el conjunto de habilidades, la disponibilidad y la carga de trabajo del agente.

  1. Comenzar铆a por definir varios conjuntos de habilidades de agentes dentro del sistema y asociar铆a estas habilidades con los agentes correspondientes.
  2. Luego, establec铆a configuraciones de enrutamiento, donde los casos entrantes se eval煤an seg煤n criterios predefinidos relacionados con el problema del cliente y luego se los relaciona con un agente que posee el conjunto de habilidades requerido.

13. 驴C贸mo abordar铆a el dise帽o de una soluci贸n de Service Cloud que pueda manejar grandes vol煤menes de casos manteniendo tiempos de respuesta consistentes y niveles de satisfacci贸n del cliente?

  • Primero, implementar铆a reglas de asignaci贸n de casos para automatizar la distribuci贸n de casos a los agentes o colas correctos.
  • Luego, utilizar铆a la funci贸n de reglas de escalamiento de casos de Service Cloud para priorizar casos urgentes o de alto impacto.
  • Para mantener tiempos de respuesta constantes, se pueden utilizar funciones como reglas de respuesta autom谩tica para reconocer inmediatamente los env铆os de casos.
  • Adem谩s, integrar铆a una base de conocimientos integral para facilitar las opciones de autoservicio, reduciendo as铆 la carga de casos para los agentes.

50% Me gusta VS
50% No me gusta

Seguir leyendo

Incrustar flujos de pantalla en el componente web Lightning

Incrustar flujos de pantalla en el componente web Lightning

脷ltima actualizaci贸n el 19 de julio de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo incrusta un flujo de pantalla dentro de un componente web Lightning?

Objetivos:

Despu茅s de leer este blog, podr谩:

  • Incruste el flujo de pantalla dentro de un componente web Lightning
  • Aplicar representaci贸n condicional en el componente web Lightning
  • Use uiRecordApi para obtener el valor del campo del registro sin usar la clase de Apex
  • y mucho m谩s

En el pasado, escrib铆 algunos art铆culos sobre Lightning Web Component . 驴Por qu茅 no echarles un vistazo mientras est谩s en ello?

  1. Pasar datos del componente web Lightning al flujo de pantalla
  2. Uso del componente web Lightning para mostrar un banner de alerta

Janel Parrish trabaja como desarrollador junior en Gurukul on Cloud (GoC). Se le ha encomendado un requisito comercial para desarrollar un componente LWC con las siguientes funcionalidades:

  1. Deber铆a mostrar un flujo de pantalla llamado 'parterFlow' cuando el tipo de cuenta es 'Socio tecnol贸gico'.
  2. Deber铆a presentar un flujo de pantalla llamado 'customerFlow' cuando el tipo de cuenta es 'Cliente – Directo'.
  3. El componente LWC debe dise帽arse con la capacidad de incorporarse en la p谩gina de registro de rayos de la cuenta.

Enfoque de Campe贸n de Automatizaci贸n (I-do):

Utilizaremos el componente lightning-flow para incrustar un flujo de pantalla en el componente lightning web. Para crear un flujo en el componente Lightning Web, establezca el atributo flowApiName del componente Lightning-Flow en el nombre de flujo que desea usar. El componente incluye botones de navegaci贸n (Atr谩s, Siguiente, Pausa y Finalizar) para que los usuarios naveguen dentro del flujo.

Tambi茅n usaremos un adaptador de cable uiRecordApi que nos permite interactuar con registros de Salesforce desde los componentes del componente web lightning sin escribir c贸digo Apex. Esta API le permite realizar operaciones como recuperar los datos de un registro o los detalles del dise帽o, crear, eliminar o actualizar un registro, etc. Estos son algunos de los m茅todos clave proporcionados por uiRecordApi :

  1. getRecord : este m茅todo le permite obtener datos de registro.
  2. getRecordCreateDefaults : este m茅todo proporciona los valores predeterminados que utiliza Salesforce al crear un nuevo registro.
  3. getRecordUi : obtiene los detalles de dise帽o de un registro, como qu茅 campos se muestran, c贸mo se muestran, etc.
  4. createRecord : este m茅todo le permite crear un nuevo registro.
  5. deleteRecord 鈥 Le permite eliminar un registro.
  6. updateRecord : te permite actualizar un registro existente.

En el archivo de configuraci贸n XML, usaremos lightning__RecordPage como destino para permitir que el componente web de iluminaci贸n se use en una p谩gina de registro en Lightning App Builder.

Pr谩ctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito comercial de Janel utilizando Lightning Web Component y Screen Flow . Debemos:

  1. Cree un ScreenFlow (customerFlow) para manejar la solicitud del cliente
    1. Definir propiedades de flujo para el flujo de pantalla
    2. Agregue una variable de texto para almacenar el nombre de la cuenta
    3. Agregue una pantalla para mostrar el nombre de la cuenta desde una variable de texto
  2. Cree un ScreenFlow (partnerFlow) para manejar la solicitud del cliente
    1. Definir propiedades de flujo para el flujo de pantalla
    2. Agregue una variable de texto para almacenar el nombre de la cuenta
    3. Agregue una pantalla para mostrar el nombre de la cuenta desde una variable de texto
  3. Cree un componente web rel谩mpago para mostrar los diferentes flujos de pantalla seg煤n el tipo de cuenta

Paso 1.1: Definir propiedades de flujo (customerFlow)

  1. Haga clic en Configuraci贸n .
  2. En el cuadro B煤squeda r谩pida, escriba Flujos .
  3. Seleccione Flujos , luego haga clic en Nuevo flujo .
  4. Seleccione el flujo de pantalla   y haga clic en Crear y configurar el flujo.
  5. Se abrir谩 el dise帽ador de flujo para usted.

Paso 1.2: agregue una variable de texto al nombre de la cuenta de la tienda

  1. En Caja de herramientas , seleccione Administrador y, a continuaci贸n, haga clic en Nuevo recurso para almacenar el nombre de la cuenta.
  2. Ingrese la siguiente informaci贸n :
    1. Tipo de recurso : Variable
    2. Nombre de API : nombre de cuenta
    3. Tipo de datos : Texto
    4. Valor predeterminado : {!$GlobalConstant.EmptyString}
    5. Comprobar disponible para entrada
    6. Comprobar disponible para la salida
  3. Haga clic en Listo.

Paso 1.3: agregue una pantalla para mostrar el nombre de la cuenta desde la variable de texto

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Pantalla .
  2. Ingrese la siguiente informaci贸n :
    1. Ingrese la etiqueta, el nombre de la API se completar谩 autom谩ticamente.
  3. Haga clic en Listo.

Al final, Janel's Flow se ver谩 como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  1. Haga clic en Guardar .
  2. Ingrese la etiqueta de flujo, el nombre de la API se completar谩 autom谩ticamente.
  3. Haga clic en Mostrar avanzado .
  4. Versi贸n de API para ejecutar el flujo : 58
  5. Etiqueta de entrevista : customerFlow {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

Paso 2.1: Definir propiedades de flujo (partnerFlow)

  1. Haga clic en Configuraci贸n .
  2. En el cuadro B煤squeda r谩pida, escriba Flujos .
  3. Seleccione Flujos , luego haga clic en Nuevo flujo .
  4. Seleccione el flujo de pantalla   y haga clic en Crear y configurar el flujo.
  5. Se abrir谩 el dise帽ador de flujo para usted.

Paso 2.2: agregue una variable de texto al nombre de la cuenta de la tienda

  1. En Caja de herramientas , seleccione Administrador y, a continuaci贸n, haga clic en Nuevo recurso para almacenar el nombre de la cuenta.
  2. Ingrese la siguiente informaci贸n :
    1. Tipo de recurso : Variable
    2. Nombre de API : nombre de cuenta
    3. Tipo de datos : Texto
    4. Valor predeterminado : {!$GlobalConstant.EmptyString}
    5. Comprobar disponible para entrada
    6. Comprobar disponible para la salida
  3. Haga clic en Listo.

Paso 2.3: agregue una pantalla para mostrar el nombre de la cuenta desde la variable de texto

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Pantalla .
  2. Ingrese la siguiente informaci贸n :
    1. Ingrese la etiqueta, el nombre de la API se completar谩 autom谩ticamente.
  3. Haga clic en Listo.

Al final, Janel's Flow se ver谩 como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  1. Haga clic en Guardar .
  2. Ingrese la etiqueta de flujo, el nombre de la API se completar谩 autom谩ticamente.
  3. Haga clic en Mostrar avanzado .
  4. Versi贸n de API para ejecutar el flujo : 58
  5. Etiqueta de entrevista : flujo de socio { !$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

Paso 3: cree un componente web Lightning para mostrar los diferentes flujos de pantalla seg煤n el tipo de cuenta

Debajo de la plantilla de componente web lightning, se muestra una tarjeta Lightning titulada Iniciar pedido . Dependiendo de si la propiedad isPartner o isCustomer es verdadera, se iniciar谩 y mostrar谩 el Lightning Flow correspondiente ("rakeshistomMVP__partnerFlow" o "rakeshistomMVP__customerFlow").

embedFlowToLWC.html

Utilizaremos el componente lightning-flow para incrustar un flujo de pantalla en el componente lightning web. Desglosemos el c贸digo:

  • En LWC, el archivo HTML de cada componente debe envolverse con una etiqueta <plantilla> .
  • <template if:true={isPartner}> y <template if:true={isCustomer}> : estas son plantillas condicionales que muestran contenido en funci贸n de la veracidad de las propiedades isPartner e isCustomer , respectivamente. El contenido dentro de estas plantillas solo se representar谩 si la condici贸n correspondiente es verdadera.

<plantilla> <div class="slds-m-alrededor_medio"> <lightning-card title="Iniciar pedido" icon-name="est谩ndar:pedidos"> <div class="slds-m-alrededor_medio"> <template if:true={esSocio}> <lightning-flow onstatuschange={handleStatusChange} flow-api-name="rakeshistomMVP__partnerFlow" flow-input-variables={inputVariables}></lightning-flow> </plantilla> <template if:true={esCliente}> <lightning-flow onstatuschange={handleStatusChange} flow-api-name="rakeshistomMVP__customerFlow" flow-input-variables={inputVariables}></lightning-flow> </plantilla> </div> </tarjeta-rel谩mpago> </div>
</plantilla>
embedFlowToLWC.js

Este c贸digo JavaScript de muestra usa el decorador @api para crear propiedades p煤blicas. Por ejemplo, recordId es una propiedad reactiva p煤blica que contiene el ID de la p谩gina de registro. Mientras que el decorador @wire lee los datos de Salesforce. getRecord es una funci贸n del m贸dulo lightning/uiRecordApi que recupera un registro. accountType y accountName se importan del esquema de Salesforce.

  • Las declaraciones de importaci贸n se utilizan para importar los m贸dulos y las dependencias necesarios. LightningElement es el componente b谩sico para crear componentes web Lightning.
  • account({ error, data }) es una funci贸n que maneja la respuesta de la llamada getRecord . Si hay un error, asigna el error a this.error . Si se devuelven datos, establece this.accountName en el nombre de la cuenta y establece isPartner o isCustomer en verdadero seg煤n el tipo de cuenta.
  • get inputVariables() es un m茅todo captador que devuelve una matriz de objetos, que representa variables de entrada para un flujo. En este caso, devuelve el nombre de la cuenta.

import { LightningElement, api, wire } de 'lwc';
importar { getRecord } desde 'lightning/uiRecordApi';
importar tipo de cuenta desde '@salesforce/schema/Account.Type';
importar nombre de cuenta desde '@salesforce/schema/Account.Name'; exportar la clase predeterminada FlowLauncher extiende LightningElement { @api recordId; nombre de la cuenta; esSocio = falso; esCliente = falso; @wire(getRecord, { recordId: '$recordId', campos: [nombre de cuenta, tipo de cuenta] }) cuenta ({ error, datos }) { si (error) { this.error = error; } m谩s si (datos) { this.accountName = data.fields.Name.value; if(data.fields.Type.value === 'Socio tecnol贸gico') { this.isPartner = verdadero; this.isCustomer = false; } else if(data.fields.Type.value === 'Cliente - Directo') { this.isCustomer = true; this.isPartner = false; } } } obtener variables de entrada () { devolver [ { nombre: 'nombre de cuenta', tipo: 'Cadena', valor: este.nombreDeCuenta } ]; } handleStatusChange(evento) { if(evento.detalle.estado === 'FINALIZADO') { //Acci贸n despu茅s de que un flujo haya terminado } }
}
embedFlowToLWC.js-meta.xml

El elemento isExposed se establece en verdadero, lo que hace que el componente est茅 disponible para su uso en herramientas como Lightning App Builder o Flow Builder.

El elemento de objetivos se usa para especificar d贸nde se puede usar su componente. En este caso, la etiqueta lightning__RecordPage significa que este componente est谩 dise帽ado para usarse en una p谩gina de registro en Lightning App Builder.



<?versi贸n xml=鈥1.0鈥 codificaci贸n=鈥漊TF-8鈥?>
<LightningComponentBundle xmlns=鈥漢ttp://soap.sforce.com/2006/04/metadata鈥>
<apiVersion>58.0</apiVersion>
<isExposed>verdadero</isExposed>
<target>rel谩mpago__RecordPage</target>
</objetivos>
</LightningComponentBundle>

Prueba de concepto

Evaluaci贸n formativa:

隆Quiero saber de ti!

驴Qu茅 es una cosa que aprendiste de esta publicaci贸n? 驴C贸mo imagina aplicar este nuevo conocimiento en el mundo real? Si茅ntase libre de compartir en los comentarios a continuaci贸n.

Seguir leyendo

Pasar datos del componente web Lightning al flujo de pantalla

Pasar datos del componente web Lightning al flujo de pantalla

脷ltima actualizaci贸n el 17 de julio de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo pasa datos del componente web lightning al flujo de pantalla principal?

Objetivos:

Despu茅s de leer este blog, podr谩:

  • Incruste un componente web rel谩mpago dentro del flujo de pantalla
  • Pase los datos del componente web lightning a una variable de flujo
  • Interactuar con el componente web lightning y los elementos de flujo de pantalla en la misma pantalla
  • y mucho m谩s

En el pasado, escrib铆 algunos art铆culos sobre Lightning Web Component . 驴Por qu茅 no echarles un vistazo mientras est谩s en ello?

  1. Uso del componente web Lightning para mostrar un banner de alerta
  2. Obtenga el Id. de registro y el nombre de la API del objeto en el componente web Lightning

Janel Parrish trabaja como desarrollador junior en Gurukul on Cloud (GoC). Janel tiene un requisito comercial para hacer lo siguiente:

  1. Desarrollar un componente LWC capaz de recibir entradas de latitud y longitud.
  2. Pase los valores introducidos a los componentes de flujo de pantalla correspondientes.

Construir pantallas con componentes reactivos

Con la funci贸n Crear pantallas con componentes interactivos (actualmente en versi贸n beta), ahora puede habilitar la interacci贸n directa entre un componente web Lightning y otros elementos de flujo en la misma pantalla.

Anteriormente, no exist铆a una disposici贸n directa para la interacci贸n din谩mica entre un componente web Lightning y los elementos de flujo. Como resultado, los usuarios ten铆an que navegar a la siguiente pantalla para ver los datos pasados por el componente web Lightning en Screen Flow.

Enfoque de Campe贸n de Automatizaci贸n (I-do):

Al crear el componente web Lightning, tambi茅n utilizaremos el evento FlowAttributeChangeEvent . Esto permitir谩 que un componente controle la navegaci贸n del flujo y notifique al flujo los cambios en los valores de los atributos.

Los eventos FlowAttributeChangeEvent solo se admiten en componentes donde el destino es lightning__FlowScreen .

Pr谩ctica guiada (nosotros hacemos):

Hay 2 pasos para resolver el requisito empresarial de Janel utilizando Lightning Web Component y Screen Flow . Debemos:

  1. Cree un componente web Lightning de ubicaci贸n de entrada para Screen Flow
  2. Pasos de flujo de Salesforce
    1. Definir propiedades de flujo para el flujo de pantalla
    2. Agregue una pantalla para mostrar el componente personalizado de ubicaci贸n de entrada
    3. Agregar un componente de n煤mero de entrada para mostrar la latitud desde la ubicaci贸n de entrada Componente LWC
    4. Agregar un componente de n煤mero de entrada para mostrar la longitud desde la ubicaci贸n de entrada Componente LWC

Paso 1: Cree un componente web Lightning de ubicaci贸n de entrada para Screen Flow

En primer lugar, cree un componente web Lightning de ubicaci贸n de entrada con el siguiente c贸digo. El componente lightning-input-location representa un campo de geolocalizaci贸n compuesto que acepta valores de latitud y longitud introducidos por el usuario, siendo ambos coordenadas geogr谩ficas expresadas en grados decimales. Le permite identificar ubicaciones utilizando estas coordenadas.

El rango aceptable para la latitud est谩 entre -90 y 90, mientras que la longitud acepta valores de -180 a 180. Cualquier entrada m谩s all谩 de estos rangos especificados genera un mensaje de error. Este ejemplo muestra un campo de geolocalizaci贸n compuesto, que muestra una latitud de 27,70750 y una longitud de -122,3948370.

Si no sabe c贸mo crear un componente Lightning, consulte esta gu铆a para desarrolladores, Crear un componente web Lightning .

lwcToScreenFlow.html

Utilizaremos el componente de ubicaci贸n de entrada de rayos para aceptar valores de latitud y longitud. Desglosemos el c贸digo:

  • En LWC, el archivo HTML de cada componente debe envolverse con una etiqueta <plantilla> .
  • latitude={latitude} :- Esto vincula la propiedad de latitud de la clase JavaScript de LWC con el atributo de latitud del componente.
  • longitude={longitude} :- Similar a la latitud, esto une la propiedad de longitud de la clase JavaScript de LWC con el atributo de longitud del componente.
  • onchange={handleChange} :- Esto configura un detector de eventos en el componente. Cada vez que cambia el valor del componente (ya sea latitud o longitud), se llama al m茅todo handleChange de la clase JavaScript de LWC.

<plantilla> <rel谩mpago-entrada-ubicaci贸n etiqueta="Coordenadas predeterminadas" latitud={latitud} longitud={longitud} onchange={handleChange}> </ubicaci贸n-de-entrada-del-rel谩mpago>
</plantilla>
lwcToScreenFlow.js

Este c贸digo JavaScript de muestra utiliza el decorador @api para crear propiedades p煤blicas, es decir, accesibles desde otros componentes o utilizadas en plantillas HTML. Por ejemplo, @api latitude y @api longitude declaran dos propiedades p煤blicas.

  • FlowAttributeChangeEvent crea y distribuye el evento personalizado que transfiere datos del componente web Lightning a un flujo.
  • handleChange(event) es un m茅todo de controlador de eventos que se llama cuando ocurre un evento de cambio en el componente lightning-input-location en la plantilla HTML de LWC.
  • this.latitude = event.target.latitude y this.longitude = event.target.longitude , estas l铆neas actualizan las propiedades de latitud y longitud con los valores del objetivo del evento (el componente lightning-input-location).
  • [鈥渓atitud鈥, 鈥渓ongitud鈥漖.forEach((loc) => this.dispatchEvent(new FlowAttributeChangeEvent(loc, this[loc]))) , esta l铆nea recorre una matriz que contiene cadenas de latitud y longitud, y para cada uno de estos, env铆a un nuevo FlowAttributeChangeEvent.

importar { LightningElement, api } desde 'lwc';
importar {FlowAttributeChangeEvent} desde 'lightning/flowSupport'; exportar la clase predeterminada LwcToScreenFlow extiende LightningElement { @api latitud; @api longitud; handleChange(evento){ esta.latitud = evento.objetivo.latitud; this.longitude = event.target.longitude; ["latitud", "longitud"].forEach((loc) => this.dispatchEvent(new FlowAttributeChangeEvent(ubicaci贸n, esta[ubicaci贸n])) ); }
}
lwcToScreenFlow.js-meta.xml

El elemento isExposed se establece en verdadero, lo que hace que el componente est茅 disponible para su uso en herramientas como Lightning App Builder o Flow Builder. El elemento de objetivos se usa para especificar d贸nde se puede usar su componente. En este caso, la etiqueta lightning__FlowScreen significa que este componente est谩 dise帽ado para usarse en las pantallas de Salesforce Flow.

Los elementos targetConfigs y targetConfig le permiten definir propiedades que se pueden establecer en el contexto del constructor. En este caso, las propiedades son latitud y longitud . Ambos est谩n configurados para ser del tipo Integer y tienen la funci贸n de outputOnly , lo que significa que se pueden configurar en el flujo, pero el usuario no puede modificarlos dentro del componente. Estas propiedades se pueden usar para pasar datos del LWC al flujo.


<?versi贸n xml="1.0" codificaci贸n="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadatos"> <apiVersion>58.0</apiVersion> <isExposed>verdadero</isExposed> <objetivos> <target>rel谩mpago__FlowScreen</target> </objetivos> <configuraciones de destino> <targetConfig objetivos="rel谩mpago__FlowScreen"> <property label="Latitude" name="latitude" type="Integer" role="outputOnly"/> <property label="Longitud" name="longitud" type="Integer" role="outputOnly"/> </targetConfig> </configuraciones de destino>
</LightningComponentBundle>

Paso 2.1: Definir propiedades de flujo

  1. Haga clic en Configuraci贸n .
  2. En el cuadro B煤squeda r谩pida, escriba Flujos .
  3. Seleccione Flujos , luego haga clic en Nuevo flujo .
  4. Seleccione el flujo de pantalla   y haga clic en Crear y configurar el flujo.
  5. Se abrir谩 el dise帽ador de flujo para usted.

Paso 2.2: agregue una pantalla para mostrar el componente personalizado de ubicaci贸n de entrada

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Pantalla .
  2. Ingrese la siguiente informaci贸n :
    1. Ingrese la etiqueta, el nombre de la API se completar谩 autom谩ticamente.
  3. Haga clic en Listo.

Paso 2.3: Agregue un componente de n煤mero de entrada para mostrar la latitud desde el componente LWC de ubicaci贸n de entrada

  1. En la secci贸n Entrada en Elemento de pantalla , arrastre y suelte el componente N煤mero en la pantalla.
  2. Ingrese la siguiente informaci贸n :
    1. Ingrese la etiqueta, el nombre de la API se completar谩 autom谩ticamente.
    2. Valor predeterminado : {!lwcToFlow.latitude}
  3. Haga clic en Listo.

Paso 2.4: Agregar un componente de n煤mero de entrada para mostrar la longitud desde la ubicaci贸n de entrada Componente LWC

  1. En la secci贸n Entrada en Elemento de pantalla , arrastre y suelte el componente N煤mero en la pantalla.
  2. Ingrese la siguiente informaci贸n :
    1. Ingrese la etiqueta, el nombre de la API se completar谩 autom谩ticamente.
    2. Valor predeterminado : {!lwcToFlow.longitude}
  3. Haga clic en Listo.

Al final, Janel's Flow se ver谩 como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:

  1. Haga clic en Guardar .
  2. Ingrese la etiqueta de flujo, el nombre de la API se completar谩 autom谩ticamente.
  3. Haga clic en Mostrar avanzado .
  4. Versi贸n de API para ejecutar el flujo : 58
  5. Etiqueta de entrevista : Pase de Screen Flow a LWC {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar .

Prueba de concepto

Evaluaci贸n formativa:

隆Quiero saber de ti!

驴Qu茅 es una cosa que aprendiste de esta publicaci贸n? 驴C贸mo imagina aplicar este nuevo conocimiento en el mundo real? Si茅ntase libre de compartir en los comentarios a continuaci贸n.

Seguir leyendo

Explore la API de la plataforma de eventos con la colecci贸n de cartero extendida 鈽侊笍

Explore la API de la plataforma de eventos con la colecci贸n de cartero extendida 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Explore la API de la plataforma de eventos con la colecci贸n extendida de Postman | Blog de desarrolladores de Salesforce

Para una gran cantidad de nuestros clientes, la plataforma Salesforce sirve como la piedra angular de sus sistemas de informaci贸n y, por lo tanto, debe integrarse perfectamente con una amplia gama de sistemas de terceros. Entre las muchas opciones de integraci贸n disponibles se encuentra la plataforma de eventos de Salesforce.

En esta publicaci贸n, repasaremos brevemente la plataforma de eventos y luego exploraremos la nueva plataforma de eventos y las solicitudes de API que se agregaron a la colecci贸n de API de la plataforma de Salesforce en Postman. Tambi茅n aprender谩 c贸mo introdujimos la capacidad de configurar Event Relays y canales personalizados con Postman.

Acerca de la plataforma de eventos de Salesforce

Event Platform consta de diferentes funciones que le permiten crear arquitecturas basadas en eventos gracias a Salesforce Event Bus.

Tipos de eventos

El bus de eventos de Salesforce admite dos tipos principales de eventos casi en tiempo real: eventos de plataforma y eventos de cambio.

Los eventos de la Plataforma permiten la comunicaci贸n dentro de la Plataforma y con sistemas externos. Estos eventos se pueden enviar y recibir con c贸digo personalizado o herramientas declarativas, como Flow. Hay eventos de plataforma est谩ndar con campos predefinidos y eventos personalizados que puede crear con campos personalizados.

Los eventos de cambio son enviados autom谩ticamente por la Plataforma cada vez que se crea, modifica, elimina o recupera un registro. Cada evento de cambio est谩 vinculado a un objeto de Salesforce est谩ndar o personalizado, y los campos de evento coinciden con los de su objeto principal.

Los eventos de plataforma y los eventos de cambio se pueden enviar y recibir gracias a una selecci贸n de dos tecnolog铆as de transmisi贸n: la biblioteca CometD heredada o la API Pub/Sub basada en gRCP m谩s moderna . Independientemente de la tecnolog铆a o el tipo de evento, publica o se suscribe a eventos a trav茅s de canales dedicados.

Canales personalizados

Puede definir un canal personalizado para agrupar mensajes de eventos del mismo tipo (eventos de plataforma o eventos de cambio) en una transmisi贸n. Por ejemplo, puede combinar eventos de cambio de cuenta, contacto y pedido en un solo canal personalizado CustomerUpdates__chn . Despu茅s de suscribirse a este canal, recibir谩 notificaciones sobre cambios en cualquiera de esos tres objetos.

Tenga en cuenta que los canales personalizados son compatibles con eventos de plataforma personalizados, pero no con eventos de plataforma est谩ndar.

Adem谩s de la capacidad de agrupar varios eventos, los canales personalizados desbloquean dos funciones: filtrado de eventos y cambio de enriquecimiento de eventos.

El filtrado de eventos le permite configurar expresiones que filtran los eventos que se env铆an en un canal personalizado. Por ejemplo, podr铆a crear un canal espec铆fico como UkLargeCustomerUpdates__chn que filtra las actualizaciones de la cuenta, donde el pa铆s de facturaci贸n es el Reino Unido y los ingresos anuales superan los 500k. El uso del filtrado de eventos ayuda a simplificar el c贸digo del lado del cliente, pero tambi茅n ayuda a evitar los l铆mites m谩ximos de suscriptores simult谩neos .

Los canales personalizados de Change Data Capture tambi茅n otorgan la capacidad de declarar campos enriquecidos . Cuando se trabaja con eventos de cambio, solo se pasan los valores de campo actualizados en los datos del evento. Esta optimizaci贸n puede ser problem谩tica en ciertas situaciones, por ejemplo, cuando desea sincronizar con un sistema de terceros con una ID externa. En este caso, el ID externo no cambia, por lo que nunca forma parte de los datos del evento de cambio. Afortunadamente, el enriquecimiento de campos le permite declarar un canal personalizado en el que puede especificar campos que siempre se pasar谩n en el contexto de eventos de cambio.

Relevo de eventos

Event Relay le permite integrar perfectamente los eventos en tiempo real de Salesforce con Amazon Web Services (AWS). Gracias a Event Relay, los eventos de la plataforma y los eventos de Change Data Capture se env铆an a Amazon EventBridge a trav茅s de canales y los componentes de AWS pueden consumirlos directamente. Los componentes de AWS tambi茅n pueden publicar eventos de plataforma de forma nativa.

Consulte esta publicaci贸n de Event Relay para obtener m谩s informaci贸n.

Antes del lanzamiento de Summer '23, Event Relay solo se pod铆a configurar a trav茅s de las API. Ahora, hay una interfaz de usuario dedicada en Configuraci贸n. La 煤nica pieza que a煤n necesita crear a trav茅s de la API de herramientas o la API de metadatos son los canales personalizados.

Actualizaciones de Salesforce Event Platform para la colecci贸n Postman

En junio, actualizamos la colecci贸n de API de Salesforce Platform para Postman para incluir solicitudes para interactuar con Event Platform . Si no est谩 familiarizado con Postman o la colecci贸n de API de plataforma, eche un vistazo al proyecto Quick Start: Connect Postman to Salesforce Trailhead para comenzar.

Canales personalizados

Nuestras nuevas solicitudes de Postman son un gran ahorro de tiempo ya que, a partir del lanzamiento de Summer '23, los canales personalizados solo se pueden configurar a trav茅s de metadatos o llamadas a la API de herramientas y no se pueden modificar directamente en la configuraci贸n de Salesforce.

Hemos introducido una serie de solicitudes para realizar operaciones de creaci贸n, lectura, actualizaci贸n y eliminaci贸n (CRUD) en canales personalizados y los dos tipos de metadatos relacionados: PlatformEventChannel (consulte los documentos ) y PlatformEventChannelMember (consulte los documentos ).

A pesar de sus nombres, estos tipos de metadatos funcionan tanto para eventos de plataforma como para canales personalizados de eventos de cambio. Las 煤nicas diferencias son que el valor del atributo ChannelType debe establecerse en event para eventos de plataforma o data para eventos de cambio, y que el atributo EnrichedFields solo est谩 disponible para canales personalizados de eventos de cambio.

Publicar eventos de la plataforma

Hemos agregado una serie de ejemplos para eventos de plataforma de publicaci贸n. Movimos la solicitud de la API REST existente a la nueva subcarpeta Publicar eventos de la plataforma y agregamos dos ejemplos para publicar varios eventos en una sola solicitud con la API compuesta y la API SOAP.

Configuraci贸n de retransmisi贸n de eventos

La carpeta Configuraci贸n de retransmisi贸n de eventos es donde se encuentran la mayor铆a de las solicitudes nuevas. Estas nuevas solicitudes son fundamentales para configurar un relevo de eventos:

  • Operaciones CRUD en Credenciales con nombre que se introdujeron en Summer '23
  • Operaciones CRUD en la configuraci贸n de Event Relay
  • Comentarios de retransmisi贸n de eventos de consultor铆a

esquema de eventos

Agregamos dos nuevas solicitudes para recuperar el esquema de un evento de plataforma, ya sea desde su ID o desde su nombre . Estas solicitudes son 煤tiles para recuperar los campos de los eventos.

Lo que nos depara la colecci贸n Postman

Invertimos continuamente en nuestra colecci贸n de API de plataforma y buscamos agregar soporte para la suscripci贸n a eventos de la API Pub Sub. CometD no ser谩 compatible, ya que es una biblioteca que requiere un servidor de aplicaciones, pero estamos considerando conectarnos con la API Pub/Sub basada en gRPC .

Postman ha lanzado una serie de funciones para interactuar con las API de gRPC desde el a帽o pasado. Gracias a esto, podemos conectarnos a la API de Pub/Sub, suscribirnos a eventos y recibirlos. Sin embargo, lamentablemente no podemos decodificar su carga 煤til, ya que est谩 comprimida por la plataforma de Salesforce por motivos de rendimiento. Estamos esperando una nueva caracter铆stica de Postman que nos permita cargar una biblioteca (Apache Avro) para decodificar las cargas 煤tiles de eventos cuando se reciben.

palabras de cierre

Eso es todo para nuestra breve descripci贸n general de Event Platform y las 煤ltimas incorporaciones a la colecci贸n de API de Salesforce Platform. Gracias al crecimiento de esta caja de herramientas, puede comenzar r谩pidamente a explorar y configurar Event Platform.

Si disfruta de nuestro contenido de Postman, h谩ganoslo saber. Tambi茅n puede echar un vistazo a nuestras otras colecciones de c贸digo abierto y contribuir .

Recursos

Sobre el Autor

Philippe Ozil es un defensor principal de desarrolladores en Salesforce, donde se enfoca en la plataforma de Salesforce. Escribe contenido t茅cnico y habla con frecuencia en conferencias. Es un desarrollador full-stack y disfruta trabajar en proyectos DevOps, rob贸tica y VR. S铆galo en Twitter @PhilippeOzil o consulte sus proyectos de GitHub @pozil .

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Sube de nivel tus habilidades Apex 鈽侊笍

Sube de nivel tus habilidades Apex 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Subiendo de nivel tus habilidades de Apex | Blog de desarrolladores de Salesforce

Apex es una habilidad 煤nica que los desarrolladores deben dominar al crear soluciones personalizadas con Salesforce. Hay algunos conceptos b谩sicos que son esenciales. Ciertas cosas, como la sintaxis y el flujo de control, son como aprender cualquier otro idioma. Otras cosas, como operaciones masivas, l铆mites reguladores y disparadores, son particulares de Apex y c贸mo se implementa en la Plataforma de Salesforce. Una vez que tenga una idea de estas caracter铆sticas y modismos clave, 驴a d贸nde va despu茅s?

En esta publicaci贸n, aprender谩 sobre algunas caracter铆sticas de Apex que son cr铆ticas para cualquier desarrollador de Apex que busque mejorar m谩s all谩 de lo b谩sico, junto con d贸nde puede ir para aprender sobre ellas.

Nota: Siempre que sea posible, los ejemplos de c贸digo en esta publicaci贸n se toman directamente o se adaptan de la aplicaci贸n de muestra Recetas de Apex o la Gu铆a para desarrolladores de Apex. Ver las referencias al final del art铆culo.

En estos d铆as, si desea un proceso automatizado o una interfaz de usuario similar a un asistente, Flow siempre debe ser una opci贸n que considere. El alcance, la flexibilidad y la madurez de Flow han crecido enormemente. A煤n as铆, es raro que los problemas comerciales complejos se puedan resolver sin ning煤n tipo de c贸digo.

Introduzca Apex invocable.

La anotaci贸n @InvocableMethod se usa para definir m茅todos llamados por Flow. Y @InvocableVariable muestra los par谩metros para que Flow pase datos a su c贸digo Apex. 驴Por qu茅 llamar铆a a Apex desde Flow? Quiz谩s la l贸gica de su flujo se est谩 volviendo demasiado compleja. Tal vez su automatizaci贸n necesite realizar una operaci贸n que no sea accesible para Flow. En casos como estos, Apex puede ser su amigo.

Aqu铆 hay una ilustraci贸n b谩sica del uso de la anotaci贸n @InvocableMethod :

<dx-code-block title language="java" code-block="public class AccountQueryAction {   @InvocableMethod(label='Get Account Names' description='Returns the list of account names corresponding to the specified account IDs.' category='Account')   public static List getAccountNames(List ids) {     List accountNames = new List();     List accounts = [SELECT Name FROM Account WHERE Id in :ids];     for (Account account : accounts) {       accountNames.add(account.Name);     }     return accountNames;   } }禄>

Este ejemplo de la Gu铆a para desarrolladores de Apex ilustra c贸mo la anotaci贸n marca esto como un m茅todo que Flow puede invocar. Tenga en cuenta que la anotaci贸n tambi茅n define detalles como una etiqueta y una descripci贸n que determinan lo que se muestra al usuario de Flow Builder.

Un efecto secundario importante de las anotaciones de @Invocable鈥 del que pocas personas hablan es que esto muestra autom谩ticamente su Apex al punto final de la API <INSTANCEURL>/data/<VERSION>/actions/custom/apex .

Otra cosa 煤til que puede hacer al invocar Apex desde su flujo es acceder a los diferentes tipos de Apex as铆ncrono. Lo que trae a colaci贸n la siguiente caracter铆stica de Apex que se debe abordar.

La ejecuci贸n as铆ncrona desacopla una acci贸n que queremos realizar del contexto de ejecuci贸n actual. Siguiendo las mejores pr谩cticas actuales, existen tres formas de ejecutar Apex de forma asincr贸nica: en cola, programable y por lotes. Aunque t茅cnicamente el bus de eventos es as铆ncrono, lo omitiremos por el momento.

Si solo necesita activar un poco de c贸digo para ejecutarlo de forma asincr贸nica, la opci贸n en cola es la herramienta de referencia. Si tiene varias tareas asincr贸nicas, queueable las ejecuta de manera determinista en orden. Debido a que est谩n en cola en orden, tambi茅n puede encadenar una llamada as铆ncrona de otra. Y Apex en cola admite entradas de objetos o tipos primitivos.

Apex programado funciona tal como lo esperar铆a: ejecute alg煤n c贸digo de Apex en un horario. Batch Apex est谩 optimizado para trabajar con conjuntos de datos muy grandes. Para utilizar Apex as铆ncrono, debe crear una clase de Apex que implemente una interfaz espec铆fica: Queueable , Schedulable o Batchable , respectivamente.

Nota: algunos desarrolladores pueden estar familiarizados con la anotaci贸n @Future para hacer que un solo m茅todo sea asincr贸nico, tambi茅n conocido como "m茅todos futuros". Los m茅todos futuros, aunque r谩pidos y f谩ciles, tienen limitaciones que los hacen menos 煤tiles. No hay nada que pueda hacer con un m茅todo futuro que no se pueda hacer mejor con una clase en cola. Por este motivo, no recomendamos implementaciones de producci贸n con m茅todos futuros.

Por lo tanto, echemos un vistazo a un ejemplo de una clase de Apex que se puede poner en cola.

<dx-code-block title language="Java" code-block="public with sharing class QueueableRecipes implements Queueable { public static void execute(QueueableContext qc) { List accounts = [ SELECT Id, Description FROM Account LIMIT 1000 ]; for (Account acct : accounts) { acct.Description += ‘ Edited by Queueable class’; } try { update accounts; } catch (DmlException dmle) { System.debug( LoggingLevel.INFO, ‘real life use cases should do more than just logging the error: ‘ + dmle.getMessage() ); } }
} 芦>

Todas las interfaces as铆ncronas de Apex tienen un m茅todo execute() que debe implementarse como se muestra arriba. Para ejecutar su clase Queueable , debe ponerla en cola.

Si bien no se muestra en este ejemplo de la aplicaci贸n de muestra Recetas de Apex, para pasar datos a su cola, anule el constructor con los par谩metros que necesita.

El t茅rmino "Apex din谩mico" es un poco inapropiado. O, al menos, podr铆a malinterpretarse como que Apex de alguna manera funciona como un lenguaje de programaci贸n din谩mico. Esto no es a lo que se refiere (por ejemplo, no hay Apex
funci贸n eval !).

Dynamic Apex es un c贸digo que se adapta a diferentes tipos de SObject ( Account , Contact , My_Custom_Object__c , etc.) en tiempo de ejecuci贸n. Esto se hace abstrayendo referencias espec铆ficas de SObject. La clave es usar la superclase SObject cuando se trabaja con datos. Tambi茅n utilizar谩 las funciones de "descripci贸n" de Apex para detectar con qu茅 objetos y campos est谩 trabajando y qu茅 puede hacer con ellos (por ejemplo, si este usuario puede consultar este objeto).

Esta es una habilidad esencial para los desarrolladores de ISV. A menudo, crear谩 una aplicaci贸n que debe adaptarse al entorno local del cliente que instala su aplicaci贸n. Esto significa que su c贸digo necesita detectar, describir y adaptar su comportamiento dependiendo de datos conocidos o incluso desconocidos.

Aunque es esencial para un desarrollador de ISV, tambi茅n es importante para cualquier persona que quiera escribir c贸digo m谩s reutilizable.

Tome este ejemplo de consulta muy b谩sico:

<dx-code-block title language="Java" code-block="List accts = [SELECT Id, Name, Website FROM Account];禄>

Esto funcionar谩 todo el d铆a consultando los datos de la cuenta. Pero, 驴y si queremos construir una consulta para cualquier SObject?

Para convertir esto en un Apex "din谩mico", necesitamos abstraer las referencias de campo y SObject espec铆ficas. Y tal vez lo incluir铆amos en un m茅todo que permitiera a otro desarrollador pasarlos. Tambi茅n podr铆amos verificar para asegurarnos de que el usuario tenga los permisos de objeto para realizar la operaci贸n que estamos a punto de intentar.

<dx-code-block title language="Java" code-block="public static List executeDynamicQuery(Schema.DescribeSObjectResult obj, List fields){ // Create a result-set list List resultRecords; if (obj.isQueryable()){ // Set up a query string String queryTemplate = ‘SELECT {0} FROM {1}’; List queryDetails = new List{String.join(fields, ‘, ‘), obj.getName()}; String queryString = String.format(queryTemplate, queryDetails); // Run your query resultRecords = Database.query(queryString); } return resultRecords; } 芦>

Lo anterior construye una consulta para un SObject que se pasa al m茅todo y una lista arbitraria de campos. Utiliza el objeto DescribeSObjectResult para detectar la capacidad de consulta e inferir el nombre de la API de SObject al construir y ejecutar la consulta. A continuaci贸n, debe invocarlo.

As铆 es como podr铆amos hacer eso con los objetos Cuenta y Contacto, respectivamente:

<dx-code-block title language="Java" code-block="List accountRecords = DynamicApexClass.dynamicQuery(Account.SObjectType.getDescribe(), new List{‘Id’,’Name’,’Website’}); List contactRecords = DynamicApexClass.dynamicQuery(Contact.SObjectType.getDescribe(), new List{‘Id’,’FirstName’,’LastName’}); 芦>

Este ejemplo no aborda algunos riesgos de SOQL din谩mico, como la inyecci贸n de SOQL. Por lo tanto, aseg煤rese de leer sobre Apex din谩mico. Aprender a escribir Apex seguro har谩 que sea menos probable que implemente c贸digo vulnerable en su organizaci贸n (o la de un cliente). El enlace de variables en sus consultas SOQL es una herramienta clave para proteger su Apex din谩mico de ser explotado. El m茅todo escapeSingleQuotes() es otra herramienta m谩s antigua que tambi茅n puede encontrar. El modo de usuario tambi茅n es clave para garantizar que cualquier acci贸n realizada tenga que cumplir con todas y cada una de las restricciones del usuario que la ejecuta.

Para obtener un ejemplo m谩s completo y seguro de Apex din谩mico, consulte la receta de Apex del m茅todo invocable en la aplicaci贸n de ejemplo Recetas de Apex. Esa acci贸n invocable funciona con el objeto Cuenta o Tarea.

Con Salesforce, hay algunas formas de realizar la integraci贸n sin c贸digo. Espec铆ficamente, si solo necesita una aplicaci贸n o servicio de cliente para obtener datos de Salesforce, hay muchas API que se muestran autom谩ticamente sin ning煤n tipo de codificaci贸n en el lado de Salesforce. Incluso se ajustan a su esquema personalizado. Si est谩 integrando su organizaci贸n a un sistema externo compatible con OData, puede usar Salesforce Connect y objetos externos (nuevamente, no se requiere c贸digo).

Pero a veces, es posible que deba llamar desde su organizaci贸n a un servicio externo. O tal vez desee mostrar un punto final personalizado que agrupe m谩s complejidad que una de las API est谩ndar. Nuevamente, Apex contiene funciones que admiten tanto la aparici贸n de nuevas API personalizadas como la llamada a servicios web.

Al pensar en API personalizadas, en estos d铆as, la mayor铆a de los desarrolladores pensar铆an en API REST. Puede crear una API REST personalizada en Salesforce Platform creando una clase de Apex que se anota con la anotaci贸n @RestResource . Parte del trabajo de la anotaci贸n es definir tambi茅n el nombre del recurso. Todas las API REST personalizadas basadas en Apex se encuentran en <INSTANCEURL>/services/apexrest/ .

Para definir los comportamientos que necesita admitir, hay una serie de anotaciones de m茅todos que corresponden a verbos HTTP, como @HttpGet y @HttpPost . La clase RestContext contiene un conjunto de elementos de acceso para obtener el estado de la solicitud HTTP entrante y la respuesta saliente que devuelve. A continuaci贸n, se muestra un ejemplo de un extremo REST b谩sico que aparece en el m茅todo HTTP GET. Tenga en cuenta c贸mo se utilizan las anotaciones.

<dx-code-block title language="Java" code-block="@RestResource(urlmapping='/integration-service/*')
global inherited sharing class CustomRestEndpointRecipes( … @HttpGet global static String getRecordsToReturn() { RestResponse response = RestContext.response; try { List accounts = [ SELECT Id, Name, Phone, Website FROM Account WITH USER_MODE ]; response.statusCode = 200; String serializedAccounts = JSON.serialize(accounts); return serializedAccounts; } catch (QueryException qe) { System.debug( LoggingLevel.INFO, ‘Failed to query a list of Accounts. Error is: ‘ + qe.getMessage() ); response.statusCode = 400; return qe.getMessage(); } }
} 芦>

Si su requisito es crear un servicio SOAP, tambi茅n hay un conjunto de caracter铆sticas para admitir ese protocolo.

Fuera del c贸digo real, necesitar谩 una sesi贸n autorizada para acceder a cualquier servicio web que cree. Pero si ya tiene un cliente autorizado, la solicitud es solo otra llamada al punto final personalizado que defina.

La llamada a un punto final REST externo se realiza a trav茅s de un conjunto de clases. La clase HttpRequest le permite definir los par谩metros de c贸mo se comportar谩 su solicitud (punto final, verbo HTTP, encabezados, etc.). La solicitud se realiza a trav茅s del m茅todo est谩tico Http.request() . Esto devuelve un objeto HttpResponse que le proporciona los datos devueltos o el error si la solicitud falla.

Nota: Las clases HttpRequest y HttpResponse son las mismas para las llamadas REST y los servicios REST personalizados.

Se requiere cierta configuraci贸n para su texto destacado. Espec铆ficamente, deber谩 configurar una credencial con nombre en la mayor铆a de los casos. Esta configuraci贸n le permite descargar el protocolo de enlace de autenticaci贸n de su c贸digo. Aunque, si est谩 llamando a un servicio an贸nimo no autenticado, tambi茅n puede optar por usar una configuraci贸n de sitio remoto m谩s simple.

= 200 && response.getStatusCode()

El ejemplo anterior hace una llamada simple a un punto final. Tenga en cuenta que no se utilizan las opciones para establecer encabezados ni usar una credencial con nombre, ya que esta solicitud es para una API simple que no requiere autenticaci贸n.

La transmisi贸n de eventos es una herramienta valiosa para crear arquitecturas d茅bilmente acopladas en aplicaciones complejas. La plataforma de Salesforce implementa la transmisi贸n de eventos a trav茅s de dos caracter铆sticas principales: eventos de plataforma y captura de datos modificados. La columna vertebral de estas funciones es el bus de eventos.

De la Gu铆a para desarrolladores de eventos de plataforma, el bus de eventos es "Un servicio de entrega y almacenamiento de eventos de m煤ltiples inquilinos y m煤ltiples nubes basado en un modelo de publicaci贸n-suscripci贸n". Tanto su organizaci贸n como los sistemas externos pueden publicar y suscribirse a eventos. Por supuesto, es clave que si publicas un mensaje, algo debe haberse suscrito para que suceda cualquier otra cosa.

Los eventos de plataforma representan los datos que pasan a trav茅s del bus de eventos. Los eventos se procesan en el orden en que se reciben. Una forma de pensar en ellos es como un SObject ef铆mero que se almacena temporalmente en el bus de eventos en su camino hacia su destino. De hecho, los metadatos de un evento se almacenan en el mismo lugar de su proyecto que sus SObjects. Puede distinguir los eventos de plataforma personalizados de los SObjects por su sufijo __e (por ejemplo Order_Complete__e ).

Una vez que completa un evento con sus datos, el m茅todo EventBus.publish() es similar a una llamada DML en su SObject normal. Tenga en cuenta el c贸digo a continuaci贸n que publica un evento.

En Apex, se suscribe a un evento creando un disparador as铆ncrono para 茅l. Pero los disparadores as铆ncronos son diferentes de la operaci贸n DML transaccional est谩ndar de un disparador normal. Por esta raz贸n, debe tener en cuenta algunas diferencias. Con disparadores as铆ncronos, el tama帽o del lote es diferente. Necesitas configurar tu usuario de ejecuci贸n. Las operaciones de activaci贸n de eventos tambi茅n se pueden volver a intentar. Aseg煤rese de conocer estas diferencias a medida que comience a implementar activadores de eventos de plataforma. Tenga en cuenta el disparador a continuaci贸n.

A diferencia de los disparadores DML t铆picos, los disparadores de eventos de plataforma solo admiten el contexto after insert . Tampoco existe una acci贸n expl铆cita para suscribir un disparador a un evento de plataforma. Una vez que el activador se implementa en su organizaci贸n, se suscribe autom谩ticamente.

Adem谩s de Apex, los eventos de la plataforma pueden activarse y suscribirse mediante sistemas externos y Flow. Son clave en las integraciones d茅bilmente acopladas. Como tal, es raro que Apex active y se suscriba al mismo evento.

Hemos cubierto mucho. Pero de ninguna manera esto es todo lo que necesita saber como desarrollador de Apex. Los elementos cubiertos se basan en algunas caracter铆sticas bastante comunes. Pero es posible que deba aprender otras funciones de Apex seg煤n los requisitos de su proyecto. Aqu铆 hay algunos otros elementos que debe tener en cuenta.

Cach茅 de plataforma : si proviene de otras plataformas de programaci贸n, estar谩 familiarizado con la noci贸n de una variable est谩tica o global persistente en todas las transacciones. Pero en Apex, las est谩ticas se limitan a la transacci贸n. La memoria cach茅 de la plataforma es una caracter铆stica de Apex que permite la persistencia de datos en memoria entre transacciones. Si encuentra un retraso en el rendimiento relacionado con la recuperaci贸n de datos, la memoria cach茅 de la plataforma puede ayudar.

Marcos de activaci贸n : no es una caracter铆stica del lenguaje, sino bibliotecas que facilitan el uso de activadores. Estos proyectos creados por la comunidad abstraen el c贸digo de activaci贸n repetitivo que a menudo necesita escribir. Al usar un marco de activaci贸n, deber铆a permitirle concentrarse solo en la l贸gica que debe abordarse. Para algo m谩s que un disparador trivial, se recomienda encarecidamente adoptar un marco. Y conozco a algunos que argumentar铆an que deber铆a considerar un marco incluso para ese disparador trivial. Pero este no es el lugar para debatir el tiempo de valor frente a la optimizaci贸n prematura. Hay una implementaci贸n muy simple de esto en la aplicaci贸n Apex Recipes .

SOSL : el lenguaje de b煤squeda de objetos de Salesforce ( SOSL ) es el primo subestimado de SOQL. SOSL permite consultas basadas en texto no deterministas. Es muy eficiente para encontrar datos de texto en comparaci贸n con la b煤squeda de campos de texto con SOQL y comodines. Admite la b煤squeda de varios SObjects simult谩neamente y contiene funciones para filtrar de forma determinista los resultados de la b煤squeda. Si tiene consultas SOQL de texto que son lentas, definitivamente consulte esta herramienta.

AuraEnabled : para mostrar el c贸digo Apex personalizado en sus componentes web Lightning (LWC), esta anotaci贸n es clave. Es muy probable que ya est茅 usando este si comenz贸 su viaje de Salesforce creando LWC. Pero si a煤n no lo ha usado, b煤squelo en cualquier proyecto que involucre una interfaz de usuario personalizada. 驴Por qu茅 "Aura" habilitado si es para LWC? Bueno, esta anotaci贸n se cre贸 inicialmente para admitir el predecesor de LWC, el marco Aura. Ten铆a sentido no reinventar una nueva anotaci贸n cuando la existente funcionar铆a igual de bien para LWC.

Cada viaje para aprender un nuevo lenguaje de programaci贸n tiene algunas caracter铆sticas clave que todos deben conocer. La sintaxis b谩sica, el control de flujo y el modelo de ejecuci贸n de la plataforma son fundamentales para comprender. Pero una vez que tenga esos conceptos b谩sicos, trabajar en funciones m谩s avanzadas es clave para aumentar su conjunto de habilidades. Las acciones invocables, el Apex as铆ncrono, el Apex "din谩mico", la integraci贸n y el bus de eventos son funciones que probablemente utilizar谩 a medida que avanza. Al familiarizarse con estos ahora, no solo se preparar谩 para abordar proyectos en el futuro, sino que tambi茅n podr谩 tomar mejores decisiones de soluci贸n.

Si cree que est谩 listo para aprender, los senderos para desarrolladores intermedios y avanzados en Trailhead pueden ayudarlo a encaminarse con todos estos temas y m谩s.

Aplicaci贸n de muestra Apex Recipes en Github

Gu铆a para desarrolladores de Apex

Gu铆a de referencia de idiomas de Apex

Centro de desarrolladores de Apex

Peter Chittum ha trabajado en software empresarial y habilitaci贸n para desarrolladores durante m谩s de 20 a帽os. Pas贸 los 煤ltimos 12 a帽os ayudando a miles de desarrolladores a tener 茅xito en la plataforma de Salesforce, y m谩s recientemente lider贸 el equipo de promotores de desarrolladores en Salesforce. Pasa su tiempo libre con su familia, anda en bicicleta de monta帽a, cocina y toca m煤sica. S铆galo en Twitter (@pchittum), LinkedIn (en/PeterChittum) o BlueSky Social (@pchittum.bsky.social).

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Actualizaciones de integraci贸n de plataforma para desarrolladores | Aprende Moar Verano '23 鈽侊笍

Actualizaciones de integraci贸n de plataforma para desarrolladores | Aprende Moar Verano '23 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Actualizaciones de integraci贸n de plataforma para desarrolladores | Aprende Moar Verano '23 | Blog de desarrolladores de Salesforce

隆脷nase a nosotros para Release Readiness Live esta semana! Los expertos en productos y los defensores de los desarrolladores analizar谩n y demostrar谩n las nuevas funciones en el lanzamiento de Summer '23 y, al final de nuestra transmisi贸n, responderemos sus preguntas. Sintonice a las 9 am PT el 19 de mayo para la sesi贸n de desarrolladores. 驴No puedes unirte a nosotros en vivo? La grabaci贸n se publicar谩 unas horas despu茅s de que finalice la transmisi贸n.

Introducci贸n

El verano finalmente est谩 aqu铆, y para nosotros los desarrolladores, 隆eso significa un nuevo y emocionante lanzamiento! Exploremos las pr贸ximas caracter铆sticas que trae la versi贸n Summer '23 para los desarrolladores centrados en la integraci贸n de plataformas.

Consultas SOQL anidadas en API

A partir de la API de la plataforma de Salesforce v58.0, SOQL ahora admite consultas de relaci贸n que atraviesan hasta cinco niveles de registros primarios y secundarios . Anteriormente, solo se admit铆a un nivel. Esta caracter铆stica est谩 disponible para objetos est谩ndar y personalizados, y est谩 limitada a consultas realizadas a trav茅s de llamadas de consulta REST y SOAP.

Prob茅moslo probando una relaci贸n padre-hijo de cuatro niveles usando la API REST con la siguiente consulta:

La llamada API ahora devuelve los registros anidados solicitados en la siguiente jerarqu铆a: Cuenta (Nivel 1) 鈫 Contacto (Nivel 2) 鈫 Caso (Nivel 3) 鈫 Comentarios del caso (Nivel 4).

Credenciales con nombre en Connect API

Otra caracter铆stica 煤til introducida en esta versi贸n es la capacidad de administrar credenciales con nombre tanto desde la API REST de Connect como desde la API de Connect . Ya no necesita interrumpir su configuraci贸n para crear credenciales a trav茅s de la interfaz de usuario; ahora, se puede hacer program谩ticamente,

Por ejemplo, puede recuperar la lista de todas las credenciales con nombre existentes realizando la siguiente llamada a la API:

GET /services/data/v58/named-credentials/named-credential-setup

Alternativamente, puede usar Apex con lo siguiente:

Tambi茅n puede crear credenciales con nombre mediante programaci贸n con la API y Apex. Este es un ejemplo de c贸mo hacerlo con Apex:

Consulte nuestra colecci贸n Postman para desarrolladores de Salesforce que presenta las nuevas API de Named Credentials y consulte la documentaci贸n de la clase NamedCredentials Apex para obtener m谩s informaci贸n.

Consultas API de GraphQL con funciones agregadas

Nuestra API GraphQL sigue mejorando y, con esta versi贸n, estamos agregando soporte para registros de consulta que usan funciones agregadas con o sin agrupaci贸n .

Podr谩 contar la cantidad de registros que coinciden con ciertos criterios, calcular el ingreso promedio en todas las cuentas o ver la cantidad total de todas las oportunidades.

Se admiten las siguientes funciones agregadas:

  • avg : devuelve el valor promedio de un campo num茅rico
  • count : devuelve el n煤mero de resultados que coinciden con los criterios de consulta
  • countDistinct : devuelve el n煤mero de valores de campo distintos y no nulos que coinciden con los criterios de consulta
  • grouping : especifica si se utiliza un campo al componer el grupo; usar con el argumento de consulta groupBy y el tipo ROLLUP o CUBE
  • max 鈥 Devuelve el valor m谩ximo de un campo
  • min 鈥 Devuelve el valor m铆nimo de un campo
  • sum : devuelve la suma total de un campo num茅rico

Echemos un vistazo a una consulta de ejemplo. La siguiente consulta calcula el ingreso anual promedio de todas las cuentas, agrupadas por industria. Tenga en cuenta que estamos usando el campo aggregate en uiapi en lugar de query , lo que nos permite aprovechar las funciones agregadas.

A continuaci贸n, una consulta de GraphQL utilizando la funci贸n de agregado promedio y la funci贸n de agrupaci贸n.

Tambi茅n puede realizar consultas tradicionales dentro de la misma solicitud:

Si desea probarlo, puede usar el cliente Altair GraphQL o nuestra colecci贸n Postman de desarrolladores de Salesforce .

Adaptador GraphQL de Salesforce Connect

En febrero de 2023, anunciamos la versi贸n piloto de nuestro adaptador GraphQL de Salesforce Connect y ahora nos complace anunciar que estar谩 disponible de forma general en esta versi贸n de verano de 2023.

El nuevo adaptador de Salesforce Connect para GraphQL act煤a como un cliente para integrar datos de fuentes externas que exponen sus capacidades a trav茅s de GraphQL. Lo hace de una manera de copia cero al hacer llamadas en vivo a los puntos finales de la API cuando una acci贸n del usuario o del sistema requiere registros espec铆ficos. Solo los datos necesarios para esa acci贸n en particular se consultan a trav茅s de GraphQL y Salesforce Connect no almacena ni almacena en cach茅 los registros devueltos por el servidor. Adem谩s, este adaptador incluye extensiones especiales para AWS AppSync y brinda acceso sin inconvenientes a Amazon RDS.

Para aprovechar este nuevo adaptador, simplemente cree una nueva fuente de datos externa y seleccione el tipo GraphQL .

Apex publica devoluciones de llamada en eventos de la plataforma

Con el lanzamiento de Summer '23, ahora puede realizar un seguimiento de la publicaci贸n de eventos de la plataforma utilizando Apex Publish Callbacks . Con esta nueva versi贸n, puede obtener el resultado final de una llamada EventBus.publish a trav茅s de una devoluci贸n de llamada de publicaci贸n de Apex que implemente. Esto le da la opci贸n de realizar un seguimiento de los errores o los 茅xitos para recibir el resultado final de la publicaci贸n. En funci贸n de ese resultado, puede decidir qu茅 acci贸n tomar, como intentar volver a publicar eventos fallidos, por ejemplo.

Para realizar un seguimiento de un evento fallido publicado, escriba una clase de Apex e implemente la interfaz EventBus.EventPublishFailureCallback . Si la operaci贸n asincr贸nica falla, se invocar谩 el m茅todo onFailure . El par谩metro result contiene los valores del campo EventUuid para cada evento fallido, pero no incluye los datos del evento en s铆.

Para realizar un seguimiento de las publicaciones de eventos exitosas, escriba una clase de Apex e implemente la interfaz EventBus.EventPublishSuccessCallback . Debido a que la mayor铆a de las llamadas de publicaci贸n suelen tener 茅xito, el procesamiento de publicaciones de eventos exitosas probablemente no sea una preocupaci贸n. Observe siempre los l铆mites de rendimiento y del gobernador de Apex cuando procese este tipo de resultado.

Como pr谩ctica recomendada, siempre cree eventos usando sObjectType.newSObject , ya que esto incluye un EventUuid que puede usar para rastrear el evento. Al crear eventos con este enfoque, recomendamos no publicar el mismo evento m谩s de una vez para evitar duplicaciones EventUuid .

M茅tricas mejoradas para eventos de plataforma

Con esta actualizaci贸n, ahora puede obtener m茅tricas de uso de eventos mejoradas para eventos de plataforma consultando el objeto PlatformEventUsageMetric . Esto le permite agregar datos de uso por nombre de evento y determinar qu茅 evento consume m谩s de sus asignaciones. Adem谩s, puede agrupar el uso por cliente para descubrir cu谩ntos clientes se suscribieron a un evento en particular y c贸mo se distribuye el uso de entrega de eventos entre los clientes. Adem谩s, utilice agregaciones granulares de tiempo de per铆odos diarios, por hora y de 15 minutos para segmentar los datos de uso para obtener informaci贸n m谩s detallada.

Cuando consulta PlatformEventUsageMetric , puede usar estos nuevos campos: EventName , Client , EventType y UsageType .

La siguiente consulta de ejemplo devuelve el uso de eventos por hora para eventos entregados entre el 1 y el 2 de abril en horario UTC. Tambi茅n agrega los resultados en intervalos de una hora seg煤n lo especificado por el campo TimeSegment . Dado que los campos EventName y Client se especifican en la consulta, los resultados se agrupar谩n por evento y cliente.

= 2023-04-01T00:00:00.000Z AND EndDate

Un resultado de muestra de la consulta anterior ser铆a similar al siguiente, incluir谩 datos de uso para todos los eventos, Order_Event__e y AccountChangeEvent .

Para obtener m谩s informaci贸n sobre esta funci贸n, consulte la documentaci贸n .

Acci贸n HTTP en flujo: GET es GA, POST es Beta

HTTP Callout ahora est谩 generalmente disponible para solicitudes GET , lo que le permite traer datos externos a Flow Builder sin ning煤n c贸digo. Usted crea una acci贸n de Llamada HTTP desde dentro de Flow, que puede llamar a cualquier API de servicio basado en la web. Despu茅s de agregar los detalles de la API, Flow Builder genera una acci贸n de llamada reutilizable que puede usar para diferentes flujos y en todo Salesforce.

Para ponerlo en uso, desde el elemento Acciones, seleccione Crear llamada HTTP .

Junto con GA, hemos incluido algunos cambios desde la 煤ltima versi贸n que agilizan el proceso de configuraci贸n.

Ahora puede editar una acci贸n de llamada HTTP de forma declarativa. Las API cambian regularmente, por ejemplo, cuando se agrega un nuevo campo obligatorio a un sistema externo. Anteriormente, para editar la acci贸n de llamada HTTP reutilizable, modific贸 la especificaci贸n de API generada autom谩ticamente, lo que requer铆a conocimientos de JSON. Ahora, puede editar la acci贸n con clics en el men煤 de configuraci贸n de Servicios externos.

Tambi茅n se simplific贸 la configuraci贸n de la estructura de datos de la respuesta de la API. Proporciona una respuesta de API de muestra y Flow infiere los tipos de datos y analiza el JSON para que los datos se puedan utilizar en los flujos. Anteriormente, si necesitaba cambiar los tipos de datos inferidos, editaba el propio JSON. Ahora, selecciona los tipos de datos del campo con clics. Ahora tambi茅n se admiten los tipos de datos de fecha, fecha/hora y booleano.

Como bonificaci贸n adicional, obtiene mensajes de error m谩s intuitivos al crear su acci贸n de llamada HTTP para ayudar a resolver el error y evitar problemas en el tiempo de ejecuci贸n.

Y si no puede OBTENER suficiente con HTTP Callout, ahora puede usar el m茅todo POST (Beta) para enviar datos de Salesforce a un servidor externo en Flow Builder. Por ejemplo, una nueva cuenta en Salesforce activa un flujo que crea una factura en un sistema externo. Seleccione POST (Beta) , ingrese un cuerpo de solicitud JSON de muestra que la API espera al configurar la llamada HTTP, y Flow infiere la estructura de datos externos.

Aprende MOAR

Guau, 隆son bastantes nuevas caracter铆sticas de integraci贸n de plataforma para probar! Conf铆o en que facilitar谩n la vida de muchos desarrolladores. 隆Pero hay m谩s por descubrir! Lo invito a explorar nuestras otras publicaciones de blog para conocer las 煤ltimas actualizaciones de LWC, Mobile, MuleSoft y Tableau.

Nuestros gerentes de producto y defensores de desarrolladores est谩n de vuelta para compartir las 煤ltimas caracter铆sticas y funcionalidades que llegar谩n en Summer '23. Para ayudarlo a desarrollarse m谩s r谩pido, hay una gran cantidad de contenido nuevo del equipo de relaciones con desarrolladores que cubre sus nuevas funciones favoritas. 隆Aseg煤rese de consultar Release Readiness Live el viernes 19 de mayo a las 9:00 a. m. PST, y lea lo 煤ltimo en el blog de desarrolladores de Salesforce para conocer m谩s innovaciones relacionadas con desarrolladores en el lanzamiento de Summer '23!

隆Explore los trailmixes de Trailhead con aspectos destacados de lanzamiento clave para desarrolladores o administradores, o ambos! Siga y complete un trailmix de Learn MOAR Summer '23 para administradores o desarrolladores para obtener una insignia exclusiva de la comunidad.

Otras lecturas

Sobre el Autor

Juli谩n Duque es un defensor principal de desarrolladores en Salesforce, donde se enfoca en Node.js, JavaScript y desarrollo backend. Le apasiona la educaci贸n y el intercambio de conocimientos y ha estado involucrado en la organizaci贸n de comunidades tecnol贸gicas y de desarrolladores desde 2001.

S铆galo en Twitter @julian_duque , @julianduque.co en Bluesky o LinkedIn .

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Una actualizaci贸n importante de nuestro plan de jubilaci贸n Legacy API 鈽侊笍

Una actualizaci贸n importante de nuestro plan de jubilaci贸n Legacy API 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Una actualizaci贸n importante de nuestro plan de jubilaci贸n Legacy API | Blog de desarrolladores de Salesforce

En 2021, anunciamos unplan para retirar las versiones heredadas de la API de la plataforma anualmente, de modo que nuestros equipos de ingenier铆a pudieran centrar sus esfuerzos de desarrollo en mejorar las 煤ltimas versiones de la API para mejorar la experiencia general de Salesforce al crear funciones personalizadas a trav茅s de aplicaciones. En esta publicaci贸n, compartiremos una actualizaci贸n importante del plan de retiro de la API heredada, algunos consejos sobre c贸mo identificar el uso de la API heredada y c贸mo actualizar esas solicitudes de API.

Actualizaci贸n importante del plan de jubilaci贸n de la API heredada

La 煤ltima fase del plan de retiro de la API heredada se anunci贸 a principios de 2022 y entr贸 en vigencia durante el lanzamiento de Summer '22. Con esta versi贸n, dejamos de usar las versiones SOAP, REST y Bulk API que van de la 21.0 a la 30.0. Como parte de nuestro plan original, estas versiones de API ya no ser铆an compatibles, pero permanecer铆an disponibles hasta que las retiremos en la versi贸n Summer '23.

Luego de consultar con la comunidad y nuestros socios, decidimos retrasar el pr贸ximo retiro de la API al lanzamiento de Summer '25 para garantizar una transici贸n sin problemas (consulte el art铆culo de conocimientos ). Debido a esta extensi贸n, las versiones de API 21.0 a 30.0 a煤n no son compatibles, pero seguir谩n estando disponibles hasta el lanzamiento de Summer '25.

Desde Summer '21 , cada vez que realiza una llamada a una API heredada con REST o Bulk API, ver谩 un encabezado Warning en la respuesta con un mensaje que describe el problema como este:

Una vez que las versiones heredadas de la API se retiren en Summer '25, las solicitudes a esas versiones fallar谩n con los siguientes errores:

  • La API REST devolver谩 el estado HTTP 410: GONE
  • La API SOAP devolver谩 el estado HTTP 500: UNSUPPORTED_API_VERSION
  • La API masiva devolver谩 el estado HTTP 400: InvalidVersion

Ahora que conoce el 煤ltimo plan, veamos c贸mo puede identificar si se ve afectado y c贸mo.

Identificar el uso de la API heredada

Puede verificar las llamadas API heredadas usted mismo en cualquier momento, y hay varias formas de hacerlo.

Todas las transacciones de la API de Salesforce se registran en los registros de Monitoreo de eventos. El monitoreo de eventos normalmente requiere una licencia espec铆fica, pero hemos expuesto el evento Uso total de la API ( ApiTotalUsage ) a todos los clientes de forma gratuita, para que pueda monitorear el consumo de la API heredada e identificar los clientes y las integraciones que deben actualizarse. Las organizaciones habilitadas para API tienen acceso gratuito a los archivos de registro de eventos de uso total de API con retenci贸n de datos de 1 d铆a. Con el Monitoreo de eventos habilitado, puede acceder a este y a todos los dem谩s tipos de archivos de registro de eventos con una retenci贸n de datos de 30 d铆as.

Los registros contienen campos clave que gu铆an sus investigaciones:

  • Los clientes proporcionan CLIENT_NAME opcionalmente, pero es especialmente 煤til para identificar aplicaciones e integraciones que realizan llamadas API que requieren investigaci贸n y ajustes. Compartiremos m谩s sobre este campo en la 煤ltima secci贸n de esta publicaci贸n.
  • CONNECTED_APP_ID le dice qu茅 aplicaci贸n conectada est谩 en el origen de las llamadas a la API.
  • USER_ID y CLIENT_IP son 煤tiles para identificar el origen de las llamadas API heredadas, pero existe la posibilidad de que estos valores se compartan entre varias aplicaciones en caso de que se realice una cuenta t茅cnica de usuario/sistema (ID de usuario compartido) o llamadas desde una ubicaci贸n de oficina f铆sica ( direcci贸n IP compartida). Compartiremos c贸mo usar la nueva licencia de usuario de integraci贸n para abordar los problemas de usuarios compartidos en la 煤ltima secci贸n de esta publicaci贸n.
  • Los campos API_FAMILY , API_VERSION , API_RESOURCE , URI y HTTP_METHOD le brindan pistas valiosas sobre el tipo de operaciones que realizan los clientes API.

Compartimos varias herramientas para acceder a los registros en nuestra publicaci贸n anterior , y tambi茅n puede usar herramientas de terceros para automatizar esta tarea. Compartiremos una opci贸n adicional que puede ser relevante para los usuarios preocupados por ejecutar c贸digo de terceros con acceso API a su organizaci贸n.

Uso de Postman para identificar el uso de la API heredada

Puede utilizar la colecci贸n Postman de las API de la plataforma de Salesforce para inspeccionar sus registros de Salesforce con estos pasos:

  • Configure la colecci贸n Postman y autent铆quese en su organizaci贸n .
  • Enumere los archivos de registro que rastrean el acceso a la API:
    1. Seleccione REST > Solicitud de consulta .
    2. Reemplace el valor del par谩metro de consulta q con la siguiente consulta SOQL: SELECT LogFile, EventType, CreatedDate FROM EventLogFile WHERE EventType IN ('API', 'RestApi', 'BulkApi', 'ApiTotalUsage')
    3. Haz clic en Enviar.
    4. Recupere los ID del archivo de registro de la respuesta.

  • Para cada archivo de registro devuelto en el paso anterior, recupere y escanee el contenido del registro:
    1. Seleccione REST > Registros > Obtener solicitud de archivo de registro de eventos .
    2. Establezca el ID del archivo de registro en el valor de la variable de ruta id .
    3. Haz clic en Enviar.
    4. Lea el contenido del archivo de registro en la respuesta. Puede moverse a la pesta帽a Respuesta sin procesar y guardarla como un archivo CSV o usar la pesta帽a Visualizar para obtener una vista previa del contenido directamente en Postman.
    5. Mire la columna URI o API_VERSION y verifique las versiones de API heredadas (versiones 30.0 y anteriores).

Despu茅s de identificar que est谩 llamando a versiones de API heredadas, el siguiente paso es actualizar estas dependencias a versiones de API heredadas.

Actualizar dependencias a versiones de API heredadas

El procedimiento de actualizaci贸n depende del tipo de API que est茅 utilizando, pero aqu铆 hay una breve descripci贸n general de lo que se requiere:

  • Para llamadas API basadas en SOAP, genere un nuevo WSDL e incorp贸relo a la integraci贸n afectada
  • Para puntos finales REST, actualice el n煤mero de versi贸n en el URI a la versi贸n principal actual
  • Aunque puede actualizar de manera similar los URI para puntos finales /async en el caso de Bulk API, la forma m谩s gratificante de actualizar las llamadas heredadas es adoptar Bulk API 2.0 y disfrutar del flujo de trabajo m谩s simple y los l铆mites mejorados.

Tenga en cuenta que las aplicaciones (p. ej., el cargador de datos) y los paquetes tambi茅n pueden estar realizando llamadas API heredadas debido a bibliotecas obsoletas (conectores de servicios web, kit de herramientas AJAX, interfaz COM SForceOfficeToolkit o kit de herramientas Force.com para PHP, solo por nombrar algunos) . Aseg煤rate de actualizarlos tambi茅n.

Y recuerda: no importa el cambio, aseg煤rate de realizar pruebas de regresi贸n para asegurarte de que todo funciona como se esperaba.

Prepar谩ndonos para el futuro

Ya sea que se haya visto afectado por el plan de jubilaci贸n heredado o no, debe planificar el futuro retiro de la versi贸n API. Le dejaremos algunas pr谩cticas recomendadas para el gobierno de API.

Aproveche las licencias de usuario de la integraci贸n de Salesforce

En Spring '23, presentamos un nuevo tipo de licencia dedicado a las integraciones: la licencia de usuario de Integraci贸n de Salesforce . Esta nueva licencia se basa en el principio de acceso con privilegios m铆nimos y le permite crear usuarios solo de API para integraciones de sistema a sistema con derechos de acceso espec铆ficos. La principal ventaja de este nuevo tipo de licencia es la seguridad, pero tambi茅n permite un mejor seguimiento de las acciones de integraci贸n, ya que podr谩 asignar distintos usuarios solo de API a la integraci贸n y relacionar las llamadas de API de integraci贸n con ID de usuario espec铆ficas en sus registros.

Se incluyen cinco licencias de usuario de Integraci贸n de Salesforce en cada organizaci贸n Enterprise, Unlimited y Performance Edition. Tambi茅n puede comunicarse con su ejecutivo de cuenta si necesita m谩s.

Especifique un nombre de cliente al crear integraciones de API REST

Al crear nuevas integraciones con la API REST, aseg煤rese de especificar un nombre de cliente utilizando el encabezado de solicitud Sforce-Call-Options de la siguiente manera:

Sforce-Call-Options: client=myClientName

El nombre del cliente que especifique en el encabezado estar谩 visible en los registros en el campo CLIENT_NAME . Esto le ayuda a depurar y auditar las llamadas a la API de integraci贸n.

palabras de cierre

Esperamos que este retraso adicional en nuestro plan de retiro de API heredado permita una transici贸n sin problemas, y lo alentamos a que comience hoy, independientemente de la nueva fecha l铆mite. Migrar a versiones de API m谩s nuevas siempre es una apuesta segura para obtener acceso a nuevas capacidades y mejorar el rendimiento y la seguridad.

Sobre el Autor

Philippe Ozil es un defensor principal de desarrolladores en Salesforce, donde se enfoca en la plataforma de Salesforce. Escribe contenido t茅cnico y habla con frecuencia en conferencias. Es un desarrollador full-stack y disfruta trabajar en proyectos DevOps, rob贸tica y VR. S铆galo en Twitter @PhilippeOzil o consulte sus proyectos de GitHub @pozil .

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Configurar el tama帽o de lote para el activador de eventos de plataforma

Configurar el tama帽o de lote para el activador de eventos de plataforma

脷ltima actualizaci贸n el 30 de abril de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo configurar el usuario y el tama帽o del lote para Platform Event Trigger?

Objetivos:

Despu茅s de leer este blog, podr谩:

  • Comprender el tama帽o del lote para el activador de eventos de la plataforma
  • Anular el usuario de ejecuci贸n predeterminado para el desencadenador de eventos de la plataforma
  • Cree PlatformEventSubscriberConfig a trav茅s de la API REST
  • y mucho m谩s

Jestilla Zetkin trabaja como arquitecta de Salesforce en Gurukul On Cloud (GoC) . Recientemente, enfrent贸 desaf铆os mientras trabajaba con eventos de plataforma, principalmente l铆mites de gobernadores. Quiere aprender a configurar el tama帽o del lote para el activador de eventos de la plataforma. En este ejercicio, configuraremos el tama帽o del lote para lo siguiente:

  1. Activador de v茅rtice
    1. LeadGenerationEventTrigger en Lead_Generation__e
    2. Tama帽o del lote: 50
    3. Usuario ejecutor: Usuario de integraci贸n

驴Qu茅 es Plataforma de Eventos?

Las arquitecturas basadas en eventos se han vuelto muy populares en los 煤ltimos a帽os, y por una buena raz贸n. Se basa en el patr贸n de fuego y olvido . Activar un evento y dejar que cada sistema maneje la l贸gica empresarial le permite mantener los sistemas no relacionados desacoplados y puede ayudar a simplificar la arquitectura.

Los eventos de la plataforma le permiten entregar notificaciones de eventos seguras, escalables y personalizables dentro de Salesforce o desde fuentes externas. Las aplicaciones pueden publicar y suscribirse a eventos de plataforma en la plataforma de Salesforce mediante Apex, Flow o en un sistema externo mediante CometD. Si desea obtener m谩s informaci贸n sobre el evento de plataforma, consulte el m贸dulo de Trailhead .

驴Cu谩l es el tama帽o de lote predeterminado para el desencadenador de eventos de plataforma?

De forma predeterminada, el disparador de eventos de la plataforma se ejecuta como el usuario del sistema de procesos automatizados con un tama帽o de lote de 2000 mensajes de eventos. A veces es necesario cambiar el usuario y el tama帽o del lote para eludir los l铆mites del gobernador u otros desaf铆os.

Salesforce le permite anular el usuario de ejecuci贸n predeterminado y el tama帽o de lote de un desencadenador de Apex de evento de plataforma con PlatformEventSubscriberConfig en la API de herramientas o la API de metadatos para configurar el desencadenador.

Puede especificar cualquier usuario activo en la organizaci贸n de Salesforce. El activador se ejecuta en un contexto de sistema con privilegios para acceder a todos los registros independientemente de los permisos de nivel de campo y de objeto del usuario. Puede especificar un tama帽o de lote personalizado de 1 a 2000. El tama帽o del lote es el n煤mero m谩ximo de mensajes de eventos que se pueden enviar a un disparador en una ejecuci贸n.

Comprender el objeto PlatformEventSubscriberConfig

Hagamos una pausa aqu铆, familiar铆cese con el objeto de la API de herramientas PlatformEventUsageMetric en Salesforce. Representa los ajustes de configuraci贸n para un disparador de Apex de evento de plataforma, incluido el tama帽o del lote y el usuario que ejecuta el disparador.

Nombre del campo
Detalles
Tama帽o del lote Un tama帽o de lote personalizado, de 1 a 2000, para el desencadenador Apex del evento de plataforma. El tama帽o del lote corresponde al n煤mero m谩ximo de mensajes de eventos que se pueden enviar a un disparador en una ejecuci贸n. El tama帽o de lote predeterminado es 2000 para activadores de eventos de plataforma.
Nombre del desarrollador El nombre exclusivo del objeto PlatformEventSubscriberConfig.
etiqueta maestra Etiqueta para PlatformEventSubscriberConfig. En la interfaz de usuario, este campo es Configuraci贸n de suscriptor de eventos de plataforma.
PlatformEventConsumerId El ID del desencadenador de Apex del evento de plataforma que se va a configurar.
ID de usuario El ID del usuario con el que se ejecuta el desencadenador de Apex del evento de plataforma. De forma predeterminada, el disparador de eventos de la plataforma se ejecuta como la entidad de proceso automatizado. Establecer el usuario que ejecuta a un usuario espec铆fico tiene estos beneficios:

  • Los registros se crean o modifican como este usuario.
  • Los registros con campos OwnerId tienen sus campos OwnerId completados para este usuario cuando se crean o modifican.
  • Este usuario crea los registros de depuraci贸n para la ejecuci贸n del disparador.
  • Puede enviar un correo electr贸nico desde el activador, que no es compatible con el usuario de Proceso automatizado predeterminado.

Los componentes PlatformEventSubscriberConfig tienen el sufijo .platformEventSubscriberConfig y se almacenan en la carpeta PlatformEventSubscriberConfigs .

Este componente PlatformEventSubscriberConfig tiene la etiqueta LeadGenerationEventTriggerConfig . Contiene la configuraci贸n de un disparador de eventos de plataforma, LeadGenerationTrigger , y especifica el tama帽o del lote y el usuario.


<?versi贸n xml="1.0" codificaci贸n="UTF-8"?>
<PlatformEventSubscriberConfig xmlns="http://soap.sforce.com/2006/04/metadatos"> <platformEventConsumer>LeadGenerationTrigger</platformEventConsumer> <tama帽o del lote>50</tama帽o del lote> <masterLabel>LeadGenerationEventTriggerConfig</masterLabel> <usuario>desarrollador@automationchampion.com</usuario> <isProtected>falso</isProtected>
</PlatformEventSubscriberConfig>

Pr谩ctica guiada (nosotros hacemos):

Para agregar una configuraci贸n, realice una solicitud POST como se menciona a continuaci贸n:

  1. Abra Workbench e inicie sesi贸n con su nombre de usuario y contrase帽a de Trailhead Playground .
  2. Aseg煤rese de haber seleccionado la opci贸n Producci贸n para el medio ambiente .
  3. Navegue a la pesta帽a Utilidades y seleccione la opci贸n REST Explorer .
  4. Selecciona las siguientes opciones:
    1. Elija un m茅todo HTTP para realizar en el URI del servicio REST API a continuaci贸n : POST
    2. URL : /services/data/v58.0/tooling/sobjects/PlatformEventSubscriberConfig
    3. Cuerpo : proporcione los valores en el cuerpo de la solicitud. Esta solicitud de ejemplo configura un activador existente con un tama帽o de lote de 50 y especifica el ID de un usuario en ejecuci贸n.
      1. {
        "Tama帽o del lote": "50",
        鈥淣ombre del desarrollador鈥:鈥滾eadGenerationEventTriggerConfig鈥,
        鈥淢asterLabel鈥:鈥滾eadGenerationEventTriggerConfig鈥,
        鈥淧latformEventConsumerId鈥: 鈥01qB0000000Zcug鈥,
        鈥淚D de usuario鈥: 鈥005B00000015gt8鈥
        }
      2. D贸nde:
        1. 01qB0000000Zcug, disparador de Apex en Lead_Generation__e
        2. 005B00000015gt8, es el ID de usuario del usuario de integraci贸n
    4. Haga clic en Ejecutar .
  5. Puede consultar y recuperar las configuraciones en su organizaci贸n con SOQL. Si consulta desde Developer Console Query Editor, aseg煤rese de seleccionar Use Tooling API . Esta consulta de ejemplo recupera todas las configuraciones establecidas en su organizaci贸n de Salesforce.

Evaluaci贸n formativa:

隆Quiero saber de ti!

驴Qu茅 es una cosa que aprendiste de esta publicaci贸n? 驴C贸mo imagina aplicar este nuevo conocimiento en el mundo real? Si茅ntase libre de compartir en los comentarios a continuaci贸n.

Seguir leyendo

Diferentes formas de hacer que el componente de la pantalla sea de solo lectura

Diferentes formas de hacer que el componente de la pantalla sea de solo lectura

脷ltima actualizaci贸n el 9 de abril de 2023 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo hacer que el componente de pantalla sea de solo lectura? Objetivos: despu茅s de leer este blog, podr谩: Agregar texto de solo lectura al componente de pantalla usando Display Text Agregar texto de solo lectura al componente de pantalla usando un Lightning Web personalizado

La publicaci贸n Diferentes formas de hacer que el componente de pantalla sea de solo lectura apareci贸 primero en Automation Champion .

Seguir leyendo

Agregar modal de superposici贸n emergente en el componente web Lightning

Gran idea o pregunta duradera: 驴C贸mo se utiliza el componente web lightning para mostrar la ventana modal? Objetivos: despu茅s de leer este blog, podr谩: Comprender la diferencia entre alerta y modelo. Mostrar un modal con una superposici贸n en el clic del bot贸n. Mostrar otro componente web Lightning dentro.

La publicaci贸n Add Popup Overlay Modal in Lightning Web Component apareci贸 primero en Automation Champion .

Seguir leyendo

Haz lo Imposible en Apex con Funciones de Salesforce 鈽侊笍

Los desarrolladores de Apex tienen acceso a una gran cantidad de recursos que pueden ayudarlos a mejorar la calidad de su desarrollo. Pueden obtener informaci贸n sobre las nuevas funciones de Trailhead. Pueden ver ejemplos de mejores pr谩cticas en Recetas de Apex. Pueden colaborar en Trailblazer Community y Salesforce Stack Exchange. Pero hay un recurso que ha faltado [鈥

La publicaci贸n Haga lo imposible en Apex con funciones de Salesforce apareci贸 por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Haz lo Imposible en Apex con Funciones de Salesforce 鈽侊笍

Los desarrolladores de Apex tienen acceso a una gran cantidad de recursos que pueden ayudarlos a mejorar la calidad de su desarrollo. Pueden obtener informaci贸n sobre las nuevas funciones de Trailhead. Pueden ver ejemplos de mejores pr谩cticas en Recetas de Apex. Pueden colaborar en Trailblazer Community y Salesforce Stack Exchange. Pero hay un recurso que ha faltado [鈥

La publicaci贸n Haga lo imposible en Apex con funciones de Salesforce apareci贸 por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

C贸mo aprobar el examen de certificaci贸n de administrador avanzado de Salesforce

脷ltima actualizaci贸n el 27 de septiembre de 2022 por Rakesh Gupta Han pasado nueve a帽os desde que aprob茅 el examen de administrador avanzado de Salesforce. En las 煤ltimas semanas, muchas personas se comunicaron conmigo para pedirme orientaci贸n y un camino para convertirme en un administrador avanzado certificado. Eso me da una idea

La publicaci贸n C贸mo aprobar el examen de certificaci贸n de administrador avanzado de Salesforce apareci贸 primero en Automation Champion .

Seguir leyendo

Redacci贸n de los servicios REST de Apex (y cu谩ndo no hacerlo) 鈽侊笍

Apex es el lenguaje central para personalizar la l贸gica comercial en la plataforma Salesforce y para la integraci贸n con sistemas de terceros. Siempre que necesite exponer datos de la plataforma o l贸gica personalizada a un sistema externo, una de sus opciones es crear un punto final REST de Apex personalizado. En esta publicaci贸n, discutiremos los casos de uso para implementar [鈥

La publicaci贸n Redacci贸n de los servicios REST de Apex (y cu谩ndo no hacerlo) apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

C贸mo aprobar el examen de especialista en correo electr贸nico de Salesforce Marketing Cloud

脷ltima actualizaci贸n el 1 de agosto de 2022 por Rakesh Gupta Despu茅s de temer y demorar un par de veces, finalmente reun铆 el coraje para presentarme al examen de certificaci贸n de Administrador de Marketing Cloud hace unos meses. Y, oh s铆, logr茅 pasarlo en mi primer intento. Entonces, sigue

La publicaci贸n C贸mo aprobar el examen de especialista en correo electr贸nico de Salesforce Marketing Cloud apareci贸 primero en Automation Champion .

Seguir leyendo

Uso del componente web Lightning para mostrar un banner de alerta

脷ltima actualizaci贸n el 10 de julio de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo se usa el componente web Lightning para mostrar un banner de alerta en las p谩ginas Lightning para mostrar mensajes como una pr贸xima notificaci贸n de lanzamiento interno/de Salesforce o un recordatorio para finalizar el fin de a帽o? reuniones de seguimiento con los clientes? Objetivos:

La publicaci贸n Uso del componente web Lightning para mostrar un banner de alerta apareci贸 primero en Automation Champion .

Seguir leyendo

Obtenga el Id. de registro y el nombre de la API del objeto en el componente web Lightning

脷ltima actualizaci贸n el 7 de julio de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo se accede a la identificaci贸n del registro actual, el nombre de la API del objeto actual y el ancho de la regi贸n del componente cuando se usa el componente web Lightning? Objetivos: Despu茅s de leer este blog, podr谩: Acceder al actual

La publicaci贸n Get Record Id and Object API Name in Lightning Web Component apareci贸 primero en Automation Champion .

Seguir leyendo

Comprobar los permisos de usuario para el usuario que ha iniciado sesi贸n en el componente web Lightning

脷ltima actualizaci贸n el 27 de junio de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo comprobar si el usuario actual tiene un permiso espec铆fico (Ejecutar informes) o no para personalizar el comportamiento de un componente? Objetivos: despu茅s de leer este blog, podr谩: Verificar el permiso de usuario est谩ndar para el usuario actual Verificar

La publicaci贸n Comprobar los permisos de usuario para el usuario que ha iniciado sesi贸n en el componente web Lightning apareci贸 primero en Automation Champion .

Seguir leyendo

Agregar componentes web Lightning en Mobile y Lightning Experience como pesta帽as

脷ltima actualizaci贸n el 24 de junio de 2022 por Rakesh Gupta Gran idea o pregunta persistente: 驴C贸mo mostrar los componentes web Lightning en Salesforce mobile y Lightning Experience como fichas personalizadas? Objetivos: despu茅s de leer este blog, podr谩: Comprender la diferencia entre los componentes de superficie en las p谩ginas de App Builder y

La publicaci贸n Agregar componentes web Lightning en dispositivos m贸viles y Lightning Experience como pesta帽as apareci贸 primero en Automation Champion .

Seguir leyendo

Crear un formulario con una barra de progreso en el componente web Lightning

脷ltima actualizaci贸n el 23 de junio de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo crear un formulario con una barra de progreso en el componente web Lightning? Objetivos: despu茅s de leer este blog, podr谩: Comprender qu茅 es el campo de barra de progreso rel谩mpago y c贸mo usarlo Crear un formulario

La publicaci贸n Crear un formulario con una barra de progreso en el componente web Lightning apareci贸 primero en Automation Champion .

Seguir leyendo

Acceda a etiquetas personalizadas en el componente web Lightning

脷ltima actualizaci贸n el 21 de junio de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo usar etiquetas personalizadas en componentes web Lightning? Objetivos: despu茅s de leer este blog, podr谩: Comprender el prop贸sito de la etiqueta personalizada Crear etiquetas personalizadas y agregarle traducci贸n Importar etiquetas personalizadas en

La publicaci贸n Acceder a etiquetas personalizadas en el componente web Lightning apareci贸 primero en Automation Champion .

Seguir leyendo

Acceda a recursos est谩ticos, archivos de activos de contenido en Lightning Web Component

脷ltima actualizaci贸n el 20 de junio de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo importar y usar recursos est谩ticos en el componente web Lightning? Objetivos: despu茅s de leer este blog, podr谩: Comprender el prop贸sito del recurso est谩tico Usar el recurso est谩tico en el componente web lightning Acceder

La publicaci贸n Acceso a recursos est谩ticos, archivos de activos de contenido en Lightning Web Component apareci贸 primero en Automation Champion .

Seguir leyendo