Синхронизатор заявок на обслуживание банкоматов
Предыстория проекта
Осенью 2011 года к нам обратилась компания Hendz, специализирующаяся на обслуживании банкоматов. Стояла задача синхронизации заявок на обслуживание между банком «Русский стандарт» и Hendz. На момент обращения заявки переносились в ручном режиме.
Изначально схема работы выглядела следующим образом:
У «Русского стандарта» имелась своя система Service Desk (в ней ведется учет всех инцидентов с банкоматами), у Hendz – своя. Когда на стороне банка создавалась заявка на ремонт банкомата, перенос ее на сторону Hendz совершался в ручном режиме – оператором. Обратные уведомления (о выполнении заявки) проходили аналогичный путь.
Из-за человеческого фактора часть заявок терялась, часть – обрабатывалась неправильно.
Перед нами была поставлена задача автоматизировать этот процесс.
Со стороны Hendz в роли Service Desk выступал продукт компании Naumen. Со стороны банка был создан специальный веб-сервис, который позволял получать и отправлять все необходимые сведения. Структура системы стала следующей:
Приложение-синхронизатор было разработано нашей компанией.
К сожалению, со стороны Hendz не был реализован веб-сервис для взаимодействия с Naumen Service Desk, поскольку разработчик (Naumen) не захотел заниматься подобным усовершенствованием и выставил на эти работы «заградительную» цену. Мы были вынуждены использовать стандартный механизм этой системы – обмен с помощью Email.
Прохождение заявки со стороны банка выглядит следующим образом:
- Синхронизатор периодически опрашивает веб-сервис банка на предмет наличия новых заявок;
- При появлении заявки загружаются все сведения о ней;
- Создается письмо для Naumen Service Desk и отправляется на специально предназначенный для этого ящик;
- Naumen Service Desk должен ответить на другой ящик – это свидетельствует об успешном получении заявки. В противном случае выполняется повторная отправка письма.
Информирование банка о прогрессе по заявке осуществляется следующим путем:
- При возникновении какого-либо события по заявке со стороны Hendz (исправлена, отложена, отменена и т.п.) – Naumen Service Desk отправляет письмо на специальный ящик;
- Данный ящик периодически проверяется синхронизатором;
- В случае появления письма происходит его считывание, обработка и отправка этих данных на веб-сервис банка;
- В случае, если веб-сервис банка сообщил об успешном приеме информации, письмо удаляется.
Стоит также отметить дополнительный функционал, реализованный нами в приложении-синхронизаторе:
- Ведение подробнейшего журнала – для анализа возможных сбойных ситуаций;
- Механизм автоматического определения статуса заявки по коду неисправности банкомата. Существуют два типа заявок: FLM и SLM. FLM – заявка на рядовое обслуживание – замена кассовой ленты и т.п. SLM – заявка на ремонт в случае поломки. Для того, чтобы не высылать к банкомату более «дорогого» специалиста по SLM в случае инцидента FLM, синхронизатор автоматически определяет тип заявки по коду, который возвратил банкомат;
- Дополнительный сервис, который автоматически перезапускает синхронизатор в случае каких-либо сбоев (в т.ч. аппаратных).