elefymove

สร้างร่วมกับ ElefyMove

เชื่อมต่อแพลตฟอร์มของคุณเข้ากับ ElefyMove เพื่อลงประกาศที่พัก ซิงค์ห้องว่างแบบเรียลไทม์ และไม่มีวันจองซ้ำวันเดียวกันสองครั้ง

API ทำอะไรได้บ้าง

จุดเชื่อมต่อเดียวสำหรับประกาศที่พัก ห้องว่าง และการซิงค์แบบเรียลไทม์

Listings API

ส่งประกาศที่พักหลายภาษาเข้าสู่ ElefyMove ได้โดยตรง ส่งเนื้อหาได้ในภาษาใดก็ได้จาก 9 ภาษาที่เรารองรับ ทุกประกาศจะถูกตรวจสอบก่อนเผยแพร่จริง

การซิงค์ห้องว่าง

ปฏิทินหลักของ ElefyMove คือแหล่งข้อมูลที่แท้จริงเพียงหนึ่งเดียวสำหรับทุกสิ่งที่จองได้บนแพลตฟอร์ม ทุกช่วงวันที่มีสถานะกำกับ ได้แก่ ว่าง กันไว้ชั่วคราว จองแล้ว หรือถูกบล็อก และช่วงเวลาเว้นสำหรับทำความสะอาดถูกบังคับใช้จากส่วนกลาง เพื่อไม่ให้ช่องทางใดจองซ้ำกันได้

การกันห้องชั่วคราว

กันห้องไว้ชั่วคราวได้นานสูงสุด 10 นาที ระหว่างที่แขกกำลังชำระเงินฝั่งของคุณ หากมีคำขอชนกัน ระบบจะให้สิทธิ์ตามลำดับคำขอที่มาถึงก่อน โดยคำขอที่มาทีหลังจะได้รับสถานะ 409 ที่ระบบอ่านค่าต่อได้

Webhooks

สมัครรับอีเวนต์ที่เซ็นด้วย HMAC-SHA256 สำหรับการอนุมัติประกาศ การเปลี่ยนแปลงห้องว่าง วงจรของการกันห้อง และสถานะการจอง ส่งถึงคุณใกล้เคียงเรียลไทม์ เพย์โหลดมีเฉพาะวันที่และหมายเลขอ้างอิงเท่านั้น ไม่มีข้อมูลส่วนบุคคลของแขก

การซิงค์ iCal

ทุกประกาศส่งออกฟีด iCal ที่เซ็นรับรองได้ และ ElefyMove สามารถดึงข้อมูลจากฟีดของคุณกลับมาได้เช่นกัน ทำให้การบล็อกจากภายนอกสะท้อนตรงกันทั้งสองฝั่งโดยไม่ต้องเขียนโค้ดเชื่อมต่อเพิ่ม

พาร์ตเนอร์ทำอะไรได้บ้าง — และทำอะไรไม่ได้

กฎข้อแรก: ทุกการทำงานผ่าน API จำกัดอยู่เฉพาะข้อมูลของคุณเองเท่านั้น ไม่มีการเข้าถึงข้อมูลข้ามพาร์ตเนอร์ไม่ว่าทิศทางใด

ทำได้

  • สร้าง แก้ไข และถอดประกาศที่พักของคุณเองได้ ในภาษาใดก็ได้จาก 9 ภาษาที่เรารองรับ
  • อ่านประกาศของคุณเองและสถานะการตรวจสอบ
  • อ่านห้องว่างของประกาศของคุณเอง และเขียนบล็อกจากช่องทางภายนอกพร้อมหมายเลขอ้างอิง
  • กันห้องไว้ชั่วคราวและปล่อยคืนได้ นานสูงสุด 10 นาที ระหว่างการชำระเงินฝั่งของคุณ
  • ลงทะเบียน webhook และรับอีเวนต์ที่เซ็นรับรอง — มีเฉพาะวันที่และหมายเลขอ้างอิงเท่านั้น
  • ส่งออกปฏิทินประกาศ (iCal) และลงทะเบียนฟีด iCal ของคุณเอง
  • อ่านโครงสร้างพื้นที่ตั้งสาธารณะ
  • เผยแพร่โพสต์ชุมชนได้ โดยต้องผ่านการตรวจสอบของ ElefyMove ก่อนจึงจะแสดงผล
  • อ่านการจองตลาดกลางของคุณเอง และปฏิเสธรายการที่ยังรอการชำระเงินได้

