====== Экспорт в retailCRM ====== retailCRM — это специализированная CRM-система для интернет-магазинов, позволяет обрабатывать заказы, проводить аналитику, управлять товарами и др. Для работы с API этой системы можно воспользоваться следующим решением. - Переносим {{ :private:koding:hostcms:modules:shop:import_export:retailcrm.zip |файлы решения}} на сервер. - Задаем настройки в конфигурационном файле: 'https://your-shop.retailcrm.ru', 'api_key' => 'your_api_key', 'secret_sequence' => 'your_secret_sequence', 'manager_id' => '1', 'subscription_order_status' => 'prd', ); - Пользуемся. На данный в решение реализованы выгрузка заказа и подписки (решение [[private:market:programmer:shop_item_subscribe|«Подписка на отсутсвующие товары»]]), а также работа с событиями. ===== Выгрузка заказа ===== Для выгрузки заказа в retalCRM можно использовать следующий наблюдатель: createOrder($oShopPaymentSystemHandler->getShopOrder()); } } ====== Выгрузка подписки ===== Для работы наблюдателя потребуется добавить событие ''Shop_Item_Subscription_Controller.onAfterAddSubscription'' к контроллеру ''Shop_Item_Subscription_Controller'', а также поле ''phone'' для выгрузки номера телефона. phone = trim(strval(Core_Array::getRequest('phone'))); $oShopItemSubscription->save(); } /** * Выгружаем подписку в CRM. * * @param Shop_Item_Subscription_Controller $oShopItemSubscriptionController * @param array $aArgs * @return void */ static public function dispatchToRetailCrm(Shop_Item_Subscription_Controller $oShopItemSubscriptionController, array $aArgs) { list($oShopItemSubscription) = $aArgs; $oKadRetailcrmClient = Kad_Retailcrm_Client::instance(); $oKadRetailcrmClient->createOrderFromSubscription($oShopItemSubscription); } } ====== Работа с событиями ===== Для работы с событиями (называются триггерами), которые отсылает retailCRM реализован специальный класс, использовать его необходимо следующим образом: getData(); // Выполняем какие-то действия с пришедшими данными $oData, здесь уже точно известно, что они пришли от retailCRM } else { Core_Page::instance()->error403(); } Страницу создал Максим Засорин 28.12.17 в 09:57