elefymove

ElefyMoveと連携する

貴社プラットフォームをElefyMoveに接続し、物件情報を掲載し、空室状況をリアルタイムで同期。同じ日付のダブルブッキングはもう起きません。

APIでできること

物件掲載、空室同期、リアルタイム連携を一つの窓口で。

Listings API

多言語対応の物件情報をElefyMoveに送信できます。対応する9言語のうち、任意の言語でコンテンツを送信可能です。すべての掲載は公開前に審査されます。

空室同期

ElefyMoveのマスターカレンダーは、予約可能なすべての情報を集約する唯一の信頼できるデータソースです。各期間には「空室」「一時ホールド中」「予約済み」「ブロック済み」のいずれかの状態が付与され、清掃・引き渡しのバッファ時間も一元管理されるため、どのチャネル経由でもダブルブッキングは発生しません。

一時ホールド

貴社側でのチェックアウト処理中、最長10分間の一時ホールドを設定できます。競合は先着順で解決され、負けたリクエストにはプログラムで判定可能な409レスポンスが返されます。

Webhook

掲載承認・空室変更・ホールドのライフサイクル・予約ステータスなど、HMAC-SHA256で署名されたイベントをほぼリアルタイムで受信できます。ペイロードには日付と参照情報のみが含まれ、ゲストの個人情報は一切含まれません。

iCal同期

各掲載には署名付きのiCalエクスポートURLが用意され、ElefyMoveが貴社のフィードURLをポーリングすることも可能です。連携コードを書くことなく、外部のブロック情報を双方に反映できます。

パートナーができること・できないこと

第一原則:すべての操作は自社データの範囲に限定されます。方向を問わず、パートナー間でのアクセスは一切ありません。

できること

  • 自社の物件掲載を作成・更新・掲載取り消しできる(対応する9言語のいずれでも可)
  • 自社の掲載内容と審査ステータスを確認できる
  • 自社掲載の空室状況を確認し、参照情報付きの外部チャネルブロックを書き込める
  • チェックアウト中に一時ホールドを作成・解除できる(最大10分間)
  • webhookを登録し、署名付きイベントを受信できる(日付と参照情報のみ)
  • 掲載カレンダー(iCal)をエクスポートし、自社のiCalフィードを登録できる
  • 公開されている地域階層情報を参照できる
  • コミュニティ投稿を公開できる(ElefyMoveの審査を経てから表示される)
  • 自社のマーケットプレイス予約を確認し、支払い待ちの予約を拒否できる

できないこと

  • 本APIを通じて支払い、返金、保証金を移動させること
  • ElefyMoveの予約や契約を作成すること——外部予約はカレンダーブロックとしてのみ登録されます
  • ゲストまたはテナントの個人情報を送受信すること
  • 他のパートナーの掲載、ホールド、ブロック、設定にアクセス・変更すること
  • ElefyMoveのユーザーにメッセージ送信、連絡、勧誘を行うこと
  • 自社が所有しない掲載を読み取り・再公開すること
  • レート制限を超過すること、キーを共有すること、アカウント作成を自動化すること

アクセス方法

開発者アカウントを作成しメールを認証すると、ダッシュボードから自分のテスト用APIキーを発行できます。本番キーは、貸主が ElefyMove の管理画面(バックオフィス)で作成します。

APIキーを作成

アカウントを作成すると、API利用規約に同意したものとみなされます。

利用可能なスコープ

listings:readlistings:writeavailability:readavailability:writeholds:writewebhooks:managecommunity:readcommunity:writemarketplace:readmarketplace:write

デフォルトのレート制限:キーごとに1分間120リクエスト。

クイックスタート

すべてのリクエストは、発行されたキーを含むX-Api-Keyヘッダーで認証されます。

掲載物件の空室状況を確認する

curl "https://elefymove.com/api/public/v1/listings/{listingId}/availability?from=2026-09-01&to=2026-09-30" \
  -H "X-Api-Key: efy_live_xxxxxxxxxxxxxxxxxxxxxxxx"

# Response — 200 OK
[
  { "from": "2026-09-01", "to": "2026-09-14", "state": "AVAILABLE" },
  { "from": "2026-09-15", "to": "2026-09-20", "state": "BLOCKED", "source": "partner-site", "externalRef": "HMXYZ123" },
  { "from": "2026-09-21", "to": "2026-09-30", "state": "AVAILABLE" }
]

一時ホールドを作成する

curl -X POST "https://elefymove.com/api/public/v1/listings/{listingId}/holds" \
  -H "X-Api-Key: efy_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"from": "2026-09-15", "to": "2026-09-20", "ttlSeconds": 300}'

