Cs-Cart Теперь Работает С Retail Crm

Я в курсе этого решения, но у меня еще есть и другая курьерская служба - IML (она тоже интегрирована с Retail Crm). Хочется интегрировать пункты обеих курьерских служб в одном решении.

В API RetailCRM нет такой возможности.

В API RetailCRM нет такой возможности.

Уточните, какой возможности?

CallbackGET {configuration["baseUrl"]}/{configuration["actions"]["shipmentPointList"]}
Список терминалов приема посылок

Для работы с терминалами система инициирует GET запрос метода указанного в configuration[“actions”][“shipmentPointList”].

Уточните, какой возможности?

CallbackGET {configuration["baseUrl"]}/{configuration["actions"]["shipmentPointList"]}
Список терминалов приема посылок

Для работы с терминалами система инициирует GET запрос метода указанного в configuration[“actions”][“shipmentPointList”].

Возможности получить пункты доставки из RetailCRM. Приведенный вами отрывок из API - это для интеграции служб доставки в RetailCRM, т.е. если я как сервис доставки захочу интегрироваться в RetailCRM, то мне необходимо будет реализовать описанные там сallback меотоды.

Возможности получить пункты доставки из RetailCRM. Приведенный вами отрывок из API - это для интеграции служб доставки в RetailCRM, т.е. если я как сервис доставки захочу интегрироваться в RetailCRM, то мне необходимо будет реализовать описанные там сallback меотоды.

Да, все верно. Получил подтверждение от RetailCRM, что

Через retailCRM получить данную информацию не удастся. Рекомендуем Вам обратиться к службам доставки, у них возможно есть метод для получения ПВЗ.

И вот тут я не понимаю, в RetailCRM есть интеграции с курьерками, в т.ч. и с функционалом пунктов выдачи. Если логически думать - я не могу передать из магазина в RetailCRM заказ с доставкой в пункт выдачи? Какой то бред ...

А как retailcrm работает с опциями товаров, например размер? Я вижу что если заказ оформляется на стороне CS Cart, то в retailcrm в заказе у товара есть свойство. А если нужно оформить заказ по телефону и менджер в retailcrm работает, свойств получается нет?

Когда планируется новая версия модуля RetailCRM ?

Интересует полная синхронизация всех созданных заказов и всех контактов и всех контактов за все время.

Так же при редактировании заказа в CRM, в CS-Cart заказ не меняется, тоже касается и статусов заказов. Очень ждем нормальную рабочую версию, так как в нынешнем состоянии работать с RetailCRM практически невозможно.

Когда планируется новая версия модуля RetailCRM ?

Интересует полная синхронизация всех созданных заказов и всех контактов и всех контактов за все время.

Так же при редактировании заказа в CRM, в CS-Cart заказ не меняется, тоже касается и статусов заказов. Очень ждем нормальную рабочую версию, так как в нынешнем состоянии работать с RetailCRM практически невозможно.

Версия в CS-Cart 4.6.3 вполне рабочая. Что именно в заказе у вас не меняется? Контакты клиента, имя, фамилия, кроме отчества, состав заказа, скидки, способ доставки, адрес доставки, стоимость доставки, способ оплаты, статусы заказа, комментарии - все это меняется. Нет синхронизации по ответственному менеджеру по заказу, может в будущем добавят, нет синхронизации по юр/физ лицу, реквизиты юр лица не передаются.

Добрый день.

Мы добавили каталог в retailCRM из программы учета товаров "МойСклад" через ICML. В CS-Cart добавили каталог через CommerceML.
ExternalID и артикулы у товаров совпадают и в МС, и в retailCRM, и в CS-Cart.

Столкнулись с проблемой: делаем заказ на сайте, он переносится в retailCRM, но у товаров в заказе отсутствует артикул.

Ради эксперимента мы очистили склад в retailCRM, затем добавили каталог через ICML, но файл формировали уже в CS-Cart через модуль YML экспорт. Увидели, что внешний ID совпадает с product_id.
Судя по всему, это же происходит и при переносе заказа из CS-Cart в retailCRM: товар появляется в CRM без артикула, потому что внешние ID не совпадают.

Возможно ли это поправить? В каком файле можно заменить передачу параметра product_id на external id?

1 лайк

Добавлю свои 5 копеек:

1. Если настроить кастомные поля профиля то они будут синхронизироваться не очень хорошо т.к. нету карты сопоставления полей профиля.

2. Скрытые и выключенные товары не выгружаются, а это активно используется например для подарочных товаров которые есть в базе но нету на витрине (решается в 2 строчки, правда нужна опция ибо для Я маркета такие товары не нужны).

3. нет возможности контролировать отправку писем при смене статусов (у нас многие клиенты заказывают по телефону, email у них вымышленный, почтовый сервер долбит нас NDR)

4. Не обновляются товары в crm после обновления в карте. Вроде как в исходном коде методы реализованы, для моментального обновления но не используются.. Админов довольно сложно научить обновлять их вручную каждый раз.

5. Были такие ситуации когда в CRM создавали заказ на несколько товаров например 3000 + 5000 + 2000 = 10000, а в cscart заказ создался как 3000 + 5000 = 10000. Отловить не получилось, грешим на нулевые остатки в cscart.

6. Несколько раз заказ в cscart оставался в статусе незавершенный. А учитывая что они не отображаются в общем списке, админы нашли его черещз пару дней.

Глубже не лазили, всякие опции, комбинации, промоакции, reward points, etc...

1 лайк

