diff --git a/endpoints/IncomingEndpoint.ts b/endpoints/IncomingEndpoint.ts index ad098bd..600d584 100644 --- a/endpoints/IncomingEndpoint.ts +++ b/endpoints/IncomingEndpoint.ts @@ -35,6 +35,9 @@ export class IncomingEndpoint extends ApiEndpoint { const { action, sessionId } = endpointContent; if (!sessionId) { throw new Error(Logs.INVALID_SESSION_ID); } + + logIncomingEndpointPayload(endpointContent); + switch (action) { case EndpointActionNames.CLOSE_CHAT: await closeChat(modify, read, sessionId); @@ -56,7 +59,6 @@ export class IncomingEndpoint extends ApiEndpoint { if (!livechatRoom) { throw new Error(); } const { visitor: { token: vToken } } = livechatRoom; await createDialogflowMessage(sessionId, read, modify, response); - this.app.getLogger().log(response) await handlePayloadActions(read, modify, sessionId, vToken, response); } catch (error) { this.app.getLogger().error(`${Logs.DIALOGFLOW_REST_API_ERROR} ${error.message}`); @@ -73,3 +75,10 @@ export class IncomingEndpoint extends ApiEndpoint { } } } + +const logIncomingEndpointPayload = (endpointContent: IActionsEndpointContent) => { + if (endpointContent.action === EndpointActionNames.SEND_MESSAGE) { + return; + } + console.debug('Dialogflow Incoming Endpoint: ', JSON.stringify(endpointContent || {})); +}; diff --git a/lib/payloadAction.ts b/lib/payloadAction.ts index 5375065..19cd8da 100644 --- a/lib/payloadAction.ts +++ b/lib/payloadAction.ts @@ -12,6 +12,9 @@ export const handlePayloadActions = async (read: IRead, modify: IModify, rid: if (action) { const { name: actionName, params } = action as IDialogflowAction; const targetDepartment: string = await getAppSettingValue(read, AppSetting.FallbackTargetDepartment); + + logActionPayload(rid, action); + if (actionName) { if (actionName === ActionIds.PERFORM_HANDOVER) { if (params) { @@ -36,4 +39,12 @@ export const handlePayloadActions = async (read: IRead, modify: IModify, rid: } } } -} \ No newline at end of file +}; + +const logActionPayload = (rid: string, action: IDialogflowAction) => { + const logData = {dialogflowSessionID: rid, action: {...action}}; + if (logData.action.params) { + logData.action.params.customDetail = ''; + } + console.debug('Dialogflow Action: ', JSON.stringify(logData)); +};