API

en / cz

Obecné informace

Přístup k API

Toto API umžňuje zdobit vánoční strom. Každý vánoční strom má svůj identifikátor, který jej jednoznačně identifikuje. Identifikátor se zobrazuje v pravém horním rohu scény. Ten je potom potřeba pro vykonávání všech api dotazů.

Základní URL:

Aplikace umoňuje buď standardní HTTP REST API přístup a nebo umožňuje také přístup, kde jsou všechny metody realizovány pouze skrze metodu GET. Tento přístup je užitečný pro testování, popřípadě pro možnost přímé manuální realizace příkazu skrze prohlížeč. Pro tento režim platí, že všechny parametry je potřeba předat skrze query string (tj. get parametry v url). Ke spuštění v tomto režimu je potřeba splnit tyto podmínky:

  • pouze metoda GET
  • parametr method obsahuje reálnou metodu
  • pokud má mít požadavek tělo, všechny parametry těla jsou předány jako query string

Například, požadavek:

PUT /K3H9WGEM/gifts
s tělem
{
    "color": "green",
    "label": "Jan"
}
jde také realizovat jako:
GET /K3H9WGEM/gifts?method=PUT&color=green&label=Jan

Plné url k tomuto příkladu tedy bude:

GET https://vanocnistrom.org/api/K3H9WGEM/gifts?method=PUT&color=green&label=Jan

Barvy

Kdekoliv se zadávají barvy, je možné barvy udávat dvěma způsoby:
  1. celým číslem v rozsahu 0 – 15
  2. názvem pomocí následující tabulky

Barvy

0 black černá
1 red červená
2 green zelená
3 yellow žlutá
4 blue modrá
5 magenta fialová
6 cyan tyrkysová
7 gray šedá
8 lightgray světle šedá
9 lightred světle červená
10 lightgreen světle zelená
11 lightyellow světle žlutá
12 lightblue světle modrá
13 lightmagenta světle fialová
14 lightcyan světle tyrkysová
15 white bílá
default bez uvedení barvy (výchozí barva)

Zdrojový kód

Zdrojový kód aplikace je k dispozici na githubu. Zdrojový kód aplikace je použitelný pod MIT licencí.

Hvězda

GET /{tree}/star

Vrať informace o hvězdě na stromku.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "exists": true,
    "color": "red"
}

curl

curl https://vanocnistrom.org/api/K3H9WGEM/star

testovací url

https://vanocnistrom.org/api/K3H9WGEM/star

PUT /{tree}/star

Ozdob stromek hvězdou.

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - barva hvězdy

Tělo požadavku

{
    "color": "blue"
}

Tělo odpovědi

{
    "success": true
}

curl

curl -X PUT -d '{"color":"blue"}' https://vanocnistrom.org/api/K3H9WGEM/star

testovací url

https://vanocnistrom.org/api/K3H9WGEM/star?method=PUT&color=blue

DELETE /{tree}/star

Sundej ze stromku hvězdu.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM/star

testovací url

https://vanocnistrom.org/api/K3H9WGEM/star?method=DELETE

Řetězy

GET /{tree}/chains

Vrať informace o celém řetězu na stromku.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

[
    {
        "id": 0,
        "exists": true,
        "color": "default"
    },
    {
        "id": 1,
        "exists": true,
        "color": "yellow"
    },
    {
        "id": 2,
        "exists": true,
        "color": "yellow"
    },
    {
        "id": 3,
        "exists": true,
        "color": "yellow"
    },
    {
        "id": 4,
        "exists": true,
        "color": "yellow"
    },
    {
        "id": 5,
        "exists": true,
        "color": "red"
    },
    {
        "id": 6,
        "exists": false
    }
]

curl

curl https://vanocnistrom.org/api/K3H9WGEM/chains

testovací url

https://vanocnistrom.org/api/K3H9WGEM/chains

GET /{tree}/chains/{part}

Vrať informace o části řetězu na stromku.

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo části řetězu

Tělo odpovědi

{
    "id": 2,
    "exists": true,
    "color": "yellow"
}

curl

