CBAPI
API pro práci s objekty v mapovém prostředí. Veškeré dotazy jsou možné pouze z povolených IP adres.
Resource Group ¶
Camps ¶
Práce s objekty kempů.
API pracuje výhradně se strukturami ve tvaru JSON řetězce a za použití UTF-8 kódování.
Pokud žádaná operace proběhne úspěšně, je vrácen HTTP kód 200. Pokud operace neproběhne úspěšně, je vrácen odpovídající kód. Ve všech případech je vrácen též platný JSON řetezec. Pokud tělo odpovědi neobsahuje platný JSON řetězec, došlo k neočekávané situaci a výsledek by neměl být použit. O takové situaci nás, prosím, informujte.
Obrázky objektů je možné získávat pomocí odkazu složeného jako: https://stceapp.phonemaps.eu/content/img/cached/camp/{Image} kde {Image} je název souboru včetně relativní cesty, jak jej vrací API. Tedy napr.: https://stceapp.phonemaps.eu/content/img/cached/camp/12/34/72443-1592291234.jpg (jde o ukázkové url, daný odkaz žádný obrázek obsahovat nemusí). API vrací názvy obrázků vždy včetně relativní cesty, tj. např.: 12/34/72443-1592291234.jpg
Get AllGET/api/camps
Získání základních údajů o všech objektech.
Popis výstupních dat (každý objekt v poli items obsahuje):
-
idCamp - id objektu [int]
-
visible - má být objekt zobrazován? [0/1]
-
hideInLanguages - má být objekt v nekterém jazyce zkryt? [0/1 array]
-
latitude - zeměpisná šířka [double]
-
longitude - zeměpisná délka [double]
-
lastUpdate - datum a čast poslední změny objektu [Y-m-d H:i:s]
Example URI
Headers
Content-Type: application/json
200
Headers
Content-Type: application/json
Body
{
"items": [
{
"idCamp": 2,
"visible": 1,
"hideInLanguages": {
1: 0,
6: 0,
7: 0,
9: 0
},
"latitude": 49.9244994,
"longitude": 14.2750997,
"lastUpdate": "2020-01-01 00:00:00"
},
{
"idCamp": 3,
...
},
...
]
}
403
Headers
Content-Type: application/json
Body
{
"errorMessage": "Access denied.",
"errorCode": 15
}
Get DetailGET/api/camps/{idCamp}
Získání všech údajů o vybraném objektu.
Popis výstupních dat viz vložení objektu a získání základních údajů. Při získání detailu se oproti vkládání a získání základních údajů pracuje navíc s:
- images - pole obrázků k objektu. každý záznam obsahuje název souboru a textové popisy v poli, kde klíčem je id jazyka dle číselníku jazyků
Example URI
- idCamp
number
(required)id objektu
Headers
Content-Type: application/json
200
Headers
Content-Type: application/json
Body
{
"item": {
"idCamp": 2,
"lastUpdate": "2020-01-01 00:00:00",
"visible": 1,
"hideInLanguages": {
1: 0,
6: 0,
7: 0,
9: 0
},
"latitude": 49.9244994,
"longitude": 14.2750997,
"phone": "+ 420 733 766 516",
"web": "www.campdobrichovice.cz",
"title": {
1: "Autocamp Dobřichovice",
6: "Autocamp Dobřichovice",
7: "Autocamp Dobřichovice",
9: "Autocamp Dobřichovice"
},
"address": {
1: "Tyršova 1153, 252 29 Dobřichovice",
6: "Tyršova 1153, 252 29 Dobřichovice",
7: "Tyršova 1153, 252 29 Dobřichovice",
9: "Tyršova 1153, 252 29 Dobřichovice"
},
"weblink": {
1: "https://www.centralbohemia.cz/dr-cs/27881-autokemp-dobrichovice.html",
6: "",
7: "",
9: ""
},
"images": [
{
"file": "02/26/90219-1596710226.jpg",
"title": {
1: "© www.campdobrichovice.cz",
6: "© www.campdobrichovice.cz",
7: "© www.campdobrichovice.cz",
9: "© www.campdobrichovice.cz"
}
}
],
"cntTents": 50,
"cntElectricityConnection": 24,
"cntWaterConnection": 0,
"cntDrainageConnection": 0,
"cntCaravansToRent": 24,
"cntBungalowsWithoutSanitaryFacilities": 21,
"cntBungalowsWithSanitaryFacilities": 3,
"cntRoomsWithoutSanitaryFacilities": 0,
"cntRoomsWithSanitaryFacilities": 0,
"cntMobileHomes": 4,
"attrRestaurant": 1,
"attrRefreshment": 0,
"attrWifi": 0,
"attrDogAllowed": 1,
"attrPaymentByCreditCard": 0,
"attrHotwaterIncluded": 1,
"attrHotwaterForFee": 0,
"attrFamilyShowers": 0,
"attrBarrierFreeToilet": 0,
"attrSinkForChemicalToilets": 0,
"attrOptionToCooking": 1,
"attrWashingDishesColdWater": 1,
"attrWashingDishesWarmWater": 0,
"attrFridgeForGuests": 0,
"attrRentAGrill": 1,
"attrWashingMachine": 0,
"attrDryer": 0,
"attrNaturalSwimming": 1,
"attrOutdoorPool": 0,
"attrPaddlingPool": 0,
"attrWaterAttractions": 0,
"attrMultipurposePlayground": 0,
"attrVolleyball": 1,
"attrTableTennis": 0,
"attrTennis": 0,
"attrTrampolines": 0,
"attrPlayground": 1,
"attrCommonRoom": 0,
"attrSportEquipmentsRental": 0,
"attrBikeAndScooterRental": 0,
"attrBoatsAndPaddleboatsRental": 1,
"attrMotorWaterSports": 0,
"attrNonmotorizedWaterSports": 1,
"attrFishing": 0,
"attrAllTheYearRound": 0
}
}
403
Headers
Content-Type: application/json
Body
{
"errorMessage": "Access denied.",
"errorCode": 15
}
404
Headers
Content-Type: application/json
Insert CampPOST/api/camps
Vložení nového objektu.
Popis vstupních dat (údaje označené * jsou povinné):
-
visible - viditelnost objektu [0/1]
-
- latitude - zeměpisná šířka [double]
-
- longitude - zeměpisná délka [double]
-
- title - asociativní jazykové pole názvů objektu, klíčem je id jazyka dle číselníku jazyků [string array]
-
hideInLanguages - asociativní jazykové pole pro možnost zkrytí objektu v dané jazykové verzi , klíčem je id jazyka dle číselník jazyků [0/1 array]
-
address - asociativní jazykové pole adres
-
weblink - asociativní jazykové pole odkazů na objekt na webu centralbohemia
-
phone - telefonní číslo [string:20]
-
web - odkaz na web daného objektu [string:255]
-
cntTents - [int]
-
cntElectricityConnection - [int]
-
cntWaterConnection - [int]
-
cntDrainageConnection - [int]
-
cntCaravansToRent - [int]
-
cntBungalowsWithoutSanitaryFacilities - [int]
-
cntBungalowsWithSanitaryFacilities - [int]
-
cntRoomsWithoutSanitaryFacilities - [int]
-
cntRoomsWithSanitaryFacilities - [int]
-
cntMobileHomes - [int]
-
attrRestaurant - [0/1]
-
attrRefreshment - [0/1]
-
attrWifi - [0/1]
-
attrDogAllowed - [0/1]
-
attrPaymentByCreditCard - [0/1]
-
attrHotwaterIncluded - [0/1]
-
attrHotwaterForFee - [0/1]
-
attrFamilyShowers - [0/1]
-
attrBarrierFreeToilet - [0/1]
-
attrSinkForChemicalToilets - [0/1]
-
attrOptionToCooking - [0/1]
-
attrWashingDishesColdWater - [0/1]
-
attrWashingDishesWarmWater - [0/1]
-
attrFridgeForGuests - [0/1]
-
attrRentAGrill - [0/1]
-
attrWashingMachine - [0/1]
-
attrDryer - [0/1]
-
attrNaturalSwimming - [0/1]
-
attrOutdoorPool - [0/1]
-
attrPaddlingPool - [0/1]
-
attrWaterAttractions - [0/1]
-
attrMultipurposePlayground - [0/1]
-
attrVolleyball - [0/1]
-
attrTableTennis - [0/1]
-
attrTennis - [0/1]
-
attrTrampolines - [0/1]
-
attrPlayground - [0/1]
-
attrCommonRoom - [0/1]
-
attrSportEquipmentsRental - [0/1]
-
attrBikeAndScooterRental - [0/1]
-
attrBoatsAndPaddleboatsRental - [0/1]
-
attrMotorWaterSports - [0/1]
-
attrNonmotorizedWaterSports - [0/1]
-
attrFishing - [0/1]
-
attrAllTheYearRound - [0/1]
Pokud vložení proběhne v pořádku, je vráceno id nového objektu.
Example URI
Headers
Content-Type: application/json
Body
{
"visible": 1,
"latitude": 50.06,
"longitude": 14.445,
"title": {
"1": "title CZ",
"6": "title DE",
"7": "title EN",
"9": "title PL"
},
"hideInLanguages": {
"1": 0,
"6": 0,
"7": 0,
"9": 1
},
"address": {
"1": "address CZ",
"6": "address DE",
"7": "address EN",
"9": "address PL"
},
"weblink": {
"1": "web CZ",
"6": "web DE",
"7": "web EN",
"9": "web PL"
},
"phone": "707843724",
"web": "http://web",
"cntTents": 1,
"cntElectricityConnection": 2,
"cntWaterConnection": 3,
"cntDrainageConnection": 4,
"cntCaravansToRent": 5,
"cntBungalowsWithoutSanitaryFacilities": 6,
"cntBungalowsWithSanitaryFacilities": 7,
"cntRoomsWithoutSanitaryFacilities": 8,
"cntRoomsWithSanitaryFacilities": 9,
"cntMobileHomes": 10,
"attrRestaurant": 1,
"attrRefreshment": 1,
"attrWifi": 1,
"attrDogAllowed": 1,
"attrPaymentByCreditCard": 1,
"attrHotwaterIncluded": 1,
"attrHotwaterForFee": 1,
"attrFamilyShowers": 1,
"attrBarrierFreeToilet": 1,
"attrSinkForChemicalToilets": 1,
"attrOptionToCooking": 1,
"attrWashingDishesColdWater": 1,
"attrWashingDishesWarmWater": 1,
"attrFridgeForGuests": 1,
"attrRentAGrill": 1,
"attrWashingMachine": 1,
"attrDryer": 1,
"attrNaturalSwimming": 1,
"attrOutdoorPool": 1,
"attrPaddlingPool": 1,
"attrWaterAttractions": 1,
"attrMultipurposePlayground": 1,
"attrVolleyball": 1,
"attrTableTennis": 1,
"attrTennis": 1,
"attrTrampolines": 1,
"attrPlayground": 1,
"attrCommonRoom": 1,
"attrSportEquipmentsRental": 1,
"attrBikeAndScooterRental": 1,
"attrBoatsAndPaddleboatsRental": 1,
"attrMotorWaterSports": 1,
"attrNonmotorizedWaterSports": 1,
"attrFishing": 1,
"attrAllTheYearRound": 1
}
200
Headers
Content-Type: application/json
Body
{
"result": {
"idCamp": 12
}
}
403
Headers
Content-Type: application/json
Body
{
"errorMessage": "Access denied.",
"errorCode": 15
}
400
Headers
Content-Type: application/json
Body
{
"errorMessage": "Invalid input data. Problem with following: latitude",
"errorCode": 5
}
Update CampPUT/api/camps/{idCamp}
Aktualizace existujícího objektu.
Popis vstupních dat:
-
visible - viditelnost objektu [0/1]
-
latitude - zeměpisná šířka [double]
-
longitude - zeměpisná délka [double]
-
title - asociativní jazykové pole názvů objektu, klíčem je id jazyka dle číselníku jazyků [string array]
-
hideInLanguages - asociativní jazykové pole pro možnost zkrytí objektu v dané jazykové verzi , klíčem je id jazyka dle číselník jazyků [0/1 array]
-
address - asociativní jazykové pole adres
-
weblink - asociativní jazykové pole odkazů na objekt na webu centralbohemia
-
phone - telefonní číslo [string:20]
-
web - odkaz na web daného objektu [string:255]
-
cntTents - [int]
-
cntElectricityConnection - [int]
-
cntWaterConnection - [int]
-
cntDrainageConnection - [int]
-
cntCaravansToRent - [int]
-
cntBungalowsWithoutSanitaryFacilities - [int]
-
cntBungalowsWithSanitaryFacilities - [int]
-
cntRoomsWithoutSanitaryFacilities - [int]
-
cntRoomsWithSanitaryFacilities - [int]
-
cntMobileHomes - [int]
-
attrRestaurant - [0/1]
-
attrRefreshment - [0/1]
-
attrWifi - [0/1]
-
attrDogAllowed - [0/1]
-
attrPaymentByCreditCard - [0/1]
-
attrHotwaterIncluded - [0/1]
-
attrHotwaterForFee - [0/1]
-
attrFamilyShowers - [0/1]
-
attrBarrierFreeToilet - [0/1]
-
attrSinkForChemicalToilets - [0/1]
-
attrOptionToCooking - [0/1]
-
attrWashingDishesColdWater - [0/1]
-
attrWashingDishesWarmWater - [0/1]
-
attrFridgeForGuests - [0/1]
-
attrRentAGrill - [0/1]
-
attrWashingMachine - [0/1]
-
attrDryer - [0/1]
-
attrNaturalSwimming - [0/1]
-
attrOutdoorPool - [0/1]
-
attrPaddlingPool - [0/1]
-
attrWaterAttractions - [0/1]
-
attrMultipurposePlayground - [0/1]
-
attrVolleyball - [0/1]
-
attrTableTennis - [0/1]
-
attrTennis - [0/1]
-
attrTrampolines - [0/1]
-
attrPlayground - [0/1]
-
attrCommonRoom - [0/1]
-
attrSportEquipmentsRental - [0/1]
-
attrBikeAndScooterRental - [0/1]
-
attrBoatsAndPaddleboatsRental - [0/1]
-
attrMotorWaterSports - [0/1]
-
attrNonmotorizedWaterSports - [0/1]
-
attrFishing - [0/1]
-
attrAllTheYearRound - [0/1]
Pokud úprava proběhne v pořádku, je vráceno id upraveného objektu.
Example URI
- idCamp
number
(required)id objektu
Headers
Content-Type: application/json
Body
{
"visible": 1,
"latitude": 50.06,
"longitude": 14.445,
"title": {
"1": "title CZ",
"6": "title DE",
"7": "title EN",
"9": "title PL"
},
"hideInLanguages": {
"1": 0,
"6": 0,
"7": 0,
"9": 1
},
"address": {
"1": "address CZ",
"6": "address DE",
"7": "address EN",
"9": "address PL"
},
"weblink": {
"1": "web CZ",
"6": "web DE",
"7": "web EN",
"9": "web PL"
},
"phone": "707843724",
"web": "http://web",
"cntTents": 1,
"cntElectricityConnection": 2,
"cntWaterConnection": 3,
"cntDrainageConnection": 4,
"cntCaravansToRent": 5,
"cntBungalowsWithoutSanitaryFacilities": 6,
"cntBungalowsWithSanitaryFacilities": 7,
"cntRoomsWithoutSanitaryFacilities": 8,
"cntRoomsWithSanitaryFacilities": 9,
"cntMobileHomes": 10,
"attrRestaurant": 1,
"attrRefreshment": 1,
"attrWifi": 1,
"attrDogAllowed": 1,
"attrPaymentByCreditCard": 1,
"attrHotwaterIncluded": 1,
"attrHotwaterForFee": 1,
"attrFamilyShowers": 1,
"attrBarrierFreeToilet": 1,
"attrSinkForChemicalToilets": 1,
"attrOptionToCooking": 1,
"attrWashingDishesColdWater": 1,
"attrWashingDishesWarmWater": 1,
"attrFridgeForGuests": 1,
"attrRentAGrill": 1,
"attrWashingMachine": 1,
"attrDryer": 1,
"attrNaturalSwimming": 1,
"attrOutdoorPool": 1,
"attrPaddlingPool": 1,
"attrWaterAttractions": 1,
"attrMultipurposePlayground": 1,
"attrVolleyball": 1,
"attrTableTennis": 1,
"attrTennis": 1,
"attrTrampolines": 1,
"attrPlayground": 1,
"attrCommonRoom": 1,
"attrSportEquipmentsRental": 1,
"attrBikeAndScooterRental": 1,
"attrBoatsAndPaddleboatsRental": 1,
"attrMotorWaterSports": 1,
"attrNonmotorizedWaterSports": 1,
"attrFishing": 1,
"attrAllTheYearRound": 1
}
200
Headers
Content-Type: application/json
Body
{
"result": {
"idCamp": 12
}
}
403
Headers
Content-Type: application/json
Body
{
"errorMessage": "Access denied.",
"errorCode": 15
}
400
Headers
Content-Type: application/json
Body
{
"errorMessage": "Invalid input data. Problem with following: latitude",
"errorCode": 5
}
404
Headers
Content-Type: application/json
Delete CampDELETE/api/camps/{idCamp}
Smazání existujícího objektu.
Pokud smazání proběhne v pořádku, je vráceno id již neexistujícího objektu. Obrázky k danému objektu jsou odstraněny též a v závislosti na stavu cache již nemusí být na serveru dostupné.
Example URI
- idCamp
number
(required)id objektu
Headers
Content-Type: application/json
200
Headers
Content-Type: application/json
Body
{
"result": {
"idCamp": 12
}
}
403
Headers
Content-Type: application/json
Body
{
"errorMessage": "Access denied.",
"errorCode": 15
}
404
Headers
Content-Type: application/json
Insert / Update ImagePOST/api/camps/image/{idCamp}
Vložení nového obrázku nebo přepsání existujícího obrázku u existujícího objektu.
Objekt je nutné určit parametrem idCamp. V těle požadavku je pak nutné předat další údaje:
-
image - base64 kódovaný obrázek ve formátu JPEG. Maximální velikost obrázku 1MB
-
title - asociativní jazykové pole názvů fotografie, klíčem je id jazyka dle číselníku jazyků [string array]
-
? fileToUpdate - název souboru obrázku k přepsání
Atribut fileToUpdate je nepovinný a používá se pouze v situaci, kdy je cílem přepsat již existující obrázek. Pokud je cílem vložit obrázek nový, atribut do těla požadavku neumísťujte.
Pokud vložení / přepsání proběhne v pořádku, je vráceno jméno souboru uloženého obrázku.
Example URI
- idCamp
number
(required)id objektu
to insert
Headers
Content-Type: application/json
Body
{
"image": "TG9yZW0gaXBz ... HDFmWk=",
"title": {
"1": "title CZ",
"6": "title DE",
"7": "title EN",
"9": "title PL"
}
}
to update
Headers
Content-Type: application/json
Body
{
"image": "TG9yZW0gaXBz ... HDFmWk=",
"title": {
"1": "title CZ",
"6": "title DE",
"7": "title EN",
"9": "title PL"
},
"fileToUpdate": "12/34/72443-1592291234.jpg"
}
200
Headers
Content-Type: application/json
Body
{
"result": {
"file": "12/34/72443-1592291234.jpg"
}
}
403
Headers
Content-Type: application/json
Body
{
"errorMessage": "Access denied.",
"errorCode": 15
}
400
Headers
Content-Type: application/json
Body
{
"errorMessage": "Invalid input data. Problem with following: fileToUpdate",
"errorCode": 5
}
404
Headers
Content-Type: application/json
Delete ImageDELETE/api/camps/image/{idCamp}
Smazání obrázku u existujícího objektu.
Objekt je nutné určit parametrem idCamp a jeho obrázek ke smazání pak v těle požadavku názvem souboru včetne relativní cesty v atributu file.
Pokud smazání proběhne v pořádku, je vráceno jméno již neexistujícího souboru. Obrázek je odstraněn a v závislosti na stavu cache již nemusí být na serveru dostupný.
Example URI
- idCamp
number
(required)id objektu
Headers
Content-Type: application/json
Body
{
"file": "12/34/72443-1592291234.jpg"
}
200
Headers
Content-Type: application/json
Body
{
"result": {
"file": "12/34/72443-1592291234.jpg"
}
}
403
Headers
Content-Type: application/json
Body
{
"errorMessage": "Access denied.",
"errorCode": 15
}
404
Headers
Content-Type: application/json