Would you like to clone this notebook?

When you clone a notebook you are able to make changes without affecting the original notebook.

Cancel

Webhook Test

node v8.17.0
version: 11.0.0
endpointsharetweet
const express = require('express'); const app = express() app.use(express.json()); app.get('/', (req, res) => res.send('Hello World!')) app.listen(3000, () => console.log('Example app listening on port 3000!')) // POST method route app.post('/', function (req, res) { console.log(req); let action = req.body.queryResult.action; console.log(action); let responseJson = {}; responseJson.fulfillmentText = 'This is an endpoint published to RunKit'; // displayed response if(action === '_private_getSTDAttribute'){ let stdName = req.body.queryResult.parameters.std; let attributeName = req.body.queryResult.parameters.attribute; var request = require("request"); var queryString = '{"std":"'+stdName+'","attribute":"'+attributeName+'"}'; console.log(queryString); var urlPrefix = process.env.DBURL; console.log(urlPrefix); var options = { method: 'GET', url: urlPrefix+'/rest/dynamiccode?q='+queryString, headers: { 'cache-control': 'no-cache', 'x-apikey': process.env.API_KEY } }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); bodyJson = JSON.parse(body); responseJson.fulfillmentText = bodyJson[0]["text"]; res.json(responseJson); }); } else if(action === '_private_userChangesAttribute'){ //let stdName = req.body.queryResult.parameters.planet; let attributeName = req.body.queryResult.parameters.attribute; let contexts = req.body.queryResult.outputContexts; console.log(contexts); var item = contexts.find(item => item.name.endsWith('/contexts/std-attribute-set')); var stdName = item.parameters.std; var request = require("request"); var queryString = '{"std":"'+stdName+'","attribute":"'+attributeName+'"}'; console.log(queryString); var urlPrefix = process.env.DBURL; console.log(urlPrefix); var options = { method: 'GET', url: urlPrefix+'/rest/dynamiccode?q='+queryString, headers: { 'cache-control': 'no-cache', 'x-apikey': process.env.API_KEY } }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); bodyJson = JSON.parse(body); responseJson.fulfillmentText = bodyJson[0]["text"]; res.json(responseJson); }); } })
Loading…

no comments

    sign in to comment