feat: new routes to find contact and create whatsapp journaling in salesforce
parent
844593749b
commit
61783eecf6
|
@ -12,7 +12,8 @@ const { createCRMContact,
|
||||||
journalingRequest,
|
journalingRequest,
|
||||||
createContact,
|
createContact,
|
||||||
lookupContactByPhone,
|
lookupContactByPhone,
|
||||||
templateValidator } = require('../utils')
|
templateValidator,
|
||||||
|
loadCRM } = require('../utils')
|
||||||
const fs = require("fs")
|
const fs = require("fs")
|
||||||
const { URL } = require('url')
|
const { URL } = require('url')
|
||||||
const { oauth2 } = require('../utils')
|
const { oauth2 } = require('../utils')
|
||||||
|
@ -45,6 +46,43 @@ const contactCreate = async (req, res) => {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const checkContact = async (req, res) => {
|
||||||
|
|
||||||
|
const { companyId, crmPhone } = req.body
|
||||||
|
|
||||||
|
mustContainProperties(req, ['companyId', 'crmPhone',])
|
||||||
|
|
||||||
|
const crmFiles = await loadCRM(companyId)
|
||||||
|
|
||||||
|
if (crmFiles.length > 0) {
|
||||||
|
const { crmRest: rest, authentication } = crmFiles[0].crm
|
||||||
|
|
||||||
|
const contact = await lookupContactByPhone(rest, authentication, crmPhone, companyId)
|
||||||
|
|
||||||
|
if (contact && contact.exist) {
|
||||||
|
return res.status(StatusCodes.OK).json({ exist: contact.exist })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
res.status(StatusCodes.OK).json({ exist: false })
|
||||||
|
}
|
||||||
|
|
||||||
|
const contactActivity = async (req, res) => {
|
||||||
|
const { companyId, crmPhone, ticketId } = req.body
|
||||||
|
|
||||||
|
mustContainProperties(req, ['companyId', 'crmPhone',])
|
||||||
|
|
||||||
|
await whatsappJournalingCRM(
|
||||||
|
companyId,
|
||||||
|
crmPhone,
|
||||||
|
'0000',
|
||||||
|
crmFirstName = "xxx",
|
||||||
|
ticketId
|
||||||
|
)
|
||||||
|
|
||||||
|
res.status(StatusCodes.OK).send()
|
||||||
|
}
|
||||||
|
|
||||||
const deleteCrm = async (req, res) => {
|
const deleteCrm = async (req, res) => {
|
||||||
|
|
||||||
let { companyId, crmBaseURL } = req.body
|
let { companyId, crmBaseURL } = req.body
|
||||||
|
@ -569,7 +607,9 @@ module.exports = {
|
||||||
webhook_crm,
|
webhook_crm,
|
||||||
sfCreateCase,
|
sfCreateCase,
|
||||||
sfUpdateCase,
|
sfUpdateCase,
|
||||||
createTicket
|
createTicket,
|
||||||
|
checkContact,
|
||||||
|
contactActivity
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
const express = require('express')
|
const express = require('express')
|
||||||
const router = express.Router()
|
const router = express.Router()
|
||||||
const { authorization, } = require('../middleware/authentication')
|
const { authorization, } = require('../middleware/authentication')
|
||||||
const { contactCreate, sfCreateCase, sfUpdateCase, createTicket, testTemplate, webhook_crm, uploadCrmConfig, callJournaling, oauthCallBack, install, deleteCrm, deleteCompany, getCrms, webhook } = require('../controllers/crmController')
|
const { contactCreate, contactActivity, checkContact, sfCreateCase, sfUpdateCase, createTicket, testTemplate, webhook_crm, uploadCrmConfig, callJournaling, oauthCallBack, install, deleteCrm, deleteCompany, getCrms, webhook } = require('../controllers/crmController')
|
||||||
const { fileUpload } = require("../utils")
|
const { fileUpload } = require("../utils")
|
||||||
|
|
||||||
router.route('/create-contact').post(authorization, contactCreate)
|
router.route('/create-contact').post(authorization, contactCreate)
|
||||||
|
|
||||||
|
router.route('/find-contact').post(authorization, checkContact)
|
||||||
|
router.route('/contact-activity').post(authorization, contactActivity)
|
||||||
|
|
||||||
router.route('/create-ticket').post(authorization, createTicket)
|
router.route('/create-ticket').post(authorization, createTicket)
|
||||||
router.route('/call-journaling').post(authorization, callJournaling)
|
router.route('/call-journaling').post(authorization, callJournaling)
|
||||||
router.route('/upload').post(fileUpload.single('crm'), authorization, uploadCrmConfig)
|
router.route('/upload').post(fileUpload.single('crm'), authorization, uploadCrmConfig)
|
||||||
|
|
Loading…
Reference in New Issue