5 dakikada başlangıç

Sandbox anahtarı alın, mülkleri listeleyin, abone olun, takvimi okuyun, rezervasyon gönderin ve ilk webhook'unuzu alın.

CesiSync, mülk sahiplerinin takvim ve fiyatlarını acentelere açık bir API ile sunar. Bir acente rezervasyon gönderdiğinde o tarihler saniyeler içinde tüm abonelerde kapanır. Bu rehber, hiçbir şeyi canlıya dokunmadan, sandbox üzerinde uçtan uca bir akış kurar.

1. Sandbox anahtarı alın

  1. Acente hesabıyla kaydolun (onay beklemeniz gerekmez).
  2. Panelde Geliştirici sayfasına gidin, ortamı Sandbox yapın ve Yeni anahtar deyin.
  3. Anahtar (bp_test_…) yalnızca bir kez gösterilir; kaydedin.
curl
export BP_KEY=bp_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
curl -s https://api.cesisync.com/v1/me -H "Authorization: Bearer $BP_KEY"

Sandbox'ınızda size özel üç örnek mülk hazırdır. Hiçbiri gerçek değildir ve yalnızca sizin test anahtarınızla görünür.

2. Mülkleri sorgulayın

curl
curl -s "https://api.cesisync.com/v1/properties?guests=4&amenities=pool.private" -H "Authorization: Bearer $BP_KEY"

Cevapta her mülkün kimliği (id), adı, konumu ve abonelik durumunuz gelir. Filtreler: ad, bölge (geoId), tür, kişi, yatak odası, banyo ve olanak anahtarları.

3. Abone olun

curl
curl -s -X POST https://api.cesisync.com/v1/properties/$PROPERTY_ID/subscription \
  -H "Authorization: Bearer $BP_KEY" -H "Content-Type: application/json" -d '{}'

Mülk sahibi "anında onay" seçtiyse abonelik hemen ACTIVE olur; aksi halde REQUESTED döner ve sahip karar verince subscription.approved olayı gelir. Sandbox'ta bunu POST /v1/sandbox/simulate/subscription-approve ile siz tetikleyebilirsiniz.

4. Takvim, fiyat ve teklif

curl
curl -s "https://api.cesisync.com/v1/properties/$PROPERTY_ID/calendar?from=2027-07-01&to=2027-07-15" -H "Authorization: Bearer $BP_KEY"
curl -s "https://api.cesisync.com/v1/properties/$PROPERTY_ID/availability?checkIn=2027-07-10&checkOut=2027-07-14&guests=4" -H "Authorization: Bearer $BP_KEY"

Bir gün bir geceyi gösterir: 2027-07-10, 10 Temmuz'dan 11 Temmuz'a olan gecedir. Konaklamalar yarı açık [giriş, çıkış) aralığıdır; çıkış günü dahil değildir. Tutarlar küçük para biriminde tam sayıdır (EUR için sent).

5. Rezervasyon gönderin

curl
curl -s -X POST https://api.cesisync.com/v1/reservations \
  -H "Authorization: Bearer $BP_KEY" -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"propertyId":"'$PROPERTY_ID'","checkIn":"2027-07-10","checkOut":"2027-07-14","guests":4,"guestName":"Ali Veli","externalRef":"PMS-1042"}'

Başarılıysa 201 döner ve tarihler herkes için kapanır. Tarihler bu arada başkasına gittiyse 409 dates_unavailable, mülkün kuralına (asgari gece, giriş günü, kişi sayısı) uymuyorsa 422 stay_rules_violated döner. Idempotency-Key aynı isteği tekrar göndermeniz halinde ikinci bir rezervasyon yapılmasını önler.

6. Webhook alın

curl
curl -s -X POST https://api.cesisync.com/v1/webhook-endpoints \
  -H "Authorization: Bearer $BP_KEY" -H "Content-Type: application/json" \
  -d '{"url":"https://your-server.example/hooks/bookingpool"}'
# kaydedin / save the "secret" in the answer, it is shown only once

curl -s -X POST https://api.cesisync.com/v1/sandbox/simulate/other-agency-booking \
  -H "Authorization: Bearer $BP_KEY" -H "Content-Type: application/json" \
  -d '{"propertyId":"'$PROPERTY_ID'","from":"2027-02-10","to":"2027-02-12"}'

Başka bir acentenin rezervasyonunu taklit ettik: adresinize imzalı bir calendar.updated olayı gelir. İmzayı doğrulamayı Webhook rehberinde anlattık.

Canlıya geçmeden önce: acenteniz onaylanınca Geliştirici sayfasında Canlı ortamı açılır ve bp_live_… anahtarı alabilirsiniz. Aynı kod, yalnızca anahtar değişir.