Разработать расширение для AmoCRM

Егор5 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
22.05.2020

Нужно написать расширение для AmoCRM, которое работает по аналогии с сервисом "Скорозвон". Суть приложения заключается в том, чтобы приложение начинало звонить нескольким людям сразу же,заполнялась очередь, чтобы операторам не ждать гудков,а после завершения одного звонка переключаться сразу же не следующего клиента. 

Задачи

 ====== 

1. Создание и настройка базового шаблона приложения - 1 час 

2. Проработка и создание базовых сущностей приложения (оператор, лид, сделка, расписание звонков, запись лога) - 2 часа 

3. Реализация приёма сообщений от amocrm о новых сделках и их изменениях (webhook) - 30 минут 3. Реализация приёма сообщений от sipuni о событиях АТС. Например начало или окончания звонка, продолжительность, оператор, номер клиента и т.д. (websocket) - 8 часов 

4. Запрос данных по свободным операторам sipuni и обработка оных - 30 минут 

5. Организация логики очереди сообщений по сделкам на прозвон свободными операторами - 8 часов 

6. Изменение статусов сделок для дальнейшего переноса в статусы нд/нд7/дубль - 30 минут 

7. Реализация и тестирование логики переноса обрабатываемых сделок по предоставленным алгоритмам (нд/нд7/дубль) - 4 часа 8. Формирование статистики по общему количеству лидов и кол-ву лидов которым не дозвонились и дальнейшей отправкой на email или в telegram - 4 часа 

8. Написание unit-тестов к проекту - 20 часов 

9. Базовая админка для сервиса - 30 минут 

10. Настройка сервера продуктива и разворачивание проекта = 1,5 часа + 10 часов на коммуникацию по проекту, составление документации и т.д. 

Алгоритм работы приложения 

========================== 

1. Имеется справочник задающий операторов для обработки 

2. При запуске приложения все сделки из воронки "Первичные клиенты" и со статусом "Распределение лидов" загружаются в систему 

3. Приложение получает список целевых операторов, которые находятся в статусе "Выйти на линию" и не имеющих активных звонков. 

4. Приложение формирует очередь исходящих звонков сопоставляя одну сделку с одним свободным оператором 

5. После окончания звонка приложение получает сигнал от sipuni о параметрах звонка (идентификатор звонка, оператор, номер назначения, статус завершения) 

6. На основании данных звонка предоставленных supuni и в случае, если клиент не взял трубку приложение добавляет комментарий в целевую сделку. 

7. Если звонок был завершён, то приложение добавит в очередь на исходящий звонок доступную сделку. 

8. Также все новые сделки, через механизм оповещений со стороны amocrm, в реальном времени попадают в приложение и для них назначается свободный оператор. Таким образом, при появлении новых сделок, по ним происходит вызов от свободных в моменте операторов, а при освобождении операторов оным назначаются необработанные сделки. 

Ограничения 

===========

 Для работы со звонками операторам необходимо использовать расширение для браузера от sipuni. Также операторы в рабочей смене должны выставлять статус "Выйти на линию" для того чтобы система могла понимать кто участвует в распределении вызовов. 

Требования к серверу 

==================== 

VPS от beget с тарифом Simle. Стоимость 330 рублей в месяц. https://beget.com/p995387/order/Simple 

ОС: Debian linux LTS 

Тех. стек

 ========= 

* Django - основной фреймворк приложения 

* Celery - сервер организации очереди событий и сообщений 

* Django-Channels - сервер вебсокетов

* Sentry - система логирования исключительных ситуаций 

* Postgresql - реляционная база данных 

* Redis - база данных ключ-значение 

Сопровождение и поддержка 

========================= 

После внедрения приложения в работу предусматривается одна неделя сопровождения на решение возможных проблем. Все исключительные ситуации возникающие в ходе работы приложения фиксируются решением sentry и доставляются в реальном времени.

Заявки фрилансеров