認証
各キーはクラブパネルの「管理 → APIとWebhook」で発行され、Bearerヘッダーとして送信します。
curl -H "Authorization: Bearer mp_…" \
https://api.meetandplay.mx/api/v1/clubs/{clubId}/bookings完全なキーは一度しか表示されません。安全な場所に保管してください。
エンドポイント
各キーは発行時に付与された範囲を持ち、必要な範囲がないリクエストは拒否されます。
- GET
/clubs/{clubId}/courtsクラブのコート一覧です。
- GET
/clubs/{clubId}/availabilityコートごとの予約済み時間帯です(最大14日分)。
- GET
/clubs/{clubId}/bookingsクラブの予約一覧です(新しい順)。
- GET
/clubs/{clubId}/customersクラブの顧客名簿です — 個人情報のため、独自の範囲が必要です。
- POST
/clubs/{clubId}/bookingsクラブの受付と同じように予約を作成します。
- POST
/clubs/{clubId}/bookings/{bookingId}/cancel予約をキャンセルします。クラブのポリシーに従い返金または決済を無効化します。
Webhookイベント
予約作成・確定・キャンセル、支払い成功、試合満員などのイベントを、あなた自身のURLでHMAC-SHA256署名付きで受信します。配信は失敗するとバックオフしながら再試行し、複数回失敗すると失敗キューに入り、クラブパネルから再配信できます。
Webhook の認証
HMAC 署名(x-map-signature)に加えて、各 Webhook は Authorization ヘッダーを送信できます。Basic(ユーザー名とパスワード)または Bearer(トークン)です。クラブパネルの 管理 → APIとWebhook で、Webhook ごとの認証として設定します。認証情報は暗号化して保存され、再表示されません。
POST https://…/webhooks x-map-signature: t=1767225600,v1=… x-map-delivery: 0199… Authorization: Bearer …
- すべての配信で送信され、再試行や失敗キューからの再配信も同様です。送信時点で有効な認証情報を使うため、変更や削除はキュー内の配信にも反映されます。サーバーが認証情報を復号できない場合、配信がヘッダーなしで送られることはなく、失敗キューに入ります。 URLを変更するかWebhookを削除すると、旧URL宛てにキューに入っている配信はキャンセルされるか失敗キューに移されます。認証情報が登録済みでないURLに送られることはありません。
- それでも HMAC 署名の検証をおすすめします。Authorization ヘッダーは呼び出し元を示しますが、本文が改ざんされていないことを証明できるのは署名だけで、そのタイムスタンプ(t=)で再送された配信を拒否できます。
- リダイレクトはたどりません。3xx 応答は配信失敗として扱われ再試行されるため、認証情報が別の URL に送られることはありません。受信側の最終 URL を登録してください。
レート制限
各キーには1分あたりのリクエスト数の上限があります。429応答は上限に達したことを意味します。速度を落として再試行してください。
認定パートナー
認定パートナーはクラブパネルからワンクリックで接続できます — キーを手動でコピー&ペーストする必要はありません。
