API 能做什么
一个统一的接入层,覆盖房源发布、空档同步与实时联动。
房源 API
将多语言房源信息推送到 ElefyMove。你可以提交我们支持的 9 种语言中的任意一种或多种内容,每条房源在正式发布前都会经过审核。
空档同步
ElefyMove 的主日历是平台上所有可预订资源的唯一真实数据源。每个日期区间都带有状态标记——空闲、临时锁定、已预订或已封锁——清洁/交接缓冲时间由系统统一执行,确保任何渠道都不会造成重复预订。
临时锁定
在客人于你的平台完成结账期间,可设置最长 10 分钟的临时锁定。冲突按服务器接收顺序先到先得处理,落败的请求会返回可供程序解析的 409 响应。
Webhook
订阅经 HMAC-SHA256 签名的事件——房源审核结果、空档变化、锁定生命周期以及订单状态——近乎实时送达。负载内容仅包含日期与引用编号,绝不包含客人的个人信息。
iCal 同步
每个房源都可导出经签名的 iCal 订阅链接,ElefyMove 也可以反向轮询你的订阅链接,让外部封锁在双方系统中保持一致,无需额外编写对接代码。
合作伙伴可以做什么——不可以做什么
第一原则:每一项操作都仅限于你自己的数据。任何方向上都不存在跨合作伙伴的访问。
可以
- 创建、更新和下架你自己的房源,可使用我们支持的 9 种语言中的任意一种
- 查看你自己的房源及其审核状态
- 查看你自己房源的空档情况,并写入带引用编号的外部渠道封锁
- 在结算期间创建并释放临时锁定,最长 10 分钟
- 注册 webhook 并接收已签名的事件——仅包含日期和引用编号
- 导出房源日历(iCal),并注册你自己的 iCal 订阅源
- 查询公开的地理位置层级信息
不可以
- 通过本 API 转移任何款项、退款或押金
- 创建 ElefyMove 的预订或合同——外部预订只会以日历封锁的形式录入
- 发送或接收房客的个人信息
- 访问或修改其他合作伙伴的房源、锁定、封锁或配置
- 向 ElefyMove 用户发送消息、联系或招揽
- 读取或转载你不拥有的房源
- 超出速率限制、共享密钥,或自动化创建账号
获取访问权限
创建开发者账户并验证邮箱后,即可直接在控制台签发自己的 API 密钥。要发布正式房源,还需由 ElefyMove 团队将您的密钥关联到已认证的房东账户。
创建您的 API 密钥创建账户即表示您同意API 使用条款。
可用权限范围
listings:readlistings:writeavailability:readavailability:writeholds:writewebhooks:manage默认速率限制:每个密钥每分钟 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"
}全部端点一览
Open API v1 的完整接口。每个请求都需在 X-Api-Key 请求头中携带你的密钥,且所有路由只能访问你自己的数据。
基础 URL https://elefymove.com
房源
| 方法 | 端点 | 权限范围 | 用途 |
|---|---|---|---|
/api/public/v1/listings | listings:write | 提交新房源进入审核,内容可使用我们支持的 9 种语言中的任意几种。 | |
| GET | /api/public/v1/listings | listings:read | 列出该密钥拥有的全部房源及其当前审核状态。 |
| GET | /api/public/v1/listings/{externalId} | listings:read | 按你指定的外部 ID 读取你的某个房源。 |
| PATCH | /api/public/v1/listings/{externalId} | listings:write | 更新你的房源,未提交的字段保持不变。 |
| DELETE | /api/public/v1/listings/{externalId} | listings:write | 将你的房源下架。 |
可订日期与封锁
| 方法 | 端点 | 权限范围 | 用途 |
|---|---|---|---|
| GET | /api/public/v1/listings/{id}/availability | availability:read | 按日期区间读取房源的统一日历——可订、占位、已订或已封锁。 |
/api/public/v1/listings/{id}/blocks | availability:write | 创建或更新一条外部渠道封锁,用你自己的引用编号标识。 | |
| DELETE | /api/public/v1/listings/{id}/blocks/{externalRef} | availability:write | 删除你此前写入的外部渠道封锁。 |
临时占位
| 方法 | 端点 | 权限范围 | 用途 |
|---|---|---|---|
/api/public/v1/listings/{id}/holds | holds:write | 在客人于你这边完成结账期间占住日期区间。竞争失败的请求会收到带 SLOT_TAKEN 的 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-sources | availability:write | 注册或替换 ElefyMove 为你的房源轮询的入站 iCal 源。 |
| GET | /api/public/v1/listings/{id}/ical-sources | availability:read | 读取房源已注册的源,及其轮询状态和最近一次错误。 |
| DELETE | /api/public/v1/listings/{id}/ical-sources | availability:write | 停止轮询并删除房源已注册的源。 |
Webhook
v1 中的 Webhook 没有供合作伙伴调用的端点。申请密钥时把你的接收地址发给我们,ElefyMove 团队会为你注册,并配置用于签名每次推送的 HMAC-SHA256 密钥。推送失败会按退避策略重试,负载中只包含日期和引用编号。
可接收的事件
listing.approvedlisting.rejectedavailability.changedhold.createdhold.releasedhold.expiredbooking.createdbooking.cancelledping通用
| 方法 | 端点 | 权限范围 | 用途 |
|---|---|---|---|
| GET | /api/public/v1/ping | 任意有效密钥 | 检查密钥是否可用,并读回绑定的客户端名称与权限范围。 |
数据与合理使用
- 客人的个人信息绝不会经由 API 传输——外部封锁仅包含日期和引用编号,符合泰国《个人数据保护法》(PDPA)的要求。
- 通过 API 录入的房源都会链接回 elefymove.com 上的原始页面。
- 所有密钥都有明确的权限范围,ElefyMove 团队可随时予以吊销。
Open API v1 —— 目前正在陆续接入合作伙伴。