Я использую этот API для создания заказов в WooCommerce: https://github.com/kloon/WooCommerce-REST-API-Client-Library
Когда я добавляю заказ:
$orderData = array(
"order" => array(
"line_items" => array(
array(
"product_id" => 1,
"quantity" => 1
)
)
)
);
$client->orders->create($orderData);
все отлично работает, заказ создан в WooCommerce.
Но когда я хочу добавить вариант продукта с метаданными об этом варианте, как мне это сделать?
Я пробовал несколько вещей, в том числе:
$orderData = array(
"order" => array(
"line_items" => array(
array(
"product_id" => 1,
"quantity" => 1,
"variation_id" => 2,
"variations" => array(
"color" => "black")
)
)
)
);
$client->orders->create($orderData);
Чего я хочу добиться, так это при получении заказа с:
$client->orders->get( $order_id );
Информация о цвете уже добавлена в метаданные позиции (поэтому при отправке электронного письма описание цвета отображается в деталях заказа):
line_items: [
{
id: ...,
subtotal: "...",
subtotal_tax: "...",
total: "...",
total_tax: "...",
price: "...",
quantity: 1,
tax_class: null,
name: "Product name",
product_id: 1,
sku: "",
meta: [
{
key: "color",
label: "Color",
value: "black"}
]
}
]
Надеюсь, что вопрос достаточно ясен, и кто-то может указать мне на правильное решение 🙂
Спасибо за ваше терпение, чтобы прочитать это.
Вы не можете указать данные варианта продукта при оформлении заказа, вариант продукта уже должен существовать и на него следует ссылаться с использованием идентификатора варианта.
Например, если вы разместите порядок «черного» варианта (скажем, у него есть идентификатор варианта 12):
"line_items": [
{
"product_id": 1,
"variation_id": 12,
"quantity": 1
}
]
Добавление метаданных к варианту продукта может не быть сделано с помощью orders
конечная точка, используйте products
конечная точка для обновления продуктов.
Других решений пока нет …