フルフィルメント時間と手数料

このチュートリアルでは、次のことを説明します。

  1. サポートされている料金とフルフィルメント時間のユースケースの概要
  2. サービス フィードで注文フルフィルメントの時間と手数料を指定する具体的な手順。
  3. 期待される精度

注文フルフィルメントの時間と手数料の使用状況を示す完全なフィード サンプルについては、注文リダイレクト EPA のサンプルをご覧ください。

料金

料金を指定する方法はいくつかあります。次に例を示します。

  • 固定料金: 「配送料 5 ドル」または「サービス手数料 5 ドル」
  • 手数料率: 「配送料 5%」または「サービス手数料 5%」
  • 手数料帯: 「送料 2 ~ 10 ドル」または「サービス手数料 3 ~ 6%」
  • 制限のない範囲: 「配送料は 5% 以上」または「サービス手数料は最大 20 ドル」

料金は、配送料またはサービス手数料として指定できます。複数の手数料を指定することもできます(例: サービス手数料 5%~ 10%、配送料 5 ドル)。

ユーザーに関する情報に基づいて料金を変更する必要があるユースケースはサポートされていません。

料金の例

配送料と受け取り手数料

アプリケーションが「DELIVERY」と「SERVICE」の料金タイプをサポートしています。

提供

{
  "fee": {
    "fee_id": "12345/delivery_fee",
    "fee_type": "DELIVERY",
    "fixed_amount": {
      "currency_code": "USD",
      "units": 10,
      "nanos": 0
    },
    "service_ids": ["service/entity002"]
  }
}

サービス

{
  "fee": {
    "fee_id": "12345/service_fee",
    "fee_type": "SERVICE",
    "fixed_amount": {
      "currency_code": "USD",
      "units": 10,
      "nanos": 0
    },
    "service_ids": ["service/entity002"]
  }
}

さまざまな料金タイプ

選択した料金タイプを指定する簡単な例を以下に示します。

固定

{
  "fee": {
    "fee_id": "12345/delivery_fee",
    "fee_type": "DELIVERY",
    "fixed_amount": {
      "currency_code": "USD",
      "units": 10,
      "nanos": 0
    },
    "service_ids": ["service/entity002"]
  }
}

カートの割合

{
  "fee": {
    "fee_id": "12345/delivery_fee",
    "fee_type": "DELIVERY",
    "cart_percentage": {
      "base_value": {
        "currency_code": "USD",
        "units": 3,
        "nanos": 500000000
      },
      "percentage_of_cart_value": 10
    },
    "service_ids": [
      "service/entity002"
    ]
  }
}

範囲

{
  "fee": {
    "fee_id": "12345/delivery_fee",
    "fee_type": "DELIVERY",
    "range_amount": {
      "min_amount": {
        "currency_code": "USD",
        "units": 3,
        "nanos": 500000000
      },
      "max_amount": {
        "currency_code": "USD",
        "units": 5,
        "nanos": 600000000
      }
    },
    "service_ids": [
      "service/entity002"
    ]
  }
}

フルフィルメント時間

正確なデータを提供できるように、利用可能な時間は複数の形式で指定できます。以下では、サポートされるさまざまなユースケースと、フロントエンドでユーザーに表示されるものと似たサンプル言語について説明します。

  • 固定時間: 「30 分後に配達」または「15 分後に受け取り」
  • 期間: 「30 分~ 1 時間で配達」または「15 ~ 20 分後に受け取り」

発送準備時間は、受け取りと配達の両方について、共通の形式(以下で説明)を使用して指定できます。

ユーザーに関する情報に基づいて到着予定時刻を変更する必要があるユースケースはサポートされていません。

フルフィルメント時間の例

アクション リンクの注文フルフィルメント時間は、サービス フィードの ETA メッセージの FoodOrderingService フィールドの一部として含まれます。

固定