ทำไม่ได้

  • โอนการชำระเงิน การคืนเงิน หรือเงินมัดจำใดๆ ผ่าน API นี้
  • สร้างการจองหรือสัญญาของ ElefyMove — การจองจากภายนอกจะเข้าระบบในรูปแบบบล็อกปฏิทินเท่านั้น
  • ส่งหรือรับข้อมูลส่วนบุคคลของแขกหรือผู้เช่า
  • เข้าถึงหรือแก้ไขประกาศ การกันห้อง การบล็อก หรือการตั้งค่าของพาร์ตเนอร์รายอื่น
  • ส่งข้อความ ติดต่อ หรือชักชวนผู้ใช้ของ ElefyMove
  • อ่านหรือเผยแพร่ซ้ำประกาศที่คุณไม่ได้เป็นเจ้าของ
  • ใช้เกินอัตราจำกัด แชร์คีย์ หรือสร้างบัญชีอัตโนมัติ

การขอสิทธิ์เข้าถึง

สร้างบัญชีนักพัฒนา ยืนยันอีเมล แล้วออกคีย์ API แบบทดสอบของคุณเองได้จากแดชบอร์ดทันที ส่วนคีย์ใช้งานจริง ผู้ให้เช่าจะเป็นผู้สร้างในระบบหลังบ้านของ ElefyMove

สร้าง API key ของคุณ

การสร้างบัญชีถือว่าคุณยอมรับข้อกำหนดการใช้งาน API

ขอบเขตสิทธิ์ที่มีให้

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

อัตราจำกัดค่าเริ่มต้น: 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อ่านประกาศของคุณหนึ่งรายการด้วยรหัสภายนอกที่คุณกำหนดไว้
PATCH/api/public/v1/listings/{externalId}listings:writeแก้ไขประกาศของคุณ ฟิลด์ที่ไม่ได้ส่งมาจะคงค่าเดิมไว้
DELETE/api/public/v1/listings/{externalId}listings:writeนำประกาศของคุณออกจากการแสดงผล
POST/api/public/v1/listings/{externalId}/photoslistings:writeเพิ่มรูปภาพหนึ่งรูปให้ประกาศโดยไม่ต้องอัปเดตทั้งหมด รูปภาพจะถูกดึงและอัปโหลดใหม่โดย ElefyMove — URL ของคุณจะไม่ถูกเก็บโดยตรง
DELETE/api/public/v1/listings/{externalId}/photos/{photoId}listings:writeลบรูปภาพออกจากประกาศ ระบบจะปฏิเสธด้วยรหัส 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 รายการในคำขอเดียว รหัสที่คุณไม่ได้เป็นเจ้าของหรือไม่มีอยู่จริงจะถูกใส่ไว้ใน notFound แทนที่จะทำให้คำขอทั้งหมดล้มเหลว
GET/api/public/v1/listings/{id}/blocksavailability:readอ่านการบล็อกจากช่องทางภายนอกที่ยังใช้งานอยู่ของคุณเองสำหรับประกาศหนึ่งรายการ เลือกจำกัดช่วงวันที่ได้
POST/api/public/v1/listings/{id}/blocksavailability:writeสร้างหรือแก้ไขการบล็อกวันที่จากช่องทางภายนอก โดยระบุรหัสอ้างอิงของคุณเอง
POST/api/public/v1/listings/{id}/blocks/batchavailability:writeสร้างหรือแก้ไขการบล็อกจากช่องทางภายนอกได้สูงสุด 100 รายการในประกาศเดียวด้วยคำขอเดียว พร้อมผลลัพธ์สำเร็จ/ล้มเหลวแยกรายการ
DELETE/api/public/v1/listings/{id}/blocks/batchavailability:writeลบการบล็อกจากช่องทางภายนอกได้สูงสุด 100 รายการในประกาศเดียวด้วยคำขอเดียว พร้อมผลลัพธ์สำเร็จ/ล้มเหลวแยกรายการ
DELETE/api/public/v1/listings/{id}/blocks/{externalRef}availability:writeลบการบล็อกวันที่จากช่องทางภายนอกที่คุณเคยสร้างไว้

