Просмотров: 3595 | Установлено: более 100 | Разработчик: Diafan |
Интеграция с RetailCRM для интернет-торговли.
Управляйте обработкой заказов, продавайте в соцсетях и мессенджерах, удерживаайте и возвращайте клиентов!
Зарегистрируйтесь в системе по ссылке
Для начала зарегистрируйтесь в системе по ссылке
Дополнение можно установить двумя способами.
1. В административной панели сайта в разделе «Дополнения для CMS» отмечаете «Установить» для данного дополнения. Для сайтов, созданных на DIAFAN.CMS 6.0.6.11+
2. Если нет возможности установить из дополнений:
Подробная видеоинструкция:
Краткая текстовая инструкция:
1) Необходимо заполнить все настройки модуля (retailcrm в меню - шестеренка "настройки модуля" справа)
2) Добавить все связи с доставками
3) Добавить все связи с оплатами
4) Добавить все связи со статусами, если статусов в retailCRM больше, чем на сайте - проставить дополнительные статусы.
5) Добавить все связи с полями данных
6) Добавить связи с типами пользователей
7) Настроить триггер на стороне Retailcrm. Настройки-коммуникации-триггеры-создать
Название - любой текст
Галочка активность (обязательно)
в Фильтре указать следующее значение:
changeSet.isUpdate() or changeSet.isCreate()
Условие применения триггера
order.getSite() == "символьный-код-вашегосайта-в-RetailCRM"
Cимвольный код вашего магазина вы найдете в настройки-магазины. Если вы ещё не заводили магазин в retailcrm, его нужно создать.
Действие триггера - выполнить HTTP запрос
Адрес для запроса - Вашсайт/retailcrm/sync_api
HTTP метод - выбираем POST
Передавать параметры - выбираем в теле запроса (urlencode)
Параметр - указываем
orders
Значение (справа от параметра)
указываем следующий код, вместо "Обратный ключ доступа к API Вашего сайта" - указываем ключ, который вы указали в настройках данного поля (например "superkey")
{
"apiKey": "Обратный ключ доступа к API Вашего сайта",
"retail_id": "{{ order.number }}",
"retail_shop": "{{ order.getSite() }}",
"created": "{{ order.getCreatedAt()|date("d.m.Y H:i") }}",
"lastname": "{{ order.lastName }}",
"firstname": "{{ order.firstName }}",
"fathersname": "{{ order.patronymic }}",
"phone": "{{ order.phone }}",
"email": "{{ order.email }}",
"comment": "{{ order.customerComment }}",
"orderstatus": "{{ order.getStatus().getCode() }}",
"orderType": "{{ order.orderType }}",
"delivery_code": "{{ order.deliveryType.getCode() }}",
"delivery_cost": "{{ order.deliveryCost }}",
"client_id": "{{ order.getCustomer().getExternalId() }}",
"items":[
{% for item in order.getAvailableOrderProducts() %}
{
"quantity": "{{ item.quantity }}",
"initalPrice": "{{ item.initialPrice }}",
"price": "{{ item.price }}",
"xmlId": "{{ item.offer.xmlId }}",
"discountSumm": "{{ item.discountSumm }}",
"summ": "{{ item.summ }}"
}{% if order.orderProducts|length != loop.index %},{% endif %}
{% endfor %}
]
}
<offers>
<offer id="" available="true" bid="15">
Аналогичный товар в выгрузке для яндекс маркета выглядит так
<offers>
<offer id="32" available="true" bid="15">
Есть ли какая либо документация по этому модулю или хотя бы описание того, что он должен делать. А то не понятно, если что-то не работает, то это ошибка или так и было задумано.
1. Если «Ключ доступа к API RetailCRM» одинаковый для двух и более магазинов, то синхронизация не работает (со стороны RetailCRM права настроены). Работает только в тех случаях, когда у всех магазинов ключи разные. Нужно исправить или отразить это в инструкции.
Ошибка: Заказ 9 в RetailCRM не создан. Ошибка: Не удалось получить коды ошибок.
2. Если оформляется заказ без регистрации пользователя на сайте, то при синхронизации возникает ошибка:
Заказ 15 в RetailCRM не создан. Ошибка: [customer => Incorrect customer type][customer.externalId...
3. Если при загрузке заказа в CRM произошла ошибка, то повторно синхронизировать данную запись невозможно.
4. При настройке «Связи с полями данных» поля берутся из формы «Обратная связь». Из-за этого многие поля из заказа (адрес, примечания и т.д.) в CRM не попадают. Логичнее было бы брать поля из формы «Форма оформления заказа».
5. Инструкция по настройке триггеров относится к старой версии системы RetailCRM, сейчас актуальна более новая версия.
В новое версии CRM условие применения триггера нужно написать как order.site.code in ['символьный-код-вашегосайта-в-RetailCRM'], а событие выбрать как "Изменение заказа".
6. Хотелось бы иметь возможность выгрузить клиентов из CMS в CRM, а в идеале выгрузить и «старые» заказы.
7. Настройку "Обратный ключ доступа к API Вашего сайта" модуль игнорирует. Все работает даже если ключи не совпадают.
Но и без него проблема очень легко решается, если хотите, могу починить вам за 1500 рублей)
_______
<param name="Тип" code="1">ЖК-телевизор</param>
<param name="Диагональ" code="3">53</param>
<param name="Диагональ" code="3">54</param>
<param name="Диагональ" code="3">55</param>
________
Если тип поля список с выбором нескольких значений, то вместо значения выгружается ID
<offer id="54" available="true" bid="15">
<url>http://smartair24-28685.f1.gu3.ru/shop/ryukzaki/ryukzak-kontur-50-km/</url>
<price>18900</price>
<categoryId>2</categoryId>
<name>Телевизор Philips 39PHT4003 39" (2018) черный</name>
<xmlId>54</xmlId>
<vatRate>none</vatRate>
<vendor>Philips</vendor>
<description>Как правило, описание товара включает основные характеристики, производителя, цену и несколько фотографий.</description>
<picture>http://smartair24-28685.f1.gu3.ru/userfls/shop/medium/21_televizorphilips39pht400339.jpg</picture>
<param name="Срок доставки" code="delivery-days">3</param>
<param name="Артикул" code="article">71041</param>
<param name="Цена без скидки" code="price_wo_discounts">21000</param>
<param name="Тип" code="1">ЖК-телевизор</param>
<param name="Диагональ" code="3">53</param>
<param name="Диагональ" code="3">54</param>
<param name="Диагональ" code="3">55</param>
<param name="fix_mail_img" code="fix_mail_img">1</param>
</offer>
</offers>
Из-за каких настроек CMS такое может происходить?
1. Услуги к товару при передаче в CRM включаются в стоимость товара, а вот услуги к корзине никуда не включаются и их стоимость нигде не учитывается.
2. В процессе уточнения заказа, покупатель может попросить включить или исключить дополнительную услугу (к товару). На стороне CRM это сделать невозможно (см. п. 1) и такое изменения нужно делать через админку Диафана. Связи с чем возникает необходимость повторной синхронизации заказа из Диафана в CRM.
- Заказ и/или
- Обратная связь
которые используются для создания заказа в CRM
В текущей версии исправили ICML, теперь он формируется правильно.
Других изменений пока обнаружить не удалось.
Модуль обновили. В новой версии основные проблемы устранены. Модулем можно начинать пользоваться...
1. Была установлена не актуальная версия модуля (обновите его через админку)
2. Были настроены не все поля (в настройках)
3. Ну и триггер на стороне CRM еще раз проверьте
удалите код в
логика модуля обновилась, данный код не актуален - я его добавлял еще до того как модуль RetailCRM вошел в этот дистрибутив