Я скачал последний репозиторий API WooCommerce PHP. Я следовал Документам API REST woocommerce для создания тестового продукта. Я скопировал образец из их документации, но он не работает. Вот мой код
API документы: http://woocommerce.github.io/woocommerce-rest-api-docs/?php#create-a-product
<?php
require_once("vendor/autoload.php");
use Automattic\WooCommerce\Client;
$woocommerce = new Client(
'http://wocom.dev',
'ck_c62182de9983593c9da6ed5c4642ff50e79e1b4f',
'cs_8f69a9d588abb9ca1b0309f22ac2cd7841496d56',
[
'version' => 'v3',
'ssl_verify'=> 'false',
'timeout' => 30000
]
);$data = [
'name' => 'Ship Your Idea',
'type' => 'variable',
'description' => 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.',
'short_description' => 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.',
'categories' => [
[
'id' => 9
],
[
'id' => 14
]
],
'images' => [
[
'src' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_4_front.jpg',
'position' => 0
],
[
'src' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_4_back.jpg',
'position' => 1
],
[
'src' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_3_front.jpg',
'position' => 2
],
[
'src' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_3_back.jpg',
'position' => 3
]
],
'attributes' => [
[
'id' => 6,
'position' => 0,
'visible' => false,
'variation' => true,
'options' => [
'Black',
'Green'
]
],
[
'name' => 'Size',
'position' => 0,
'visible' => true,
'variation' => true,
'options' => [
'S',
'M'
]
]
],
'default_attributes' => [
[
'id' => 6,
'option' => 'Black'
],
[
'name' => 'Size',
'option' => 'S'
]
],
'variations' => [
[
'regular_price' => '19.99',
'image' => [
[
'src' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_4_front.jpg',
'position' => 0
]
],
'attributes' => [
[
'id' => 6,
'option' => 'black'
],
[
'name' => 'Size',
'option' => 'S'
]
]
],
[
'regular_price' => '19.99',
'image' => [
[
'src' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_3_front.jpg',
'position' => 0
]
],
'attributes' => [
[
'id' => 6,
'option' => 'green'
],
[
'name' => 'Size',
'option' => 'M'
]
]
]
]
];try
{
print_r($woocommerce->post('products', $data));
}
catch(Exception $e)
{
echo $e->getMessage();
}
Ошибка :
Error: No product data specified to create product [woocommerce_api_missing_product_data]
Вместо $data = []
использование $data['product'] = []
API woocommerce проверяет, есть ли $data['product']
устанавливается и возвращает [woocommerce_api_missing_product_data], если оно пустое.
Увидеть WooCommerce / включает / API / наследие / v2 / класс-туалет-апи-products.php
public function create_product( $data ) {
$id = 0;
try {
if ( ! isset( $data['product'] ) ) {
throw new WC_API_Exception( 'woocommerce_api_missing_product_data', sprintf( __( 'No %1$s data specified to create %1$s', 'woocommerce' ), 'product' ), 400 );
}
Других решений пока нет …