Подготовьте входные данные для мутации
Мутация orderCreate
требует конкретные входные данные. Хотя доступны дополнительные поля, следующие поля являются обязательными:
productId
илиsku
: Идентификатор продукта или SKU, который вы используете для идентификации товаров в заказе (значение, которое вы используете для идентификации продуктов в вашей системе).accountOrderNumber
: Номер заказа, который вы присвоили заказу (часто это номер заказа платформы).
Вы можете удалить товары из заказа только в том случае, если они еще не были отправлены.
Отправьте мутацию
Как только у вас есть необходимые входные данные, отправьте мутацию GraphQL на конечную точку API, используя выбранную вами библиотеку или инструмент. Вот пример того, как вы можете структурировать мутацию:
Мутация
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
mutation {
orderItemUpdate(
orderId: "order_4f52ec0e-3467-11ed-b878-0242ac120002"
accountOrderNumber: "AO-67890"
itemId: "item_8659ec0e-3467-11ed-b878-0242ac120002"
itemSku: "T123-BLUE"
quantity: 1
) {
order {
accountOrderNumber
createdAt
createdBy
currencyCode
id
items {
id
name
quantity
amount
currencyCode
}
status
updatedAt
updatedBy
}
}
}
Ответ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"data": {
"orderItemUpdate": {
"order": {
"accountOrderNumber": "AO-67890",
"createdAt": "2024-06-01T12:00:00Z",
"createdBy": "user_3258ec0e-3467-11ed-b878-0242ac120002",
"currencyCode": "USD",
"id": "order_4f52ec0e-3467-11ed-b878-0242ac120002",
"items": [
{
"id": "item_8659ec0e-3467-11ed-b878-0242ac120002",
"name": "T-Shirt",
"quantity": 0,
"amount": 19.99,
"currencyCode": "USD"
}
],
"status": "OPEN",
"updatedAt": "2024-07-09T12:20:00Z",
"updatedBy": "user_4258ec0e-3467-11ed-b878-0242ac120002"
}
}
}
}
Создание заказов
Узнайте, как обновить товары в заказе.GraphQL
СКОРО
Если вы создали заказ, но поняли, что не все товары могут быть выполнены из-за недостачи или других непредвиденных обстоятельств, вы можете использовать мутацию
orderItemUpdate
, чтобы удалить товары из заказа. После удаления товара мы проведем новый расчетlandedCost
и обновим счет для этого заказа, чтобы отразить новую сумму, которую вам придется оплатить. Если с вас уже была взята плата, мы добавим эту сумму в качестве кредита в ваш предстоящий счет.