Interactions entre les composants d'emplacement
Le composant Emplacement utilise plusieurs méthodes pour interagir avec les enregistrements d'emplacement client. Cette interaction inclut des méthodes qui aident à collecter, résoudre, filtrer et conserver les enregistrements client. Ces méthodes interrogent les points d'intérêt, distribuent des événements d'emplacement et invoquent et utilisent le déclencheur marketing Le client s'enregistre.
Lorsqu'un enregistrement d'emplacement client est signalé au composant Emplacement, ChangeClientLocationBasePartCmdImpl appelle une séquence de commandes qui dirigent le traitement du rapport d'emplacement client. Cette séquence de commandes forme un pipeline
de commandes qui affine et résout les informations brutes (telles que la latitude et la longitude) dans un rapport d'emplacement client entrant. Le pipeline se termine par un ensemble de rapports d'emplacement client de sortie, liés à des points d'intérêt particuliers. Le pipeline peut être personnalisé en fournissant une sous-classe de ChangeClientLocationBasePartCmdImpl, qui remplace la méthode getPipelineCommandInterfaces(). La méthode getPipelineCommandInterfaces() émet une liste ordonnée de noms d'interface de commande à utiliser dans le traitement du pipeline. Le traitement par défaut du pipeline est décrit dans le flux de travaux suivant :
Collecte d'enregistrements d'emplacement client
| Service OAGIS | Code d'action | Expression |
|---|---|---|
| ChangeClientLocation | Modifier | /ClientLocation[1] |
| Service REST | Méthode |
|---|---|
| clientLocation | PUT |
Filtrage des enregistrements d'emplacement client
Après les appels ChangeClientLocationBasePartCmdImpl ResolveClientLocationCmd, il appelle FilterClientLocationCmd pour vérifier si l'enregistrement d'emplacement client nécessite un traitement ultérieur.
Son implémentation par défaut, FilterClientLocationCmdImpl, pour le type source GPS filtre les enregistrements d'emplacement client en fonction des propriétés telles que le type de client, le type de source, le type du POI, l'ID de région ou l'ID de zone.
L'implémentation par défaut de Filtre abandonne les enregistrements qui n'ont pas User comme ClientType et n'examine aucune autre zone.
Résolution des enregistrements d'emplacement client
GPS tente de résoudre les informations suivantes :- ID du point d'intérêt, s'il n'est pas spécifié par la source d'emplacement, et les zones connexes, par exemple le type du POI, l'ID de région ou l'ID de zone, à partir de son emplacement géographique.
- ID de l'enregistrement d'emplacement client, s'il n'est pas spécifié par la source d'emplacement, s'il y a un enregistrement existant dans la base de données avec l'ID client, le type de source et l'ID du point d'intérêt spécifié.
- Délai d'expiration, s'il n'est pas spécifié par la source d'emplacement, provient de la propriété de configuration DefaultExpirationTimeOffset/source_type, qui spécifie le délai d'expiration par défaut du type de source qui est décalé en millisecondes.
| Emplacement du client | emplacement de point d'intérêt | Emplacement résolu à un point d'intérêt ? |
|---|---|---|
| A | B, dans le rayon. C, en dehors de la portée du rayon. |
Oui, seul le point d'intérêt qui est représenté par B. Un enregistrement d'emplacement client correspondant à POI B est créé. |
| A | D, dans le rayon. E, dans le rayon. |
Si la précision est de zéro mètre :
Remarque : Ce comportement peut être personnalisé en fonction de vos besoins métier. |
| A | F, en dehors de la portée du rayon. | Non, les points d'intérêt sont hors de portée. Aucun enregistrement d'emplacement client correspondant à un POI n'est créé. |
Distribution d'événements d'emplacement
Après que ChangeClientLocationBasePartCmdImpl appelle ResolveClientLocationCmd, il appelle DispatchLocationEventCmd ensuite pour distribuer d'un événement d'emplacement.
Par défaut, DispatchLocationEventCmdImpl appelle MarketingFacadeClient.evaluateMarketingTrigger(Map) pour distribuer un événement d'emplacement au composant Marketing.
L'implémentation par défaut tient compte de deux seuils, l'un dans l'espace et l'autre dans le temps, pour prendre sa décision. Ces seuils sont définis dans le fichier de configuration wc-component.xml.
<_config:configgrouping name="MarketingEngineParameters">
<_config:property name="TimeThresholdMilliseconds" value="60000"/>
<_config:property name="DistanceThresholdMeters" value=""/>
</_config:configgrouping>
Comme pour n'importe quel fichier de personnalisation de composants, il peut être étendu pour répondre à vos besoins métier.
- Un enregistrement client dans un magasin le jour 1 et le même magasin à nouveau le jour 2 invoque le moteur Marketing sur les deux jours (seuil de temps atteint)
- Un enregistrement client dans un magasin suivi d'un enregistrement dans un magasin différent dans le seuil de temps appelle le moteur Marketing pour les deux magasins (seuil d'espace atteint).
Interrogation des points d'intérêt
Le composant Emplacement fournit le service GetPointOfInterest OAGIS et son service pointOfInterest GET REST correspondant pour interroger les points d'intérêt par paramètres tels que l'ID de magasin, le type du POI, l'ID de région, l'ID de zone ou l'emplacement géographique.
- Lorsque vous créez une activité de marketing basée sur l'emplacement, un responsable marketing reçoit les régions géographiques (points d'intérêt de type
Region) et les emplacements de magasin (points d'intérêt de typeStore) que l'activité peut cibler. - Lorsqu'il y a plusieurs emplacements de magasins à proximité, un client reçoit les emplacements de magasins à proximité (points d'intérêt de type
Store) qu'il peut enregistrer.
Déclencheur : le client s'enregistre
Le déclencheur Le client s'enregistre dans l'outil Marketing est utilisé pour créer des activités Dialogue basées sur l'emplacement. Ce déclencheur peut être utilisé dans une activité Dialogue pour démarrer ou poursuivre l'activité lorsqu'un client s'inscrit à un point d'intérêt un nombre de fois spécifié dans un délai spécifié.
Le moteur marketing est averti par le composant Emplacement lorsque vous utilisez ce déclencheur. La notification se produit en appelant le service Web Traiter le déclencheur marketing, via la méthode MarketingFacadeClient evaluateMarketingTrigger(Map parameters).
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);
| Nom | Description |
|---|---|
| DM_ReqCmd | Nom de l'événement. La valeur doit être LocationEvent. |
| storeId | L'ID du magasin HCL Commerce. |
| userId | ID utilisateur HCL Commerce. |
| personalizationId | L'ID de personnalisation HCL Commerce. |
| action | L'action qui déclenche l'événement. La valeur doit être Check-in. |
| pointOfInterestId | L'ID du point d'intérêt. |
| regionId | L'ID de la région. |
| zoneId | L'ID de zone. |