Beds24とOTAの連携でつまずく箇所は、ほぼ決まっています。(1)在庫と料金のマッピング、(2)外部ツール連携時のトークン認証、(3)APIのレート制限、(4)ゲストメッセージの制約、の4つです。いずれも「知っていれば避けられる」種類のもの。沖縄で2施設を運用してきた経験から、順番に整理します。

① 在庫と料金は「リンク」単位で結びつける

Beds24では、部屋タイプ(カテゴリー)と各予約サイトの接続を「リンク」という単位で管理します。1リンク=1つの部屋タイプを、1つのチャネルにつなぐこと。ここのマッピングを取り違えると、在庫が正しく同期されず、ダブルブッキングやカレンダーのズレの原因になります。

まず「どの部屋を、どのサイトの、どの部屋タイプに対応させるか」を紙に書き出してから設定するのが確実です。料金も同様で、Beds24内では複数のレートプラン枠に紐づき、チャネルとの対応はチャネルマネージャー側の設定で決まります。1泊の価格は、特別日の上書きも含めた「その日の実効価格」として管理される点も、頭に入れておくと混乱しません。

② トークン認証は3種類を区別する

外部ツールやAPIで連携するとき、最初につまずくのがトークンです。Beds24 API v2には、性質の違うトークンが複数あります。

  • Long Life Token:管理画面から手動で発行する、有効期限の長いトークン。
  • Refresh Token:招待コード(invite code)の交換で得られるトークン。約30日使わないと失効する「ローリング式」で、定期的に使い続ける(同期を回す)ことで生き続けます。放置すると接続が静かに切れ、再接続が必要になります。
  • Access Token:上記から都度発行される、24時間程度の短命トークン。実際のAPI呼び出しに使います。

「連携したのに数週間後に突然止まった」の多くは、Refresh Tokenを使わずに失効させたケースです。また、書き込み(予約作成や返信)まで行うには、読み取りだけでなく書き込み用の権限(スコープ)を付けて接続し直す必要があります。

③ レート制限は「直列・100クレジット/5分」

Beds24 APIには、アカウントあたり5分で100クレジットというレート制限があります。しかも並列リクエストは制限を超えやすいため、呼び出しは直列で行うのが前提です。

私たちは、予約の同期・メッセージの取得・料金の取得といった処理を、あえて実行する「分」をずらして、同じ5分の枠がぶつからないように設計しています。一気に叩くのではなく、間隔をあけるのがコツです。制限に当たったら(429エラー)、少し待って再試行する作りにしておくと安心です。

④ メッセージはOTA予約のみ・リンクは削られる

ゲストメッセージのAPI(/bookings/messages)が扱えるのは、OTA予約のメッセージだけです。直接予約のやり取りはここには乗りません(メールで扱う設計にする必要があります)。

さらに、OTA経由で送るメッセージには制約があります。booking.comは事前に許可(ホワイトリスト)したドメインのURLしか通さず、Airbnbは外部のチェックインリンクを原則ブロックします。書式もプレーンテキスト+改行のみで、HTMLは崩れます。「自動送信メッセージにURLを入れたのに届かない」のは、たいていこの制約が原因です。

つまずきを減らす順番

設定は、①在庫マッピング → ②接続テスト → ③料金 → ④メッセージ の順で、一つずつ確認しながら進めるのが安全です。管理画面の名称やボタンの位置はアップデートで変わることがあるので、細かな手順は公式ドキュメント(wiki・APIリファレンス)を都度確認してください。仕組みさえ分かっていれば、画面が変わっても迷いません。

出典