curl https://vanocnistrom.org/api/K3H9WGEM/chains/2

testovací url

https://vanocnistrom.org/api/K3H9WGEM/chains/2

PUT /{tree}/chains

Ozdob stromek řetězem (všechny části řetězu najednou).

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - barva řetězu

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

curl

curl -X PUT -d '{"color":"green"}' https://vanocnistrom.org/api/K3H9WGEM/chains

testovací url

https://vanocnistrom.org/api/K3H9WGEM/chains?method=PUT&color=green

PUT /{tree}/chains/{part}

Ozdob stromek řetězem (jednu konkrétní část řetězu).

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo části řetězu

Proměnné požadavku

color - barva řetězu

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

curl

curl -X PUT -d '{"color":"green"}' https://vanocnistrom.org/api/K3H9WGEM/chains/1

testovací url

https://vanocnistrom.org/api/K3H9WGEM/chains/1?method=PUT&color=green

DELETE /{tree}/chains

Sundej ze stromku celý řetěz.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM/chains

testovací url

https://vanocnistrom.org/api/K3H9WGEM/chains?method=DELETE

DELETE /{tree}/chains/{part}

Sundej ze stromku část řetězu.

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo části řetězu

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM/chains/1

testovací url

https://vanocnistrom.org/api/K3H9WGEM/chains/1?method=DELETE

Skleněné koule

GET /{tree}/glass-balls

Vrať informace o všech skleněných koulích na stromku.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

[
    {
        "id": 0,
        "exists": true,
        "color": "default"
    },
    {
        "id": 1,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 2,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 3,
        "exists": true,
        "color": "white"
    },
    {
        "id": 4,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 5,
        "exists": true,
        "color": "white"
    },
    {
        "id": 6,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 7,
        "exists": false
    }
]

curl

curl https://vanocnistrom.org/api/K3H9WGEM/glass-balls

testovací url

https://vanocnistrom.org/api/K3H9WGEM/glass-balls

GET /{tree}/glass-balls/{part}

Vrať informace o jedné skleněné kouli na stromku.

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo skleněné koule

Tělo odpovědi

{
    "id": 2,
    "exists": true,
    "color": "yellow"
}

curl

curl https://vanocnistrom.org/api/K3H9WGEM/glass-balls/2

testovací url

https://vanocnistrom.org/api/K3H9WGEM/glass-balls/2

PUT /{tree}/glass-balls

Ozdob stromek skleněnými koulemi (všechny koule).

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - barva skleněné koule

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

curl

curl -X PUT -d '{"color":"green"}' https://vanocnistrom.org/api/K3H9WGEM/glass-balls

testovací url

https://vanocnistrom.org/api/K3H9WGEM/glass-balls?method=PUT&color=green

PUT /{tree}/glass-balls/{part}

Ozdob stromek skleněnou koulí (jednu).

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo skleněné koule

Proměnné požadavku

color - barva skleněné koule

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

curl

curl -X PUT -d '{"color":"green"}' https://vanocnistrom.org/api/K3H9WGEM/glass-balls/1

testovací url

https://vanocnistrom.org/api/K3H9WGEM/glass-balls/1?method=PUT&color=green

DELETE /{tree}/glass-balls

Sundej ze stromku všechny skleněné koule.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM/glass-balls

testovací url

https://vanocnistrom.org/api/K3H9WGEM/glass-balls?method=DELETE

DELETE /{tree}/glass-balls/{part}

Sundej ze stromku jednu skleněnou kouli.

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo skleněné koule

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM/glass-balls/1

testovací url

https://vanocnistrom.org/api/K3H9WGEM/glass-balls/1?method=DELETE

Sladkosti

GET /{tree}/sweets

Vrať informace o všech sladkostech na stromku.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

[
    {
        "id": 0,
        "exists": true,
        "color": "default"
    },
    {
        "id": 1,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 2,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 3,
        "exists": true,
        "color": "white"
    },
    {
        "id": 4,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 5,
        "exists": true,
        "color": "white"
    },
    {
        "id": 6,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 7,
        "exists": false
    }
]

curl

