AgentData
public class AgentData {
public String mFirstName;
public String mLastName;
public String mAvatarURL;
public String mEmployeeId;
public String mNickName;
}
ConsumerProfile
public class ConsumerProfile {
private String mFirstName;
private String mLastName;
private String mPhoneNumber;
private String mNickName;
private String mAvatarUrl;
}
ConversationViewParams
public class ConversationViewParams{
boolean viewOnlyMode = false;
CampaignInfo mCampaignInfo;
LPConversationsHistoryStateToDisplay mHistoryConversationsStateToDisplay = LPConversationsHistoryStateToDisplay.ALL;
LPConversationHistoryMaxDaysDateType mHistoryConversationMaxDaysType = LPConversationHistoryMaxDaysDateType.startConversationDate;
int mHistoryConversationsMaxDays = -1; //no limit
private LPWelcomeMessage lpWelcomeMessage;
}
-
CampaignInfo - Use this object to pass new campaign information to the conversation. The campaign includes Engagement info, which allows the control of the consumer's routing. The CampaignInfo has three mandatory members:
-
campaignId
-
engagementId
-
engagementContextId
If constructing CampaignInfo with one of these members as null or empty, the SDK throws a BadArgumentException.
-
-
LPConversationsHistoryStateToDisplay - Use this to present open conversations, closed conversations, or all conversations.
-
LPConversationHistoryMaxDaysDateType - When using
mHistoryConversationsMaxDays
, LPConversationHistoryMaxDaysDateType decides if to filter by the conversations' start date or end date. When not providing a value,startConversationDate
is the default.
EngagementCallback (Monitoring API Related Classes)
public interface EngagementCallback {
void onSuccess(LPEngagementResponse engagementResponse);
void onError(MonitoringErrorType errorType, Exception e);
}
EngagementDetails (Monitoring API Related Classes)
public final class EngagementDetails {
@NotNull
private String campaignId;
@NotNull
private String engagementId;
@NotNull
private String engagementRevision;
@NotNull
private String contextId;
@Nullable
private String conversationId;
@Nullable
private String status;
}
ICallback
public interface ICallback<T, E extends Throwable> {
void onSuccess(T value);
void onError(E exception);
}
InitLivePersonProperties
public class InitLivePersonProperties{
private String brandId;
private String appId;
private MonitoringInitParams mMonitoringInitParams;
private InitLivePersonCallBack initCallBack;
}
The SDK can be initialized once without MonitoringInitParams and then have another initialize call using these params.
LPAuthenticationParams
public class LPAuthenticationParams{
private LPAuthenticationType mType;
private String mAuthKey;
private String mHostAppJWT;
private String mIssuerDisplayName;
private String mHostAppRedirectUri;
private boolean performStepUp;
private List<String> mCertificatePinningKeys;
public enum LPAuthenticationType {SIGN_UP, UN_AUTH, AUTH }
}
LPConversationData
public class LPConversationData{
private CloseReason closeReason;
private String conversationId;
}
LPConversationHistoryMaxDaysDateType
public enum LPConversationHistoryMaxDaysDateType {
startConversationDate, endConversationDate
}
LPConversationsHistoryStateToDisplay
public enum LPConversationsHistoryStateToDisplay {
OPEN, CLOSE, ALL
}
LPEngagementResponse (Monitoring API Related Classes)
public final class LPEngagementResponse {
@NotNull
private String pageId;
@Nullable
private String sessionId;
@Nullable
private String visitorId;
@Nullable
private List<EngagementDetails> engagementDetailsList;
}
LPMonitoringIdentity (Monitoring API Related Classes)
Kotlin syntax
A class that contains data on the consumer identity.
-
consumerId - unique and non-guessable identifier of the consumer (email and phone number are not good candidates since they can be guessed by an attacker, and might be recycled and move between consumers).
-
issuer - Issuer, who identified the consumer, usually the brand.
class LPMonitoringIdentity(val consumerId: String? = "", val issuer: String? = ""){
}
LPSdeResponse (Monitoring API Related Classes)
public class LPSdeResponse {
@NotNull
private String pageId;
@Nullable
private final String sessionId;
@Nullable
private final String visitorId;
}
MonitoringErrorType (Monitoring API Related Classes)
enum class MonitoringErrorType {
NOT_INITIALIZED,
INITIALIZATION_ERROR,
LOGOUT_ERROR,
PARAMETER_MISSING,
NO_NETWORK,
REQUEST_ERROR,
CSDS_ERROR
}
MonitoringInitParams (Monitoring API Related Classes)
public class MonitoringInitParams {
private String mAppInstallId;
}
MonitoringParams (Monitoring API Related Classes)
public class MonitoringParams {
private String pageId;
private JSONArray entryPoints;
private JSONArray engagementAttributes;
}
PermissionType
public enum PermissionType {
PHOTO_SHARING,
DOCUMENT_SHARING,
VOICE_RECORDING
}
PkceGenerateError data class
data class PkceGenerateError(
val failureReason: PkceGenerateFailureReason,
val exception: Exception?
)
PkceGenerateFailureReason enum
enum class PkceGenerateFailureReason {
LP_JWKS,
GENERATE_JWE,
CSDS_DOMAIN
}
Type | Description |
---|---|
LP_JWKS | An error occurred while fetching LP JWKS. |
GENERATE_JWE | An error occurred during the generation process. |
CSDS_DOMAIN | Internal server error. |
PKCEParams data class
data class PKCEParams(
val codeVerifier: String,
val codeChallenge: String,
val codeChallengeMethod: String = "S256"
)
PKCEParamsCallBack
interface PKCEParamsCallBack {
fun onPKCEGenerateSuccess(pkceParams: PKCEParams)
fun onPKCEGenerateFailed(error: PkceGenerateError)
}
PushMessage
public class PushMessage {
private String mBrandId;
private String mMessage;
private String title;
private String mFrom;
private String mConversationId;
private String mBackendService;
private String mCollapseKey;
private int mCurrentUnreadMessagesCounter = -1; //if we get unread messages counter from push message this value contains it.
private String id;
private Long lookBackPeriod = -1L;
private Long timeCreated;
private String agentPid;
private String transactionId; // Valid only for proactive/C2M
private CampaignInfo campaignInfo;
private String messageEvent;
}
PushType
public enum PushType {
FCM,
HUAWEI
}
SdeCallback (Monitoring API Related Classes)
public interface SdeCallback {
void onSuccess(LPSdeResponse sdeResponse);
void onError(MonitoringErrorType errorType, Exception e);
}