NTP-15943 | comments resolved
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import getResponseWithoutCors from "@universal-call-sdk/common/lib/utils/getResponseWithoutCors.ts";
|
||||
import {GenericObject, RequestKeys} from "./types";
|
||||
import {CallTransferData, GenericObject, RequestKeys} from "./types";
|
||||
import RequestType from "@universal-call-sdk/common/lib/types/RequestType.ts";
|
||||
|
||||
|
||||
@@ -207,7 +207,7 @@ export const getAllAgentsForTransferCall = (sessionId: string) => {
|
||||
}
|
||||
|
||||
|
||||
export const transferCallToAgent = (data: GenericObject, sessionId: string, crtObjectId: string, userCRTObjectId: string, campaignId: string) => {
|
||||
export const transferCallToAgent = (data: CallTransferData, sessionId: string, crtObjectId: string, userCRTObjectId: string, campaignId: string) => {
|
||||
return getResponseWithoutCors({
|
||||
url: `${window.BASE_AMEYO_URL}/ameyorestapi/voice/transferToUserInDifferentCampaign`,
|
||||
method: 'POST',
|
||||
|
||||
@@ -96,8 +96,9 @@ function extractUserCallModelUpdatedPush(rawResponse) {
|
||||
}
|
||||
if (jsonData?.pushType === pushResponseTypes.UserCallMemberUpdatedPush) {
|
||||
const payload = jsonData?.data;
|
||||
const validStatuses = ["ringing", "connected", "hungup"];
|
||||
// handle for transfer call
|
||||
if (payload?.associationType === 'transfer.association' && ['ringing', 'connected', 'hungup'].includes(payload?.status)) {
|
||||
if (payload?.associationType === 'transfer.association' && validStatuses.includes(payload?.status)) {
|
||||
window.postMessage({
|
||||
type: MessagingType.ON_AMEYO_CALL_TRANSFER,
|
||||
data: payload
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
import IAdapter from "@universal-call-sdk/common/lib/Interfaces/IAdapter.ts";
|
||||
import GenericObject from "@universal-call-sdk/common/lib/types/GenericObject.ts";
|
||||
import {AmeyoInitializationOptions, CALL_STATES, RequestKeys, SipAccountInfo, StateType} from "./types.ts";
|
||||
import {
|
||||
AmeyoInitializationOptions,
|
||||
CALL_STATES,
|
||||
CallTransferData,
|
||||
RequestKeys,
|
||||
SipAccountInfo,
|
||||
StateType
|
||||
} from "./types.ts";
|
||||
import MessagingType from "../types/MessagingType.ts";
|
||||
import {
|
||||
ameyoHangupUser,
|
||||
@@ -33,7 +40,7 @@ class AmeyoAdapter implements IAdapter {
|
||||
onAgentAvailabilityChange: (isAgentAvailable: boolean) => void
|
||||
onForcedLogout: () => void
|
||||
onAgentsForCallTransfer: (data: GenericObject) => void
|
||||
onCallTransfer: (data: GenericObject) => void;
|
||||
onCallTransferStatus: (data: GenericObject) => void;
|
||||
};
|
||||
private currentCallState: string;
|
||||
private eventListenerUrl: string;
|
||||
@@ -73,7 +80,7 @@ class AmeyoAdapter implements IAdapter {
|
||||
},
|
||||
onAgentsForCallTransfer: () => {
|
||||
},
|
||||
onCallTransfer: () => {
|
||||
onCallTransferStatus: () => {
|
||||
}
|
||||
};
|
||||
this.sessionId = '';
|
||||
@@ -198,7 +205,7 @@ class AmeyoAdapter implements IAdapter {
|
||||
this.callbacks.onForcedLogout()
|
||||
}
|
||||
if(data?.type === MessagingType.ON_AMEYO_CALL_TRANSFER){
|
||||
this.callbacks.onCallTransfer(data?.data);
|
||||
this.callbacks.onCallTransferStatus(data?.data);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -237,8 +244,8 @@ class AmeyoAdapter implements IAdapter {
|
||||
this.callbacks.onAgentsForCallTransfer = callback;
|
||||
}
|
||||
|
||||
registerOnCallTransfer(callback: (data: GenericObject) => void) {
|
||||
this.callbacks.onCallTransfer = callback;
|
||||
registerOnCallTransferStatus(callback: (data: GenericObject) => void) {
|
||||
this.callbacks.onCallTransferStatus = callback;
|
||||
}
|
||||
|
||||
acceptCall() {
|
||||
@@ -287,7 +294,7 @@ class AmeyoAdapter implements IAdapter {
|
||||
getAllAgentsForTransferCall(this.sessionId);
|
||||
}
|
||||
|
||||
transferCallToAgent(data: GenericObject) {
|
||||
transferCallToAgent(data: CallTransferData) {
|
||||
transferCallToAgent(data,
|
||||
this.sessionId,
|
||||
this.currentCallMetadata?.crtObjectId,
|
||||
|
||||
@@ -66,3 +66,8 @@ export enum CALL_STATES {
|
||||
CALL_DISCONNECTED = 'CALL_DISCONNECTED',
|
||||
IDLE = 'IDLE',
|
||||
}
|
||||
|
||||
export type CallTransferData = {
|
||||
campaignId : string,
|
||||
targetCRTObjectId: string
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ class IAdapter {
|
||||
registerOnAgentAvailabilityChange(callback: (isAgentAvailable: boolean) => void) {callback(false)}
|
||||
registerOnForcedLogoutListener(callback:()=>void) {callback()}
|
||||
registerOnAgentsForCallTransfer(callback: (data : GenericObject) => void) {callback({})}
|
||||
registerOnCallTransfer(callback: (data: GenericObject) => void) {callback({})}
|
||||
registerOnCallTransferStatus(callback: (data: GenericObject) => void) {callback({})}
|
||||
acceptCall() {}
|
||||
rejectCall() {}
|
||||
muteCall() {}
|
||||
|
||||
@@ -112,8 +112,8 @@ function UseCallSdk({AdapterClass, adapterOptions}: {
|
||||
adapter.registerOnAgentsForCallTransfer(callback);
|
||||
}
|
||||
|
||||
function registerOnCallTransfer(callback: (data: GenericObject) => void) {
|
||||
adapter.registerOnCallTransfer(callback);
|
||||
function registerOnCallTransferStatus(callback: (data: GenericObject) => void) {
|
||||
adapter.registerOnCallTransferStatus(callback);
|
||||
}
|
||||
|
||||
function acceptCall() {
|
||||
@@ -173,7 +173,7 @@ function UseCallSdk({AdapterClass, adapterOptions}: {
|
||||
registerOnAgentAvailabilityChange,
|
||||
registerOnForcedLogoutListener,
|
||||
registerOnAgentsForCallTransfer,
|
||||
registerOnCallTransfer,
|
||||
registerOnCallTransferStatus,
|
||||
acceptCall,
|
||||
rejectCall,
|
||||
disposeCall,
|
||||
|
||||
Reference in New Issue
Block a user