Skip to content

Search Events

Info

This document is a work in progress.

Currently, Search events contain below events, still working in progress:

  • Search Events
    • Entity Action Event - When user initiates an action (eg: click a candidate, call the phone number of that poi, drive to that poi/address) from a search result (from search result list or detail page), HMI/application should send "ENTITY_ACTION" event.
    • Entity Cached Action Event - When user initiates action (eg: click a candidate, call the phone number of that poi, drive to that poi/address) from a pre-stored poi/address (home/work address, favorite result list, recent poi/address), HMI/application should send "ENTITY_CACHE_ACTION" event.
    • SelectWordPrediction Event - When user initiates an action (eg: click a candidate, call the phone number of that poi, drive to that poi/address) from a search result (from search result list or detail page), HMI/application should send "ENTITY_ACTION" event.
    • EntityFeedback Event - When user initiates action (eg: click a candidate, call the phone number of that poi, drive to that poi/address) from a pre-stored poi/address (home/work address, favorite result list, recent poi/address), HMI/application should send "ENTITY_CACHE_ACTION" event.
    • Autosuggest Event - When user initiates an action (eg: click a candidate, call the phone number of that poi, drive to that poi/address) from a search result (from search result list or detail page), HMI/application should send "ENTITY_ACTION" event.
    • Search Event - When user initiates action (eg: click a candidate, call the phone number of that poi, drive to that poi/address) from a pre-stored poi/address (home/work address, favorite result list, recent poi/address), HMI/application should send "ENTITY_CACHE_ACTION" event.
    • WordSuggest Event - When user initiates an action (eg: click a candidate, call the phone number of that poi, drive to that poi/address) from a search result (from search result list or detail page), HMI/application should send "ENTITY_ACTION" event.

Search Events

Entity Action Event

When user take action (eg: click a candidate, call the phone number of that poi, drive to that poi/address) from a search result (from search result list or detail page), HMI/application should send an "ENTITY_ACTION" event.

Key methods

Method Details
setEntityId(String entity_id) The EntityId address/POI that was selected, mandatory data field.
setReferenceId(String reference_id) The reference/transaction id of the search from which the result was selected to view details, optional data field.
setActionType(ActionType action) ActionType as CLICK/CALL/DIRECTION click 1 candidate, call the phone number of that poi, drive to that poi/address, mandatory data field.
setDisplayMode(DisplayMode display) DisplayMode as MAP_VIEW/LIST_VIEW where entity is displayed when entity is taken action mandatory data field.
enum index ActionType
0 CLICK
1 CALL
2 DIRECTION
enum index DisplayMode
0 MAP_VIEW
1 LIST_VIEW

Sample code

1
2
3
4
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(EntityActionEvent.builder().setEntityId("EntityId").setReferenceId("ReferenceId")
  .setActionType(EntityActionEvent.ActionType.CLICK).setDisplayMode(EntityActionEvent.DisplayMode.MAP_VIEW)
  .build()).build().execute();
1
2
3
4
var builder = dataCollectorClient.sendEventRequest()
var response = builder.setEvent(EntityActionEvent.builder().setEntityId("EntityId").setReferenceId("ReferenceId")
  .setActionType(EntityActionEvent.ActionType.CLICK).setDisplayMode(EntityActionEvent.DisplayMode.MAP_VIEW)
  .build()).build().execute()

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

Entity Cache Action Event

When user initiates an action (eg: click a candidate, call the phone number of that poi, drive to that poi/address) from a pre-stored poi/address (home/work address, favorite result list, recent poi/address), HMI/application should send "ENTITY_CACHE_ACTION" event.

Key methods:

Method Details
setEntityId(String entity_id) The EntityId address/POI that was selected, mandatory data field.
setActionType(ActionType action) ActionType as CLICK/CALL/DIRECTION click 1 candidate, call the phone number of that poi, drive to that poi/address, mandatory data field.
setSourceType(SourceType source) Source type RECENT/FAVORITE/HOME/WORK, optional data field.
enum index ActionType
0 CLICK
1 CALL
2 DIRECTION
enum index SourceType
0 RECENT
1 FAVORITE
2 HOME
3 WORK

Sample code

1
2
3
4
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(EntityCacheActionEvent.builder().setEntityId("EntityId")
    .setActionType(EntityCacheActionEvent.ActionType.CLICK).setSourceType(EntityCacheActionEvent.SourceType.RECENT)
    .build()).build().execute();
1
2
3
4
5
var builder = dataCollectorClient.sendEventRequest();
var response = builder
    .setEvent(EntityCacheActionEvent.builder().setEntityId("EntityId")
    .setActionType(EntityCacheActionEvent.ActionType.CLICK).setSourceType(EntityCacheActionEvent.SourceType.RECENT)
    .build()).build().execute()

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

Select Word Prediction Event

When user types words and select a candidate appears in the list which is predicted by application, HMI/application should send "SELECT_WORD_PREDICTION" event.

Key methods:

Method Details
setReferenceId(String reference_id) Set the reference id of word prediction from which this word was generated, mandatory data field.
setSelectedWord(String selected_word) Set selected word in word prediction result, mandatory data field.

Sample code

1
2
3
4
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(SelectWordPredictionEvent.builder().setReferenceId("ReferenceId")
  .setsetSelectedWord("selected_word")
  .build()).build().execute();
1
2
3
4
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(SelectWordPredictionEvent.builder().setReferenceId("ReferenceId")
  .setsetSelectedWord("selected_word")
  .build()).build().execute()

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

Entity Feedback Event

When user has feedbacks after search operation is performed, HMI/application should send "ENTITY_FEEDBACK" event.

Key methods:

Method Details
setEntityId(String entity_id) The EntityId address/POI that was selected, mandatory data field.
setEntityFeedbackType(EntityFeedbackType feedback) Set EntityFeedbackType, mandatory data field.
setDescription(String description) Set description of entity feedback, optional data field.
setUserNickname(String user_nickname) Set available friendly name (nickname) of user.
setOverallRating(Integer overall_rating) Set sser overall rating. Range 1-5.
setSafetyRating(Integer safety_rating) Set User rating indicating overall safety. Range 1-5.
setAmenityRating(Integer amenity_rating) Set User rating regarding the richness and diversity of amenities so user has things to do while visiting entity. Range 1-5.
enum index EntityFeedbackType
0 PERMANENTLY_CLOSED
1 ADDRESS_INCORRECT
2 PHONE_NUMBER_INCORRECT
3 WRONG_PLACEMENT_ON_MAP
4 EV_CHARGER_DOES_NOT_EXIST
5 EV_CHARGER_DIFFICULT_ACCESS
6 EV_CHARGER_INOPERABLE
7 EV_CHARGER_SLOW_CHARGING
8 OTHER

Sample code

1
2
3
4
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(EntityFeedbackEvent.builder().setEntityId("EntityId")
    .setActionType(EntityFeedbackEvent.EntityFeedbackType.PERMANENTLY_CLOSED).setDescription("description")
    .build()).build().execute();
1
2
3
4
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(EntityFeedbackEvent.builder().setEntityId("EntityId")
    .setActionType(EntityFeedbackEvent.EntityFeedbackType.PERMANENTLY_CLOSED).setDescription("description")
    .build()).build().execute()

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}