Вопрос к пользователям и программистам - внезапно перестали экспортироваться заказы.

Трудно разобраться и понять в чем дел без логов, подскажите куда смотреть?

PS Cron пишет что скрипт выполнен.

PPS: кроме retail crm в cron еще один скрипт, он с паролем. пробовал

--password=mypass

не помогло.

Кстати совсем забыл, имя менеджера так же не передается с CRM в магазин.

Выше я поднимал вопрос о интеграции ПВЗ, сегодня увидел вот такую новость:

Доступ к данным доставок, интегрированных через API

В справочнике объектов открыт доступ ко всем полям доставок, интегрированных через API (например, координаты ПВЗ, телефон и адрес пункта самовывоза и целый ряд других)

https://www.retailcrm.ru/docs/Developers/ObjectsReference#Intaro-CRMDeliveryBundle-Entity-GenericData

Означает ли это, что теперь можно вытащить из retailCRM пункты и обновлять их в CS-CART ?

В API RetailCRM нет такой возможности.

Выше я поднимал вопрос о интеграции ПВЗ, сегодня увидел вот такую новость:

Означает ли это, что теперь можно вытащить из retailCRM пункты и обновлять их в CS-CART ?

incrize, можно Ваш комментарий в свете вышеуказанной новости?

incrize, можно Ваш комментарий в свете вышеуказанной новости?

API retailCRM действительно расширилось, но все же в нем нет возможности получать пункты доставки.

Актуальное апи тут: https://www.retailcrm.ru/docs/Developers/ApiVersion5#get--api-v5-delivery-shipments

Объясните мне пожалуйста ! Как экспортировать опции товаров в retail crm, что бы опция товара, была как отдельный товар, и отображалась в CRM.

Пример - товар дисплей! Имеет опцию «цвет» в ней 2 цвета, чёрный и белый! Как мне это выгрузить в retail, как отдельные товары?

Всем привет!

Подскажите, пожалуйста, как выгрузить в retailcrm заказы, которые были созданы до начала синхронизации... ? только руками? автоматически ничего не загрузилось, в описании модуля написано что синхронизируются только новые заказы..

добрый день! у меня после обновлении до версии cs-cart 4.7.4, в retailcrm перестали попадать заказы у которых кол-во больше 3 шт.

Кто начал работать с retailCRM явно может иметь и другие интеграции, в частности со складскими системами. А для такого случая модуль в текущем состоянии требует кастомной доработки, т.к. не поддерживает работу с внешними кодами вышеобозначенных систем.

Отсюда пожелания.

  1. Сделать возможность выбирать, что считать внешним кодом для retailCRM: product_code или external_id.
  2. Сделать выгрузку товаров в ICML отдельным модулем, что должно дать отсутствие ошибок и избыточных путающих настроек выгрузки YML, в частности касаемо вариаций. Чтобы просто берешь, нажимаешь кнопку и товары с вариациями просто выгружаются. Без предварительных обработок части каталога по изменению типа товарного предложения на нужный вид.
  3. Реализовать вывод наименования товара в элемент productName, а не просто yml-евский model, которое не подхватывается. Сейчас отсутствие этого тега приводит к тому, что название товара берется из названия первого товарного предложения; в результате товары с вариациями получают в retailCRM названия вроде “Футболка Nike женская, Цвет: Белый”.

Чтобы добавить XmlId в YML структуру нужно немного поправить пару файлов.

  1. app/addons/yml_export/Tygh/Ym/Offers/Base.php
    В функцию public function build($product) {}
    добавить в массив $offer[‘items’] элемент ‘xmlId’ => $product[‘external_id’] вот так:
    $offer = array(
    ‘attr’ => array(
    ‘id’ => $product[‘product_id’],
    ‘available’ => $available
    ),
    ‘items’ => array(
    ‘url’ => $this->escapeUrl($product[‘product_url’]),
    ‘price’ => !empty($product[‘price’]) ? fn_format_price($product[‘price’]) : ‘0’,
    ‘currencyId’ => !empty($currency) ? $currency[‘currency_code’] : CART_PRIMARY_CURRENCY,
    ‘categoryId’ => $category_id,
    // @fm_mod
    ‘xmlId’ => $product[‘external_id’]
    )
    );

  2. app/addons/retailcrm/Tygh/Addons/Retailcrm/Ym/Offers/Simple.php
    расширить схему $this->schema[] = ‘xmlId’; вот так:
    public function gatherAdditional($product)
    {
    parent::gatherAdditional($product);

     $this->schema[] = 'purchasePrice';
     // @fm_mod
     $this->schema[] = 'xmlId';
    
     $this->offer['attr'] = array_merge($this->offer['attr'], self::getRetailCrmOfferAttributes($product));
     $this->offer['items'] = $this->getRetailCrmOfferItem($this->offer['items'], $product);
    
     return true;
    

    }

  3. app/addons/retailcrm/Tygh/Addons/Retailcrm/Ym/Offers/Vendor.php вот так:
    public function gatherAdditional($product)
    {
    parent::gatherAdditional($product);

     $this->schema[] = 'purchasePrice';
     if (!in_array('name', $this->schema)) {
         $this->schema[] = 'name';
     }
     // @fm_mod
     $this->schema[] = 'xmlId';
    
     $this->offer['attr'] = array_merge($this->offer['attr'], Simple::getRetailCrmOfferAttributes($product));
     $this->offer['items'] = Simple::getRetailCrmOfferItem($this->offer['items'], $product);
    
     return true;
    

    }

1 лайк