Сохрани и опубликуйсвоё исследование
О проекте | Cоглашение | Партнёры
Данная научно-исследовательская работа представляет собой анализ предприятия заказчика, сбор требований к виджетам системы и их разработка.
Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики (ФГБОУ ВПО «СПбНИУ ИТМО»)
Комментировать 0
Рецензировать 0
Скачать - 217,8 КБ
Enter the password to open this PDF file:
-
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «САНКТ- ПЕТЕРБУГСКИЙ ГОСУДАРСТВЕННЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ» Факультет информатики и прикладной математики Кафедра информационных систем и технологий Отчет о выполнении исследовательской работы по дисциплине «Проектирование и эксплуатация корпоративных информационных систем» на тему: «Разработка и внедрение модулей CRM-системы на предприятии» Выполнил: студент группы БИ-1604 Ентякова В.Ю. Преподаватель: Емельянов А.А. Санкт-Петербург
2019 ОГЛАВЛЕНИЕ ВВЕДЕНИЕ................................................................................3 ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ........................................4 1.1. Системы CRM...............................................................4 1.2. Преимущества CRM-систем.........................................6 ГЛАВА 2. ОПИСАНИЕ КОМПАНИИ.....................................8 2.1. Основные виды деятельности и проекты....................8 2.2. Виджеты.......................................................................9 ГЛАВА 3. РАБОТА СПЕЦИАЛИСТОВ.................................11 3.1. Работа бизнес-аналитика. Сбор требований............11 3.2. Написание технического задания............................13 3.3. Работа программиста. Написание кода....................14 3.4. Модерация и публикация..........................................17 ЗАКЛЮЧЕНИЕ........................................................................ 21 СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ......................21
ВВЕДЕНИЕ В современном мире количество лояльных клиентов можно считать факторов одним из успешности, основных и устойчивости самых и важных процветания бизнеса. Одной из основных задач бизнеса стала грамотная организация работы с клиентами, что породило новые стратегии, призывающие направить усилия в сторону обслуживания клиентов. Наличие товаров или услуг, даже при достаточном количестве потенциальных покупателей, не является гарантией того, что компании удастся сбыть эти продукты. Понижение цен, обычная маркетинговая политика или проведение рекламных кампаний почти не меняют сложившуюся ситуацию и не обеспечивают успех продаж, поэтому компании вынуждены искать новые способы и методы увеличения персонифицированные продаж продажи. – Раньше такие, как предприятия стремились к производству как можно большего количества товаров и их продвижению посредством рекламы, однако сейчас каждый продукт компании нужно адаптировать согласно пожеланиям клиента. Обычная реклама служит для того, чтобы донести информацию об услуге или продукте и его основных характеристиках до потребителя, в то время как CRM повышает эффективность работы с ним. Компания, использующая данную технологию в процессе своей работы, будет иметь преимущество перед своими конкурентами. Работа описывает процесс разработки и внедрения комплекса модулей для готовой CRM-системы (AMO CRM) для компании ООО «Практик» проекта «Line space». Суть
проекта заключается в автоматизации взаимоотношений сотрудников с клиентами будущего торгового центра со своим набором магазинов, ресторанным комплексом и т.д. Сами модули будут служить средством для связи сотрудников каждого из подразделений в отдельности с клиентами и руководством самого торгового центра. Цель работы - усовершенствование имеющейся AMO CRM за счет создания дополнительных виджетов (модулей).
ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ 1.1. Системы CRM Термин «Управление CRM (Customer Relationship взаимоотношениями с Management, клиентами»), стал достаточно известным в России. Его определение, близкое к англоязычному источнику звучит следующим образом: «СRM – это клиентоориентированная стратегия, основанная на использовании передовых управленческих и информационных компания своими технологий, выстраивает клиентами». с помощью взаимовыгодные Также есть другое которых отношения со определение, позволяющее взглянуть на это понятие с несколько другого ракурса: «CRM - это технология, нацеленная на завоевание, удовлетворение и сохранение платежеспособных клиентов». CRM помогает компании работать на рынке с высоким уровнем конкуренции, является клиент. где самым Основная важным задача элементом CRM-системы — повысить эффективность бизнес-процессов по поиску и удержанию потребителей как в продажах, так и в сервисном обслуживании. Управление взаимоотношениями означает привлечение новых покупателей и превращение потенциальных клиентов в постоянных. CRM-система состоит из двух частей: базы данных со всей информацией о клиентах и приложений, выполняющих следующие функции: сбор информации о клиентах; обработка этой информации; её анализ и (или) вывод в удобном для пользователя виде, что позволяет принимать наиболее рациональное решение.
Стоит отметить, что в отличие от исследований, которые руководство компании может заказать или провести, информация CRM-системы всегда доступна и говорит о реальных предпочтениях клиентов: о том, какие продукты или услуги интересуют их больше всего, какие перемены ожидаются на рынке в скором времени и т.д. Выделяют три вида CRM-систем: Оперативная. Задача таких систем заключается в обеспечении оперативного доступа к информации о клиенте для организации более эффективной работы с ним, например, для скорого решения возникших проблем и т.д; Аналитическая. Главная задача подобных систем — создание единой базы данных для последующего ее анализа, сбора статистики, и поиска закономерностей с целью определения дальнейшей стратегии развития и переопределения бизнес-процессов. Многие разработчики позиционируют свои CRM-системы как аналитические; Объединенная. Позволяет клиенту влиять на процессы компании, продукта. клиента. такие как, например, Предполагает В качестве разработка получение обратной примера такой дизайна связи системы от можно привести доступ клиента к опытным образцам продукта, когда он может высказать свои пожелания в отношении нового товара или услуги. Главными задачами при внедрении CRM-систем в работу компании являются: исследование рынка; аргументация необходимости производства новой продукции и вывода её на рынок;
определение результативных способов продвижения товаров и услуг; мониторинг показателей работы персонала; обучение и повышение уровня профессионализма работников компании, взаимодействующих с партнерами и покупателями; сбор информации о клиентах, партнерах, а также систематизация уже имеющихся данных в единой базе. Жизненный цикл CRM-системы включает: интеграцию эффективности и – обеспечение повышения производительности. (Результатом является база данных с информацией о клиентах); анализ – обеспечивает углубленное понимание потребностей клиентов и анализ поведения. (Результат – стратегические решения); действие – обеспечивает укрепление отношений клиент-фирма. (Результат – усовершенствованный бизнеспроцесс). Примером привлечение использования новых клиентов CRM к чему-то может новому, быть как например, с проектом, который рассматривается в работе «Line space», а также создание тематической клиентской базы и автоматизация работы сотрудников с этими же клиентами. 1.2. Преимущества CRM-систем
Положительное услугам компании отношение клиентов к товарам — это очень важный аспект и ее успешности. Довольный клиент обязательно обратится в компанию снова и с ним гораздо легче договориться. Немаловажным фактором является то, что такой клиент будет рассказывать о компании своим знакомым. Доверие потребителей гарантирует дальнейший рост и развитие предприятия. CRM-система содержит в себе следующие механизмы: сбор агрегированных данных; механизмы контроля за клиентским сервисом; оперативный обмен информацией между сотрудниками; работа с календарем и задачами; интеграция с почтой и телефонией; хранение и работа с документами; аналитика, графики, отчеты; управление складскими запасами; ведение финансового учета; составление прогнозов. У каждой компании своя специфика работы и свои потребности. Одной компании нужна автоматизация процесса продаж и работа с документами, другая делает упор на анализ рынка и конкурентов, поэтому так важно при внедрении CRM-системы опираться на внутренние потребности предприятия, то есть и польза от внедрения подобной системы у каждого предприятия своя. Выделяют следующий ряд преимуществ, которые способна дать CRMсистема:
1. Увеличение степени удовлетворенности клиентов. Индивидуальный подход к каждому клиенту, учет личных потребностей влияет на его отношение к компании. 2. Рост объемов продаж. Довольный клиент с большей вероятностью совершит повторную покупку и расскажет о компании своим знакомым. 3. Сокращение издержек. Хранение документов в электронном виде уменьшает объем бумажной рутины. Опция автозаполнения документов экономит время сотрудников. 4. Повышение эффективности управления компанией. Отслеживание работы сотрудников, анализ рынка, деятельности конкурентов, истории работы с клиентами и т.д. помогает руководству в принятии верных стратегических решений. 5. Автоматизация процессов и их усовершенствование. 6. Быстрый доступ к информации благодаря единой базе данных. 7. Снижение потерь клиентов из-за пропущенных звонков, встреч, а также из-за уменьшения времени обслуживания. Таким образом, система CRM не только позволяет добиться прироста продаж за счет более качественной работы с клиентами, а также снижения издержек за счет автоматизации некоторых процессов, но и позволяет освободить время сотрудников, и особенно руководителей, от контроля выполняемой работы для более эффективного использования этого времени.
ГЛАВА 2. ОПИСАНИЕ КОМПАНИИ 2.1. Основные виды деятельности и проекты Компания «Практик» в основном занимается таким видом деятельности, как коворкинг в Санкт-Петербурге и Великих Луках. Коворкинг служит местом для работы фрилансеров и других людей, которые не привязаны к офису или работают на дому. Чтобы повысить свою производительность люди приходят работать в коворкинг центры, где есть все необходимое оборудование, как в офисе, но в более непринужденной обстановке. Коворкинг «Практик» решает проблемы с самоорганизацией. Компания создала комфортные рабочие пространства в мебелью, Санкт-Петербурга скоростным продуктивной аренды центре интернетом работы. рабочего и на сутки удобной техникой Предоставляется места с для возможность или месяц с круглосуточным доступом. Коворкинг «Практик» предлагает отдельные кабинеты для рабочих групп в современном офисе. В аренду входит не просто кабинет, а офисная инфраструктура: интернет, также секретарь, вся необходимая высокоскоростной офисная техника, оборудованные переговорные комнаты, горячие и холодные напитки без ограничений и пр. Новым проектом строительство общественное компании торгового центра пространство «Практик» в является Петербурге. «Линии» – Новое проект с
ультрасовременным образовательным фуд-маркетом коворкингом кластером, и «Практик», библиотекой шоу-румами Маяковского, локальных брендов. Остекленный атриум позволяет солнцу проникать во все уголки, защищает от нестабильной погоды. Проект «Line space» и будет рассматриваться для разработки и внедрения модулей готового решения CRM: AMO CRM. 2.2. Виджеты Ниже представлены виды виджетов, которые можно использовать в системе AMO CRM. бесплатные виджеты – например, «Другие сделки». Данный виджет позволяет видеть все сделки с общим контактом или компанией, вне зависимости от того, в каких воронках они находятся. Для настройки требуется зайти в любую сделку. Слева вверху находится многоточие, в блоке «Другие сделки». Здесь будут показываться другие сделки, которые есть у этого клиента, ее название, статус и бюджет. Еще один виджет «Умное меню» для тех руководителей которых, не устраивает тот факт, что их менеджеры по продажам и другие сотрудники компании имеют доступ к вкладкам «Аналитика», «Почта», нецелесообразно и «Задачи» может и т.д. негативно Иногда отразиться это на результатах отдела продаж. С модулем «Умное меню» руководитель может настроить доступ каждого сотрудника к разделам CRM-системы. Существует возможность скрыть доступ к разделам amoCRM в настройках прав пользователей: «Настройки» - «Пользователи».
Виджеты с настройкой. Виджеты с настройкой продаются за отдельную плату, цена устанавливается в зависимости от объема настройки от 10000р. До 15000р. Для партнеров к каждому виджету прилагаем инструкции, по которым работают специалисты. Этот вид виджетов пока не представлен в маркете amoCRM и настраиваются из отдельного аккаунта. Клиентам тоже можно поставить на тест 7 дней (кроме Импорта). Виджеты в 1 клик. Например, Google Таблицы С помощью этого виджета есть возможность автоматически передавать данные по клиентам из amoCRM в Google Таблицы, а там уже можно настроить любую аналитику, которая необходима. Шаги настройки интеграции: 1. Создание новой Google Таблицы; 2. У папки и файла должен быть доступ на редактирование у пользователя intr.yadro@gmail.com; 3. Заполнение названия столбцов, данные которые требуется получить из amoCRM; 4. При необходимости можно добавить в таблицу несколько листов; 5. Включение виджетов в amoCRM; 6. Вход в цифровую воронку, выбор нужного этапа, после которого требуется отправить данные в таблицу и нажать на «+»; 7. Выбор виджета Google Таблицы;
8. Далее требуется нажать на «Файл», авторизоваться в Google и выберать нужную таблицу; 9. Выбор листа в выбранной таблице; 10. Настройка, сопоставление полей amoCRM и столбцов в таблице; Можно выбрать любые поля из любых карточек, в том числе и «Дата создания», «Тата закрытия После того, сделки», «Текущее время» и др. Интеграция настроена. как сделка перейдет на нужный этап требуемые данные из карточки, автоматически попадут в Google Таблицу в нужный лист. Виджеты по подписке. Настраиваются пакетом от 1го месяца стоимость варьируется от количества аккаунтов и самого виджета. Виджет по подписке может быть выбран уже готовый из маркета AMO CRM или требования. же создан индивидуально под конкретные
ГЛАВА 3. РАБОТА СПЕЦИАЛИСТОВ 3.1. Работа бизнес-аналитика. Сбор требований В первую переговорить с очередь бизнес-аналитик заказчиком, посмотреть должен бизнес-план проекта, в зависимости от величины проекта и самого предприятия смоделировать основные бизнес-процессы и на их основе предложить первичную настройку самой системы. Далее бизнес-аналитик собирает требования и пожелания заказчика о том, как в его понимании должна выглядеть система, какие функции должна выполнять и какие дополнительные виджеты заказчик хочет добавить. Составляется карта проекта, предварительная смета и техническое задание для тех виджетов, которые идут в разработку с нуля. Техническое задание обговаривается с программистами, далее разрабатывается сам виджет, тестируется и внедряется в систему. В данном случае требования собираются для виджета, который будет отправлять, заполнившего анкетное поле на сайте, клиента в раздел «Неразобранное» системы AMO CRM. 1. Название для создаваемой сделки и контакта «Новая заявка с сайта»; 2. Таргетирование необходимой сделки – таргетирование должно происходить по адресам и тарифом; 3. UTM (является шлюзовым решением, которое позволяет обеспечить безопасность корпоративной сети от внешних интернет-угроз, обеспечить управление трафиком и шириной канала, контролировать политики доступа в
интернет и использование интернет-приложений, а также обеспечивать безопасность электронной почты) – да; 4. Выбор этапа для сохранения сделки - Воронка “line.spase”, этап «Необработанный лид»; 5. Распределение сделки по сотрудникам и принцип распределения – Да. По локации; 6. Контроль дублей. Создание новых сделок - Создание новой сделки, если нет открытых сделок; 7. Выбор менеджера при поступлении заявки с сайта – распределение в «неразобранное» происходит по локации и определяется на ответственного менеджера; 8. Сохранения данных с формы - да, в примечание. Далее нужно проанализировать сайт проекта (при наличии) и выписать все имеющеюся формы и кнопки для обратной связи (заполнение заявки и т.д.), описать: как происходит оформление заявки на обратную связь и произвести интеграцию с CRM-системой. Это делается для того, чтобы уже был настроен канал потока клиентов, далее все настройки делаются с помощью виджетов. На рисунке 1 представлена одна из форм, которую нужно учитывать, при создании нужного виджета. Рис. 1. Форма для заполнения клиентом
Все кнопки «стать резидентом» (1шт. на главной странице). Описание того, как информация с форм на сайте будет отображена и отсортирована в AMO CRM: 1. Название компании. Информация о названии компании отправится в раздел компании с сопутствующей кнопкой «Добавить компанию», эта кнопка поможет в будущем видеть все сделки этой компании в одном месте 2. Номер телефона. Создается карточка контакта и добавляется номер телефона 3. Email. В уже существующую карточку контакта записываются данные о электронной почте 4. Instagram и Vkontakte/facebook. В уже существующую карточку контакта записываются данные о социальных сетях 5. ЭТАЖ. Выбор этажа происходит радиокнопкой до начала заполнения формы. Добавляется группа «Рабочие места и офисы»> 6. Необходимая площадь, м2. В группу «Рабочие места и офисы» добавляется информация «Аренда», о стоимости где будет аренды в располагаться зависимости от выбранного размера помещения. 3.2. Написание технического задания Любая разработка технического задания (ТЗ). начинается с создания
Техническое задание на разработку виджета или любого другого модуля CRM-системы должно включать две составляющие: ТЗ на дизайн - то, как виджет будет выглядеть. Но в AMO CRM виджет практически не изменяет вид страницы, а дизайн самой иконки виджета включен в разработку функционала; ТЗ на функционал - то, как будет работать виджет, какие дополнительные формы и подписи должны появиться, где они должны будут располагаться, появление новых: кнопок, иконок, слайдеров, калькуляторов и т.д. на странице. Для написания технического задания бизнес-аналитик должен понимать структура виджета, чтобы точно описать требования заказчика и системные требования AMO CRM для программистов, которые в ней не работали. Виджеты – это архив с Java Script (JS) файлами, который может быть загружен в интеграцию. В таком случае JS файлы и верстка будет подгружена в браузер вместе с интерфейсом AMO CRM, что даст возможность интегратору взаимодействовать с пользователем, взаимодействовать с API AMO CRM или API собственного сервиса Виджеты непосредственно подключаются из интерфейса также и в AMO модальном CRM. окне настроек самой интеграции. Виджет позволяет получить дополнительный функционал, если необходимо: AMO Отображать дополнительные данные в интерфесах CRM. Для виджетов предусмотрены специальные области, где вы можете вывести информацию.
Например, вывести статистику обращений по контакту из внутренней системы; Взаимодействовать введенными скрипты с им данными. практически в пользователем, Вы можете подключать любом интерфейсе с JS- системы. Например, можно показывать всплывающую карточку при поступающем звонке; Чтобы администратор аккаунта AMO CRM ввел индивидуальные настройки для вашего сервиса. Например, ключ авторизации в вашем API. Во всех остальных случаях вы можете просто использовать открытое API AMO CRM. 3.3. Работа программиста. Написание кода Виджет в AMO CRM в первую очередь состоит из script.js. Для написания кода требуется знать общую структуру script.js: Данная часть виджета состоит из основных обязательных частей, которые мы рассмотрим. Так же script.js может содержать дополнительные функции. Разберем начальный каркас данного файла. Весь виджет представляется в виде объекта. Когда система загружает виджеты, она расширяет существующий системный объект Widget функционалом, описанным в script.js. Таким образом, объект CustomWidget наследует свойства и методы, которые будут полезны для работы и разобраны далее. Объект имеет функции обратного вызова, которые вызываются при определенных условиях. Данные
функции перечислены в таблице после примера кода script.js. Общий вид script.js define(['jquery'], function ($) { var CustomWidget = function () { var self = this, // для доступа к объекту из методов system = self.system(), //Данный метод возвращает объект с переменными системы. langs = self.langs; //Объект локализации с данными из файла локализации (папки i18n) this.callbacks = { settings: function () {}, init: function () { return true; }, bind_actions: function () { return true; }, render: function () { return true; }, dpSettings: function () {}, advancedSettings: function () {}, destroy: function () {}, contacts: { selected: function () {} }, onSalesbotDesignerSave: function (handler_code, params) {}, leads: { selected: function () {} }, onSave: function () {}, onAddAsSource: function (pipeline_id) {} }; return this; }; return CustomWidget; });
Таблица 1. – функции script.js render: При сборке виджета первым вызывается callbacks.render.В этом методе обычно описываются действия для отображения виджета.Виджет будет отображаться самостоятельно только в меню настроек (settings), для отображения виджета в других областях, например в правой колонке, необходимо использовать специальные методы в этой функции, например методы объекта render() и/или render_template(), которые разобраны далее. Необходимо чтобы callbacks.render вернул true. Это важно, т.к. без этого, не запустятся методы callbacks.init и callbacks.bind_actions. init: Запускается сразу после callbacks.render одновременно с callbacks.bind_actions.Метод init() обычно используется для сбора необходимой информации и других действий, например связи с сторонним сервером и авторизации по API, если виджет используется для передачи или запроса информации стороннему серверу.В самом простом случае он может ,к примеру,определять текущую локацию, где находится пользователь.callbacks.init должен возвращать true для дальнейшей работы. bind_actions: Метод callbacks.bind_actions используется для навешивания событий на действия предпринимаемые пользователем, например нажатие пользователя на кнопку. callbacks.bind_actions должен возвращать true. settings: Метод callbacks.settings вызывается при щелчке на иконку виджета в области настроек.Может использоваться для добавления на страницу модального окна, подробнее это рассмотрено далее. Публичные виджет не должны никак скрывать/влиять на рейтинг и отзывы виджета. Для всех виджетов, которые загружены в интеграции, запрещены виртуальные клики на кнопку установить. dpSettings: Метод callbacks.dpSettings аналогичен callbacks.settings, но вызывается в области видимости digital_pipeline (подробнее Digital pipeline) advancedSettings: Метод callbacks.advancedSettings вызывается на странице расширенных настроек виджета. Для функционирования данного callback’a необходимо
указать область advanced_settings. подключения виджета onSave: callbacks.onSave вызывается при щелчке пользователя на кнопке “Установить/Сохранить” в настройках виджета. Можно использовать для отправки введенных в форму данных и смены статуса виджета. Так же этот метод срабатывает при отключении виджета. Сначала срабатывает onSave, затем destroy. leads:selected Данная функция вызывается в случае выбора элементов списка сделок, с использованием checkbox, и последующем нажатии на имя виджета в добавочном меню. Используется, когда нужно предпринять какиелибо действия с выделенными объектами. Примеры рассмотрены далее. contacts:selected Данная функция вызывается в случае выбора элементов списка контактов, с использованием checkbox, и последующем нажатии на имя виджета в добавочном меню. Используется, когда нужно предпринять какиелибо действия с выделенными объектами. Примеры рассмотрены далее. destroy: Данная функция вызывается при отключении виджета через меню его настроек. Например, нужно удалить из DOM все элементы виджета, если он был отключен, или предпринять еще какие-либо действия. Так же данный метод срабатывает при переходе между областями отображения виджета. onSource: Данная функция определяет логику работы источника и вызывается если был использован какой-то источник. Например если пользователь отправил sms. onSalesbotDesigne rSave: Данная функция определяет логику работы действия виджета в Salesbot и вызывается, если был добавлен виджет в конструкторе Salesbot, при сохранении. onAddAsSource: Данная функция вызывается при добавлении виджета как источника в настройках воронки. 3.4. Модерация и публикация
общие требования: - Простота в подготовленный использовании. пользователь Технически не понимать, как должен включить виджет, как его настроить, как с ним работать и где получить поддержку. Чем работа с виджетом понятнее, тем больше пользователей его будет использовать. - Качество изготовления. Не должно быть известных разработчикам ошибок. При возникновении внештатных ситуаций виджет пользователю о должен сбое и выдавать контактными сообщения данными для обращение. - Безопасность. Виджет не должен собирать пользовательскую информацию (API ключ, email и другие данные), если в функционирования ней виджета. нет необходимости Если данная для информация нужна для работы — при установке, пользователь должен быть уведомлен о том, что данные будут отправлены на сервер виджета. При этом, пользователь должен подтвердить данный пункт, без подтверждения виджет не должен устанавливаться! Пример реализации проверки согласия на передачу данных вы можете посмотреть по ссылке - Если виджет работает только на конкретных тарифах, данная информация должна быть в описании виджета. - Разработчик интеграции не должен вести разработку, схожих с amoCRM, систем. - При публикации виджета в английском маркетплейсе, если картинки с надписями на кириллице, необходимо чтобы в архиве были также и картинки с надписями на латинице.
- Виджет не должен изменять страницы, которые не включены в разрешенный список. Запрещается скрывать/изменять/подменять рейтинги и отзывы в разделе интеграции и модальном окне настроек виджетов. - В архиве не должно быть неиспользуемых файлов картинок, скриптов и прочих файлов, которые не задействованы в работе виджета. - При использовании каналов чатов, необходимо указать данные зарегистрированного канала и оставить пометку о доступности функционала только на RU. - Не нужно указывать области видимости в манифесте (в параметре locations), которые вы не используете в виджете. технические требования: Файл manifest.json должен быть корректно составлен: - Количество используемых локализаций должно быть равно количеству lang-файлов, и они должны быть корректно заполнены; - Если виджет носит информационный (рекламный) характер, то есть не устанавливается напрямую и в нем нет функционала обычного обычного виджета виджета (под подразумевается функционалом какая-то бизнес- логика, связанная с системой amoCRM), то в манифесте параметр widget/installation должен быть false; - С ноября 2018 появился новый обязательный раздел в manifest.json widget/support/ содержащий ключи: widget/support/link – ссылка на поддержку интеграции, widget/support/email – email технической поддержки. - С ноября 2019 появилось новое обязательное свойство в manifest.json tour содержащий ключи:
tour/is_tour: true – Указывает на то, что тур включен для виджета, tour/tour_images – Содержит ключи локализаций для картинок тура, tour/tour_description – Ключ ланга, содержащего краткий текст, который будет выведен в момент показа тура виджета; - Код не должен быть минимизирован или обфусцирован (за исключением подключаемых библиотек); - Кодировка файлов – UTF-8 без BOM. Все файлы должны использовать перевод строки Unix LF. Нет комментариев кода, кроме поясняющих; Можно: // получим id аккаунта. Нельзя: // var a = AMOCRM.constant('account').id - Виджет не должен в css файлах иметь общие классы с нашей системой. относительно Все корневого стили должны селектора быть виджета. указаны Это даёт возможность внутри виджета переопределять какие угодно стили, не затрагивая системные; Можно: #amo_widget_code, .control-select { color: green } Нельзя: .control-select { color: red } - Запрещены манипуляции с глобальными селекторами CSS. Например: $(“.widget_settings_block__fields”).hide();
- Код виджета не должен опираться на стили switcher’a (switcher__on, switcher__off) – они подлежат удалению из системы; - Запрещены виртуальные клики на кнопку установить. Дополнительные плагины виджета не должны ссылаться на временную папку виджета – upl, так как эта папка будет доступна только в private, при переводе в public данная папка будет недоступна; - Не должно быть тестовых данных, дебагов, конструкций типа console (log, debug, error и т.п.), alert(), print_r и др; - В виджете не должно быть подключения внешних файлов-зависимостей через document.createElement(‘script’) и вставку этого элемента напрямую в head. Все внешние зависимости должны подключаться через requirejs в блоке зависимостей в define; - Дополнительные плагины или иные внешние подключения в виджет не должны грузиться с внешних ресурсов за исключением публичных библиотек, наподобие cdnjs.com. Подключение сторонней библиотеки для phpчасти обсуждается отдельно; - Отсутствуют непроверенные обращения к элементам основного приложения; (Например: var i = AMOCRM.setting.new.another); - Виджет не должен влиять на данные в глобальной переменной AMOCRM, он может только читать данные оттуда; - Если используется php-часть, все переменные и действия должны быть проверены, не должно быть пустых методов. Уделите особое внимание проверке переменных на
существование – любой warning или notice приведёт к падению виджета; - В php-части необходимо реализовать проверку SSLсертификатов подключаемого внешнего ресурса; - Запрещены WebSockets в ajax-запросы, циклах. URL-запрос XMLHttpRequest, должен содержать timeout не менее 2 секунд; - Запрещены синхронные запросы (async: false), так как их использование замедляет подгрузку остальных скриптов, что в конечном счете сказывается на скорости загрузки страниц сервиса. ЗАКЛЮЧЕНИЕ В рамках выполненной работы были рассмотрены все этапы разработки модуля для AMO CRM. Был приведен пример разработки виджета, все этапы разработки были подкреплены примерами. Внедрение модулей (виджетов) CRM позволит решить основные проблемы управления взаимоотношений с клиентами, которые на данный момент существуют в рассматриваемой фирме «Практик». Дополнительные возможности, в виде расширения функционала в системе, позволят работу руководству специалистов более качественно отслеживать и вовремя выявлять проблемные места. Полученный опыт в проектировании дополнительных модулей повысил уровень интеллектуального капитала компании, созданный виджет стал новым продуктом в портфеле компании, который в будущем можно продавать, как готовое решение, а также сформировало конкурентное
преимущество и повысило качество выполняемого анализа проектов. СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 1. МакГрат, Майк Python. Программирование для начинающих / Майк МакГрат. - М.: Эксмо, 2017. - 727 c. 2. Шамина функционирования Л.К. Теоретические инновационных аспекты процессов. - СПб: Наука, 2008, 85с. 3. Монкур, Майкл Освой самостоятельно JavaScript за 24 часа; М.: Вильямс, 2001. - 320 c. 4. Нотон, Патрик Java. Справочное руководство. Все, что необходимо для программирования на Java; М.: Бином, 1996. - 448 c. 5. Аббакумов,В. Бизнес-анализ информации. Статистические методы: учебник / В. Аббакумов, Т. Лезина. - М.: Экономика, 2009. — 374 c.
Отзывы:
Авторизуйтесь, чтобы оставить отзыв