Создать интеграцию с 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 на котором установленный компонент не будет поддерживаться, а новый они будут разрабатывать долго.
Будет необходима поддержка нового компонента.
Current freelance projects in the category PHP
Execution of work after SEO audit
334 USD
An experienced OpenCart developer is needed to perform SEO and technical improvements for the online store. Main tasks: Correction of the internal linking structure and menu. Adding links to the footer. Implementation of breadcrumbs with Schema.org microdata. Fixing the… PHP, Website Maintenance ∙ 2 days 16 hours back ∙ 59 proposals |
Fix issues with Facebook API in the OpenCart moduleIn OpenCart, there is a module for integrating Facebook and Instagram via API, OAuth, and Webhook. After opening the module page in the browser, the number of API requests to Facebook starts to increase, and the number of errors gr:get:InvalidID also rises. It is necessary to… PHP, Web Programming ∙ 2 days 17 hours back ∙ 39 proposals |
Integration needed: KeyCRM → Cash Register KashalotIt is necessary to set up integration between KeyCRM and the Cash Register Kahalot. When placing an order in KeyCRM, the data must be automatically transmitted to Kahalot: • order information • products, nomenclature • prices • quantity More details in private. Content Management Systems, PHP ∙ 5 days 12 hours back ∙ 29 proposals |
A WordPress site using the Kadence theme and Kadence Blocks.
223 USD
We need to create a website on WordPress using the Kadence theme and Kadence Blocks. There will be no online store (although it may be added in the future). We need a homepage and several internal pages. The graphics are already prepared, the layout structure is mostly defined,… Content Management Systems, PHP ∙ 6 days 22 hours back ∙ 38 proposals |
Development of 2 SEO-oriented websites for selling spare parts (ATVs and special equipment)Development of Two Specialized Websites for Selling Spare PartsGeneral Information It is necessary to develop two specialized websites: Spare parts for ATVs, UTVs, SSVs, and other similar equipment. Spare parts for special equipment. Existing company website:… PHP, Web Programming ∙ 7 days 19 hours back ∙ 78 proposals |