WooCommerce API: создание заказа с метаданными по позиции

Я использую этот 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"}
]
}
]

Надеюсь, что вопрос достаточно ясен, и кто-то может указать мне на правильное решение 🙂

Спасибо за ваше терпение, чтобы прочитать это.

6

Решение

Вы не можете указать данные варианта продукта при оформлении заказа, вариант продукта уже должен существовать и на него следует ссылаться с использованием идентификатора варианта.

Например, если вы разместите порядок «черного» варианта (скажем, у него есть идентификатор варианта 12):

"line_items": [
{
"product_id": 1,
"variation_id": 12,
"quantity": 1
}
]

Добавление метаданных к варианту продукта может не быть сделано с помощью orders конечная точка, используйте products конечная точка для обновления продуктов.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]