{
    "service": {
        "service_id": "service-id",
        "service_type": "TAKEOUT",
        "parent_entity_id": "entity-id",
        "lead_time": {
            "min_lead_time_duration": "900s"
        },
        "action_link_id": "action-link-id"
    }
},

期間

{
    "service": {
        "service_id": "service-id",
        "service_type": "TAKEOUT",
        "parent_entity_id": "entity-id",
        "lead_time": {
            "min_lead_time_duration": "900s"
            "max_lead_time_duration": "1200s"

        },
        "action_link_id": "action-link-id"
    }
},

フルフィルメントの時間枠

ServiceHours を使用すると、特定の時間枠にフルフィルメント時間を設定できます。FoodOrderingService で設定されたデフォルトの lead_time は、運行時間外の時間帯に使用されます。

この例では、2400slead_time が午前 11 時から午後 1 時 30 分まで表示されます。
1200slead_time は、午前 11 時前と午後 1 時 30 分以降に表示されます。
{
  "data": [
    {
      "service": {
        "service_id": "merchant-1-service-delivery",
        "service_type": "DELIVERY",
        "parent_entity_id": "merchant-1",
        "lead_time": {
          "min_lead_time_duration": "1200s"
        },
        "action_link_id": "merchant-1-takeout-delivery-action"
      }
    },
    {
      "service_hours": {
        "hours_id": "merchant-1-advance-hours-delivery",
        "service_ids": ["merchant-1-service-delivery"],
        "asap_hours": [
          {
            "time_windows": {
              "time_windows": {
                "open_time": {
                  "hours": 11
                },
                "close_time": {
                  "hours": 13,
                  "minutes": 30
                }
              }
            },
            "lead_time": {
              "min_lead_time_duration": "2400s"
            }
          }
        ]
      }
    }
  ]
}

手数料とフルフィルメント時間の精度

料金の精度

販売者に手数料データを提供する場合は、手数料を正確に示すことが求められます。注文に適用される可能性のあるすべての配送料とサービス手数料を含める必要があります。

料金は時間が経つとユーザーによって異なる場合があることを認識しています。このため、制限のない範囲を含む範囲として料金を指定できます。料金が大幅に異なる場合は、ユーザーが取引中に確認できる手数料が範囲に含まれていることを確認してください。

ケースに具体的に何が必要か不明な場合は、アクション センターの担当者にお問い合わせください。

注文フルフィルメント時間の精度

注文フルフィルメントの具体的な時間は、さまざまな要因によって変わることがわかっています。たとえば、次のような要因があります。

  • 注文数量に応じた注文フルフィルメント時間の変更
  • 注文と購入手続きの完了にかかる時間に基づく注文フルフィルメント時間の変更
  • 注文処理時間の変更がフィードで更新されるまでのレイテンシ
  • ユーザーの配送先住所。

これらの要因により、最初にユーザーに表示される注文のフルフィルメントの日時が、購入手続き時に表示される正確なフルフィルメントの日時とは一致しない場合があります。フルフィルメント時間の実装の目標は、これらを完全に排除することではなく、可能な限り頻繁にユーザーに明確な情報を提供することです。

パートナーは、可能な限り頻繁に、ベスト エフォートで正確なフルフィルメント時間をユーザーに提供できる実装を提供することが求められます。これらの要因によってタイミングが大きく変動する場合は、その変動幅も指定することをおすすめします。また、注文の詳細によってフルフィルメント時間が変更される場合は、注文フローに到着したときにそのことをユーザーに明確に示す必要があります。

ケースに具体的に何が必要か不明な場合は、アクション センターの担当者にお問い合わせください。

料金と到着予定時刻をタイムリーに更新

通常のフィードのアップロードを使用した変更の処理には、少なくとも 2 時間かかることがあります。到着予定時刻を頻繁に変更する予定がある場合は、この点が特に重要です。

リアルタイム更新を実装することを強くおすすめします。これにより、API 呼び出しで 5 分以内にサービス フィード(料金や到着予定時刻を含む)を変更できるようになります。