ウェブフックを予約する(オンデマンド在庫)

COMPLEXリスティングのフィールド値を返すHTTPSエンドポイントをオファーレベルで構成します。呼び出しが失敗しても支払いは完了します。手動で再試行または履行できます。

購入時にバイヤーが支払ったときに、ライセンス、アカウント、またはキーの値をサーバーから取得します。

予約ウェブフックを使用するタイミング

購入時に自分のシステムでキーやアカウントを生成する場合、COMPLEX(ユニークユニット)在庫に使用します。ローカル在庫が常に優先され、ウェブフックは短縮分のみを埋めます。

  • すべてのユニットが実際に割り当てられている場合にのみ、INSTANT自動配達で機能します。
  • オファーレベルのデフォルトを構成するか、価格オプションごとにオーバーライドします。
  • HTTPSのみ。オプションのHMAC署名は、アウトバウンドウェブフックと一致します。

支払い安全な失敗

エンドポイントがタイムアウトしたり無効なデータを返したりした場合、注文はPAIDのままです。バイヤーは請求され、あなたは注文にエラーが表示され、予約を再試行するか手動でキーを添付できます。

契約をリクエストする

支払い後、RMTは、注文、オファー、オプション、フィールドスキーマ、数量1を持つ1つのreserve.item呼び出しを欠落しているユニットごとにPOSTします。オプションのリクエストテンプレートJSONは{{placeholders}}とマージされます。

標準的なPOSTボディ(短縮版)

json
{
  "id": "rsv_…",
  "type": "reserve.item",
  "order": { "uid": "…", "reference": "…", "url": "…" },
  "offer": { "url": "…", "title": "…", "pageUrl": "…" },
  "option": { "id": 1, "name": "Standard" },
  "fields": [{ "id": 10, "name": "License", "type": "text", "required": true }],
  "quantity": 1
}

レスポンスとフィールドマッピング

2xx JSONを返します。$.licenseのようなパスをアイテムフィールドにマッピングするか、{ "entries": [{ "fieldId": 10, "value": "KEY-…" }] }を返します。

便利なレスポンス

json
{
  "entries": [
    { "name": "License", "value": "AAAA-BBBB-CCCC" }
  ]
}
  • ライセンスのみ:$.licenseまたは$.keyから1つのテキストフィールドをマッピングします。
  • アカウント:$.emailと$.passwordからメールとパスワードフィールドをマッピングします。
  • マッピング後に必要なフィールドが欠落していると、失敗と見なされます。

テスト、再試行、セキュリティ

オファーエディタでテストを使用します(dryRun: trueを送信します)。注文ページで、エンドポイントを修正した後に予約を再試行します。秘密や完全なキーをメールに記録しないでください。

  1. 1オファーアイテムステップでHTTPS URL、レスポンスマップ、オプションの秘密を保存します。
  2. 2テストを実行し、マッピングされたプレビューを確認します。
  3. 3失敗した場合は、注文を開き、予約を再試行するか、手動でキーを作成/割り当てます。

支払い前に予約を呼び出さないでください

RMTは、支払いが成功した後にのみエンドポイントを呼び出すため、放棄されたチェックアウトはライセンスを消費しません。