Interacciones entre componentes de ubicación

El componente de ubicación utiliza varios métodos para interactuar con los registros de localización de clientes. Esta interacción incluye métodos que ayudan a recopilar, resolver, filtrar y conservar registros de cliente. Estos métodos consultan puntos de interés, sucesos de ubicación de envío e invocan y utilizan el pase por caja del cliente en el desencadenante de marketing.

Cuando se notifica un registro de ubicación de cliente al componente de ubicación, ChangeClientLocationBasePartCmdImpl llama a una secuencia de mandatos, que dirige el proceso del informe de ubicación del cliente. Esta secuencia de mandatos forma una canalización de mandato, que refina y resuelve la información en bruto (por ejemplo, latitud y longitud) en un informe de ubicación de cliente entrante. La canalización culmina en un conjunto de informes de ubicación de cliente de salida, que están enlazados a determinados puntos de interés. La canalización puede personalizarse al proporcionar una subclase de ChangeClientLocationBasePartCmdImpl, que altera temporalmente el método getPipelineCommandInterfaces(). El método getPipelineCommandInterfaces() emite una lista ordenada de nombres de interfaz de mandatos que se utilizarán en el proceso de la canalización. El proceso de canalización predeterminado se describe en el siguiente flujo de trabajo:

Recopilación de registros de ubicación de clientes

Un origen de ubicación puede notificar un registro de ubicación de cliente al componente de ubicación al llamar a:
Recopilación de registros de ubicación de clientes (OAGIS)
Servicio de OAGIS Código de acción Expresión
ChangeClientLocation Cambiar /ClientLocation[1]
De forma alternativa, puede llamar a:
Recopilación de registros de ubicación de cliente (REST)
Servicio REST Método
clientLocation PUT

Filtrado de registros de ubicación de cliente

Después de llamar a ChangeClientLocationBasePartCmdImpl ResolveClientLocationCmd, llama a FilterClientLocationCmd para comprobar si el registro de localización de clientes requiere un proceso adicional.

Su implementación predeterminada, FilterClientLocationCmdImpl, para el tipo de origen GPS filtra los registros de ubicación de cliente por propiedades tales como tipo de cliente, tipo de origen, tipo de punto de interés, ID de región o ID de zona.

La implementación predeterminada del filtro descarta registros que no tienen un valor ClientType de User, y no examina ningún otro campo.

Resolución de registros de ubicación de clientes

Su implementación predeterminada, ResolveClientLocationCmdImpl, para el tipo de origen GPS que intenta resolver la siguiente información:
  • El ID de punto de interés, si no lo especifica el origen de ubicación, y los campos relacionados, por ejemplo, tipo de POI, ID de región o ID de zona, de su ubicación geográfica.
  • ID de registro de ubicación de cliente, si no se especifica por el origen de ubicación, si hay un registro existente en la base de datos con el ID de cliente especificado, el tipo de origen y el ID de punto de interés.
  • El tiempo de caducidad, si no lo especifica el origen de ubicación, de la propiedad de configuración DefaultExpirationTimeOffset/source_type, que especifica el tiempo de caducidad predeterminado del tipo de origen que se compensa en milisegundos.
La tabla siguiente indica cómo se resuelve un ID de punto de interés:
Ubicación de cliente
Ubicación de cliente Ubicación del punto de interés ¿Se ha resuelto la ubicación en un punto de interés?
A B, dentro del rango de radius.

C, fuera del rango de radius.

Sí, solo el punto de interés que está representado por B. Se crea un registro de ubicación de cliente que coincide con el punto B.
A D, dentro del rango de radius.

E, dentro del rango de radius.

Si la precisión es cero metros:
  • Sí, el punto de interés único que está más cerca de la ubicación del cliente de forma predeterminada.

    Los registros de ubicación de cliente se crean de acuerdo con el POI D o el E, dependiendo de qué ubicación esté más cerca de la ubicación del cliente.

Si la precisión es mayor que cero metros:
  • Sí, se resuelven varios puntos de interés (POI D y E).

    Se crea un registro de localización de clientes que coincide con el POI D y el POI E.

Nota: Este comportamiento se puede personalizar para adaptarlo a las necesidades de su empresa.
A F, fuera de rango de radius. No, los puntos de interés no están dentro del rango. No se crea ningún registro de ubicación de cliente que coincida con un punto de interés.
Nota: Es posible que una ubicación de cliente salga de un radio de punto de interés a medida que mejora la precisión GPS del cliente.

Asignación de sucesos de ubicación

Después de que ChangeClientLocationBasePartCmdImpl llame a ResolveClientLocationCmd, llama a DispatchLocationEventCmd para asignar un suceso de ubicación.

