====== Экспорт в 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