Class ClickStreamService
- java.lang.Object
-
- com.hybris.ymkt.clickstream.services.ClickStreamService
-
public class ClickStreamService extends java.lang.Object
SendAbstractTrackingEvent
to CUAN_IMPORT_SRV
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
IMPORT_HEADERS
protected java.util.Map<java.lang.String,java.lang.String>
interactionTypes
protected boolean
linkAnonymousAndLoggedInUsers
protected ODataService
oDataService
protected ProductURLService
productURLService
protected static java.lang.String
SAP_MERCH_SHOP
protected static java.lang.Short
SHORT_ONE
protected static java.lang.Short
SHORT_ZERO
protected static java.lang.String
SOURCE_OBJECT_ID
protected static java.lang.String
SOURCE_OBJECT_TYPE
protected static java.lang.String
SOURCE_SYSTEM_ID
protected static java.lang.String
SOURCE_SYSTEM_TYPE
protected static java.util.function.Predicate<java.lang.String>
STRING_IS_EMPTY
protected static java.util.function.Predicate<java.lang.String>
STRING_IS_EMPTY_NOT
protected static java.lang.String
URL_PK_CAMPAIGN
protected static java.lang.String
URL_SAP_OUTBOUND_ID
-
Constructor Summary
Constructors Constructor Description ClickStreamService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]
compressGZIP(byte[] payload)
protected java.util.Map<java.lang.String,java.lang.Object>
createImportHeader()
protected java.util.Map<java.lang.String,java.lang.Object>
createInteraction(AbstractTrackingEvent event)
protected java.util.Map<java.lang.String,java.lang.Object>
createInteractionProduct(AbstractProductAwareTrackingEvent event)
protected java.lang.String
extractInitiativeId(java.lang.String url1, java.lang.String url2)
protected java.lang.String
extractSAPTrackingId(java.lang.String url1, java.lang.String url2)
protected java.lang.String
extractURLParameter(java.lang.String parameterName, java.lang.String url)
protected int
getReadTimeout()
boolean
linkAnonymousAndLoggedInUsers(java.lang.String anonymousUserId, java.lang.String anonymousUserOrigin, java.lang.String loggedInUserId, java.lang.String loggedInUserOrigin)
Links the anonymous and logged-in users by making the anonymous user a facet of the logged-in user.
In SAP Marketing, the anonymous & logged-in events are linked to a single contact golden record.protected void
populateInteraction(java.util.Map<java.lang.String,java.lang.Object> interaction, AbstractTrackingEvent event)
boolean
sendEvents(java.util.List<? extends AbstractTrackingEvent> events)
Transform and send theAbstractTrackingEvent
s to yMKT.void
setInteractionTypeMapping(java.util.Map<java.lang.String,java.lang.String> interactionTypeMapping)
Build a map to link commerce event to yMKT event type.
SPRO - SAP Customizing Implementation Guide - SAP Marketing - Contacts and Profiles - Interactions - Define Interaction Types :
PROD_REVIEW_VIEW - Product Review Read SHOP_CART_ABANDONED - Shopping Cart Abandoned SHOP_CART_VIEW - View Shopping CartSHOP_CHECKOUT_ABNDND - Checkout Abandoned.void
setLinkAnonymousAndLoggedInUsers(boolean linkAnonymousAndLoggedInUsers)
void
setODataService(ODataService oDataService)
void
setProductURLService(ProductURLService productURLService)
-
-
-
Field Detail
-
IMPORT_HEADERS
protected static final java.lang.String IMPORT_HEADERS
- See Also:
- Constant Field Values
-
SAP_MERCH_SHOP
protected static final java.lang.String SAP_MERCH_SHOP
- See Also:
- Constant Field Values
-
SHORT_ONE
protected static final java.lang.Short SHORT_ONE
-
SHORT_ZERO
protected static final java.lang.Short SHORT_ZERO
-
SOURCE_OBJECT_ID
protected static final java.lang.String SOURCE_OBJECT_ID
- See Also:
- Constant Field Values
-
SOURCE_OBJECT_TYPE
protected static final java.lang.String SOURCE_OBJECT_TYPE
- See Also:
- Constant Field Values
-
SOURCE_SYSTEM_ID
protected static final java.lang.String SOURCE_SYSTEM_ID
- See Also:
- Constant Field Values
-
SOURCE_SYSTEM_TYPE
protected static final java.lang.String SOURCE_SYSTEM_TYPE
- See Also:
- Constant Field Values
-
STRING_IS_EMPTY
protected static final java.util.function.Predicate<java.lang.String> STRING_IS_EMPTY
-
STRING_IS_EMPTY_NOT
protected static final java.util.function.Predicate<java.lang.String> STRING_IS_EMPTY_NOT
-
URL_PK_CAMPAIGN
protected static final java.lang.String URL_PK_CAMPAIGN
- See Also:
- Constant Field Values
-
URL_SAP_OUTBOUND_ID
protected static final java.lang.String URL_SAP_OUTBOUND_ID
- See Also:
- Constant Field Values
-
linkAnonymousAndLoggedInUsers
protected boolean linkAnonymousAndLoggedInUsers
-
interactionTypes
protected final java.util.Map<java.lang.String,java.lang.String> interactionTypes
-
oDataService
protected ODataService oDataService
-
productURLService
protected ProductURLService productURLService
-
-
Method Detail
-
compressGZIP
protected byte[] compressGZIP(byte[] payload) throws java.io.IOException
- Throws:
java.io.IOException
-
createImportHeader
protected java.util.Map<java.lang.String,java.lang.Object> createImportHeader()
-
createInteraction
protected java.util.Map<java.lang.String,java.lang.Object> createInteraction(AbstractTrackingEvent event)
-
createInteractionProduct
protected java.util.Map<java.lang.String,java.lang.Object> createInteractionProduct(AbstractProductAwareTrackingEvent event)
-
extractInitiativeId
protected java.lang.String extractInitiativeId(java.lang.String url1, java.lang.String url2)
-
extractSAPTrackingId
protected java.lang.String extractSAPTrackingId(java.lang.String url1, java.lang.String url2)
-
extractURLParameter
protected java.lang.String extractURLParameter(java.lang.String parameterName, java.lang.String url)
-
getReadTimeout
protected int getReadTimeout()
-
populateInteraction
protected void populateInteraction(java.util.Map<java.lang.String,java.lang.Object> interaction, AbstractTrackingEvent event)
-
sendEvents
public boolean sendEvents(java.util.List<? extends AbstractTrackingEvent> events)
Transform and send theAbstractTrackingEvent
s to yMKT.- Parameters:
events
-List
ofAbstractTrackingEvent
to send to yMKT.- Returns:
- true if the transfer was successful. false otherwise.
-
linkAnonymousAndLoggedInUsers
public boolean linkAnonymousAndLoggedInUsers(java.lang.String anonymousUserId, java.lang.String anonymousUserOrigin, java.lang.String loggedInUserId, java.lang.String loggedInUserOrigin)
Links the anonymous and logged-in users by making the anonymous user a facet of the logged-in user.
In SAP Marketing, the anonymous & logged-in events are linked to a single contact golden record.- Parameters:
anonymousUserId
- User ID before login or register.anonymousUserOrigin
- yMKT Origin ID.loggedInUserId
- User ID after login or register.loggedInUserOrigin
- yMKT Origin ID.- Returns:
true
if the transfer was successful.false
otherwise.
-
setInteractionTypeMapping
public void setInteractionTypeMapping(java.util.Map<java.lang.String,java.lang.String> interactionTypeMapping)
Build a map to link commerce event to yMKT event type.
SPRO - SAP Customizing Implementation Guide - SAP Marketing - Contacts and Profiles - Interactions - Define Interaction Types :
- PROD_REVIEW_VIEW - Product Review Read
- SHOP_CART_ABANDONED - Shopping Cart Abandoned
- SHOP_CART_VIEW - View Shopping Cart
SHOP_CHECKOUT_ABNDND - Checkout Abandoned. No matching commerce event.- SHOP_CHECKOUT_START - Proceeded to Checkout
- SHOP_CHECKOUT_SUCCES - Checkout Successful
- SHOP_ITEM_ADD - Product Added to Shopping Cart
- SHOP_ITEM_REMOVE - Product Removed from Shopping Cart
- SHOP_ITEM_VIEW - Product Viewed
- Parameters:
interactionTypeMapping
- Mapping from ECP event type to yMKT interaction type.
-
setODataService
public void setODataService(ODataService oDataService)
-
setProductURLService
public void setProductURLService(ProductURLService productURLService)
-
setLinkAnonymousAndLoggedInUsers
public void setLinkAnonymousAndLoggedInUsers(boolean linkAnonymousAndLoggedInUsers)
-
-