Thêm khả năng cung cấp dịch vụ tích hợp Đặt hàng bán lẻ phiên bản 1

Tài liệu hướng dẫn này sẽ trình bày:

  1. Thông tin mô tả cấp cao về cách người dùng nhìn thấy tình trạng rảnh/bận và loại dữ liệu nào là bắt buộc
  2. Hướng dẫn cụ thể về cách mã hoá dữ liệu về tình trạng còn hàng thành của action_link trong nguồn cấp dữ liệu
  3. Hướng dẫn cách cập nhật tình trạng còn hàng nếu thay đổi trong ngày
  4. Kỳ vọng về tính chính xác về tình trạng có sẵn

Cùng với siêu dữ liệu về tình trạng còn hàng, dự kiến bạn sẽ cung cấp siêu dữ liệu về phí liên quan đến việc giao hàng hoặc đến lấy hàng, cũng như số tiền đơn đặt hàng tối thiểu. Để xem mẫu nguồn cấp dữ liệu đầy đủ cho thấy mức sử dụng tình trạng còn hàng cũng như các khoản phí và đơn đặt hàng tối thiểu, hãy xem phần Mẫu nguồn cấp dữ liệu Đặt hàng bán lẻ phiên bản 1.

Thông tin về tình trạng rảnh/bận là bắt buộc

Khả năng sử dụng tính năng Đặt hàng qua bán lẻ cho trải nghiệm này được thu thập ở độ chi tiết cấp ngày. Dữ liệu về tình trạng còn hàng này được hiển thị cho người dùng cùng với phí và số tiền đặt hàng tối thiểu kèm theo thông báo như "Có sẵn hôm nay", "Có sẵn vào ngày mai" hoặc "DD/MM có sẵn" dựa trên ngày được cung cấp sớm nhất.

Khi gửi dữ liệu này trong các nguồn cấp dữ liệu, bạn sẽ gửi những ngày trong tương lai có hàng, cũng như thời gian gần nhất mà người dùng có thể đặt hàng và lên lịch đến lấy hàng hoặc giao hàng cho mỗi ngày. Hai thông tin này lần lượt là ngày thực hiện đơn hàng và thời gian đặt hàng gần nhất.

Ví dụ: Nếu hôm nay là ngày 23/3/2021 và bạn có thể giao hàng vào ngày mai, miễn là người dùng đặt hàng trước 4 giờ chiều hôm nay, thì dữ liệu bạn cung cấp để biểu thị tình trạng còn hàng này là:

  • Ngày thực hiện: 24/03/2021
  • Thời gian đặt hàng cuối cùng: 4:00 chiều ngày 33/03/2021

Kể từ thời điểm đặt hàng gần đây nhất, sau khi thời gian đặt hàng đó kết thúc, giao diện người dùng Google sẽ tự động cập nhật thành ngày tiếp theo có thể sử dụng sau thời gian đặt hàng gần nhất.

Mỗi ngày, khi tải nguồn cấp dữ liệu người bán mới lên, bạn nên bao gồm dữ liệu về tình trạng còn hàng mới. Vì giao diện người dùng chỉ hiển thị tình trạng còn hàng hiện tại, nên bạn chỉ cần cung cấp 3 đến 5 ngày tiếp theo cho bất kỳ vị trí nào. Điều này cho phép giao diện người dùng hiển thị tình trạng còn hàng hiện tại cũng như tình trạng còn hàng tiếp theo để hiển thị sau thời gian đặt hàng gần nhất.

Chỉ định tình trạng còn hàng thông qua nguồn cấp dữ liệu

Khả năng sử dụng đường liên kết hành động được bao gồm trong thông báo action_link của nguồn cấp dữ liệu Người bán, trong trường order_online_metadata. Mỗi người bán và mỗi phương thức thực hiện sẽ có danh sách thông báo AvailableDay tại đường dẫn

Merchant.action_link.order_online_metadata.fulfillment_option.available_day

Những thông báo này phải có định dạng như sau:

{
  "fulfillment_date": {
    "year": "2020",
    "month": "10",
    "day": "1"
  },
  "last_ordering_time":  {
    "seconds": "1601614800"  // 2020/10/1, 10pm
  }
}

Ở định dạng này, fulfillment_date là năm, tháng và ngày có sẵn. Ngày này phải liên quan đến vị trí mà người bán này chỉ định.