# Response — 201 Created
{ "holdId": "hld_9f3a2c1b", "expiresAt": "2026-08-13T10:15:00Z" }

負けたリクエストにはプログラムで判定可能な409が返る

# Same request, the dates were just taken by another channel
# Response — 409 Conflict
{
  "code": "SLOT_TAKEN",
  "conflictingState": "HELD",
  "wonBy": "external"
}

APIリファレンス全体

リクエストとレスポンスのスキーマ、エラー形式、サンプルはすべてインタラクティブな OpenAPI リファレンスに掲載しています。ご自身のキーで各エンドポイントをその場で試せます。

APIドキュメントを開くドキュメント全体を見る

全エンドポイント一覧

Open API v1 のすべてのエンドポイントです。リクエストには X-Api-Key ヘッダーでキーを添付し、どのルートも自社のデータだけを対象とします。

ベース URL https://elefymove.com

リスティング

メソッドエンドポイントスコープ内容
POST/api/public/v1/listingslistings:write新しいリスティングを審査に提出します。対応する 9 言語のうち任意の言語で内容を登録できます。
GET/api/public/v1/listingslistings:readこのキーが保有するリスティングと、その審査ステータスを一覧します。
GET/api/public/v1/listings/{externalId}listings:read指定した外部 ID で自社のリスティングを 1 件取得します。
PATCH/api/public/v1/listings/{externalId}listings:write自社のリスティングを更新します。送信しなかった項目は変更されません。
DELETE/api/public/v1/listings/{externalId}listings:write自社のリスティングを掲載停止にします。
POST/api/public/v1/listings/{externalId}/photoslistings:writeリスティングに写真を1枚追加します。完全な更新は不要です。画像はElefyMoveが取得して再ホスティングし、送信したURLがそのまま保存されることはありません。
DELETE/api/public/v1/listings/{externalId}/photos/{photoId}listings:writeリスティングから写真を1枚削除します。公開中のリスティングの写真枚数が最低枚数を下回る場合は400で拒否されます。

参照データ

メソッドエンドポイントスコープ内容
GET/api/public/v1/locations有効なキーであれば可県 → 郡・区 → エリアの正規の地域階層ツリーを取得します。
GET/api/public/v1/locations/search有効なキーであれば可正規の地域階層に対するインクリメンタル検索を行います。
GET/api/public/v1/reference/property-types有効なキーであれば可リスティングが受け付ける物件タイプの値を一覧します。
GET/api/public/v1/reference/amenities有効なキーであれば可アメニティが満たすべき文字数・件数の上限を返します。アメニティは固定リストではなく自由記述です。
GET/api/public/v1/reference/locales有効なキーであれば可リスティングの翻訳が受け付けるロケールコードを一覧します。
GET/api/public/v1/reference/currencies有効なキーであれば可リスティングの価格に使われる通貨。ElefyMoveはタイのみで展開しているため、常にTHB(タイバーツ)です。

空き状況とブロック

メソッドエンドポイントスコープ内容
GET/api/public/v1/listings/{id}/availabilityavailability:read指定期間のリスティング統合カレンダー(空き・仮押さえ・予約済み・ブロック)を取得します。
GET/api/public/v1/availabilityavailability:read最大50件のリスティングの空き状況を1回のリクエストでまとめて取得します。所有していない、または存在しないIDはリクエストを失敗させず、レスポンスのnotFoundに含まれます。
GET/api/public/v1/listings/{id}/blocksavailability:read指定リスティングに対する自社の有効な外部チャネルブロックを取得します。日付範囲で絞り込むこともできます。
POST/api/public/v1/listings/{id}/blocksavailability:write外部チャネルのブロックを、自社の参照 ID を付けて作成または更新します。
POST/api/public/v1/listings/{id}/blocks/batchavailability:write1件のリスティングに対して最大100件の外部チャネルブロックを1回のリクエストでまとめて作成・更新します。各ブロックごとに成功・失敗の結果が返ります。
DELETE/api/public/v1/listings/{id}/blocks/batchavailability:write1件のリスティングに対して最大100件の外部チャネルブロックを1回のリクエストでまとめて削除します。各ブロックごとに成功・失敗の結果が返ります。
DELETE/api/public/v1/listings/{id}/blocks/{externalRef}availability:write以前に登録した外部チャネルのブロックを削除します。

仮押さえ

