
Доброго времени суток уважаемые посетители данного форума. Буду рад если сможете мне помочь с моим вопросом.
Есть интернет-магазин, в котором нужно настроить передачу параметра через оформление заказа. Т.е пользователь добавляет товар в корзину, нажимает кнопку "Оформить заказ", после чего в CRM улетает, что есть новый заказ на артикул данного товара.
Есть код, который как пример, предлагают в поддержке данной CRM.
Я попробовал через вебхук, в funtions.php добавить:
но это не сработало.
Может кто сможет мне помочь разобраться с этим вопросом.
Есть интернет-магазин, в котором нужно настроить передачу параметра через оформление заказа. Т.е пользователь добавляет товар в корзину, нажимает кнопку "Оформить заказ", после чего в CRM улетает, что есть новый заказ на артикул данного товара.
Есть код, который как пример, предлагают в поддержке данной CRM.
PHP:
<?php
$userName = "admin"; //логин пользователя от которого будет запущен процесс
$password =""; //пароль пользователя от которого будет запущен процесс
$token = "6e8e72fb-0178-4d8c-a84d-d354debe4de9"; //токен процесса
$instanceName = $_POST[’company’]; //название экземпляра процесса
$data = new stdClass();
$data->Items = new stdClass();
$data->Items->WebDataItem = array(); // Формируем массив контекстных переменных.
$data->Items->WebDataItem[0] = array("Name"=>"NazvanieOrganizacii", "Value"=>$_POST[’company’]);
$data->Items->WebDataItem[1] = array("Name"=>"FIOKontaktnogoLica", "Value"=>$_POST[’fio’]);
$data->Items->WebDataItem[2] = array("Name"=>"VersiyaProgrammnogoProdukta", "Value"=>$_POST[’version’]);
$data->Items->WebDataItem[3] = array("Name"=>"KolichestvoLicenziy", "Value"=>$_POST[’licence’]);
$data->Items->WebDataItem[4] = array("Name"=>"TelefonKontaktnogoLica", "Value"=>$_POST[’phone’]);
$data->Items->WebDataItem[5] = array("Name"=>"Adres", "Value"=>$_POST[’adres’]);
// Массив параметров необходимых для запуска процесса
$parameters = array(
"userName"=>$userName,
"password"=>$password,
"token"=>$token,
"instanceName"=>$instanceName,
"data"=>$data);
if($_POST[’Run_Workflow’])
{
// Создание SOAP-клиента по WSDL
$client = new SoapClient("URL?WSDL", array("location"=>"URL"));
//Вызов метода Run для запуска экземпляра процесса
$client->Run($parameters);
echo "Спасибо за заказ! В ближайшее время с Вами свяжется наш специалист.";
}
?>
Я попробовал через вебхук, в funtions.php добавить:
Код:
add_action( 'woocommerce_thankyou', 'my_custom_tracking' );
function my_custom_tracking( $order_id ) {
// Получаем информации по заказу
$order = wc_get_order( $order_id );
$order_data = $order->get_data();
// Получаем информации по товару
$order->get_total();
$line_items = $order->get_items();
foreach ( $line_items as $item ) {
$product = $order->get_product_from_item( $item );
$sku = $product->get_sku(); // артикул товара
// Передаем информацию
$userName = "wwe"; //логин пользователя от которого будет запущен процесс
$password ="#AH%ss6a123}edH"; //пароль пользователя от которого будет запущен процесс
$token = "4ffe1575-853d-49c9-89e2-60877b8btt4e"; //токен процесса
$instanceName = $sku['sku']; //название экземпляра процесса
$data = new stdClass();
$data->Items = new stdClass();
$data->Items->WebDataItem = array(); // Формируем массив контекстных переменных.
$data->Items->WebDataItem[0] = array("Name"=>"sku", "Value"=>$sku['sku']);
// Массив параметров необходимых для запуска процесса
$parameters = array(
"userName"=>$userName,
"password"=>$password,
"token"=>$token,
"instanceName"=>$instanceName,
"data"=>$data);
if($_POST['Run_Workflow'])
// Создание SOAP-клиента по WSDL
$client = new SoapClient("http://flatserver.migal.ru:8000/Modules/EleWise.ELMA.Workflow.Processes.Web/WFPWebService.asmx?WSDL");
//Вызов метода Run для запуска экземпляра процесса
$client->Run($parameters);
}}
но это не сработало.
Может кто сможет мне помочь разобраться с этим вопросом.