結果を判定するベット精算API
手元にあるベットのリストのうち、どれが勝ったのかを知りたい。イベント、マーケット、ライン、サイドを送れば、21競技・172マーケットについて最終スコアから判定した勝ち、負け、無効、ハーフ勝ち、ハーフ負けが返ってきます。
- マーケット
- 172
- 競技
- 21
- 1リクエストあたりのベット数
- 50
- エンドポイント
- 2
1回のリクエストで3つのベットを精算
この試合は90分で3-2、延長戦終了時に3-3でした。サッカーは90分で精算するため、ホームのマネーラインは勝ちとなり、basis に判定に使ったスコアが表示されます。
curl -X POST "https://api.odds-api.io/v3/settlements/grade?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"selections": [
{ "ref": "bet-1", "eventId": 74919888, "market": "ML", "side": "home" },
{ "ref": "bet-2", "eventId": 74919888, "market": "Spread", "hdp": -0.75, "side": "home" },
{ "ref": "bet-3", "eventId": 74919888, "market": "Totals", "hdp": 5.5, "side": "over" }
]
}'{
"grades": [
{ "ref": "bet-1", "eventId": 74919888, "result": "won", "reason": null, "final": true,
"basis": { "scope": "regulation", "home": 3, "away": 2 } },
{ "ref": "bet-2", "eventId": 74919888, "result": "half_won", "reason": null, "final": true,
"basis": { "scope": "regulation", "home": 3, "away": 2 } },
{ "ref": "bet-3", "eventId": 74919888, "result": "lost", "reason": null, "final": true,
"basis": { "scope": "regulation", "home": 3, "away": 2 } }
]
}ベット精算の仕組み
エンドポイントは2つです。GET /v3/settlements は最大50イベントの結果を返します。POST /v3/settlements/grade はベットが勝ったかどうかを返します。
- 1
ベットを保存する
ベットが行われたら、イベントID、マーケット、ライン、サイドを保存します。/v3/odds から取得しているのと同じ4つのフィールドなので、マッピングは不要です。
- 2
判定に送る
試合後、最大50件のセレクションを /v3/settlements/grade にPOSTします。それぞれ won、lost、void、half_won、half_lost のいずれかで返ります。ほとんどのスコア系マーケットでは、判定の根拠となったスコアも返されます。
- 3
結果が確定したら精算する
すべての回答に final フラグが付きます。final が false のセレクションは保持し、後で再送してください。再送は1分に1回で十分です。
7種類の回答
保存された結果で答えを証明できる場合にのみベットを判定します。データが欠けていたり整合しなかったりする場合は、推測ではなく理由付きの ungradeable を返します。
- won
- ベットは勝ち
- lost
- ベットは負け
- half_won
- クォーターライン:賭け金の半分が勝ち、残り半分は返金
- half_lost
- クォーターライン:賭け金の半分が負け、残り半分は返金
- void
- 賭け金は返金。理由は push または event_cancelled
- pending
- まだ確定していません。理由で何を待っているかがわかります
- ungradeable
- 答えを証明できません。理由でその原因がわかります
誰でも読める精算ルール
ルールは一般的なブックメーカーの慣行に沿っています。細部はブックメーカーごとに異なるため、自社の規約と照らし合わせてください。
サッカーは90分で精算
サッカー、フットサル、ハンドボール、ラグビーのマーケットは正規時間で精算します。試合スコアに含まれていても、延長戦とPK戦は一切カウントしません。
ブックメーカーがカウントする場合は延長戦を含む
バスケットボール、アメリカンフットボール、野球、アイスホッケーでは、マネーライン、スプレッド、トータルに延長戦と延長イニングを含みます。3-Way Result、Double Chance、Draw No Bet、Regulation のトータルとスプレッドは正規時間で精算します。
クォーターラインは賭け金を分割
-0.75のアジアンハンディキャップは、半分が-0.5、半分が-1です。ホームが1点差で勝つと回答は half_won です。整数ラインでちょうど引き分けになった場合は、理由 push で void になります。
中止された試合は無効
中止されたイベントのベットはすべて、理由 event_cancelled で void として返ります。試合が後日に再設定された場合、イベントは同じIDのまま pending に戻ります。
コーナーとカードは試合スタッツから
サッカーのコーナー、カード、先制チームは、試合終了から約30分後の試合後スタッツで判定します。それまでの回答は、理由 awaiting_stats の pending です。
プレイヤープロップスはボックススコアから
プロップスはバスケットボール、野球、アイスホッケー、アメリカンフットボールで判定します。選手は名前で照合し、同名の選手が2人いる可能性がある場合は判定しません。
21競技・172マーケット
マーケット名は /v3/odds が返すものと同じです。精算ガイドに競技別の全マーケットを掲載しています。
メインライン
ML、3-Way Result、Spread とアジアンハンディキャップ、Totals、Team Totals、European Handicap、Double Chance、Draw No Bet、Both Teams To Score、Odd/Even
ハーフ、クォーター、イニング
メインラインの前半・後半版、Half Time / Full Time、バスケットボールとアメリカンフットボールの各クォーター、アイスホッケーの各ピリオド、野球の First 5 Innings と 1st Inning マーケット
テニスとeスポーツ
テニス、バレーボール、卓球のゲームハンディキャップ、トータルゲーム、選手別ゲーム数、セットベッティング、セットハンディキャップ、セット勝者、セットトータル、セットの正確なスコア。eスポーツの Map Handicap、Total Maps、マップ勝者、マップごとのラウンド・キルライン、スヌーカーのフレームライン
サッカーのスタッツ
コーナー、カード、カード合計、枠内シュート、シュート、GKセーブ、オフサイド、ファウルとタックル、コーナーレース、最初と最後のコーナー、最初・最後・2点目から5点目の得点チーム、正確なスコア、勝利点差、正確な得点数とチーム得点、無失点勝利、クリーンシート
プレイヤープロップス
バスケットボール、野球、アイスホッケー、アメリカンフットボールの公式ボックススコアに基づくオーバー・アンダーライン
未対応のマーケット
得点者マーケット、サッカーのプレイヤープロップス、ダーツのライン、クリケット、アウトライト。これらは unsupported_market で返ります
ベットが判定される割合
当社のベットトラッカーが2026年10月12日までの30日間に精算した22,903件のベットを、このAPIで判定しました。以下は判定結果が返った割合です。
- 野球、スコア系マーケット
- 99.6%
- アイスホッケー、スコア系マーケット
- 99.2%
- バスケットボール、スコア系マーケット
- 99.1%
- アメリカンフットボール、スコア系マーケット
- 98.5%
- サッカー、スコア系マーケット
- 98.0%
- サッカーのカード
- 88.3%
- サッカーのコーナー
- 82.4%
これらの数値は目安としてご覧ください。1つのプロダクトの1か月分のベットで、大半はサッカーのメインマーケット、かつ一度精算済みのイベントが対象です。残りは理由付きの ungradeable で返りました。
ベット精算APIのよくある質問
APIでベットを自動精算するには?
ベットが行われた時点でイベントID、マーケット、ライン、サイドを保存します。試合後、それらをOdds-API.io v3 APIの POST /v3/settlements/grade に送ります。レスポンスは各ベットについて won、lost、void、half_won、half_lost のいずれかを返し、final フラグで結果が確定したかどうかがわかります。
ベット精算APIとは何ですか?
ベット精算APIは、手元にあるベットを受け取り、その結果を返すAPIです。イベント、マーケット、ライン、サイドを送ると、最終スコアに基づく結果が返ります。ベットトラッカー、予想家向けプラットフォーム、予想ゲーム、スポーツブックのバックオフィスが、マーケットや競技ごとに判定ルールを書かずに済むよう利用しています。
APIで判定できるマーケットと競技は?
21競技・172マーケットです。マネーライン、スプレッドとアジアンハンディキャップ、トータル、両チーム得点、ダブルチャンス、ドローノーベット、前半マーケット、テニスのゲームとセット、eスポーツのマップ、サッカーのコーナー、カード、得点順、そしてバスケットボール、野球、アイスホッケー、アメリカンフットボールのプレイヤープロップスに対応しています。
クォーターラインのアジアンハンディキャップも精算できますか?
はい。Spread としてラインを hdp に入れて送ってください。ハンディキャップは常にホームチーム基準です。-0.75のようなクォーターラインで賭け金の半分が返金される場合は half_won または half_lost を返し、整数ラインでちょうど引き分けになった場合は理由 push で void を返します。
サッカーのベットは90分で精算されますか、それとも延長戦後ですか?
アディショナルタイムを含む90分で精算します。サッカー、フットサル、ハンドボール、ラグビーのベットは、延長戦やPK戦になった場合でも正規時間で精算します。ほとんどのスコア系マーケットでは判定の根拠となったスコアも返るので、ユーザーに表示できます。Half Time / Full Time、コーナー、カード、プレイヤープロップスは判定結果のみを返します。
試合が延期または中止された場合は?
ほとんどの場合、イベントのステータスが cancelled になり、そのイベントのベットはすべて理由 event_cancelled の void として判定されます。試合が後日に再設定された場合、イベントは同じIDのまま pending に戻ります。結果が出ないままの試合は、キックオフから72時間後に理由 result_unavailable の ungradeable になります。
試合終了後、どれくらいでベットを精算できますか?
スコア系マーケットは通常、試合終了の数分後に判定できます。コーナー、カード、プレイヤープロップスは約30分かかります。それまでの回答は pending です。final フラグは、結果が公式結果と照合された時点、または試合終了から48時間後に true になります。
精算APIはどのプランに含まれますか?
2つの精算エンドポイントはすべての有料プランで利用でき、1回の呼び出しは1リクエストとしてカウントされます。GET /v3/settlements は最大50件のイベントID、POST /v3/settlements/grade は最大50件のセレクションを受け付けます。