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(`
/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)