Čedok

Informace o aplikačním rozhraní (API)

  XML Data | API

Následující informace slouží naši partnerům k propojení jejich systémů se systémy používanými CK Čedok. Věnujte, prosím, pozornost všem zveřejňovaným informacím, včetně historie změn.

Naše systémy v současnosti nabízení aplikační rozhraní (tzv. API) na dva základní systémy:

Pro zpřístupnění aplikačního rozhraní a dokumentace kontaktujte vašeho provizního manažera, případně technickou podporu.

Technická podpora na adrese data@cedok.cz je schopna zodpovědět a řešit základní technické dotazy. A dále je schopna zprostředkovat odpovědi na odborné dotazy týkající použití API.

Search Engine API

Aplikační rozhraní umožňuje vyhledávat v nabídkách zájezdů v rezervačním systému Resabee. Jde o analogický způsob ke zpracovávání XML dat, pouze je v tomto případě zaručeno, že jsou vraceny aktuální údaje o dostupnosti a ceně jednotlivých nabídek.

Základní metody rozhraní SE API jsou:
   - /search = používá se k vyheldání nabídek dle zadaných vstupních kritérií.
   - /product/object = slouží se ke stažení podrobných informací o nabídce (popis a fotografie)
   - /product/offers = tato metody je určena pro zjištění aktuálních nabídek (termínů) konkrétního zájezdu pro požadovanou obsazenost pokoje (např. 2 dospělí + 1 dítě ve věku 5 let)
Podrobný popis těchto i dalších metod je součástí online dokumentace aplikačního rozhraní.

Testovací systém Produktivní systém

Booking API

Toto aplikační rozhraní je určeno primárně pro kontrolu dostupnosti nabídky a vytvoření rezervace, případně další práci s rezervací.

Základní metody rozhraní SE API jsou:
   - POST /offer/check = umožňuje ověřit dostupnost zájezdu, součástí kladné odpovědi jsou aktuální ceny zájezdu
   - POST /offer/simple/check = stejně jako předchozí metoda, pouze jsou vynechány některé kontroly. Toto je doporučená metoda pro kontrolu dostupnosti (volné kapacity) zájezdu a je výrazně rychlejší než metoda /offer/check.
   - POST /booking/create = metoda pro vytvoření nezávazné rezervace zájezdu, součástí kladné odpovědi je detail vytvořené rezervace včetně rezervačního čísla
   - GET /booking/display = slouží pro získání kompletních informací o zadané rezervaci
Podrobný popis těchto i dalších metod je součástí online dokumentace aplikačního rozhraní. Obecně je možné pro volání metod Booking API možné použít buď parametr OfferID (který je dostupný pouze přes Search Engine API, není dostupný v XML datech), nebo je nutné specifikovat všechny služby zájezdu.

Příklad volání metody "POST /offer/check" s parametrem OfferID (stejný vstup lze aplikovat i pro další metody):

{
  "State": "OptionalBooking",
  "SkipPlaceRequirementAutoDetect": false,
  "Passengers": [
    {
      "OrdinalNo": 1,
      "IsCustomer": false,
      "Title": "Female",
      "FirstName": "Jana",
      "LastName": "Nováková",
      "BirthDate": "1989-03-15T00:00:00+01:00"
    },
    {
      "OrdinalNo": 2,
      "IsCustomer": false,
      "Title": "Male",
      "FirstName": "Jan",
      "LastName": "Novák",
      "BirthDate": "1989-03-15T00:00:00+01:00"
    }
  ],
  "ExcludeSuggestedServices": false,
  "OfferId": "d434eaf2d15207ef3b41db18d9279f1d3379a7b5b6ab57b6eca3749fa44f07d3",
  "TouroperatorCode": "VITC",
  "priceCode": "G100",
  "PassengersSimple": {
    "AdultsNumber": 2,
    "ChildBirthDates": []
  }
}

Příklad volání metody "POST /offer/check" s výčtem služeb zájezdu (stejný vstup lze aplikovat i pro další metody):

{
  "state": "OptionalBooking",
  "skipPlaceRequirementAutoDetect": false,
  "passengers": [
    {
      "ordinalNo": 1,
      "isCustomer": false,
      "title": "Female",
      "firstName": "Jana",
      "lastName": "Nováková",
      "birthDate": "1989-03-15T00:00:00+01:00"
    },
    {
      "ordinalNo": 2,
      "price": 1287.0,
      "isCustomer": false,
      "title": "Male",
      "firstName": "Jan",
      "lastName": "Novák",
      "birthDate": "1989-03-15T00:00:00+01:00"
    }
  ],
  "excludeSuggestedServices": false,
  "touroperatorCode": "VITC",
  "priceCode": "G100",
  "services": [
    {
      "ordinalNo": 1,
      "packageType": "Standalone",
      "beginDate": "2019-08-27T00:00:00",
      "endDate": "2019-09-03T00:00:00",
      "flight": {
        "departureFlightFullCode": "GDNBOJ2",
        "oneWay": false,
        "returnFlightFullCode": "BOJGDN2"
      },
      "passengerAssignments": [
        {
          "passengerOrdinalNo": 1,
          "takesPlace": true
        },
        {
          "passengerOrdinalNo": 2,
          "takesPlace": true
        }
      ],
      "differentRouteConfirm": false,
      "serviceTypeCode": "FLIGHT"
    },
    {
      "ordinalNo": 2,
      "packageType": "Standalone",
      "beginDate": "2019-08-27T00:00:00",
      "endDate": "2019-09-03T00:00:00",
      "hotel": {
        "hotelCode": "BOJJULI",
        "roomCode": "DBL",
        "foodCode": "F"
      },
      "passengerAssignments": [
        {
          "passengerOrdinalNo": 1,
          "takesPlace": true
        },
        {
          "passengerOrdinalNo": 2,
          "takesPlace": true
        }
      ]
    }
  ]
}

Veškerá data zájezdů pro volání metody jsou dostupná v XML datech. Pouze kód dopravy (departureFlightFullCode atp.) je nutné složit ze tří atributů dopravy v XML datech. A to konkrétně atributů "fromCode", "toCode" a "routeNo", vždy pro každý směr dopravy zvlášť.

Testovací systém Produktivní systém