Поддержка Проблемы и решения Передача данных из Woocommerce в CRM

  • Доброго времени суток уважаемые посетители данного форума. Буду рад если сможете мне помочь с моим вопросом.

    Есть интернет-магазин, в котором нужно настроить передачу параметра через оформление заказа. Т.е пользователь добавляет товар в корзину, нажимает кнопку «Оформить заказ», после чего в CRM улетает, что есть новый заказ на артикул данного товара.

    Есть код, который как пример, предлагают в поддержке данной CRM.

    <?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);
    }}

    но это не сработало.

    Может кто сможет мне помочь разобраться с этим вопросом.

  • Тема «Передача данных из Woocommerce в CRM» закрыта для новых ответов.