Dialogflow webhook – mechanism for alerting you to system events through callbacks.
You can use this webhook with CK Dialogflow module.
For install library you need enter next comand:
npm i ck-dialogflow-webhook
import * as express from 'express'
import ckDialogflowWebhook from 'ck-webhook-dialogflow'
const configPath = <Path to your private key file>
const dialogflow = ckDialogflowWebhook(configPath)
const app = express()
app.use(dialogflow)
You need to set up authentication. The client application that uses the API must be authenticated and granted access to the requested resources. You need create a service account and download the private key file (token). Instruction about this you can reed here (title "Set up authentication")
router.post('/ckWebhook/dialogFLow/chatInit', (req, res) => {
const { sessionId, projectId } = req.body.data
try {
const sessionPath = sessionClient.sessionPath(projectId, sessionId)
const result = {
sessionPath,
}
res.json({ result })
} catch (err) {
console.log(err)
}
})
router.post('/ckWebhook/dialogFLow/chatRequest', async (req, res) => {
try {
const { data } = req.body
const result = await chatRequset(sessionClient, data)
res.json({ result })
} catch (err) {
console.log(err)
}
})
router.post('/ckWebhook/dialogFLow/chatEvent', async (req, res) => {
try {
const { data } = req.body
const result = await chatEvent(sessionClient, data)
res.json({ result })
} catch (err) {
console.log(err)
}
})