Добавление характеристик товара через API Есть решение

Добрый день, 

Реализовал добавление товара с указанием типа товара через API но возникла проблема, не могу найти каким образом можно привязать значение характеристики товара к самому товару. 

4 ответа

  • 1
    Михаил Ушенин Webasyst 11 декабря 2020 09:25 # Решение

    Добавьте в массив данных, которые вы отправляете при сохранении товара методом add или update, ключ 'features' с массивом информации о характеристиках товара.

    Как именно заполнять массив характеристик, проще всего подсмотреть на вкладке "Network" браузера, когда в панели управления сохраняете товар обычным способом — вручную. Выглядеть он будет примерно так:

    'features' => [
        'weight' => [
            'value' => '123',
            'unit' => 'kg',
        ],
        'length' => [
            'value' => '45',
            'unit' => 'm',
        ],
        'color' => [
            0 => '',
            1 => 'белый',
            2 => 'синий',
            3 => 'красный',
        ],
    ]

    • +2
      Fame Fame 11 декабря 2020 19:57 #

      Спасибо все работает. 

      Поправьте пожалуйста документацию по API, а то она отсутствует по данному вопросу.

      shop.product.add

  • 1

    не работает 

    product[features][sostav_8050]:dimadima


    $curl_h = curl_init('https://************/?id=' . $row['id'] . '&access_token=*****************');
                        curl_setopt($curl_h, CURLOPT_RETURNTRANSFER, true);
                        curl_setopt($curl_h, CURLOPT_POSTFIELDS, array('features' => ['sostav_8050'=> 'dddddd']));
                        $response = curl_exec($curl_h);
                        $response = json_decode($response, true);
    print_r($response);
                        print_r(array('features' => ['sostav_8050'=> 'dddddd']));

    результат 

    последние строки 


    [features] => Array
    (
    [sostav_8050] => bbbbbbbbbbbbbbbbbbbbb
    [weight] => 100 г
    [artikul_postavshchika] =>  *******************
    )
    )
    Array
    (
    [features] => Array
    (
    [sostav_8050] => dddddd
    )
    )

    причем статус обновляет нормально

    array('status' => 1)

    Подскажите, в чем может быть проблема?

    • +1

      Решил проблему

      $data = []; 
      $data['features']['sostav_8050']='dddddd';
      //curl_setopt($curl_h, CURLOPT_POSTFIELDS, array('features' => ['sostav_8050'=> 'dddddd']));
      curl_setopt($curl_h, CURLOPT_POSTFIELDS, http_build_query($data));
      


Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите