Прием в работу неразобранного по пропущенному звонку и смена воронки для определенной схемы.
Если создали неразобранное стандартной интеграцией. Принятие неразобранного, смена воронки, этапа и ответственного на дежурного.
У клиента реализовано в событии пропущенного звонка. Со стратегией создать неразобранное и принять при ответе. В основной схеме настроено IVR с переходами на схемы в определенных ветках. Если клиент выбирает нужную нам схему, то при пропущенном звонке принимаем сделку и меняем воронку.
const SipuniAmoCrm = require('@sipuni/amocrm');
const ALLOWED_TREE_NAMES = ['Входящая1', 'Входящая2', 'Входящая3'];
module.exports = async (args) => {
const amoApi = new SipuniAmoCrm({
domain: args.settings.domain, accessToken: args.crm_auth
});
// Список разрешенных схем
if (!ALLOWED_TREE_NAMES.includes(args.call_args.tree_name)) {
return { reason: `Схема ${args.call_args.tree_name} не в списке разрешенных` };
};
const unsorted_created = args.context.unsorted_created; // создано ли неразобранное?
const unsorted_alias = args.context.unsorted_alias;// uid неразобранного
const unsorted_deal_id = args.context.unsorted_deal_id; // id сделки в неразорабном
const statusId = 99999;//этап ворокни куда принимаем неразобранное
const responsible_user_id = 88888;id дежурного отвественного
const otherpipeline = 777777; // воронка куда переносим сделку
const otherstatus_id = 666666;// этап воронки куда переносим сделку.
if (unsorted_created) {
const result = await amoApi.request('POST', `/leads/unsorted/${unsorted_alias}/accept`, {
'user_id': responsible_user_id,
'status_id': parseInt(statusId),
});
contactId = result._embedded.contacts[0].id;
leadId = result._embedded.leads[0].id;
lead = await amoApi.leads.update({
id: parseInt(unsorted_deal_id),
pipeline_id: parseInt(otherpipeline),
status_id: parseInt(otherstatus_id),
responsible_user_id: parseInt(responsible_user_id),
}
)
return {
lead,
statusId,
unsorted_deal_id,
otherstatus_id,
};
}
else return { reason: "Не создали неразобранное" };
};