Создать интеграцию с ModX на AmoCrm - Срочно для php
Техническое задание на создание компонента AmoCRM на ModX
Необходимо повторить функционал компонента AmoCRM (https://modx.pro/components/10687), который уже есть на сайте и дополнить его недостающими функциями
Необходимо знать api и устройство CMF ModX и компонентов перечисленных ниже, желательно знать Api AmoCRM, хотя бы основные моменты, что и как работает. 10 декабря AmoCRM обновилось по этому компонент должен работать только с новым api.
Компонент “AmoCRM” должен работать с компонентами miniShop2, LiqPay, NovaPoshta
Ключевые возможности компонента:
При первом заказе пользователя на сайте создается сделка и контакт, к созданной сделке присваивается созданный контакт. Если ранее пользователь совершал заказы и контакт уже был создан в AmoCRM , то он прикрепляется к новой сделке, чтоб уменьшить количество запросов к AmoCRM на сайте пользователь должен быть связан с контактом при первом заказе, связать можно по Id контакта в AmoCRM , так же заказ связывается с сделкой которая была создана по Id, чтоб в дальнейшем можно было синхронизировать этапы на которых находится сделка/заказ).
Нужно решить проблему с одной ошибкой, если контакт в AmoCRM был удален (или объединен не совсем так как нужно), то связь с пользователем будет не действительна в таком случае привязать контакт к сделке не будет возможным, поэтому необходимо сделать, чтоб при невозможности присвоить сделке контакт в этот момент компонент искал соответствие в AmoCRM по номеру телефона или почте контакт и прикрепил его и связал новый контакт с пользователем, если не находит, то должен создаться новый контакт и связаться с пользователем на сайте.В свойствах сделки указывается метод оплаты в соответствии со статусом пользователя, при создании сделки в AmoCRM записывать в отдельном поле “Ссылка для оплаты”, это может быть прямая ссылка на liqpay, либо на страницу заказа http://176.114.8.27/order?msorder=181 (или обе ссылки в 2х отдельных полях для выбора)
Также в полях сделки указываются свойства заказа, список товаров и сведения о доставке новой почтой (область, город и отделение новой почты или адрес доставки)Синхронизация этапов продаж этапы продаж должны соответствовать этапам продаж на сайте, а также синхронизировать этапы продаж при смене их в сделке, то есть при изменении этапа в заказе на сайте изменяет статус сделки в AmoCRM и наоборот (о чем упоминалось в пункте 1)
Возможность создавать контакт и сделку из любой формы на сайте (Formit + ajaxform)
Автоматически создавать дополнительные поля сделок и контактов в AmoCRM, эти поля должны настраиваться в настройках компонента.
Автоматически создает и обновляет Контакты при сохранении Пользователей на сайте (то есть если пользователь изменил какие-то данные на сайте они должны обновиться и в AmoCRM)
Может создавать неограниченное количество дополнительных полей для контактов и сделок (упрощенный режим)
Передавать в AmoCRM статус пользователя, который ему присвоил администратор сайта, статус берется из настроек пользователя когда к нему присваивается определенная группа пользователей (на сайте будет 4 основных статуса пользователя, 1-2-3 звездочки, на момент регистрации присваивается 0 звезд).
Если это возможно необходима синхронизация статуса пользователя с контактом (например если в AmoCRM присваивается пользователю “звездочка” то на сайте должна присваиваться определенная группа)
Все настройки компонента, которые уже присутствуют установленном компоненте нужно пересмотреть и самые необходимые повторить. Предусмотреть дополнительные настройки компонента которых нет в функционале уже купленного компонента, но описаны в данном ТЗ. |
Список настроек и функций существующего компонента:
Нужно пересмотреть этот список и убрать самые ненужные функции и параметры.
Раздел: Основные
Аккаунт - Название аккаунта в амо, для подключения к AmoCRM
Хэш для доступа к API - Api ключ для подключения к AmoCRM
Логин - Электронная почта для подключения
Заявки из форм как сделки (лиды)
Отправлять пользователя при сохранении отдельно профиля - Если включено, при сохранении профиля пользователя через $profile->save() данные будут переданы в amoCRM. По умолчанию выключено
Отправлять пользователя при редактировании в админке - Если включено, при сохранении пользователя в админке данные будут переданы в amoCRM. По умолчанию выключено
Раздел: Поля
Создавать автоматически поля сделок - Если включено, отсутствующие поля сделок в amoCRM будут созданы автоматически. По умолчанию выключено.
Создавать автоматически поля контактов - Если включено, отсутствующие поля контактов в amoCRM будут созданы автоматически. По умолчанию авключено.
Настройки воронки и ответственного для категорий товаров - Массив в JSON формате для указания отдельных воронки, статуса и ответственного для категорий товаров. Указание ответственного (responsible_user_id) необязательно. Пример: {"23":{"pipeline_id":1480825,"status_id":22834243,"responsible_user_id":2956360}} По умолчанию пустой массив: {} ВАЖНО: поиск идет до первого совпадения.
ID ответственного по умолчанию - Если указано, при создании контактов и сделок в поле ответственного по умолчанию будет подставляться данный ID.
Список обязательных полей формы - Список полей через запятую, обязательных для заполнения при передаче формы в amoCRM. По умолчанию - пустая строка.
Список полей адреса заказа - Список полей адреса заказа через запятую, которые будут передаваться при создании сделки
Префикс для полей адреса заказа - Префикс, добавляемый в начало полей адреса заказа при создании сделки. По умолчанию adress.
Список полей заказа - Список полей заказа через запятую, которые будут передаваться при создании сделки -Название элемента в свойствах заказа - <p class="desc">Название массива в properties заказа, поля которого будут приравнены к полям заказа. Позволяет с помощью внешнего плагина в properties заказа добавить неограниченное количество полей, которые будут переданы в amoCRM. Поля должны быть перечислены в настройке amocrm_order_fields
Заменять ответственного в заказе указанным для категории - Если включено, сохраненный в заказе ответственный будет заменен ответственным, найденным для категории одного из товаров в заказе
Список ENUM полей контактов и их типы - JSON массив со списком полей, которым необходимо добавлять тип ENUM. Ключи массива - названия полей в нижнем регистре или их ID, значения - типы ENUM По умолчанию: {"phone":"WORK","email":"WORK","телефон":"WORK"}
Список полей пользователя - Список полей пользователя через запятую, которые будут передаваться при создании контакта
Строка для соединения множественных значений полей контактов при сохранении пользователя - Если значение - пустая строка, при получении контакта из amoCRM webhook'ом, сохранено будет только первое значение. Если в настройке указана какая-либо строк, она будет "соединителем" при сохранении всех значений из amoCRM. По умолчанию: [пустая строка]
Список полей контактов, значения которых в amoCRM не изменяются - Список полей через запятую, значения которых в amoCRM не изменяются при обновлении контакта. По умолчанию: name
Раздел: Воронки и статусы
Автоматически обновлять воронки и статусы - Если включено, при проверке ID статусов в amoCRM будут обновляться воронки. Если не используется несколько воронок, достаточно только на непродолжительное время включить настройку.
ID воронки для новой заяки
ID статуса amoCRM для новой заявки как сделки
ID статуса нового заказа - По умолчанию 1
ID воронки для нового заказа
Раздел: Основные
Секретный ключ виджета - Получается при добавлении нового виджета в amoCRM
Пропускать поля без значения
Обновлять все поля заказа в amoCRM при изменении статуса на сайте - Если включено, при изменении статуса заказа на сайте в amoCRM будут отправлены все поля заказа заново. Используется, если на сайте параметры заказа могут быть изменены. Если выключено, в amoCRM отправится запрос только на смену статуса сделки. По умолчанию выключено.
Использовать очереди SimpleQueue - Если включено, а компонент simpleQueue установлен, вместо прямой отправки данных в amoCRM будут создаваться задания на отправку данных
Дополнительно
Старый компонент остается установленным на сайте, до полной его замены на новый компонент, для того чтоб понимать как он работал и на базе него можно было правильно сориентировать при разработке такого же. После полной готовности можем от него избавиться и удалить его, предварительно создав запрос на возврат средств у администрации Modstore на котором установленный компонент не будет поддерживаться, а новый они будут разрабатывать долго.
Будет необходима поддержка нового компонента.
Актуальные фриланс-проекты в категории PHP
Модули для сайта на Laravel
4000 UAH
Модуль доставки и оплаты для сайта https://novabook.top/ (Botble CMS / Laravel) Добавить в checkout удобные способы доставки и оплаты (включая рассрочку), по аналогичному стилю и удобству, как на сайте mirson ua.Доставка (обязательно) Новая Почта Отделение Почтомат Курьер на… Javascript и Typescript, PHP ∙ 6 часов 2 минуты назад ∙ 18 ставок |
Нужна интеграция KeyCRM → ПРРО Кашалот |
Разработка 2 SEO-ориентированных сайтов по продаже запчастей (квадроциклы и спецтехника)Разработка двух специализированных сайтов по продаже запчастейОбщая информация Необходимо разработать два специализированных сайта: Запчасти для квадроциклов, UTV, SSV и другой подобной техники. Запчасти для специальной техники. Существующий сайт компании:… PHP, Веб-программирование ∙ 4 дня 12 часов назад ∙ 77 ставок |
Разработка веб-сайта WordPress
1002 UAH
|
Парсер expireddomains.net
5000 UAH
Нужен парсер expireddomains.net на сайте нужно сначала залогиниться, проблема в том что блокирует ИП при попытке парсить данные, нужно парсить тематические домены по списку ключевых слов, кто не уверен в своих силах не пишите PHP, Веб-программирование ∙ 9 дней 12 часов назад ∙ 53 ставки |