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)
|
||||||
console.log('req.boy: ', req.body['centro_custo'])
|
console.log('req.boy: ', req.body['centro_custo'])
|
||||||
|
console.log('ACTION: ', req.body['action'])
|
||||||
|
|
||||||
if (req.headers["auth"] === '0424bd59b807674191e7d77572075f33') {
|
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)
|
console.log('--------------> contact: ', contact)
|
||||||
|
|
||||||
|
@ -58,7 +142,7 @@ export const hit = async (req: Request, res: Response): Promise<Response> => {
|
||||||
|
|
||||||
if (ticket.id && ticket.status == 'pending') {
|
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) {
|
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 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" });
|
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!')
|
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