Atualização para enviar mensagens de quando o chamado é fechado pela hit
parent
c952fa7960
commit
d30568a946
|
@ -28,16 +28,100 @@ export const hit = async (req: Request, res: Response): Promise<Response> => {
|
|||
|
||||
console.log('req.boy: ', req.body)
|
||||
console.log('req.boy: ', req.body['centro_custo'])
|
||||
|
||||
console.log('ACTION: ', req.body['action'])
|
||||
|
||||
if (req.headers["auth"] === '0424bd59b807674191e7d77572075f33') {
|
||||
|
||||
if (req.body['action'] === 'closed') {
|
||||
let contact = null
|
||||
|
||||
try {
|
||||
|
||||
contact = await ContactByCustomField(req.body['centro_custo'])
|
||||
|
||||
} catch (error) {
|
||||
|
||||
console.log('There was an error on try get centro_custo info: ', error)
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
let contact = await ContactByCustomField(req.body['centro_custo'])
|
||||
if (req.body['action'] === 'atdfechou') {
|
||||
|
||||
console.log('FECHOU')
|
||||
|
||||
try {
|
||||
|
||||
console.log('THE CONTACT: ', contact)
|
||||
|
||||
if (contact) {
|
||||
|
||||
let data = req.body
|
||||
let str = ''
|
||||
let str2 = ''
|
||||
|
||||
// const exclude = ["action", "centro_custo", "n_chamado_web", "historico"];
|
||||
|
||||
// for (const key in data) {
|
||||
|
||||
// if (exclude.includes(`${key}`)) {
|
||||
// continue
|
||||
// }
|
||||
|
||||
// str += `${key.replace('hostname', 'cliente')}: ${data[key]}\n`
|
||||
|
||||
// }
|
||||
|
||||
str = `*Cliente*: ${contact['contact.name']}`
|
||||
|
||||
let historico = data['historico']
|
||||
|
||||
for (const key in historico) {
|
||||
|
||||
const hist = Object.keys(historico[key]);
|
||||
|
||||
hist.forEach((keys, index) => {
|
||||
|
||||
str2 += `*${keys}*: ${historico[key][keys]}\n`
|
||||
|
||||
});
|
||||
|
||||
str2 += '\n'
|
||||
|
||||
}
|
||||
|
||||
console.log('--------------> str: ', str)
|
||||
console.log('--------------> str2: ', str2)
|
||||
|
||||
const botInfo = await BotIsOnQueue('botqueue')
|
||||
|
||||
let ticket = await ShowTicketServiceByContactId(contact['contact.id'])
|
||||
|
||||
if (ticket.id && ticket.status == 'pending') {
|
||||
|
||||
await sendMessageHitMonitoring(`*Olá. Somos a TI Espaçolaser.*\nO chamado da sua loja ${contact['contact.name']} foi fechado pela operadora. Abaixo seguem informações sobre o incidente.\n\n*Situação do chamado na Operadora*\n\n*Incidente:*\n\n ${str}\n\n*Atualizações*:\n\n${str2}`, ticket);
|
||||
|
||||
}
|
||||
else if (!ticket.id) {
|
||||
|
||||
ticket = await CreateTicketService({ contactId: contact['contact.id'], status: 'open', userId: botInfo.userIdBot });
|
||||
|
||||
console.log('botInfo.botQueueId: ', botInfo.botQueueId)
|
||||
|
||||
await UpdateTicketService({ ticketData: { queueId: botInfo.botQueueId }, ticketId: ticket.id });
|
||||
|
||||
await sendMessageHitMonitoring(`*Olá. Somos a TI Espaçolaser.*\nO chamado da sua loja ${contact['contact.name']} foi fechado pela operadora. Abaixo seguem informações sobre o incidente.\n\n*Situação do chamado na Operadora*\n\n*Incidente:*\n\n ${str}\n\n*Atualizações*:\n\n${str2}`, ticket);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
|
||||
console.log(`Error on try sending the monitor message closed: `, error)
|
||||
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
console.log('--------------> contact: ', contact)
|
||||
|
||||
|
@ -58,7 +142,7 @@ export const hit = async (req: Request, res: Response): Promise<Response> => {
|
|||
|
||||
if (ticket.id && ticket.status == 'pending') {
|
||||
|
||||
await sendMessageHitMonitoring(response, ticket, contact);
|
||||
await sendMessageHitMonitoring(`*Olá. Somos a TI Espaçolaser.*\nIdentificamos em nossos monitoramentos que há um problema na internet da sua loja ${contact['contact.name']} e já estamos resolvendo. Abaixo seguem informações sobre o incidente para que possam acompanhar.\n\n*Situação do chamado na Operadora*\n\n*Incidente*:\n\n ${response[0].header}\n${response[0].body}`, ticket);
|
||||
|
||||
}
|
||||
else if (!ticket.id) {
|
||||
|
@ -69,7 +153,7 @@ export const hit = async (req: Request, res: Response): Promise<Response> => {
|
|||
|
||||
await UpdateTicketService({ ticketData: { queueId: botInfo.botQueueId }, ticketId: ticket.id });
|
||||
|
||||
await sendMessageHitMonitoring(response, ticket, contact);
|
||||
await sendMessageHitMonitoring(`*Olá. Somos a TI Espaçolaser.*\nIdentificamos em nossos monitoramentos que há um problema na internet da sua loja ${contact['contact.name']} e já estamos resolvendo. Abaixo seguem informações sobre o incidente para que possam acompanhar.\n\n*Situação do chamado na Operadora*\n\n*Incidente*:\n\n ${response[0].header}\n${response[0].body}`, ticket);
|
||||
|
||||
}
|
||||
|
||||
|
@ -93,13 +177,13 @@ export const hit = async (req: Request, res: Response): Promise<Response> => {
|
|||
return res.status(200).json({ "message": "Ok" });
|
||||
};
|
||||
|
||||
async function sendMessageHitMonitoring(response: any, ticket: Ticket, contact: any) {
|
||||
async function sendMessageHitMonitoring(msg: string, ticket: Ticket) {
|
||||
|
||||
if (response && response.length > 0) {
|
||||
if (msg && msg.length > 0) {
|
||||
|
||||
console.log('MESSAGE WILL BE SENT!')
|
||||
|
||||
await SendWhatsAppMessage({ body: `*Olá. Somos a TI Espaçolaser.*\nIdentificamos em nossos monitoramentos que há um problema na internet da sua loja ${contact['contact.name']} e já estamos resolvendo. Abaixo seguem informações sobre o incidente para que possam acompanhar.\n\n*Situação do chamado na Operadora*\n\n*Incidente*:\n\n ${response[0].header}\n${response[0].body}`, ticket });
|
||||
await SendWhatsAppMessage({ body: msg, ticket });
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue