RetailCRM

Просмотров: 459Установлено: 16 разРазработчик: Diafan
RetailCRM

Интеграция с RetailCRM для интернет-торговли.
Управляйте обработкой заказов, продавайте в соцсетях и мессенджерах, удерживаайте и возвращайте клиентов!

Зарегистрируйтесь в системе по ссылке


RetailCRM — это решение для eCommerce и ритейла, которое помогает управлять заказами, клиентами и всеми коммуникациями в едином окне.


retail

Система автоматизирует и упростит процессы так, что ваши менеджеры смогут обрабатывать больше заказов с лучшей эффективностью. Позволит за 30 минут запустить встроенную Программу лояльности и заняться CRM-маркетингом, чтобы удерживать и возвращать покупателей. А вы — получите больше продаж.

Для начала зарегистрируйтесь в системе по ссылке

Дополнение можно установить двумя способами.

1. В административной панели сайта в разделе «Дополнения для CMS» отмечаете «Установить» для данного дополнения. Для сайтов, созданных на DIAFAN.CMS 6.0.6.11+

2. Если нет возможности установить из дополнений:

  • Скачайте дополнение. 
  • В административной части сайта в разделе «Темы и дизайн» выберите «Добавить вручную». 
  • Отметьте «Применить» и загрузите архив дополнения в поле «Импорт темы». 
  • Затем нужно установить модуль «AmoCRM клиент» в интерфейсе «Модули и БД».

Пошаговая инструкция интеграции с RetailCRM.


Подробная видеоинструкция:


Краткая текстовая инструкция:
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 %}
]
}

При формировании выгрузки sute.ru/retailcrm/sync_icml не заполняется id в описании товара
<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 Вашего сайта" модуль игнорирует. Все работает даже если ключи не совпадают.
Константин (smart-air24) 15 марта, редакция 23 марта
3. Нужно повесить крон на определенный файлик, он доотправляет заказы, которые с ошибкой
2. Потому что не хватает модуля auto_registration, о чем написано в модуле
Цитата
// Если заказ сделали не авторизовавшись, и были ранее заказы, укажем это. Данный параметр назначается в модуле auto_registration


Но и без него проблема очень легко решается, если хотите, могу починить вам за 1500 рублей)
ПартнерСтепан (idxdoc) 19 марта, редакция 19 марта
В выгрузке для яндекса

<param name="Тип">ЖК-телевизор</param>
<param name="Диагональ">39" (99 см)</param>
<param name="Диагональ">43" (109 см)</param>
<param name="Диагональ">54.6" (139 см)</param>


В выгрузке ICML

<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&quot; (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>
Константин (smart-air24) 16 марта, редакция 23 марта
Если при оформлении заказа выбрать любой способ доставки (именно доставки), кроме того, который идет по умолчанию, то выдается ошибка: Заказ 3 в RetailCRM не создан. Ошибка: [payments[0].type => This payment type...

Если способ доставки затем изменить в CRM, то при обратной синхронизации в Диафан все передается корректно.
Константин (smart-air24) 23 марта, редакция 23 марта
Еще одна непонятность. Есть тестовый сайт, на котором настроена синхронизация с CRM. В CRM настроен триггер. Все работает. Заливаем на этот тестовый сайт БД с нашего основного сайта, обратная синхронизация через триггер перестает работать, точнее по логам все нормально, ошибок нет, а данные в заказе на стороне Дианафа не обновляются. Заливаем на этот сайт снова тестовую БД, все снова начинает работать нормально.

Из-за каких настроек CMS такое может происходить?
Константин (smart-air24) 23 марта, редакция 24 марта
В Диафане есть Услуги к товару и услуги к корзине…

1. Услуги к товару при передаче в CRM включаются в стоимость товара, а вот услуги к корзине никуда не включаются и их стоимость нигде не учитывается.

2. В процессе уточнения заказа, покупатель может попросить включить или исключить дополнительную услугу (к товару). На стороне CRM это сделать невозможно (см. п. 1) и такое изменения нужно делать через админку Диафана. Связи с чем возникает необходимость повторной синхронизации заказа из Диафана в CRM.
Наиболее критичные ошибки разместил в Пожеланиях

https://user.diafan.ru/wishlist/show3960/
https://user.diafan.ru/wishlist/show3958/
https://user.diafan.ru/wishlist/show3957/
Константин (smart-air24) 10 апреля, редакция 10 апреля
Предлагаю сделать в модуле настройку, которая позволяет явно указать источники
- Заказ и/или
- Обратная связь
которые используются для создания заказа в CRM
Константин (smart-air24) 11 апреля, воскресенье
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.