Loading
Centro de contacto Agentforce
Índice de materias
Seleccionar filtros

          No hay resultados
          No hay resultados
          Estas son algunas sugerencias de búsqueda

          Compruebe la ortografía de sus palabras clave.
          Utilice términos de búsqueda más generales.
          Seleccione menos filtros para ampliar su búsqueda.

          Buscar en toda la Ayuda de Salesforce
          Utilizar un flujo de pantalla para pasar datos de entrada a un flujo de WhatsApp dinámico

          Utilizar un flujo de pantalla para pasar datos de entrada a un flujo de WhatsApp dinámico

          El flujo de pantalla puede recopilar datos de clientes y pasarlos de forma segura en variables. Estas variables pueden servir a continuación como entrada para el flujo de WhatsApp dinámico que se crea con un componente de mensajería de formulario basado en Apex. Para agregar contenido personalizado al mensaje, en el componente de mensajería de formulario basado en Apex, agregue referencias dinámicas a estos datos de entrada. Por ejemplo, para programar una cita veterinaria, el flujo de pantalla recopila detalles específicos, como el tipo de animal y el problema, y pasa de forma dinámica esta información al componente de mensajería de formulario basado en Apex.

          Ediciones necesarias

          Ver ediciones admitidas.
          Marca de verificación Este artículo se aplica a: Canales de WhatsApp mejorados, WhatsApp unificado
          Icono X Este artículo no se aplica a: Chat en aplicación mejorado, Chat web mejorado, Facebook Messenger estándar y mejorado, SMS estándar y mejorado, mensajes de Apple Messages for Business mejorados, LINE mejorado y Aportar su propio canal
          Permisos de usuario necesarios
          Para crear componentes de mensajería:

          Personalizar aplicación Y Ver parámetros y configuración

          O

          Administrador del sistema

          Para enviar y recibir mensajes en Mensajería: Agente de Mensajería

          Cuando crea un componente de mensajería de formulario basado en Apex, estos parámetros de entrada estándar están disponibles de forma predeterminada.

          Parámetro Descripción
          FormData Almacena datos de entrada pasados al flujo. Los datos se almacenan como una cadena JSON de pares clave-valor. Para hacer referencia a estos datos, debe definir la estructura de los datos en un modelo de datos. La estructura del modelo de datos debe coincidir con la estructura del JSON. Puede acceder a estos datos utilizando Apex o un flujo de pantalla.
          FormEntryScreenId Almacena el Id. de la pantalla de entrada, que es la primera pantalla que ve el usuario final de mensajería.

          Puede encontrar estos parámetros predeterminados en la ficha Parámetros de la sección Detalles de componente.Muestra los parámetros FormData y FormEntryScreenID que se crean de forma predeterminada.

          Para ayudarle a comprender cómo utilizar estos parámetros y un flujo de pantalla para pasar datos de entrada, veamos un ejemplo.

          1. Abra el formato Flujo del componente de mensajería de formulario basado en Apex.
            1. En el formato Flujo, haga clic en Gestionar datos para definir un modelo de datos para todos los datos de entrada que se pasan desde el parámetro FormData.

              Por ejemplo, el parámetro FormData almacena estos datos de entrada.

              {“FirstName”:“Albert”,“LastName”:“Costa”,“isStudent”:“true”}

            2. Para agregar un campo al modelo de datos, haga clic en Agregar campo y configure sus propiedades.
              Realice este paso para cada campo en el parámetro FormData. Para crear una estructura, seleccione el tipo de datos Objeto para un campo y agregue campos anidados.
              El modelo de datos tiene tres campos definidos.
            3. Cuando termine de definir el modelo de datos, guárdelo.
          2. Para utilizar el valor de un campo de modelo de datos en una propiedad Flujo, agregue una referencia dinámica.
            1. Abra el formato Flujo y localice la propiedad para la que desea utilizar una referencia dinámica.
              Por ejemplo, puede agregar una referencia dinámica para el campo Contenido de texto para un elemento de pantalla Cuerpo.
            2. En el campo Tipo, seleccione Referencia dinámica.
            3. En Seleccionar el campo de referencia, seleccione el campo de modelo de datos.
              El campo de entrada FirstName, el campo de entrada LastName y el tipo de animal seleccionado en Pantalla 1 se pueden utilizar como la referencia dinámica.

              Las referencias dinámicas pueden extraer datos de campos de modelo de datos o campos de entrada definidos en una pantalla.

            4. En el lienzo, realice una vista previa de la referencia dinámica.
              La referencia dinámica extrae datos del campo de entrada FirstName.
          3. Para pasar datos al componente de mensajería, cree un flujo de pantalla.
            El flujo de pantalla puede recopilar datos desde la sesión de mensajería y utilizarlos en el componente de mensajería Formulario basado en Apex. Para ilustrar cómo funciona, cree un flujo de pantalla de muestra.
            1. Defina las variables de flujo de pantalla.
              Variable Valor
              sessionId Almacena el Id. de registro de sesión de mensajería.
              initialData Almacena los datos de entrada para el formulario basado en Apex. Los campos de esta cadena JSON deben coincidir con los nombres de campo que agregó al modelo de datos.
              initialScreenId Almacena el Id. de pantalla inicial para el formulario basado en Apex. Esta es la primera pantalla que ve un usuario final de mensajería.
              meuName Almacena el nombre del usuario final de mensajería.
              items Esta variable de recopilación almacena una lista de elementos.
            2. En el flujo de pantalla, agregue estas acciones en este orden. Para recuperar datos desde un objeto de Salesforce, agregue una acción Obtener registros. Para asignar valores a las variables de pantalla, agregue una acción Asignación.
              Acción Descripción
              Acción Obtener registros getSession Obtenga la sesión de mensajería basándose en el Id. de sesión. Puede obtener datos relevantes desde esa sesión de mensajería. En este caso, recupera y almacena los valores de campo Id. y MessagingEndUserId.
              Acción Obtener registros getMEU Obtenga el registro Usuario de mensajería basándose en MessagingEndUserId.
              acción Asignación setMEUName Establezca la variable meuName en el valor del campo Nombre de usuario de mensajería desde el registro Usuario de mensajería.
              Acción getDynamicFlowItem Obtener registros Obtenga todos los registros DynamicFlowItem desde el objeto DynamicFlowItem, almacenando los campos ID, ItemId__c y itemTitle__c en la variable de recopilación de items.
              Acción GenerarJson Apex Convierte los datos de entrada de las variables items y meuName al formato JSON. Los campos del objeto JSON se asignan a los campos en el modelo de datos del flujo. Esta acción se basa en una clase Apex. Consulte la clase Apex después de esta tabla.
              Acción de asignación setData Establezca la variable InitialData en el valor de la acción JSON generada.

              Esta clase Apex transforma datos de entrada estructurados (el nombre de un usuario y una lista de registros de Salesforce) en una única cadena JSON. Esta cadena JSON se utiliza a continuación para pasar datos de entrada al componente de mensajería de formulario basado en Apex.

              public class FlowJSONBuilder {
              
                  // 1. Input parameters
                  public class FlowInput {
                      @InvocableVariable(label='User Name' required=true)
                      public String meuName;
              
                      // CHANGE: Use List<SObject> instead of List<DynamicFlowItems__c> to avoid compile error
                      @InvocableVariable(label='Flow Items' required=true)
                      public List<SObject> items; 
                  }
              
                  // 2. Output parameters
                  public class FlowOutput {
                      @InvocableVariable(label='Generated JSON')
                      public String jsonString;
                  }
              
                  // 3. Internal Wrapper classes
                  public class JSONStructure {
                      public String greeting;
                      public List<ItemWrapper> items;
                  }
              
                  public class ItemWrapper {
                      public String id;
                      public String title;
                  }
              
                  // 4. Main Method
                  @InvocableMethod(label='Generate Custom JSON' description='Builds the JSON string from Flow items')
                  public static List<FlowOutput> generateJson(List<FlowInput> requests) {
                      List<FlowOutput> outputs = new List<FlowOutput>();
              
                      for (FlowInput request : requests) {
                          FlowOutput output = new FlowOutput();
                          
                          JSONStructure jsonRoot = new JSONStructure();
                          jsonRoot.greeting = 'Hello ' + request.meuName + '!';
                          jsonRoot.items = new List<ItemWrapper>();
              
                          if (request.items != null) {
                              // Loop through generic SObjects
                              for (SObject genericRec : request.items) {
                                  // CAST the generic SObject to your specific Custom Object
                                  DynamicFlowItem__c rec = (DynamicFlowItem__c)genericRec;
                                  
                                  ItemWrapper item = new ItemWrapper();
                                  item.id = rec.itemId__c;     
                                  item.title = rec.itemTitle__c; 
                                  jsonRoot.items.add(item);
                              }
                          }
              
                          output.jsonString = JSON.serialize(jsonRoot);
                          outputs.add(output);
                      }
              
                      return outputs;
                  }
              }
            3. Agregue una acción Pantalla al flujo de pantalla y luego arrastre el componente Mensaje mejorado a la pantalla.
              El componente Mensajería mejorada llama al flujo de WhatsApp dinámico y proporciona datos de entrada.
            4. Para especificar los datos de entrada, establezca estas propiedades del componente Mensaje mejorado como se muestra.
              Propiedad Valor
              Id. de sesión de mensajería Seleccione sessionId, la variable de flujo de pantalla que contiene el Id. de sesión.
              Nombre de componente de Mensajería Seleccione el nombre del componente de mensajería de formulario basado en Apex que creó.
              Datos de formulario Apex Seleccione initialData, la variable de flujo de pantalla que contiene los datos de entrada.
              Id. de pantalla de entrada de formulario Apex Seleccione initialScreenId, la variable de flujo de pantalla que contiene el Id. de pantalla inicial.

              En tiempo de ejecución, la acción de pantalla invoca el componente de mensajería de formulario basado en Apex y le pasa estos datos de entrada.

            5. Guarde y active el flujo de pantalla.
              El componente Mensajería mejorada llama al flujo de WhatsApp dinámico y proporciona datos de entrada.
          4. Para permitir que un representante de servicio ejecute el flujo de pantalla, incruste el flujo de pantalla activo en la página de la consola de servicio.
            Por ejemplo, agregue el componente Flujo a la página de registro Sesión de mensajería.

            La página de registro Sesión de mensajería tiene un componente para el flujo.

            Durante una sesión de mensajería, para iniciar el flujo de pantalla desde la página, el representante de servicio puede hacer clic en Siguiente.

            Para insertar el componente de mensajería del flujo en la plática con el cliente, el representante de servicio puede hacer clic en Insertar mensaje.

            Los representantes pueden hacer clic en Insertar mensaje para enviarlo al cliente.

            El representante de servicio puede enviar el mensaje al cliente.

           
          Cargando
          Salesforce Help | Article