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

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

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

料金とフルフィルメント時間の正確性

料金の精度

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

料金は時間の経過やユーザーによって異なる場合があります。そのため、料金を範囲として指定できます(範囲は開放型でもかまいません)。手数料が大幅に異なる場合は、取引中にユーザーに表示される手数料が範囲内に含まれるようにしてください。

お客様のケースで具体的に何が必要か不明な場合は、Actions Center の担当者にお問い合わせください。

注文処理時間の正確性

注文の処理時間はさまざまな要因によって変わることを理解しております。これらの要因には次のようなものがあります。

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

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

パートナーは、可能な限り多くのユーザーに正確なフルフィルメント時間を表示できる実装を提供することが期待されます。これらの要因によりタイミングに大きなばらつきがある場合は、そのばらつきを包含する時間帯を指定することをおすすめします。また、注文の詳細によりフルフィルメント時間が変更される場合は、注文フローに到達したときにユーザーに明確に表示する必要があります。

お客様のケースで具体的に何が必要か不明な場合は、Actions Center の担当者にお問い合わせください。

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

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

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