DOCS

Cập nhật đơn hàng

Tạo đơn hàng

Tìm hiểu cách cập nhật các mặt hàng trong một đơn hàng.

SẮP CÓ

Nếu bạn đã tạo một đơn hàng nhưng nhận ra rằng không phải tất cả các mặt hàng đều có thể được thực hiện do thiếu hàng hoặc các tình huống không lường trước khác, bạn có thể sử dụng phép biến đổi orderItemUpdate để loại bỏ các mặt hàng khỏi đơn hàng. Khi một mặt hàng bị loại bỏ, chúng tôi sẽ thực hiện một phép tính landedCost mới và cập nhật hóa đơn cho đơn hàng này để phản ánh số tiền mới mà bạn sẽ bị tính phí. Nếu bạn đã bị tính phí, chúng tôi sẽ thêm số tiền đó như một khoản tín dụng vào hóa đơn sắp tới của bạn.

Chuẩn bị đầu vào cho phép biến đổi 

Phép biến đổi orderCreate yêu cầu dữ liệu đầu vào cụ thể. Trong khi các trường bổ sung có sẵn, các trường sau là bắt buộc:

  • productId hoặc sku: ID sản phẩm hoặc SKU mà bạn sử dụng để xác định các mặt hàng trong đơn hàng (Giá trị bạn sử dụng để xác định sản phẩm trong hệ thống của bạn).
  • accountOrderNumber: Số đơn hàng mà bạn đã gán cho đơn hàng (thường là số đơn hàng của nền tảng).

Bạn chỉ có thể loại bỏ các mặt hàng khỏi một đơn hàng nếu chúng chưa được giao.

Gửi phép biến đổi 

Khi bạn đã có dữ liệu đầu vào cần thiết, hãy gửi phép biến đổi GraphQL đến điểm cuối API bằng cách sử dụng thư viện hoặc công cụ mà bạn đã chọn. Dưới đây là một ví dụ về cách bạn có thể cấu trúc phép biến đổi:

Phép biến đổi

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
    }
  }
}

Phản hồi

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"
      }
    }
  }
}

Trang này có hữu ích không?