curl https://vanocnistrom.org/api/K3H9WGEM/sweets

testovací url

https://vanocnistrom.org/api/K3H9WGEM/sweets

GET /{tree}/sweets/{part}

Vrať informace o jedné sladkosti na stromku.

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo sladkosti

Tělo odpovědi

{
    "id": 2,
    "exists": true,
    "color": "yellow"
}

curl

curl https://vanocnistrom.org/api/K3H9WGEM/sweets/2

testovací url

https://vanocnistrom.org/api/K3H9WGEM/sweets/2

PUT /{tree}/sweets

Ozdob stromek sladkostmi (všechny sladkosti).

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - barva sladkosti

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

curl

curl -X PUT -d '{"color":"green"}' https://vanocnistrom.org/api/K3H9WGEM/sweets

testovací url

https://vanocnistrom.org/api/K3H9WGEM/sweets?method=PUT&color=green

PUT /{tree}/sweets/{part}

Ozdob stromek sladkostí (jednu).

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo sladkosti

Proměnné požadavku

color - barva sladkosti

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

curl

curl -X PUT -d '{"color":"green"}' https://vanocnistrom.org/api/K3H9WGEM/sweets/1

testovací url

https://vanocnistrom.org/api/K3H9WGEM/sweets/1?method=PUT&color=green

DELETE /{tree}/sweets

Sundej ze stromku všechny sladkosti.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM/sweets

testovací url

https://vanocnistrom.org/api/K3H9WGEM/sweets?method=DELETE

DELETE /{tree}/sweets/{part}

Sundej ze stromku jednu sladkost.

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo sladkosti

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM/sweets/1

testovací url

https://vanocnistrom.org/api/K3H9WGEM/sweets/1?method=DELETE

Svíčky (světla)

GET /{tree}/lamps

Vrať informace o svíčkách na stromku.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

[
    {
        "id": 0,
        "exists": true,
        "color": "default"
    },
    {
        "id": 1,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 2,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 3,
        "exists": true,
        "color": "white"
    },
    {
        "id": 4,
        "exists": true,
        "color": "blue"
    },
    {
        "id": 5,
        "exists": false
    }
]

curl

curl https://vanocnistrom.org/api/K3H9WGEM/lamps

testovací url

https://vanocnistrom.org/api/K3H9WGEM/lamps

GET /{tree}/lamps/{part}

Vrať informace o jednom páru svíček na stromku.

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo páru svíček

Tělo odpovědi

{
    "id": 2,
    "exists": true,
    "color": "yellow"
}

curl

curl https://vanocnistrom.org/api/K3H9WGEM/lamps/2

testovací url

https://vanocnistrom.org/api/K3H9WGEM/lamps/2

PUT /{tree}/lamps

Ozdob stromek svíčkami (všemi svíčkami najednou).

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - barva svíček

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

curl

curl -X PUT -d '{"color":"green"}' https://vanocnistrom.org/api/K3H9WGEM/lamps

testovací url

https://vanocnistrom.org/api/K3H9WGEM/lamps?method=PUT&color=green

PUT /{tree}/lamps/{part}

Ozdob stromek jedním párem svíček.

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo páru svíček

Proměnné požadavku

color - barva svíček

Tělo požadavku

{
    "color": "green"
}

Tělo odpovědi

{
    "success": true
}

curl

curl -X PUT -d '{"color":"green"}' https://vanocnistrom.org/api/K3H9WGEM/lamps/1

testovací url

https://vanocnistrom.org/api/K3H9WGEM/lamps/1?method=PUT&color=green

DELETE /{tree}/lamps

Sundej ze stromku všechny svíčky.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM/lamps

testovací url

https://vanocnistrom.org/api/K3H9WGEM/lamps?method=DELETE

DELETE /{tree}/lamps/{part}

Sundej ze stromku jeden pár svíček.

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo páru svíček

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM/lamps/1

testovací url

https://vanocnistrom.org/api/K3H9WGEM/lamps/1?method=DELETE

Dary

GET /{tree}/gifts

Vrať informace o darech pod stromkem. (Pozor, id darů se průběžně mění!)

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

