Не удается обновить данные варианта продукта в Shopify - PullRequest
1 голос
/ 01 марта 2020

Я пытаюсь обновить цену и количество моего варианта продукта в Shopify, используя cURL и php ниже моего кода:

$ url = $ api_url. '/admin/api/2020-01/variants/31941936382042.json';

    $data_json = json_encode(
        array(
            'variants' => array(
                'id' => 4574444978266,
                'sku' => 'TEST-SKU-111',
                'price' => 20,
                'compare_at_price' => 20,
                'cost' => 20, // This price will be coming form database
                'inventory_quantity' => 10))
    );

    var_dump($data_json);


    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($data_json)));
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    var_dump($response);
    curl_close($ch);

Когда я проверяю его каждый раз, когда он говорит:

{"errors": {" вариант ":" Обязательный параметр отсутствует или недействителен "}}

Я проверил официальный документ https://shopify.dev/docs/admin-api/rest/reference/products/product-variant#update -2020-01 , но безуспешно. Может кто-нибудь исправить меня, что я не так делаю?

Заранее спасибо

1 Ответ

0 голосов
/ 02 марта 2020

Попробуйте изменить ключ для вашего массива данных, variants => variant.

Также обратите внимание на предупреждение в верхней части страницы, на которую вы ссылаетесь. Вы должны использовать API инвентаризации для управления запасами предметов вместо того, чтобы настраивать inventory_quantity напрямую.

...