Retail Ordering v1 통합을 위한 가용성 추가

이 튜토리얼은 다음 내용을 안내합니다.

  1. 이용 가능 여부가 사용자에게 표시되는 방식과 필요한 데이터 유형에 관한 대략적인 설명
  2. 재고 데이터를 피드에서 action_link로 인코딩하는 방법에 대한 구체적인 안내
  3. 재고 여부가 하루 종일 바뀌는 경우 이를 업데이트하는 방법에 관한 안내
  4. 가용성 정확성에 대한 기대치

이용 가능 여부 메타데이터와 함께 최소 주문 금액뿐만 아니라 배달 또는 수령과 관련된 수수료에 대한 메타데이터도 제공해야 합니다. 재고 현황과 수수료 및 최소 주문을 보여주는 전체 피드 샘플은 소매 주문 v1 피드 샘플을 참고하세요.

어떤 재고 정보가 필요한가요?

이 환경의 Retail Order 사용 가능 여부는 일별로 세분화됩니다. 이 가용성 데이터는 제공된 가장 빠른 날짜를 기준으로 '오늘 사용 가능', '내일 사용 가능' 또는 '사용 가능한 DD/MM'과 같은 메시지와 함께 수수료 및 최소 주문 금액과 함께 표시됩니다.

이 데이터를 피드에 제출하면 배송이 가능한 미래의 날짜뿐만 아니라 사용자가 주문할 수 있는 마지막 날짜 및 각 날짜의 수령 또는 배달을 예약할 수 있습니다. 이 두 가지 정보는 각각 처리 날짜와 마지막 주문 시간입니다.

예를 들어 오늘 날짜가 2021년 3월 23일이고 내일 오후 4시까지 주문 가능한 한 내일 배송 가능한 경우 이 재고를 나타내기 위해 제공할 데이터는 다음과 같습니다.

  • 처리 날짜: 2021년 3월 24일
  • 최종 주문 시간: 2021/03/23 4:00PM

마지막 주문 시간이 포함되어 있으므로 이 시간이 지나면 Google 프런트엔드는 마지막 주문 시간이 지난 후 사용 가능한 다음 날짜로 자동 업데이트됩니다.

매일 새 판매자 피드를 업로드할 때 새 재고 데이터가 포함되어야 합니다. 프런트엔드에는 현재 이용 가능 여부만 표시되므로 특정 위치의 다음 이용 가능 날짜 3~5개만 제공하면 됩니다. 이렇게 하면 프런트엔드에서 현재 가용성을 표시할 수 있을 뿐만 아니라 마지막 주문 시간이 지난 후에 표시할 다음 가용성을 보유할 수 있습니다.

피드를 통한 재고 지정

작업 링크의 사용 가능 여부는 판매자 피드의 action_link 메시지에 order_online_metadata 필드의 일부로 포함됩니다. 각 판매자 및 각 처리 옵션의 경우 경로에 AvailableDay 메시지 목록이 있습니다.

Merchant.action_link.order_online_metadata.fulfillment_option.available_day

이러한 메시지는 다음 형식이어야 합니다.

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

이 형식의 fulfillment_date는 이용 가능한 연도, 월, 일입니다. 이 날짜는 판매자가 지정한 위치를 기준으로 합니다.

last_ordering_time는 초 단위의 Unix 타임스탬프입니다. 시간대와 관계가 없으며 판매자가 fulfillment_date에 제공된 날짜의 주문을 받을 수 있는 마지막 순간입니다. 마지막 정렬 시간은 처리 날짜보다 이전이거나 처리 날짜일 수 있습니다. 마지막 주문 시간이 지나면 Google은 지정된 처리 날짜의 재고 표시를 자동으로 중지하고 사용 가능한 다음 처리 날짜를 기준으로 재고 표시를 시작합니다.

order_online_metadata의 참조 정의는 판매자 피드 참조를 확인하세요. JSON 형식의 재고를 포함하는 피드 샘플은 피드 샘플 소매 주문 + 메타데이터를 참조하세요.

실시간 업데이트로 재고 업데이트

일일 피드를 보내는 시간 사이에 위치의 제공 여부가 달라지면 실시간 업데이트 REST API를 사용하여 사용자에게 표시되는 재고를 업데이트할 수 있습니다.

업데이트는 한 번에 하나의 판매자에만 적용됩니다. 업데이트할 때 업데이트할 판매자와 API 엔드포인트의 일부로 업데이트해야 하는 필드를 지정합니다. 그런 다음 요청 본문에 해당 필드에 대한 새 데이터를 포함합니다. 업데이트되고 있는 필드는 제공된 정보로 대체됩니다.

가용성을 업데이트하려면 다음 엔드포인트에 패치를 요청합니다.

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

action_link이 포함되도록 updateMask를 설정했으므로 요청 본문은 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
        ]
      ]
    }
  ]
}

API 요청이 성공하면 응답에 새로 업데이트된 데이터가 포함된 판매자 객체가 포함됩니다.

판매자 업데이트 메서드의 전체 참조 사양은 메서드: Inventory.partners.merchants.patch를 참조하세요.

재고 정확성

Google 예약에서는 가용성의 구체적인 내용이 다양한 요인에 따라 변경된다는 것을 알고 있습니다. 이러한 요인은 다음과 같습니다.

  • 주문 규모에 따른 재고 변경
  • 주문 및 결제를 완료하는 데 걸린 시간에 따른 재고 변경
  • 피드 또는 실시간 업데이트를 통해 재고 변경이 업데이트되는 시점 간의 지연 시간

이러한 요인으로 인해 처음에는 사용자에게 표시되는 재고가 결제 단계에서 표시되는 최종 재고가 아닌 경우가 생길 수 있습니다. 가용성 구현의 목표는 이러한 기능을 완전히 없애는 것이 아니라 사용자에게 최대한 자주 명확한 정보를 제공하는 것입니다.

파트너는 가능한 한 자주 사용자에게 정확한 가용성을 표시하는 최선의 구현을 가능한 한 최선의 방식으로 제공해야 합니다. 또한 주문 세부정보로 인해 재고가 변경되는 경우 사용자에게 명확하게 표시해야 합니다. 케이스에 무엇이 필요한지 확실하지 않은 경우 Google 예약 담당자에게 문의하세요.