Я хочу пометить заказ в Google Покупках как отправленный, но не могу понять, как отформатировать lineItems
. Я следую официальным документам для позиций доставки:
https://developers.google.com/shopping-content/v2/reference/v2.1/orders/shiplineitems
И вот мой код:
$client = new Google_Client();
$service = new Google_Service_ShoppingContent($client);
// Get Order and Line Items
$order = $service->orders->get('MERCHANT-ID', 'ORDER-ID', array());
$lineItems = $order->getLineItems();
// Prepare Item Info
foreach($lineItems as $item) {
$items = array('lineItemId' => $item->getId(),'productId' => $item->getProduct()->getId(), 'quantity' => $item->quantityPending);
}
// Prepare Shipment Info
$shipment = array('shipmentId' => 'xxx', 'carrier' => 'ups', 'trackingId' => '1234567890');
// Prepare PostBody
$postBody = new Google_Service_ShoppingContent_OrdersShipLineItemsRequest();
$postBody->operationId = rand();
$postBody->lineItems = $items;
$postBody->shipmentInfos = $shipment;
// Mark Google Order as Shipped
$service->orders->shiplineitems('MERCHANT-ID', 'ORDER-ID', $postBody, array());
Это приводит к следующей ошибке, но я не смог точно понять, что не так:
Google_Service_Exception: { "error": { "errors": [ { "domain": "global", "reason": "invalid", "message": "Неверное значение для lineItems: {lineItemId=HI2PTRMVLNCZEXP, productId=online:en :US:d3k3245, количество=2}", "locationType": "другое", "location": "" } ], "code": 400, "message": "Неверное значение для lineItems: {lineItemId=HI2PTRMVLNCZEXP, productId =онлайн:en:US:d3k3245, количество=2}" } }
Любые идеи, что я делаю неправильно?