From d546631dc0f124e149e0982470c53103a54150bb Mon Sep 17 00:00:00 2001 From: Aleena Date: Wed, 18 Jul 2018 17:49:07 +0530 Subject: [PATCH] Data updation to zoho --- webtask-zoho.js | 62 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/webtask-zoho.js b/webtask-zoho.js index 3a04e2c..0c2e09d 100644 --- a/webtask-zoho.js +++ b/webtask-zoho.js @@ -3,9 +3,7 @@ const Webtask = require('webtask-tools') const cors = require('cors') const bodyParser = require('body-parser') const request = require('request') - const server = express() - server.listen(4430) server.use(bodyParser.json()) @@ -54,19 +52,43 @@ server.get('/newsletter', (req, res) => { }) server.get('/newsletter/:data', (req, res) => { - const { ZOHO_CAMPAIGNS_TOKEN, ZOHO_CAMPAIGNS_LIST_KEY } = req.webtaskContext.secrets + const { + ZOHO_CAMPAIGNS_TOKEN, + ZOHO_CAMPAIGNS_LIST_KEY + } = req.webtaskContext.secrets const { data } = req.params + console.log(ZOHO_CAMPAIGNS_TOKEN) const options = { - url: `${apiUrlZohoCampaigns}json/listsubscribe?authtoken=${ZOHO_CAMPAIGNS_TOKEN}&scope=CampaignsAPI&resfmt=JSON&listkey=${ZOHO_CAMPAIGNS_LIST_KEY}&contactinfo=${decodeURIComponent(data)}` + url: `${apiUrlZohoCampaigns}json/listsubscribe?ZOHO_CRM_TOKEN=${ZOHO_CAMPAIGNS_TOKEN}&scope=CampaignsAPI&resfmt=JSON&listkey=${ZOHO_CAMPAIGNS_LIST_KEY}&contactinfo=${decodeURIComponent( + data + )}` } sendRequest(options, res) }) +server.get('/:Contacts/search', (req, res) => { + const { ZOHO_CRM_TOKEN } = req.webtaskContext.secrets.ZOHO_CRM_TOKEN + let { email } = req.query.email + let urls = `${apiUrlZohoCRM}Contacts/search?email=${email}` + console.log('Auth - ' + ZOHO_CRM_TOKEN) + const options = { + url: urls, + method: 'GET', + headers: { + Authorization: ZOHO_CRM_TOKEN, + 'content-type': 'application/json' + } + } + + sendRequest(options, res) +}) +// // // Create a new lead via Zoho CRM API // https://www.zoho.com/crm/help/api/v2/#create-specify-records // +/* server.get('/crm', (req, res) => { res.send(`

Please pass your data in the following format

- /crm/{First Name:First Name, Last Name:Last Name,Contact Email:info@oceanprotocol.com}`) @@ -78,11 +100,41 @@ server.get('/crm/:data', (req, res) => { const options = { url: `${apiUrlZohoCRM}Leads`, - headers: { 'Authorization': `Zoho-oauthtoken ${ZOHO_CRM_TOKEN}` }, + headers: { 'Authorization': `Zoho-oZOHO_CRM_TOKEN ${ZOHO_CRM_TOKEN}` }, method: 'POST', formData: data } sendRequest(options, res) }) +*/ + +server.post('/:Contacts', (req, res) => { + const { ZOHO_CRM_TOKEN } = req.webtaskContext.secrets.ZOHO_CRM_TOKEN + const options = { + url: `${apiUrlZohoCRM}Contacts`, + method: 'POST', + headers: { + Authorization: ZOHO_CRM_TOKEN, + 'content-type': 'application/json' + }, + body: JSON.stringify(req.body) + } + sendRequest(options, res) +}) +server.put('/:Contacts', (req, res) => { + const { ZOHO_CRM_TOKEN } = req.webtaskContext.secrets.ZOHO_CRM_TOKEN + // const { ZOHO_CAMPAIGNS_TOKEN, ZOHO_CAMPAIGNS_LIST_KEY } = req.webtaskContext.secrets + // console.log(process.env.API_ZOHO_CRM_SCRT_KEY) + const options = { + url: `${apiUrlZohoCRM}Contacts`, + method: 'PUT', + headers: { + Authorization: ZOHO_CRM_TOKEN, + 'content-type': 'application/json' + }, + body: JSON.stringify(req.body) + } + sendRequest(options, res) +}) module.exports = Webtask.fromExpress(server)