メソッドエンドポイントスコープ内容
GET/api/public/v1/holdsholds:write自社の仮押さえを新しい順に一覧します。デフォルトでは有効なものだけを表示し、?status=allで範囲を広げられます。
GET/api/public/v1/holds/{id}holds:writeIDを指定して自社の仮押さえを1件取得します。
POST/api/public/v1/listings/{id}/holdsholds:writeゲストが自社サイトで決済する間、期間を仮押さえします。競合に負けたリクエストには SLOT_TAKEN を含む 409 が返ります。
POST/api/public/v1/holds/{id}/extendholds:write仮押さえの有効期限を現在時刻から延長します。仮押さえの総有効期間は作成時から最大30分に制限されており、この上限を超える延長リクエストは409で拒否されます。
DELETE/api/public/v1/holds/{id}holds:write有効期限前に自社の仮押さえを解除します。

カレンダー同期(iCal)

メソッドエンドポイントスコープ内容
GET/api/public/v1/listings/{id}/calendar.ics署名付き URL、キー不要リスティングのカレンダーを iCal フィードとして取得します。URL 内の署名付きトークンが認証となるため、カレンダーアプリから直接購読できます。
PUT/api/public/v1/listings/{id}/ical-sourcesavailability:writeElefyMove が自社リスティング向けに取得する受信用 iCal フィードを登録または差し替えます。
GET/api/public/v1/listings/{id}/ical-sourcesavailability:readリスティングに登録済みのフィードを、取得ステータスと直近のエラーとあわせて確認します。
DELETE/api/public/v1/listings/{id}/ical-sourcesavailability:writeリスティングの取得を停止し、登録済みフィードを削除します。

Webhook

メソッドエンドポイントスコープ内容
PUT/api/public/v1/webhookswebhooks:managewebhookのエンドポイントURLを設定し、必要に応じてイベント購読リストを置き換えます。
GET/api/public/v1/webhookswebhooks:manage現在のwebhook設定を取得します。署名シークレットが返されることはありません。
DELETE/api/public/v1/webhookswebhooks:managewebhookのURLを削除し、配信を停止します。
POST/api/public/v1/webhooks/testwebhooks:manage現在の購読状況にかかわらず、設定済みのエンドポイントへ署名付きのテストイベントを送信します。
GET/api/public/v1/webhook-deliverieswebhooks:manage自社のwebhook配信履歴を、ステータス・日時・再試行履歴とともに一覧します。
POST/api/public/v1/webhook-deliveries/{id}/redeliverwebhooks:manage失敗または配信不能になった配信を手動で再試行します。

コミュニティ投稿

メソッドエンドポイントスコープ内容
POST/api/public/v1/community/postscommunity:writeコミュニティ投稿を送信します。パートナーが作成した投稿はすべて審査に入り、即座には公開されません。
GET/api/public/v1/community/postscommunity:read自社のコミュニティ投稿と審査ステータスを一覧します。
GET/api/public/v1/community/posts/{externalId}community:read指定した外部IDで自社のコミュニティ投稿を1件取得します。
PATCH/api/public/v1/community/posts/{externalId}community:write自社のコミュニティ投稿を更新します。送信しなかった項目は変更されません。
DELETE/api/public/v1/community/posts/{externalId}community:write自社のコミュニティ投稿を非公開にします。

マーケットプレイス予約

メソッドエンドポイントスコープ内容
GET/api/public/v1/marketplace/bookingsmarketplace:read自社のマーケットプレイス予約をページネーションとフィルターで一覧します。レスポンスには日付と参照情報のみが含まれます。
GET/api/public/v1/marketplace/bookings/{id}marketplace:readIDを指定して自社のマーケットプレイス予約を1件取得します。
POST/api/public/v1/marketplace/bookings/{id}/declinemarketplace:write支払い待ちの予約を拒否します。確定用のエンドポイントはありません——予約は事業者の承認ではなく、支払いが完了した時点で確定します。

共通

メソッドエンドポイントスコープ内容
GET/api/public/v1/ping有効なキーであれば可キーが有効かを確認し、紐づくクライアント名とスコープを取得します。
GET/api/public/v1/me有効なキーであれば可自社APIクライアント自身の情報(名前・環境・キーに紐づくスコープ)を取得します。

データと公正な利用

  • ゲストの個人情報がAPIを通じてやり取りされることはありません。外部のブロック情報には日付と参照情報のみが含まれ、タイの個人データ保護法(PDPA)に準拠しています。
  • APIを通じて取り込まれた掲載情報は、必ずelefymove.com上の正規ページにリンクされます。
  • キーにはスコープが設定されており、ElefyMoveチームがいつでも失効させることができます。

Open API v1 — 現在、統合パートナーの受け入れを進めています。