last_ordering_time là dấu thời gian Unix ở dạng giây. Nó theo múi giờ độc lập và đánh dấu khoảnh khắc cuối cùng mà người bán có thể nhận đơn đặt hàng cho ngày đã cung cấp trong fulfillment_date. Thời gian đặt hàng gần đây nhất có thể sớm hơn hoặc trong ngày thực hiện đơn hàng. Sau khi qua thời gian đặt hàng gần nhất, Google sẽ tự động ngừng hiển thị tình trạng còn hàng cho ngày thực hiện đơn hàng đã cho và sẽ bắt đầu hiển thị tình trạng còn hàng dựa trên ngày thực hiện đơn hàng tiếp theo.

Để tham khảo định nghĩa về order_online_metadata, hãy xem Tài liệu tham khảo về nguồn cấp dữ liệu của người bán. Đối với mẫu nguồn cấp dữ liệu bao gồm tình trạng còn hàng ở định dạng JSON, hãy xem phần Mẫu nguồn cấp dữ liệu Đặt hàng bán lẻ + Siêu dữ liệu.

Cập nhật tình trạng còn hàng bằng thông tin cập nhật theo thời gian thực

Nếu tình trạng còn hàng để đến lấy hàng hoặc đến lấy hàng ở một địa điểm thay đổi trong khoảng thời gian bạn gửi nguồn cấp dữ liệu hằng ngày, thì bạn có thể sử dụng API REST cập nhật theo thời gian thực để cập nhật tình trạng còn hàng mà người dùng nhìn thấy.

Cập nhật mỗi lần cho một người bán. Khi cập nhật, bạn sẽ chỉ định người bán cập nhật và các trường cần cập nhật trong điểm cuối của API. Sau đó, trong phần nội dung của yêu cầu, bạn sẽ đưa dữ liệu mới vào các trường đó. Mọi trường đang cập nhật sẽ được thay thế bằng thông tin được cung cấp.

Để cập nhật tình trạng còn hàng, bạn sẽ thực hiện yêu cầu vá cho điểm cuối sau:

PATCH https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}?updateMask=action_link

Sau đó, phần nội dung của yêu cầu sẽ là một đối tượng Người bán chỉ có action_link (do chúng tôi đã đặt updateMask chỉ bao gồm action_link):

{
  "action_link": [
    ..., // all required action_link fields here
    "order_online_metadata": {
      "fulfillment_option": [
        "fulfillment_type": "FULFILLMENT_TYPE_DELIVERY",
        "available_day": [ // Include the updated availability here
          {
            "fulfillment_date": {
              "year": "2020",
              "month": "10",
              "day": "1"
            }
            "last_ordering_time": {
              "seconds": "1601614800"  // 2020/10/1, 10pm
            }
          },
          ... // Other updated availability_days
        ]
      ]
    }
  ]
}

Nếu yêu cầu API thành công, phản hồi sẽ bao gồm đối tượng Người bán có dữ liệu mới cập nhật.

Để biết quy cách tham chiếu đầy đủ của phương thức cập nhật Người bán, hãy xem bài viết: Phương thức: inventory.partners.merchants.patch.

Độ chính xác về tình trạng còn hàng

Tính năng Đặt chỗ với Google hiểu rằng các chi tiết về tình trạng còn hàng sẽ thay đổi dựa trên nhiều yếu tố. Các yếu tố này bao gồm:

  • Các thay đổi về tình trạng còn hàng dựa trên kích thước đơn đặt hàng
  • Những thay đổi về tình trạng còn hàng dựa trên thời gian hoàn tất việc đặt hàng và thanh toán
  • Độ trễ giữa thời điểm thay đổi tình trạng còn hàng được cập nhật, thông qua nguồn cấp dữ liệu hoặc thông qua thông tin cập nhật theo thời gian thực

Bất kỳ yếu tố nào trong số những yếu tố này có thể dẫn đến tình trạng còn hàng mà người dùng nhìn thấy ban đầu không phải là tình trạng còn hàng cuối cùng mà họ sẽ thấy ở bước thanh toán. Mục tiêu của việc triển khai phạm vi cung cấp không phải là loại bỏ hoàn toàn những trường hợp này mà là cung cấp thông tin rõ ràng cho người dùng thường xuyên nhất có thể.

Đối tác nên cung cấp cấu hình triển khai để dẫn đến tình trạng rảnh/bận chính xác của người dùng thường xuyên nhất có thể, trên cơ sở nỗ lực tối đa. Ngoài ra, nếu tình trạng còn hàng thay đổi do thông tin đơn đặt hàng, thì người dùng phải nhìn thấy rõ thông tin này. Nếu bạn không chắc chắn về yêu cầu cụ thể trong trường hợp của mình, hãy liên hệ với người liên hệ Đặt chỗ bằng Google.