diff --git a/packages/contexts/src/dialogflow-cx/dialogflow-cx.class.js b/packages/contexts/src/dialogflow-cx/dialogflow-cx.class.js index e851ca4..25bd2a6 100644 --- a/packages/contexts/src/dialogflow-cx/dialogflow-cx.class.js +++ b/packages/contexts/src/dialogflow-cx/dialogflow-cx.class.js @@ -96,12 +96,24 @@ class DialogFlowCXContext extends CoreClass { } if (res.message == 'payload') { - const { values } = res.payload.fields.buttons.listValue - const buttonsArray = values.map((values) => { - const { stringValue } = values.structValue.fields.body - return { body: stringValue } - }) - return { buttons: buttonsArray } + const { + media = null, + buttons = [], + answer = '', + } = res.payload.fields + const buttonsArray = buttons?.listValue?.values?.map( + (btnValue) => { + const { stringValue } = btnValue.structValue.fields.body + return { body: stringValue } + } + ) + return { + answer: answer?.stringValue, + options: { + media: media?.stringValue, + buttons: buttonsArray, + }, + } } }) diff --git a/packages/contexts/src/dialogflow/dialogflow.class.js b/packages/contexts/src/dialogflow/dialogflow.class.js index db34e50..ffe50e7 100644 --- a/packages/contexts/src/dialogflow/dialogflow.class.js +++ b/packages/contexts/src/dialogflow/dialogflow.class.js @@ -93,8 +93,9 @@ class DialogFlowContext extends CoreClass { if (msgPayload && msgPayload?.payload) { const { fields } = msgPayload.payload const mapButtons = fields?.buttons?.listValue?.values.map((m) => { - return m?.structValue?.fields?.body?.stringValue + return { body: m?.structValue?.fields?.body?.stringValue } }) + customPayload = { media: fields?.media?.stringValue, buttons: mapButtons,