การจองชั่วคราว

เมธอดเอนด์พอยต์สโคปใช้ทำอะไร
GET/api/public/v1/holdsholds:writeแสดงรายการการจองชั่วคราวของคุณ เรียงจากล่าสุด ค่าเริ่มต้นแสดงเฉพาะที่ยัง active ขยายผลลัพธ์ได้ด้วย ?status=all
GET/api/public/v1/holds/{id}holds:writeอ่านการจองชั่วคราวหนึ่งรายการของคุณด้วยรหัส
POST/api/public/v1/listings/{id}/holdsholds:writeจองวันที่ไว้ชั่วคราวระหว่างที่ผู้เข้าพักชำระเงินฝั่งคุณ คำขอที่ช้ากว่าจะได้รับ 409 พร้อมรหัส SLOT_TAKEN
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.icsURL ที่ลงลายเซ็น ไม่ต้องใช้คีย์ดาวน์โหลดปฏิทินของประกาศเป็นฟีด iCal โทเค็นที่ลงลายเซ็นใน URL ทำหน้าที่ยืนยันตัวตน แอปปฏิทินจึงสมัครรับได้โดยตรง
PUT/api/public/v1/listings/{id}/ical-sourcesavailability:writeลงทะเบียนหรือเปลี่ยนฟีด iCal ขาเข้าที่ ElefyMove จะดึงข้อมูลให้ประกาศของคุณ
GET/api/public/v1/listings/{id}/ical-sourcesavailability:readอ่านฟีดที่ลงทะเบียนไว้ของประกาศ พร้อมสถานะการดึงข้อมูลและข้อผิดพลาดล่าสุด
DELETE/api/public/v1/listings/{id}/ical-sourcesavailability:writeหยุดดึงข้อมูลและลบฟีดที่ลงทะเบียนไว้ของประกาศ

เว็บฮุก

เมธอดเอนด์พอยต์สโคปใช้ทำอะไร
PUT/api/public/v1/webhookswebhooks:manageตั้งค่า URL ปลายทาง webhook ของคุณ และเลือกแทนที่รายการอีเวนต์ที่สมัครรับได้
GET/api/public/v1/webhookswebhooks:manageอ่านการตั้งค่า webhook ปัจจุบันของคุณ ไม่มีการส่งคืน signing secret
DELETE/api/public/v1/webhookswebhooks:manageล้างค่า URL ของ webhook และหยุดการส่งข้อมูล
POST/api/public/v1/webhooks/testwebhooks:manageส่งอีเวนต์ทดสอบที่เซ็นรับรองไปยัง endpoint ที่ตั้งค่าไว้ ไม่ว่าจะสมัครรับอีเวนต์ใดอยู่
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อ่านโพสต์ชุมชนหนึ่งรายการของคุณด้วยรหัสภายนอกที่คุณกำหนดไว้
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:readอ่านการจองตลาดกลางหนึ่งรายการของคุณด้วยรหัส
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 — ขณะนี้อยู่ระหว่างรับพาร์ตเนอร์เข้าร่วมทดสอบระบบ