import { ChatMachineEventEnum, ChatAvailabilityStateEnum, BrowserTypeEnumSLA, QueueAnswerEnumSLA } from './interfaces-livechat'; import { IMessage } from './interfaces'; import { AxiosResponse } from "axios"; import { ErrorHandler } from "@angular/core"; import { MessageBus } from './service-bus.service'; import { Observable, Subscription } from 'rxjs'; export declare class LivechatHttpClientService { private messageBus; private token; private serverUrl; private contextUrl; private chatReport; LV_CHAT_NOT_ACTIVE: string; LV_OP_ENDED_BY_OP_CHAT_MSG: string; private axiosTimeout; private fsmState; private maxlInitialPollTimeout; private pollInterval; newChatPollForOpResponse$: Observable; newChatNoOpAvailableTimeout$: Observable; newChatWaitForOperator$: Observable; private newChatWaitForOperatorSubscription; private maxlExistingPollTimeout; private pollExistingInterval; existingChatPollForOpResponse$: Observable; existingChatNoOpAvailableTimeout$: Observable; existingChatWaitForOperator$: Observable; existingChatWaitForOperatorSubscription: Subscription; private version; private axiosClient; private errorHandler; private txStartTimestamp; private txEndTimestamp; private httpOptions; private activeChatName; private activeChatHash; private chatMessageIds; private machineStateSub; private currentRecordSLA; private channelSLA; private urlSLA; private apikeySLA; private slaCheckCounter; constructor(errorHandler: ErrorHandler, messageBus: MessageBus); initWithDataForSLA(channel: string, browser: BrowserTypeEnumSLA, url: string, apikey: string): void; /** * Dactela zahadne vraci vsechno zabalene v () a jako STRING, musi se odstranit a pak se da udelat JSON.parse * @param data */ checkAndTransformResponse(response: AxiosResponse): any; /** * Inicializace z root komponenty, predani inicializiacniho apikey z externi konfigurace * @param token */ setOptionsAndCheckAvailabilityStatus(token: string, shouldUploadReportSLA: boolean): Promise; promiseDelay(ms: any): Promise; /** * vola se se opakovane pri kazdem 180 sec cyklu (ale pouze poprve se vola na server) * @param mode (pokud 0 tak se vola LV server s historii / pokud 1 tak se pouze obnovuje observable na cekani) * @param history */ updateLinksInHTML(html: any): any; createNewChat(mode: number, history?: IMessage[]): Promise; /** * array of objects: attachments: [] direction: "" name: "messages_5fe83d67a6045704342168" text: "Čekejte na spojení s operátorem." time_created: "2020-12-27T07:53:11+00:00" type: "PUBLIC" user: null * @param t */ /** * PRO POLLING PRI PRVNIM CEKANI NA OPERATORA * @param t */ readMessagesOnNewChat(t: any): Promise; readMessagesOnActiveChat(): Promise; /** * PRO polling pri JIZ otevrenem chatu * @param t */ readMessagesOnActiveChat2(t: any): Promise; publishErrorStatus(text: string, status: ChatMachineEventEnum): any; /** * HTTP/axios api volani na Daktelu * @param message */ sendMessageReq(message: string): Promise>; /** * Jedina funkce ktera se opakuje a hlida stav odpovedi od operatora * * prvni response: * {"error":[],"result":{"hash":"NWQxNjJiZWZmOGIyYzMyNWJhODdlNDBiYzJjYTQwNmEtOTEx", * "name":"web_5ff5fb00bf3e0205578458","inputs":{"title":"","email":"","phone":"", * "customFields":[]},"allowInput":true,"userIsTyping":false,"suggestedAnswers":[],"disconnection":"", * "answered":false, * "messages":[{"name":"messages_5ff5fb00e3fbe906320647","type":"PUBLIC","direction":"", * "time_created":"2021-01-06T18:01:36+00:00","text":"Čekejte na spojení s operátorem.","user":null,"attachments":[]}], * "users":[], * "webRTC":{"room":null}},"_time":"2021-01-06 19:01:42"} * * ZPRAVA PRI PRIPOJENI OPERATORA: * {"error":[],"result":{"hash":"NWQxNjJiZWZmOGIyYzMyNWJhODdlNDBiYzJjYTQwNmEtOTEy","name":"web_5ff5fb00bf3e0205578458", * "inputs":{"title":"","email":"","phone":"","customFields":[]},"allowInput":true,"userIsTyping":false,"suggestedAnswers":[],"disconnection":"", * "answered":true, * "messages":[{"name":"messages_5ff5fb14309e2418029133","type":"PUBLIC","direction":"", * "time_created":"2021-01-06T18:01:56+00:00","text":"UNTX_DEVEL se připojil/a k chatu","user":null,"attachments":[]}], * "users":[{"title":"UNTX_DEVEL","icon":false}], * "webRTC":{"room":null}},"_time":"2021-01-06 19:01:57"} * * v pripade ukonceni OP je tam attribut DISCONNECTION:USER * * * @param name * @param hash */ readMessageReq(): Promise; checkChatStatusReq(shouldUploadReportSLA: boolean): Promise; endChatReq(isForced?: boolean): Promise; /** * PUT https://conectart-csu.daktela.com/external/web/api/updateWebchat/[NAME].json?accessToken=[QUEUE_ACCESS_TOKEN] {"note": "", "score": 6} Score je hodnota do 10. Note je nepovinné. */ sendChatEvaluationReq(score: number): Promise; createReportForLV(queueAnswer: QueueAnswerEnumSLA): void; udateReportForLV(): void; uploadReportForLV(): Promise; saveSlaReportWhenGlobalStatusFalse(): Promise; checkGlobalStatus(): Promise; }