@microsoft/omnichannel-chat-sdk
Version:
Microsoft Omnichannel Chat SDK
141 lines (140 loc) • 7.33 kB
TypeScript
import ACSClient from "./core/messaging/ACSClient";
import { VoiceVideoCallingOptionalParams } from "./types/config";
import { ChatAdapter, GetAgentAvailabilityResponse, GetCurrentLiveChatContextResponse, GetLiveChatTranscriptResponse, GetMessagesResponse, GetPreChatSurveyResponse, GetVoiceVideoCallingResponse, MaskingRules, UploadFileAttachmentResponse } from "./types/response";
import { ParticipantsRemovedEvent } from '@azure/communication-signaling';
import ChatAdapterOptionalParams from "./core/messaging/ChatAdapterOptionalParams";
import ChatConfig from "./core/ChatConfig";
import ChatReconnectContext from "./core/ChatReconnectContext";
import ChatReconnectOptionalParams from "./core/ChatReconnectOptionalParams";
import ChatSDKConfig from "./core/ChatSDKConfig";
import ChatSDKMessage from "./core/messaging/ChatSDKMessage";
import ChatTranscriptBody from "./core/ChatTranscriptBody";
import EmailLiveChatTranscriptOptionaParams from "./core/EmailLiveChatTranscriptOptionalParams";
import EndChatOptionalParams from "./core/EndChatOptionalParams";
import FileMetadata from "@microsoft/omnichannel-amsclient/lib/FileMetadata";
import FramedClient from "@microsoft/omnichannel-amsclient/lib/FramedClient";
import FramedlessClient from "@microsoft/omnichannel-amsclient/lib/FramedlessClient";
import GetAgentAvailabilityOptionalParams from "./core/GetAgentAvailabilityOptionalParams";
import GetChatTokenOptionalParams from "./core/GetChatTokenOptionalParams";
import GetConversationDetailsOptionalParams from "./core/GetConversationDetailsOptionalParams";
import GetLiveChatConfigOptionalParams from "./core/GetLiveChatConfigOptionalParams";
import GetLiveChatTranscriptOptionalParams from "./core/GetLiveChatTranscriptOptionalParams";
import IChatToken from "./external/IC3Adapter/IChatToken";
import IFileInfo from "@microsoft/omnichannel-ic3core/lib/interfaces/IFileInfo";
import IFileMetadata from "@microsoft/omnichannel-ic3core/lib/model/IFileMetadata";
import IRawThread from "@microsoft/omnichannel-ic3core/lib/interfaces/IRawThread";
import InitializeOptionalParams from "./core/InitializeOptionalParams";
import LiveWorkItemDetails from "./core/LiveWorkItemDetails";
import OmnichannelConfig from "./core/OmnichannelConfig";
import OnNewMessageOptionalParams from "./core/messaging/OnNewMessageOptionalParams";
import PostChatContext from "./core/PostChatContext";
import StartChatOptionalParams from "./core/StartChatOptionalParams";
declare class OmnichannelChatSDK {
private debug;
runtimeId: string;
OCSDKProvider: unknown;
IC3SDKProvider: unknown;
OCClient: any;
IC3Client: any;
ACSClient: ACSClient | null;
AMSClient: FramedClient | FramedlessClient | null;
omnichannelConfig: OmnichannelConfig;
chatSDKConfig: ChatSDKConfig;
isInitialized: boolean;
localeId: string;
requestId: string;
sessionId: string | null;
private unqServicesOrgUrl;
private coreServicesOrgUrl;
private dynamicsLocationCode;
private chatToken;
private liveChatConfig;
private liveChatVersion;
private dataMaskingRules;
private authSettings;
private authenticatedUserToken;
private preChatSurvey;
private conversation;
private callingOption;
private telemetry;
private scenarioMarker;
private ic3ClientLogger;
private ocSdkLogger;
private acsClientLogger;
private acsAdapterLogger;
private callingSdkLogger;
private amsClientLogger;
private isPersistentChat;
private isChatReconnect;
private reconnectId;
private refreshTokenTimer;
private AMSClientLoadCurrentState;
private isMaskingDisabled;
private maskingCharacter;
constructor(omnichannelConfig: OmnichannelConfig, chatSDKConfig?: ChatSDKConfig);
setDebug(flag: boolean): void;
private retryLoadAMSClient;
private getAMSClient;
private loadInitComponents;
private loadAmsClient;
private parallelInitialization;
private sequentialInitialization;
/**
*
* @param optionalParams
* @param parallel if true , it will run in parallel (fastest version) with components loaded in the background
* @returns livechatConfig
*/
initialize(optionalParams?: InitializeOptionalParams): Promise<ChatConfig>;
private loadChatConfig;
private getChatReconnectContextWithAuthToken;
private getChatReconnectContextWithReconnectId;
getChatReconnectContext(optionalParams?: ChatReconnectOptionalParams): Promise<ChatReconnectContext>;
startChat(optionalParams?: StartChatOptionalParams): Promise<void>;
private closeChat;
endChat(endChatOptionalParams?: EndChatOptionalParams): Promise<void>;
getCurrentLiveChatContext(): Promise<GetCurrentLiveChatContextResponse>;
getConversationDetails(optionalParams?: GetConversationDetailsOptionalParams): Promise<LiveWorkItemDetails>;
/**
* Gets PreChat Survey.
* @param parse Whether to parse PreChatSurvey to JSON or not.
*/
getPreChatSurvey(parse?: boolean): Promise<GetPreChatSurveyResponse>;
getLiveChatConfig(optionalParams?: GetLiveChatConfigOptionalParams): Promise<ChatConfig>;
getChatToken(cached?: boolean, optionalParams?: GetChatTokenOptionalParams): Promise<IChatToken>;
getCallingToken(): Promise<string>;
getMessages(): Promise<GetMessagesResponse>;
getDataMaskingRules(): Promise<MaskingRules>;
private transformMessage;
sendMessage(message: ChatSDKMessage): Promise<void>;
onNewMessage(onNewMessageCallback: CallableFunction, optionalParams?: OnNewMessageOptionalParams | unknown): Promise<void>;
sendTypingEvent(): Promise<void>;
onTypingEvent(onTypingEventCallback: CallableFunction): Promise<void>;
onAgentEndSession(onAgentEndSessionCallback: (message: IRawThread | ParticipantsRemovedEvent) => void): Promise<void>;
uploadFileAttachment(fileInfo: IFileInfo | File): Promise<UploadFileAttachmentResponse>;
downloadFileAttachment(fileMetadata: FileMetadata | IFileMetadata): Promise<Blob>;
emailLiveChatTranscript(body: ChatTranscriptBody, optionalParams?: EmailLiveChatTranscriptOptionaParams): Promise<void>;
getLiveChatTranscript(optionalParams?: GetLiveChatTranscriptOptionalParams): Promise<GetLiveChatTranscriptResponse>;
createChatAdapter(optionalParams?: ChatAdapterOptionalParams): Promise<ChatAdapter>;
isVoiceVideoCallingEnabled(): boolean;
getVoiceVideoCalling(voiceVideoCallingOptionalParams?: VoiceVideoCallingOptionalParams): Promise<GetVoiceVideoCallingResponse>;
getPostChatSurveyContext(): Promise<PostChatContext>;
getAgentAvailability(optionalParams?: GetAgentAvailabilityOptionalParams): Promise<GetAgentAvailabilityResponse>;
private populateInitChatOptionalParam;
private getIC3Client;
private setPrechatConfigurations;
private setDataMaskingConfiguration;
private setAuthSettingConfig;
private setPersistentChatConfiguration;
private setLocaleIdConfiguration;
private setCallingOptionConfiguration;
private setLiveChatVersionConfiguration;
private getChatConfig;
private buildConfigurations;
private resolveIC3ClientUrl;
private resolveChatAdapterUrl;
private updateChatToken;
private setAuthTokenProvider;
private useCoreServicesOrgUrlIfNotSet;
}
export default OmnichannelChatSDK;