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

このチュートリアルでは、次の操作を行います。

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

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

料金

料金を指定する方法はいくつかあります。たとえば、次の方法があります。

  • 固定料金: 「配送料 $5」、「サービス手数料 $5」
  • パーセンテージ料金: 「Delivery fee 5%」(配送手数料 5%)または「Service fee 5%」(サービス手数料 5%)
  • 料金の範囲: 「配送料 $2 ~$10」
  • 上限なしの範囲「サービス料金は 20 ドルまで」

手数料は、送料またはサービス手数料として指定できます。複数の手数料を指定することもできます(例: 「サービス手数料 5%、配送料 $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"
            }
          }
        ]
      }
    }
  ]
}

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

料金の精度

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

手数料は、時間やユーザーによって異なる場合があります。そのため、料金を範囲で指定する機能を提供しています。範囲には、上限のない範囲も含まれます。手数料が大幅に変動する可能性がある場合は、ユーザーが取引中に確認できる手数料の範囲を必ず指定してください。

必要な情報が不明な場合は、アクション センターの担当者にお問い合わせください。

注文処理時間の精度

注文の履行にかかる時間は、さまざまな要因によって変化します。こういった要素には、次のようなものがあります。

  • 注文サイズに基づく注文処理時間の変更
  • 注文と購入手続きの完了時間に基づく注文処理時間の変更
  • フィードを通じて注文の履行時間の変更が更新されるまでのレイテンシ
  • ユーザーのお届け先住所。

これらの要因により、ユーザーに最初に表示された注文の履行時間が、購入手続き時に表示される正確な履行時間と異なる場合があります。履行時間の導入の目的は、これらの問題を完全に排除することではなく、可能な限り頻繁にユーザーに明確な情報を提供することです。

パートナーは、ユーザーに表示される配送予定日を可能な限り正確に表示する実装を、ベスト エフォート ベースで提供することが求められます。これらの要因によりタイミングに大きなばらつきがある場合は、そのばらつきを包含する時間の範囲を指定することをおすすめします。また、注文の詳細によって配送時間が変更される場合は、注文フローの段階でユーザーに明確に表示する必要があります。

必要な情報が不明な場合は、アクション センターの担当者にお問い合わせください。

手数料と ETA のタイムリーな更新

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

パートナーは、5 分以内に サービス フィード(料金や到着予定時刻など)を変更する API 呼び出しを可能にするリアルタイム更新を実装することを強く推奨します。