Использование API v2 WooCommerce

РЕДАКТИРОВАТЬ: Если кто-то читает это, я сделал этот пост до того, как API v2 был задокументирован, однако документация теперь доступна, поэтому, если у вас возникли проблемы, обратитесь к: http://woothemes.github.io/woocommerce-rest-api-docs/#introduction


Я пытаюсь обновить клиентскую библиотеку PHP REST API, найденную здесь: https://github.com/kloon/WooCommerce-REST-API-Client-Library.

Я изменил API_ENDPOINT на wc-api/v2/ и добавил эту функцию:

public function create_order( $data ) {
    return $this->_make_api_call( 'orders/', $data, 'POST' );
}

Я получил:

Warning:  rawurldecode() expects parameter 1 to be string, array given in /home/class-wc-api-client-    v2.php on line 441
Warning:  rawurldecode() expects parameter 1 to be string, array given in /home/class-wc-api-client-v2.php on line 441
  object(stdClass)#1801 (1) {
 ["errors"]=>
 array(1) {
   [0]=>
   object(stdClass)#1798 (2) {
     ["code"]=>
     string(3) "401"
     ["message"]=>
     string(19) "cURL HTTP error 401"
   }
 }
}

Я использую следующий код для вызова create_order

$data = array(
    "status" => "processing",
    "payment_details" => array("method_id" => "paypal", "method_title" => "PayPal", "paid" => 1),
    "line_items" => array("id" => 123, "subtotal" => 45.00, "total" => 45.00, "total_tax" => 0.00, "price" => 45.00, "quantity" => 1, "name" => "itemName", "product_id" => 123)
);
var_dump($wc_api->create_order($data));

Любая помощь?

Благодарю вас!


person user2317084    schedule 13.11.2014    source источник


Ответы (2)


Хотя я не работал с API WooCommerce или упомянутым вами клиентом API, первое, что я заметил, была ошибка cURL HTTP 401, возможно, ошибка аутентификации. Пожалуйста, дважды проверьте потребительский ключ и секрет.

Во-вторых, предупреждение в функции (методе) rawurldecode(). Вы передаете массив, но функция ожидает строку. Так что внимательно проверьте и эту часть.

person IFightCode    schedule 13.11.2014
comment
Спасибо, думаю, я просто подожду, пока они обновят свою клиентскую библиотеку php! - person user2317084; 14.11.2014

В настоящее время проблема с rawurlencode присутствует как в API, так и в используемой вами библиотеке.

Ошибка аутентификации связана с тем, что вашей конечной точкой является «заказы/», это должно быть «заказы» (без косой черты)

person peardox    schedule 03.02.2015
comment
Спасибо за ваш ответ! На самом деле они уже задокументировали v2 API, так что это действительно помогает исправить все это. woothemes.github.io/woocommerce-rest-api-docs/#introduction< /а> - person user2317084; 04.02.2015