Otasbox API Dokümantasyonu

Bu doküman, Otasbox platformu üzerinden SabeeApp API'sine erişim sağlayan api.php dosyasının kullanımını açıklar. API, doğrulama için API anahtarı ve gizli anahtar kullanır ve farklı otel ve rezervasyon işlemleri için çeşitli endpoint'ler sunar.

Genel Bilgiler

Base URL: https://otasbox.net/api.php

Kimlik Doğrulama

API'ye erişim için istek başlıklarında aşağıdaki anahtarlar kullanılmalıdır:

Bu anahtarlar, Otasbox veritabanındaki clients tablosundan alınmalıdır.

Endpoint'ler

1. Otel Envanterini Al

GET /api.php/getHotelInventory

Otel envanterini, oda tiplerini ve fiyat planlarını alır.

İstek

Metod GET
URL /api.php/getHotelInventory
Başlıklar
  • X-API-KEY: İstemci API anahtarı
  • X-API-SECRET: İstemci gizli anahtarı

Cevap

{
  "success": true,
  "data": {
    "hotels": [
      {
        "hotel_id": 320,
        "name": "Otel Adı",
        "city": "İstanbul",
        "country": "Türkiye",
        "room_types": [...],
        "rateplans": [...]
      },
      ...
    ]
  }
}

2. Oda Tipi Listesini Al

GET /api.php/getRoomTypeList

Belirtilen otelin oda tiplerini alır.

İstek

Metod GET
URL /api.php/getRoomTypeList?hotel_id=320
Parametreler
  • hotel_id (integer, zorunlu): Otelin benzersiz kimliği
Başlıklar
  • X-API-KEY: İstemci API anahtarı
  • X-API-SECRET: İstemci gizli anahtarı

Cevap

{
  "success": true,
  "data": {
    "room_types": [
      {
        "room_id": 3245,
        "room_name": "Deluxe Oda",
        "max_occupancy": 2,
        ...
      },
      ...
    ]
  }
}

3. Fiyat Planı Listesini Al

GET /api.php/getRatePlanList

Belirtilen otelin fiyat planlarını alır.

İstek

Metod GET
URL /api.php/getRatePlanList?hotel_id=320
Parametreler
  • hotel_id (integer, zorunlu): Otelin benzersiz kimliği
Başlıklar
  • X-API-KEY: İstemci API anahtarı
  • X-API-SECRET: İstemci gizli anahtarı

Cevap

{
  "success": true,
  "data": {
    "rateplans": [
      {
        "rateplan_id": 48950,
        "rateplan_name": "Standart Fiyat",
        ...
      },
      ...
    ]
  }
}

4. Oda Müsaitliklerini Al

POST /api.php/getAvailability

Belirtilen tarih aralığında oda tiplerinin müsaitlik bilgilerini alır.

İstek

Metod POST
URL /api.php/getAvailability
Başlıklar
  • Content-Type: application/json
  • X-API-KEY: İstemci API anahtarı
  • X-API-SECRET: İstemci gizli anahtarı
Gövde (JSON) { "hotel_id": 320, "start_date": "2025-09-20", "end_date": "2025-09-28", "room_ids": [3245, 2475] }

Cevap

{ "success": true, "data": { "hotel_id": 320, "rooms": [ { "room_id": 3245, "start_date": "2025-09-20", "end_date": "2025-09-28", "available_rooms": 5 }, ... ] } }

5. Oda Fiyatlarını Al

POST /api.php/getRates

Belirtilen tarih aralığında oda tipleri ve fiyat planları için fiyat bilgilerini alır.

İstek

Metod POST
URL /api.php/getRates
Başlıklar
  • Content-Type: application/json
  • X-API-KEY: İstemci API anahtarı
  • X-API-SECRET: İstemci gizli anahtarı
Gövde (JSON) { "hotel_id": 320, "start_date": "2025-09-01", "end_date": "2025-09-28", "rooms": [ { "room_id": 3245, "rateplans": [ {"rateplan_id": 0}, {"rateplan_id": 48950} ] }, { "room_id": 2475, "rateplans": [ {"rateplan_id": 0}, {"rateplan_id": 48950}, {"rateplan_id": 49453} ] } ] }

Cevap

{ "success": true, "data": { "hotel_id": 320, "rooms": [ { "room_id": 3245, "start_date": "2025-09-01", "end_date": "2025-09-28", "rateplan": { "rateplan_id": 48950, "rates": [ { "number_of_guests": 1, "amount": 100.00, "currency": "EUR" }, ... ] } }, ... ] } }

6. Yeni Rezervasyon Oluştur

POST /api.php/submitBooking

Yeni bir rezervasyon oluşturur.

İstek

Metod POST
URL /api.php/submitBooking
Başlıklar
  • Content-Type: application/json
  • X-API-KEY: İstemci API anahtarı
  • X-API-SECRET: İstemci gizli anahtarı
Gövde (JSON) Rezervasyon verileri

Örnek Gövde

{ "hotel_id": 320, "reference_id": "588a634734cc8b60dd6", "customer": { "first_name": "Eric", "last_name": "Coleman", "email": "[email protected]", "phone_number": "555-6662", "address": "Rose street 1.", "city": "Miami", "zip": "5000", "country_code": "US", "cc_number": "XXXX XXXX XXXX XXXX", "cc_expiration_date": "01/20", "cc_cvc": "***", "cc_type": "Visa", "cc_name": "Eric Coleman" }, "rooms": [ { "checkin_date": "2025-06-11", "checkout_date": "2025-06-15", "room_id": 3245, "rateplan_id": 0, "guest_count": { "adults": 2, "children_ages": [3] }, "prices": [ {"date": "2025-06-11", "amount": 100}, {"date": "2025-06-12", "amount": 100}, {"date": "2025-06-13", "amount": 100}, {"date": "2025-06-14", "amount": 80} ], "currency": "EUR", "total_price": 380.00 } ], "coupon_code": "B12SGA" }

Cevap

{ "success": true, "message": "Rezervasyon başarıyla oluşturuldu.", "data": { "reservation_code": "ABC123" } }

7. Rezervasyon Değiştir

POST /api.php/modifyBooking

Mevcut bir rezervasyonu değiştirir.

İstek

Metod POST
URL /api.php/modifyBooking
Başlıklar
  • Content-Type: application/json
  • X-API-KEY: İstemci API anahtarı
  • X-API-SECRET: İstemci gizli anahtarı
Gövde (JSON) Değişiklik verileri

Örnek Gövde

{ "hotel_id": 320, "reference_id": "588a634734cc8b60dd6", "status": "Confirmed", "customer": { "customer_id": 11424391, "first_name": "Eric", "last_name": "Coleman", "email": "[email protected]", "phone_number": "555-6662" }, "rooms": [ { "reservation_code": "4APD3W5", "checkin_date": "2025-03-01", "checkout_date": "2025-03-04", "room_id": 16834, "rateplan_id": 0, "guest_count": { "adults": 2, "children_ages": [3] }, "prices": [ {"date": "2025-03-01", "amount": 50}, {"date": "2025-03-02", "amount": 50}, {"date": "2025-03-03", "amount": 60} ], "currency": "EUR", "total_price": 160.00 } ] }

Cevap

{ "success": true, "message": "Rezervasyon başarıyla güncellendi." }

Hata Yönetimi

API, hatalar için HTTP durum kodlarını ve hata mesajlarını döndürür.

Örnek Hata Yanıtı

{ "success": false, "message": "hotel_id parametresi gereklidir." }

Notlar

İletişim

Herhangi bir sorunuz veya sorununuz varsa lütfen destek ekibimizle iletişime geçin.