Back to top

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

Breweries

Práce s objekty pivovarů.

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/brewery/{Image} kde {Image} je název souboru včetně relativní cesty, jak jej vrací API. Tedy napr.: https://stceapp.phonemaps.eu/content/img/cached/brewery/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 All
GET/api/breweries

Získání základních údajů o všech objektech.

Popis výstupních dat (každý objekt v poli items obsahuje):

  • idBrewery - 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

GET https://stceapp.phonemaps.eu/api/breweries
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "items": [
        {
            "idBrewery": 2,
            "visible": 1,
            "hideInLanguages": {
                1: 0,
                6: 0,
                7: 0,
                9: 0
            },
            "latitude": 50.1780578,
            "longitude": 15.0385703,
            "lastUpdate": "2020-01-01 00:00:00"
        },
        {
            "idBrewery": 3,
            ...
        },
        ...
    ]
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "errorMessage": "Access denied.",
  "errorCode": 15
}

Get Detail
GET/api/breweries/{idBrewery}

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

GET https://stceapp.phonemaps.eu/api/breweries/idBrewery
URI Parameters
HideShow
idBrewery
number (required) 

id objektu

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "item": {
    "idBrewery": 2,
    "lastUpdate": "1000-01-01 00:00:00",
    "visible": 1,
    "hideInLanguages": {
      "1": 0,
      "6": 0,
      "7": 0,
      "9": 0
    },
    "latitude": 50.1780578,
    "longitude": 15.0385703,
    "title": {
      "1": "Pivovar Nymburk",
      "6": "Nymburk Brauerei",
      "7": "Nymburk Brewery",
      "9": "Browar Nymburk"
    },
    "description": {
      "1": "Vydejte se do Nymburka po stopách slavného spisovatele Bohumila Hrabala. A kde jinde začít, než v slavném Postřižinském pivovaru.",
      "6": "",
      "7": "",
      "9": ""
    },
    "beerontap": {
      "1": "Pepinova 10°, Tmavý ležák 11°, Barbar 13°, Bogan 13°",
      "6": "Pepinova 10°, Tmavý ležák 11°, Barbar 13°, Bogan 13°",
      "7": "Pepinova 10°, Tmavý ležák 11°, Barbar 13°, Bogan 13°",
      "9": "Pepinova 10°, Tmavý ležák 11°, Barbar 13°, Bogan 13°"
    },
    "weblink": {
      "1": "https://www.centralbohemia.cz/dr-cs/26182-pivovar-nymburk.html",
      "6": "",
      "7": "https://www.centralbohemia.cz/dr-en/26182-nymburk-brewery.html",
      "9": ""
    },
    "images": [
      {
        "file": "37/64/42533-1593593764.jpg",
        "title": {
          "1": "",
          "6": "",
          "7": "",
          "9": ""
        }
      }
    ],
    "attrAccommodation": 0,
    "attrRestaurant": 0,
    "attrExcursion": 1
  }
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "errorMessage": "Access denied.",
  "errorCode": 15
}
Response  404
HideShow
Headers
Content-Type: application/json

Insert Brewery
POST/api/breweries

Vložení nového objektu.

Popis vstupních dat (pouze označené údaje jsou povinné):

  • visible - viditelnost objektu [0/1]

  • latitude (povinné) - zeměpisná šířka [double]

  • longitude (povinné) - zeměpisná délka [double]

  • title (povinné) - asociativní jazykové pole názvů objektu, klíčem je id jazyka dle číselníku jazyků [string[255] 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]

  • description - asociativní jazykové pole popisu objektu, klíčem je id jazyka dle číselníku jazyků [string array]

  • beerontap - asociativní jazykové pole piv na čepu objektu, klíčem je id jazyka dle číselníku jazyků [string[255] array]

  • weblink - asociativní jazykové pole odkazů na objekt na webu centralbohemia

  • attrAccommodation - [0/1]

  • attrRestaurant - [0/1]

  • attrExcursion - [0/1]

Pokud vložení proběhne v pořádku, je vráceno id nového objektu.

Example URI

