Обновление цены продукта программно с помощью PHP без Mage - PullRequest
0 голосов
/ 24 сентября 2018

Я искал способ обновить цену определенного продукта с помощью PHP без использования Mage.Я пытался использовать curl, чтобы сделать это, однако, когда я пытаюсь это сделать, я получаю сообщение об ошибке "{" message ":"% fieldName является обязательным полем. "," Parameters ": {" fieldName ":" product "}».Вот мой код:

<?php
$productUpdateJson = '{
    "product": {
        "sku": "577617647",
        "price": 324.99,
        "extensionAttributes": {
            "stockItem": {
                "qty": 120,
                "isInStock": true
            }
        }
    },
    "saveOptions": true
}';
$productUpdateJson = json_encode($productUpdateJson);

        $productsJson = http_build_query(json_decode($productUpdateJson));
$ch = curl_init( "http://myserver.com/index.php/rest/V1/products" );

$curlOptions = array(
    CURLOPT_CUSTOMREQUEST  => "POST",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => $productsJson,
    CURLOPT_HTTPHEADER => array( "Content-type: application/json", "Authorization: bearer 1ydds7h1dgb3i1msk1xcvjaacjhr97ht" )
);

curl_setopt_array( $ch, $curlOptions );

$response = curl_exec( $ch );
var_dump($response);

Кто-нибудь получает эту ошибку, и если да, то как вы ее исправили?

1 Ответ

0 голосов
/ 25 сентября 2018

Пропустите json_encode json_decode http_build_query и просто передайте исходную строку JSON в cURL следующим образом:

CURLOPT_POSTFIELDS => $productUpdateJson

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...