RetailCRM

Просмотров: 688Установлено: 17 разРазработчик: 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 марта
В выгрузке 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
Константин (smart-air24) 16 марта, редакция 27 июня
Если у товара есть характеристика влияющая на цену, то выгружается только первая цена. В приведенном примере это "Диагональ".

<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
Т.к. разработчики про обновления модулей не пишут, то напишу я.
В текущей версии исправили ICML, теперь он формируется правильно.
Других изменений пока обнаружить не удалось.
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.

ДРУГИЕ РЕШЕНИЯ ЭТОГО РАЗРАБОТЧИКА

Authorize.net payment module Authorize.net payment module
Бесплатно
Форум Форум
Бесплатно
CSS редактор CSS редактор
Бесплатно
Опросы на сайте Опросы на сайте
Бесплатно
Free kassa Free kassa
Бесплатно
Перелинковка Перелинковка
Бесплатно
Webeffector Webeffector
Бесплатно
Файловый архив Файловый архив
Бесплатно
Saferoute Saferoute
Бесплатно
Геокарта Геокарта
Бесплатно
ЮKassa ЮKassa
Бесплатно
Ошибки на сайте Ошибки на сайте
Бесплатно