POST https://stceapp.phonemaps.eu/api/breweries
Request
HideShow
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
  },
  "description": {
    "1": "description CZ",
    "6": "description DE",
    "7": "description EN",
    "9": "description PL"
  },
  "beerontap": {
    "1": "pivo CZ",
    "6": "pivo DE",
    "7": "pivo EN",
    "9": "pivo PL"
  },
  "weblink": {
    "1": "web CZ",
    "6": "web DE",
    "7": "web EN",
    "9": "web PL"
  },
  "attrAccommodation": 1,
  "attrRestaurant": 1,
  "attrExcursion": 1
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": {
    "idBrewery": 12
  }
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "errorMessage": "Access denied.",
  "errorCode": 15
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "errorMessage": "Invalid input data. Problem with following: latitude",
  "errorCode": 5
}

Update Brewery
PUT/api/breweries/{idBrewery}

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[255] 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]

  • description - asociativní jazykové pole popisu objektu, klíčem je id jazyka dle číselníku jazyků [string array]

  • beerontap - asociativní jazykové pole piv na čepu objektu, klíčem je id jazyka dle číselníku jazyků [string[255] array]

  • weblink - asociativní jazykové pole odkazů na objekt na webu centralbohemia

  • attrAccommodation - [0/1]

  • attrRestaurant - [0/1]

  • attrExcursion - [0/1]

Pokud úprava proběhne v pořádku, je vráceno id upraveného objektu.

Example URI

PUT https://stceapp.phonemaps.eu/api/breweries/idBrewery
URI Parameters
HideShow
idBrewery
number (required) 

id objektu

Request
HideShow
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
  },
  "description": {
    "1": "description CZ",
    "6": "description DE",
    "7": "description EN",
    "9": "description PL"
  },
  "beerontap": {
    "1": "pivo CZ",
    "6": "pivo DE",
    "7": "pivo EN",
    "9": "pivo PL"
  },
  "weblink": {
    "1": "web CZ",
    "6": "web DE",
    "7": "web EN",
    "9": "web PL"
  },
  "attrAccommodation": 1,
  "attrRestaurant": 1,
  "attrExcursion": 1
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": {
    "idBrewery": 12
  }
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "errorMessage": "Access denied.",
  "errorCode": 15
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "errorMessage": "Invalid input data. Problem with following: latitude",
  "errorCode": 5
}
Response  404
HideShow
Headers
Content-Type: application/json

Delete Brewery
DELETE/api/breweries/{idBrewery}

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

DELETE https://stceapp.phonemaps.eu/api/breweries/idBrewery
URI Parameters
HideShow
idBrewery
number (required) 

id objektu

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": {
    "idBrewery": 12
  }
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "errorMessage": "Access denied.",
  "errorCode": 15
}
Response  404
HideShow
Headers
Content-Type: application/json

Insert / Update Image
POST/api/breweries/image/{idBrewery}

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 idBrewery. 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

POST https://stceapp.phonemaps.eu/api/breweries/image/idBrewery
URI Parameters
HideShow
idBrewery
number (required) 

id objektu

Request  to insert
HideShow
Headers
Content-Type: application/json
Body
{
  "image": "TG9yZW0gaXBz ... HDFmWk=",
  "title": {
    "1": "title CZ",
    "6": "title DE",
    "7": "title EN",
    "9": "title PL"
  }
}
Request  to update
HideShow
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"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": {
    "file": "12/34/72443-1592291234.jpg"
  }
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "errorMessage": "Access denied.",
  "errorCode": 15
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "errorMessage": "Invalid input data. Problem with following: fileToUpdate",
  "errorCode": 5
}
Response  404
HideShow
Headers
Content-Type: application/json

Delete Image
DELETE/api/breweries/image/{idBrewery}

Smazání obrázku u existujícího objektu.

Objekt je nutné určit parametrem idBrewery 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

DELETE https://stceapp.phonemaps.eu/api/breweries/image/idBrewery
URI Parameters
HideShow
idBrewery
number (required) 

id objektu

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "file": "12/34/72443-1592291234.jpg"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": {
    "file": "12/34/72443-1592291234.jpg"
  }
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "errorMessage": "Access denied.",
  "errorCode": 15
}
Response  404
HideShow
Headers
Content-Type: application/json

Generated by aglio on 07 Dec 2020