[
    {
        "id": 0,
        "color": "red",
        "labelColor": "red",
        "ribbonColor": "lightred",
        "label": "George"
    },
    {
        "id": 1,
        "color": "blue",
        "labelColor": "blue",
        "ribbonColor": "lightblue",
        "label": "Maggie"
    },
    {
        "id": 2,
        "color": "brown",
        "labelColor": "green",
        "ribbonColor": "lightgreen",
        "label": "Kristina"
    },
    {
        "id": 3,
        "color": "green",
        "labelColor": "white",
        "ribbonColor": "white",
        "label": "Carl V."
    },
    {
        "id": 4,
        "color": "white",
        "labelColor": "red",
        "ribbonColor": "lightred",
        "label": "Anett"
    }
]

curl

curl https://vanocnistrom.org/api/K3H9WGEM/gifts

testovací url

https://vanocnistrom.org/api/K3H9WGEM/gifts

GET /{tree}/gifts/{part}

Vrať informace o jednom daru. (Pozor, id darů se průběžně mění!)

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo daru

Tělo odpovědi

{
    "id": 0,
    "color": "red",
    "labelColor": "red",
    "ribbonColor": "lightred",
    "label": "George"
}

curl

curl https://vanocnistrom.org/api/K3H9WGEM/gifts/0

testovací url

https://vanocnistrom.org/api/K3H9WGEM/gifts/0

PUT /{tree}/gifts

Polož dar pod stromek. (Pozor, id darů se průběžně mění!)

Parametry

{tree} - id vánočního stromku

Proměnné požadavku

color - barva dárku
labelColor - barva popisku na dárku
ribbonColor - barva stuhy na dárku
label - popisek na dárku

Tělo požadavku

{
    "color": "green",
    "labelColor": "blue",
    "ribbonColor": "lightgreen",
    "label": "Jan"
}

Tělo odpovědi

{
    "success": true
}

curl

curl -X PUT -d '{"color":"green","labelColor":"blue","ribbonColor":"lightgreen","label":"Jan"}' https://vanocnistrom.org/api/K3H9WGEM/gifts

testovací url

https://vanocnistrom.org/api/K3H9WGEM/gifts?method=PUT&color=green&labelColor=blue&ribbonColor=lightgreen&label=Jan

PUT /{tree}/gifts/{part}

Polož dar pod stromek na konkrétní pozici, vyměň dar. (Pozor, id darů se průběžně mění!)

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo daru

Proměnné požadavku

color - barva dárku
labelColor - barva popisku na dárku
ribbonColor - barva stuhy na dárku
label - popisek na dárku

Tělo požadavku

{
    "color": "green",
    "labelColor": "blue",
    "ribbonColor": "lightgreen",
    "label": "Jan"
}

Tělo odpovědi

{
    "success": true
}

curl

curl -X PUT -d '{"color":"green","labelColor":"blue","ribbonColor":"lightgreen","label":"Jan"}' https://vanocnistrom.org/api/K3H9WGEM/gifts/1

testovací url

https://vanocnistrom.org/api/K3H9WGEM/gifts/1?method=PUT&color=green&labelColor=blue&ribbonColor=lightgreen&label=Jan

DELETE /{tree}/gifts

Odstraň všechny dary pod stromkem.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM/gifts

testovací url

https://vanocnistrom.org/api/K3H9WGEM/gifts?method=DELETE

DELETE /{tree}/gifts/{part}

Odstraň jeden dar pod stromkem. (Pozor, id darů se průběžně mění!)

Parametry

{tree} - id vánočního stromku
{part} - pořadové číslo daru

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM/gifts/1

testovací url

https://vanocnistrom.org/api/K3H9WGEM/gifts/1?method=DELETE

Celá scéna

DELETE /{tree}

Vymaž celou scénu.

Parametry

{tree} - id vánočního stromku

Tělo odpovědi

{
    "success": true
}

curl

curl -X DELETE https://vanocnistrom.org/api/K3H9WGEM

testovací url

https://vanocnistrom.org/api/K3H9WGEM?method=DELETE