Descubra cómo crear una estrategia de API de éxito para alinear sus objetivos empresariales, agilizar las operaciones y mejorar la transformación digital.
The post ¿Qué es una estrategia de API? appeared first on Salesforce.
Seguir leyendoDescubra cómo crear una estrategia de API de éxito para alinear sus objetivos empresariales, agilizar las operaciones y mejorar la transformación digital.
The post ¿Qué es una estrategia de API? appeared first on Salesforce.
Seguir leyendoSe 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.
Ú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 leyendoTemas cubiertos en la entrevista de Salesforce Service Cloud:
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?
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?
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!
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?
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?
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.
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?
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.
1.¿Qué es la Consola de Servicio en Salesforce?
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?
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 “centro 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?
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 “oficina 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.
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?
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.
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
1. ¿Qué es la Integración Telefónica Computadora (CTI)?
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?" “¿Prefieres 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.
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.
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.
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.
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?
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.
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.
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.
1. ¿Qué es Field Service Lightning?
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!
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.
1. ¿Puedes explicar qué es 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 “Estado de presencia” en OmniCanal?
“Estado 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?
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.
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?
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?
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.
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?
Última actualización el 19 de julio de 2023 por Rakesh Gupta
Después de leer este blog, podrá:
En el pasado, escribí algunos artículos sobre Lightning Web Component . ¿Por qué no echarles un vistazo mientras estás en ello?
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:
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 :
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.
Hay 3 pasos para resolver el requisito comercial de Janel utilizando Lightning Web Component y Screen Flow . Debemos:
Al final, Janel's Flow se verá como la siguiente captura de pantalla:
Una vez que todo se vea bien, realice los siguientes pasos:
Al final, Janel's Flow se verá como la siguiente captura de pantalla:
Una vez que todo se vea bien, realice los siguientes pasos:
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").
Utilizaremos el componente lightning-flow para incrustar un flujo de pantalla en el componente lightning web. Desglosemos el código:
<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>
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.
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 } }
}
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=”UTF-8″?><LightningComponentBundle xmlns=”http://soap.sforce.com/2006/04/metadata”><apiVersion>58.0</apiVersion><isExposed>verdadero</isExposed><target>relámpago__RecordPage</target></objetivos></LightningComponentBundle>
¡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Última actualización el 17 de julio de 2023 por Rakesh Gupta
Después de leer este blog, podrá:
En el pasado, escribí algunos artículos sobre Lightning Web Component . ¿Por qué no echarles un vistazo mientras estás en ello?
Janel Parrish trabaja como desarrollador junior en Gurukul on Cloud (GoC). Janel tiene un requisito comercial para hacer lo siguiente:
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.
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 .
Hay 2 pasos para resolver el requisito empresarial de Janel utilizando Lightning Web Component y Screen Flow . Debemos:
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 .
Utilizaremos el componente de ubicación de entrada de rayos para aceptar valores de latitud y longitud. Desglosemos el código:
<plantilla> <relámpago-entrada-ubicación etiqueta="Coordenadas predeterminadas" latitud={latitud} longitud={longitud} onchange={handleChange}> </ubicación-de-entrada-del-relámpago>
</plantilla>
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.
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])) ); }
}
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>
Al final, Janel's Flow se verá como la siguiente captura de pantalla:
Una vez que todo se vea bien, realice los siguientes pasos:
¡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 leyendoEsta 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.
…
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.
Event Platform consta de diferentes funciones que le permiten crear arquitecturas basadas en eventos gracias a Salesforce Event Bus.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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 .
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 .
Agregar a Slack Suscríbete a RSS
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.
…
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).
Agregar a Slack Suscríbete a RSS
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.
…
¡Ú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.
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.
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).
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.
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éricocount
: devuelve el número de resultados que coinciden con los criterios de consultacountDistinct
: devuelve el número de valores de campo distintos y no nulos que coinciden con los criterios de consultagrouping
: 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 campomin
– Devuelve el valor mínimo de un camposum
: 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 .
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 .
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
.
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 .
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.
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.
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 .
Agregar a Slack Suscríbete a RSS
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.
…
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.
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:
410: GONE
500: UNSUPPORTED_API_VERSION
400: InvalidVersion
Ahora que conoce el último plan, veamos cómo puede identificar si se ve afectado y cómo.
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:
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.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.
Puede utilizar la colección Postman de las API de la plataforma de Salesforce para inspeccionar sus registros de Salesforce con estos pasos:
q
con la siguiente consulta SOQL: SELECT LogFile, EventType, CreatedDate FROM EventLogFile WHERE EventType IN ('API', 'RestApi', 'BulkApi', 'ApiTotalUsage')
id
.
Después de identificar que está llamando a versiones de API heredadas, el siguiente paso es actualizar estas 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:
/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.
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.
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.
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.
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.
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 .
Agregar a Slack Suscríbete a RSS
Última actualización el 30 de abril de 2023 por Rakesh Gupta
Después de leer este blog, podrá:
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:
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 .
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.
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 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>
Para agregar una configuración, realice una solicitud POST como se menciona a continuación:
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.
¡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Ú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 leyendoGran 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 leyendoLos 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 leyendoLos 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Ú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 leyendoApex 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Ú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Ú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Ú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Ú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Ú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Ú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Ú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