De forma predeterminada, DispatchLocationEventCmdImpl llama a MarketingFacadeClient.evaluateMarketingTrigger (MAP) para que envíe un suceso de ubicación al componente de marketing.

La implementación predeterminada considera dos umbrales, uno en el espacio y uno a tiempo, al tomar su decisión. Estos umbrales se definen en el archivo de configuración de wc-component.xml.

El archivo wc-component.xml se encuentra en el directorio WC_eardir/xml/config/com.ibm.commerce.location. De forma predeterminada, contiene las configuraciones del umbral siguientes:

<_config:configgrouping name="MarketingEngineParameters"> 
<_config:property name="TimeThresholdMilliseconds" value="60000"/> 
<_config:property name="DistanceThresholdMeters" value=""/> 
</_config:configgrouping> 

Al igual que con cualquier archivo de personalización del componente, se puede ampliar para adaptarlo a las necesidades de su empresa.

El umbral de espacio invoca el motor de marketing si la distancia física entre ClientLocations consecutivos supera el umbral. El umbral de tiempo invoca el motor de marketing si la diferencia de tiempo entre la publicación de ClientLocations consecutivos supera el umbral.
Nota: Los ClientLocations consecutivos deben cumplir el umbral de espacio o de tiempo para invocar el motor de marketing. Por ejemplo, esta lógica garantiza que:
  • Un registro de cliente en una tienda del día 1 y la misma tienda de nuevo el día 2 invoca el motor de marketing en ambos días (umbral de tiempo alcanzado)
  • Un registro de cliente en una tienda seguida de un registro en una tienda diferente dentro del umbral de tiempo invoca el motor de marketing para ambas tiendas (umbral de espacio alcanzado).
Para calcular si la ubicación anterior y actual de un cliente cumplen los umbrales, se mantiene una memoria caché en la memoria de ClientLocations (un registro por PersonalizationID). Este comportamiento se puede modificar ampliando o sustituyendo el DispatchClientLocationEventCmd.

Puntos de interés de consulta

El componente de ubicación proporciona el servicio OAGIS GetPointOfInterest y su servicio GET de REST pointOfInterest correspondiente para consultar puntos de interés por parámetros como el ID de tienda, el tipo de POI, el ID de región, el ID de zona o la ubicación geográfica.

Los parámetros se utilizan para las tareas siguientes:
  • Cuando se crea una actividad de marketing basada en la ubicación, se le asignan las regiones geográficas a un director de marketing (puntos de interés de tipo Region) y las ubicaciones de tienda (puntos de interés de tipo Store) a las que la actividad puede dirigirse.
  • Cuando hay varias ubicaciones de tienda cercanas, las ubicaciones de tiendas cercanas se le proporcionan a un comprador (puntos de interés de tipo Store) en las que se puede registrar.

Ejecución: El cliente hace check-in

El registro del cliente se desencadena en la herramienta Marketing que se utiliza para crear actividades de diálogo basadas en la ubicación. Este desencadenante se puede utilizar en una actividad de diálogo para iniciar o continuar la actividad cuando un comprador se registra en un punto de interés determinado un número especificado de veces dentro de un periodo de tiempo especificado.

El componente de ubicación notifica al motor de marketing cuando se utiliza este desencadenante. La notificación se produce al llamar al proceso de servicio web de desencadenante de marketing, a través del método MarketingFacadeClient evaluateMarketingTrigger (parámetros de correlación).

El siguiente fragmento de código se muestra un ejemplo de la llamada al servicio:

Map parameterMap = new HashMap();
parameterMap.put("DM_ReqCmd", "LocationEvent");
parameterMap.put("storeId", "10001");
parameterMap.put("userId", "10001");
parameterMap.put("personalizationId", "10001");
parameterMap.put("action", "Check-in");

parameterMap.put("pointOfInterestId", "10001");
parameterMap.put("regionId","CA-ON");
parameterMap.put("zoneId","Markville Mall Store");
marketingFacadeClient.evaluateMarketingTrigger(parameterMap);
Cada suceso de ubicación incluye los siguientes pares nombre-valor:
Pares nombre-valor de evento de ubicación
Nombre: Descripción:
DM_ReqCmd El nombre del evento. El valor debe serLocationEvent.
storeId El ID de la tienda HCL Commerce.
userId ID de usuario de HCL Commerce.
personalizationId ID de personalización de HCL Commerce
acción La acción que desencadena el suceso. El valor debe serCheck-in.
pointOfInterestId ID del punto de interés.
regionId El ID de región.
zoneId El ID de zona.