Přeskočit na obsah
Vývojářské API

Vytvářej aktivity z vlastního systému

Jeden POST požadavek na každý typ aktivity. Pošli svůj obsah jako JSON a získáš zpět aktivitu ve svém účtu Puzzel.org a URL adresu, kterou můžeš předat hráčům nebo vložit do iframe.

Základní URL
https://puzzel.org/api/public/v1
Ověření
Klíč + e-mail v těle požadavku
Endpointy
38 typů aktivit
Kvóta
10 aktivit denně

Tvůj první požadavek

Nic se neinstaluje a žádné handshake není potřeba: pošli tělo JSON se svým klíčem, e-mailem a obsahem. Odpověď obsahuje klíč nové aktivity a URL adresu, na které se hraje.

POST crossword
curl -X POST https://puzzel.org/api/public/v1/crossword \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Crossword",
  "language": "cs",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}

Každý příklad na této stránce je kompletní, spustitelný požadavek. Stačí dosadit vlastní klíč a obsah a funguje tak, jak je.

Ověření

Nejsou tu žádné hlavičky ani bearer token. Oba údaje cestují v těle JSON každého požadavku a klíč je přijat jen pro účet, ke kterému ten e-mail patří.

PoleTypCo dělá
account_api_key
povinné
string
stringKlíč API tvého účtu. Patří do těla požadavku, ne do hlavičky.
email
povinné
string
stringAdresa, kterou se přihlašuje tvůj účet Puzzel.org. Klíč je platný jen společně s ní.

Tvůj klíč najdeš v sekci účtu na nástěnce, za tlačítkem Zobrazit.

Přihlásit se

Klíče API se přidělují při aktivaci předplatného, takže bezplatný účet ho ještě nemá.

Zobrazit tarify

Zacházej s klíčem jako s heslem. Vytváří a přepisuje aktivity ve tvém účtu, takže ho drž na straně serveru a mimo dosah čehokoliv, co může číst prohlížeč.

Tělo požadavku

Každý endpoint přijímá stejných pět polí. Liší se obsahové pole pod nimi: většina bere pole items, pár z nich jednu větu nebo jeden obrázek, a sudoku nebere vůbec nic.

PoleTypCo dělá
account_api_key
povinné
string
stringKlíč API tvého účtu. Patří do těla požadavku, ne do hlavičky.
email
povinné
string
stringAdresa, kterou se přihlašuje tvůj účet Puzzel.org. Klíč je platný jen společně s ní.
title
volitelné
string
stringNázev, který aktivita dostane na tvé nástěnce. Když ho vynecháš, endpoint použije svůj vlastní výchozí název.
language
volitelné
string
stringRozhoduje jen o jazykové verzi v URL adrese, kterou dostaneš zpět — nepřekládá nic, co pošleš. Osmisměrka ho navíc používá k přepnutí výplňových písmen na arabštinu, když je "ar".
Výchozí: "en"
activity_key
volitelné
string
stringVynech ho a vytvoří se nová aktivita. Pošli klíč aktivity, kterou už vlastníš, a místo toho se ta aktivita přestaví.

settings je objekt s možnostmi pro jednotlivé endpointy. Které z nich endpoint čte, je uvedeno níže u něj; cokoliv dalšího tam vložíš, se ignoruje.

Co se vrátí

Úspěšné volání odpoví 200 s klíčem nové aktivity a URL adresou, na které se hraje. Cokoliv jiného odpoví se success nastaveným na false a jedním řetězcem s chybou.

Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}
Selhání
{
  "success": false,
  "error": "Invalid Email or API Key"
}

URL adresa, kterou dostaneš zpět, je pohled embed. Nahraď embed za play a otevřeš ji na celou stránku, nebo za build a otevřeš ji v editoru — klíč za p= zůstává stejný.

Vytváření vs. aktualizace

Pošli activity_key a aktivita za ním se přestaví na místě: její obsah se nahradí, název a časové razítko verze se obnoví a samotný klíč zůstává stejný — takže odkazy a vložení, které jsi už sdílel, dál fungují. Výsledky, umístění ve složce a každé nastavení, které endpoint sám nezapisuje, zůstávají beze změny.

activity_key
{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "activity_key": "-Nq8sample_activity_key",
  "title": "Fruit crossword, week 2",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ]
}
  • title se použije při každé aktualizaci, včetně výchozí hodnoty — když ho vynecháš, aktivita se přejmenuje na výchozí název daného endpointu.
  • Bloky nastavení, které endpoint zapisuje sám, se přepíšou od základu, takže aktualizace je zároveň resetuje na hodnoty, které pošleš, nebo na výchozí hodnoty endpointu.
  • Aktualizovat můžeš jen aktivity, které vlastní tvůj účet. Cizí klíč odpoví 403.
  • Aktualizace stojí stejně jako vytvoření: jedno volání z dnešní kvóty.

Limit požadavků

10
10 aktivit na účet a den

Počítá se každé úspěšné volání, vytvoření i aktualizace stejně. Když limit překročíš, další požadavek odpoví 429, dokud se počítadlo nevynuluje.

Počítadlo vynuluje jednou denně naplánovaná úloha, ne plovoucí 24hodinové okno.

Chyby

Chyby vždy přicházejí jako JSON se stejnými dvěma poli, nikdy jako stránka HTML. Řetězec s chybou je napsaný tak, aby ho přečetl člověk — pojmenovává pole nebo limit, který selhal.

StavCo to znamená
400
Bad Request
Něco v těle chybí, je špatně formátované nebo mimo rozsah. Zpráva pojmenovává dané pole.
401
Unauthorized
E-mail není známý, nebo klíč nepatří k danému účtu.
403
Forbidden
activity_key, který jsi poslal, patří jinému účtu.
429
Too Many Requests
Dnešní kvóta je vyčerpaná. Vynuluje se jednou denně.
500
Server Error
Generátor nedokázal z toho, co jsi poslal, sestavit hlavolam — obvykle je slov málo, nebo je nejde poskládat dohromady.

Endpointy

Jedna cesta pro každý typ aktivity, všechny POST, všechny pod stejnou základní URL adresou. Ke každé je uvedený obsah, který potřebuje, nastavení, které čte, a požadavek, který si můžeš vyzkoušet.

Slova a písmena

Křížovka

Propojí tvé odpovědi do mřížky a definice očísluje za tebe.

#
POST /api/public/v1/crossword 2 až 80 v items
Obsah

Pole slov. Každá položka spojuje odpověď s definicí, která na ni odkazuje.

Bez zadání se použije záložní název “Crossword API”

Co je dobré vědět
  • Odpovědi kratší než dva znaky se před sestavením mřížky vyřadí a alespoň dvě to musí přežít.
  • Odpovědi se převedou na velká písmena a generátor má dvacet pokusů, jak je umístit. Pokud se mu nepodaří umístit ani jedno slovo, volání odpoví 500.
Nastavení, které čte
PoleTypCo dělá
hidden_solution
volitelné v settings
string
stringVolitelné bonusové slovo. Jeho písmena jsou označená v políčkách hotové mřížky, aby je hráči po vyluštění křížovky sbírali, takže každé jeho písmeno se musí objevit v odpovědích.
Ukázkový požadavek
POST crossword
curl -X POST https://puzzel.org/api/public/v1/crossword \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Crossword",
  "language": "cs",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}

Osmisměrka

Skryje tvá slova v mřížce písmen ve směrech a tvaru, které si vybereš.

#
POST /api/public/v1/wordseeker 2 až 40 v items
Obsah

Pole slov. Text definice se stane seznamem slov, se kterým hráči pracují.

Bez zadání se použije záložní název “Wordseeker API”

Co je dobré vědět
  • Odpovědi kratší než dva znaky se vyřadí a každá odpověď se před vložením do mřížky převede na velká písmena.
  • Mřížka se doplňuje latinskými písmeny, pokud language není "ar" — pak se výplň přepne na arabštinu.
Nastavení, které čte
PoleTypCo dělá
hidden_solution
volitelné v settings
string
stringZbylá písmena tvoří tenhle text. Nastavením zároveň řekneš generátoru, aby nejdřív umístil řešení, místo aby napěchoval co nejvíc slov.
directions
volitelné v settings
string[]
string[]Kterými směry může slovo vést. Když ho vynecháš, slova vedou jen na východ, jihovýchod a jih.
Jedno z westeastnorthsouthnorthwestnortheastsouthwestsoutheast
Výchozí: ["east", "southeast", "south"]
template
volitelné v settings
string
stringVyřízne z mřížky tvar, místo aby zůstala čtvercová.
Jedno z squarecirclecrossdiamondpyramidsmileystarcross_plus
Ukázkový požadavek
POST wordseeker
curl -X POST https://puzzel.org/api/public/v1/wordseeker \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Wordseeker",
  "language": "cs",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ],
  "settings": {
    "hidden_solution": "FRUIT",
    "directions": [
      "east",
      "south",
      "southeast"
    ],
    "template": "square"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wordseeker/embed?p=-Nq8sample_activity_key",
  "message": "Wordseeker created successfully"
}

Akrostich

Naskládá tvé odpovědi tak, aby jeden sloupec skládal skryté slovo.

#
POST /api/public/v1/acrostic 1 až 40 v items
Obsah

Pole slov. Dohromady musí obsahovat každé písmeno skrytého slova.

Bez zadání se použije záložní název “Acrostic API”

Co je dobré vědět
  • Pokud odpovědi nedokážou dodat písmena, která řešení potřebuje, volání odpoví 500, místo aby uložilo napůl sestavenou mřížku.
  • Generátor přeuspořádá tvé odpovědi, aby sloupec fungoval, takže pořadí, které pošleš, není pořadí, které vidí hráči.
Nastavení, které čte
PoleTypCo dělá
hidden_solution
povinné v settings
string
stringSlovo, které skládá zvýrazněný sloupec. Bez něj tenhle endpoint neproběhne.
Ukázkový požadavek
POST acrostic
curl -X POST https://puzzel.org/api/public/v1/acrostic \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Acrostic",
  "language": "cs",
  "items": [
    {
      "answer": "PEACH",
      "description": "Fuzzy skin, sweet flesh",
      "type": "text"
    },
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ],
  "settings": {
    "hidden_solution": "PLUM"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/acrostic/embed?p=-Nq8sample_activity_key",
  "message": "Acrostic created successfully"
}

Zpřeházená písmena

api_e_word_scramble

#
POST /api/public/v1/word-scramble 1 až 40 v items
Obsah

api_c_word_scramble

Bez zadání se použije záložní název “Word Scramble API”

Co je dobré vědět
  • Aktivity vytvořené přes API mají vždy zapnuté nastavení pro zamíchání pořadí, takže pořadí, které pošleš, není pořadí, které dostanou hráči.
Nastavení, které čte
PoleTypCo dělá
hidden_solution
volitelné v settings
string
stringVolitelné bonusové slovo, které hráči zadají, jakmile vyřeší zbytek.
Ukázkový požadavek
POST word-scramble
curl -X POST https://puzzel.org/api/public/v1/word-scramble \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Word Scramble",
  "language": "cs",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ],
  "settings": {
    "hidden_solution": "FRUIT"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/word-scramble/embed?p=-Nq8sample_activity_key",
  "message": "Word Scramble created successfully"
}

Šibenice

Změní tvá slova nebo fráze na kola hádání písmen.

#
POST /api/public/v1/hangman 1 až 50 v items
Obsah

Pole slov nebo krátkých frází. Definice je nápověda, kterou vidí hráči.

Bez zadání se použije záložní název “Hangman API”

Ukázkový požadavek
POST hangman
curl -X POST https://puzzel.org/api/public/v1/hangman \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Hangman",
  "language": "cs",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/hangman/embed?p=-Nq8sample_activity_key",
  "message": "Hangman created successfully"
}

Wordle

Z každého slova, které pošleš, udělá hru na hádání slova.

#
POST /api/public/v1/wordle 1 až 50 v items
Obsah

Pole slov. Hráči dostanou jedno kolo na slovo.

Bez zadání se použije záložní název “Wordle API”

Co je dobré vědět
  • Vytvořeno se zapnutým nastavením pro kontrolu, že tipy jsou skutečná slova. Pokud jsou tvá slova jména nebo vymyšlená, vypni ho v editoru.
Ukázkový požadavek
POST wordle
curl -X POST https://puzzel.org/api/public/v1/wordle \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Wordle",
  "language": "cs",
  "items": [
    {
      "answer": "MELON",
      "description": "Sweet and green",
      "type": "text"
    },
    {
      "answer": "PEACH",
      "description": "Fuzzy and orange",
      "type": "text"
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wordle/embed?p=-Nq8sample_activity_key",
  "message": "Wordle created successfully"
}

Nácvik psaní

api_e_typing_practice

#
POST /api/public/v1/typing-practice 1 až 50 v items
Obsah

api_c_typing_practice

Bez zadání se použije záložní název “Typing Practice API”

Ukázkový požadavek
POST typing-practice
curl -X POST https://puzzel.org/api/public/v1/typing-practice \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Typing Practice",
  "language": "cs",
  "items": [
    {
      "answer": "The quick brown fox jumps over the lazy dog",
      "description": "Every letter of the alphabet",
      "type": "text"
    },
    {
      "answer": "Pack my box with five dozen liquor jugs",
      "description": "Another pangram",
      "type": "text"
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/typing-practice/embed?p=-Nq8sample_activity_key",
  "message": "Typing Practice created successfully"
}

Kolo štěstí

api_e_wheel_of_fortune

#
POST /api/public/v1/wheel-of-fortune 1 až 50 v items
Obsah

api_c_wheel_of_fortune

Bez zadání se použije záložní název “Wheel of Fortune API”

Co je dobré vědět
  • Vytvořeno s možností “zobrazit výsledek jen v kole”, takže výsledek se čte z kola, místo aby byl oznámen vedle něj.
Ukázkový požadavek
POST wheel-of-fortune
curl -X POST https://puzzel.org/api/public/v1/wheel-of-fortune \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Wheel of Fortune",
  "language": "cs",
  "items": [
    {
      "answer": "Read a page aloud",
      "description": "Segment 1",
      "type": "text"
    },
    {
      "answer": "Name three fruits",
      "description": "Segment 2",
      "type": "text"
    },
    {
      "answer": "Spell it backwards",
      "description": "Segment 3",
      "type": "text"
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wheel-of-fortune/embed?p=-Nq8sample_activity_key",
  "message": "Wheel of Fortune created successfully"
}

Švédská křížovka

Švédská křížovka: definice jsou uvnitř mřížky a každá má šipku k odpovědi.

#
POST /api/public/v1/arrowword 2 až 80 v items
Obsah

Pole slov. Každá položka spojuje odpověď s definicí, která se vejde do jednoho políčka.

Bez zadání se použije záložní název “Arrowword API”

Nastavení, které čte
PoleTypCo dělá
hidden_solution
volitelné v settings
string
stringVolitelné bonusové slovo. Jeho písmena jsou označená v políčkách hotové mřížky, takže každé jeho písmeno se musí objevit v odpovědích.
Ukázkový požadavek
POST arrowword
curl -X POST https://puzzel.org/api/public/v1/arrowword \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Arrowword",
  "language": "cs",
  "items": [
    {
      "answer": "Stockholm",
      "description": "Capital of Sweden",
      "type": "text"
    },
    {
      "answer": "Oslo",
      "description": "Capital of Norway",
      "type": "text"
    },
    {
      "answer": "Helsinki",
      "description": "Capital of Finland",
      "type": "text"
    }
  ],
  "settings": {
    "hidden_solution": "North"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/arrowword/embed?p=-Nq8sample_activity_key",
  "message": "Arrowword created successfully"
}

Strands

Mřížka, ve které každé písmeno patří k tematickému slovu, a jedno slovo pojmenovávající téma vede od okraje k okraji.

#
POST /api/public/v1/strands 2 až 24 v items
Obsah

Pole tematických slov. Jejich písmena musí spolu se spangramem přesně vyplnit mřížku.

Bez zadání se použije záložní název “Strands API”

Co je dobré vědět
  • Písmena všech slov a spangramu dohromady musí dát přesně 30, 35, 36, 40, 42, 45, 48, 49, 50, 54, 56, 60, 63, 64, 70, 72 nebo 80. Jakýkoli jiný počet odpoví 400 a napíše, kolik písmen přidat nebo ubrat.
Nastavení, které čte
PoleTypCo dělá
theme
volitelné v settings
string
stringHádanka zobrazená nad mřížkou. Když ji vynecháš, hráči uvidí název.
spangram
volitelné v settings
string
stringSlovo nebo slovní spojení, které pojmenovává téma a vede přes mřížku od jednoho okraje ke druhému.
Ukázkový požadavek
POST strands
curl -X POST https://puzzel.org/api/public/v1/strands \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Strands",
  "language": "cs",
  "items": [
    {
      "answer": "whisk",
      "type": "text"
    },
    {
      "answer": "ladle",
      "type": "text"
    },
    {
      "answer": "spatula",
      "type": "text"
    },
    {
      "answer": "grater",
      "type": "text"
    },
    {
      "answer": "peeler",
      "type": "text"
    },
    {
      "answer": "skillet",
      "type": "text"
    }
  ],
  "settings": {
    "theme": "What the cook reaches for",
    "spangram": "Kitchen tools"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/strands/embed?p=-Nq8sample_activity_key",
  "message": "Strands created successfully"
}

Vyjmenovávačka

api_e_name_them_all

#
POST /api/public/v1/name-them-all 1 až 250 v items
Obsah

api_c_name_them_all

Bez zadání se použije záložní název “Name Them All API”

Co je dobré vědět
  • Položka je objekt s answer a volitelně aliases (jiné zápisy, které se počítají), description (nápověda) a group. Při kontrole jména se ignorují velká písmena, diakritika a interpunkce.
Nastavení, které čte
PoleTypCo dělá
list_match_mode
volitelné v settings
string
stringJestli se jméno započítá hned po napsání, nebo až po stisknutí Enter.
Jedno z while_typingon_enter
Výchozí: "while_typing"
list_slot_hint
volitelné v settings
string
stringCo prozradí prázdné políčko: nic, délku jména, první písmeno, nebo nápovědu, kterou jsi napsal.
Jedno z nonelengthfirst_letterhint
Výchozí: "none"
list_arrange
volitelné v settings
string
stringJeden sloupec na skupinu, nebo jeden seznam.
Jedno z groupsone_list
Výchozí: "groups"
list_allow_give_up
volitelné v settings
boolean
booleanZobrazí tlačítko pro vzdání se, které ukončí běh a odhalí, co chybělo.
Výchozí: false
Ukázkový požadavek
POST name-them-all
curl -X POST https://puzzel.org/api/public/v1/name-them-all \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Name Them All",
  "language": "cs",
  "items": [
    {
      "answer": "United Kingdom",
      "aliases": [
        "UK",
        "Great Britain",
        "Britain"
      ],
      "group": "Islands"
    },
    {
      "answer": "Ireland",
      "aliases": [
        "Éire"
      ],
      "group": "Islands"
    },
    {
      "answer": "Côte d'Azur's neighbour Monaco",
      "aliases": [
        "Monaco"
      ],
      "description": "The smallest one",
      "group": "Mainland"
    }
  ],
  "settings": {
    "list_slot_hint": "first_letter",
    "list_match_mode": "on_enter",
    "list_allow_give_up": true
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/name-them-all/embed?p=-Nq8sample_activity_key",
  "message": "Name them all list created successfully"
}
Karty a dvojice

Memory

Karty lícem dolů, které se otáčí a spojují do dvojic.

#
POST /api/public/v1/memory 2 až 30 v items
Obsah

Pole dvojic. Každá dvojice obsahuje dvě karty, které k sobě patří.

Bez zadání se použije záložní název “Memory Game API”

Co je dobré vědět
  • Karta je objekt s type a value. Použij "text" pro slova, nebo "image", "audio", "youtube" či "link" s URL adresou ve value, a přidej alt pro popis.
Ukázkový požadavek
POST memory
curl -X POST https://puzzel.org/api/public/v1/memory \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Memory Game",
  "language": "cs",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/memory/embed?p=-Nq8sample_activity_key",
  "message": "Memory game created successfully"
}

Spoj je

api_e_matching_pairs

#
POST /api/public/v1/matching-pairs 2 až 30 v items
Obsah

api_c_matching_pairs

Bez zadání se použije záložní název “Matching Game API”

Co je dobré vědět
  • Karta je objekt s type a value. Použij "text" pro slova, nebo "image", "audio", "youtube" či "link" s URL adresou ve value, a přidej alt pro popis.
Ukázkový požadavek
POST matching-pairs
curl -X POST https://puzzel.org/api/public/v1/matching-pairs \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Matching Game",
  "language": "cs",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/matching-pairs/embed?p=-Nq8sample_activity_key",
  "message": "Matching pairs game created successfully"
}

Kartičky

api_e_flash_cards

#
POST /api/public/v1/flash-cards 1 až 150 v items
Obsah

api_c_flash_cards

Bez zadání se použije záložní název “Flash Cards API”

Co je dobré vědět
  • Endpoint uloží tolik kartiček, kolik jich pošleš, takže pošli přesně dvě na položku — přední a pak zadní stranu.
  • Karta je objekt s type a value. Použij "text" pro slova, nebo "image", "audio", "youtube" či "link" s URL adresou ve value, a přidej alt pro popis.
Ukázkový požadavek
POST flash-cards
curl -X POST https://puzzel.org/api/public/v1/flash-cards \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Flash Cards",
  "language": "cs",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/flash-cards/embed?p=-Nq8sample_activity_key",
  "message": "Flash Cards created successfully"
}

Třídění do kategorií

Karty, které se třídí do skupiny, kam patří.

#
POST /api/public/v1/categorize Alespoň 2 v items · nejvýš 60 karet celkem
Obsah

Pole kategorií, každá s názvem a kartami, které do ní patří.

Bez zadání se použije záložní název “Categorize Game API”

Co je dobré vědět
  • Kategorie poslaná bez názvu se uloží jako “Untitled Category”, takže ho vždy pošli.
  • Karta je objekt s type a value. Použij "text" pro slova, nebo "image", "audio", "youtube" či "link" s URL adresou ve value, a přidej alt pro popis.
Ukázkový požadavek
POST categorize
curl -X POST https://puzzel.org/api/public/v1/categorize \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Categorize Game",
  "language": "cs",
  "items": [
    {
      "name": "Red fruits",
      "cards": [
        {
          "type": "text",
          "value": "Strawberry"
        },
        {
          "type": "text",
          "value": "Cherry"
        }
      ]
    },
    {
      "name": "Yellow fruits",
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "Lemon"
        }
      ]
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/categorize/embed?p=-Nq8sample_activity_key",
  "message": "Categorize game created successfully"
}

Seřazování

Posloupnost, kterou hráči musí seřadit zpátky do pořadí.

#
POST /api/public/v1/reorder Alespoň 1 v items · nejvýš 60 karet celkem
Obsah

Pole posloupností. Každá obsahuje své karty ve správném pořadí.

Bez zadání se použije záložní název “Reorder Game API”

Co je dobré vědět
  • Pořadí, které pošleš, se uloží jako správné pořadí — číslo jedna první.
  • Karta je objekt s type a value. Použij "text" pro slova, nebo "image", "audio", "youtube" či "link" s URL adresou ve value, a přidej alt pro popis.
Ukázkový požadavek
POST reorder
curl -X POST https://puzzel.org/api/public/v1/reorder \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Reorder Game",
  "language": "cs",
  "items": [
    {
      "name": "From seed to fruit",
      "cards": [
        {
          "type": "text",
          "value": "Plant the seed"
        },
        {
          "type": "text",
          "value": "Water it"
        },
        {
          "type": "text",
          "value": "Watch it grow"
        },
        {
          "type": "text",
          "value": "Pick the fruit"
        }
      ]
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/reorder/embed?p=-Nq8sample_activity_key",
  "message": "Reorder game created successfully"
}

Bingo

Třídní bingo, které moderátor losuje živě: každý hráč dostane kartu sestavenou z tvých items.

#
POST /api/public/v1/bingo Nebere žádné items
Obsah

Pole položek, ze kterých se karty sestavují. Pošli jich výrazně víc, než kolik má jedna karta políček, aby se karty lišily.

Bez zadání se použije záložní název “Bingo API”

Co je dobré vědět
  • Položka je objekt s value a volitelně type ("text", "image" nebo "audio" s URL adresou ve value), description (indicie, kterou moderátor čte v režimu indicií) a alt.
Nastavení, které čte
PoleTypCo dělá
mode
volitelné v settings
string
stringCo vyplní políčka: tvé položky, tvé položky vylosované podle jejich indicie, nebo obyčejná čísla (ta žádné items nepotřebují).
Jedno z itemscluesnumbers
Výchozí: "items"
rows
volitelné v settings
number
numberPočet řádků na každé kartě, 2 až 5.
Výchozí: 3
columns
volitelné v settings
number
numberPočet sloupců na každé kartě, 2 až 5.
Výchozí: 3
highest_number
volitelné v settings
number
numberV režimu čísel se karty plní od 1 do tohoto čísla, nejvýš 100. Funkce placeného tarifu: bez tarifu zůstává 50.
Výchozí: 50
Ukázkový požadavek
POST bingo
curl -X POST https://puzzel.org/api/public/v1/bingo \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Bingo",
  "language": "cs",
  "items": [
    {
      "type": "text",
      "value": "Paris",
      "description": "The capital of France"
    },
    {
      "type": "text",
      "value": "Berlin",
      "description": "The capital of Germany"
    },
    {
      "type": "text",
      "value": "Madrid",
      "description": "The capital of Spain"
    }
  ],
  "settings": {
    "mode": "clues",
    "rows": 3,
    "columns": 4,
    "highest_number": 75
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/bingo/embed?p=-Nq8sample_activity_key",
  "message": "Bingo created successfully"
}

Já mám, kdo má

api_e_i_have_who_has

#
POST /api/public/v1/i-have-who-has 3 až 40 v items
Obsah

api_c_i_have_who_has

Bez zadání se použije záložní název “I Have, Who Has API”

Co je dobré vědět
  • Žádná otázka a žádná odpověď se nesmí objevit dvakrát: žák, který drží odpověď, by nepoznal, ke které otázce patří.
Nastavení, které čte
PoleTypCo dělá
chain_shape
volitelné v settings
string
stringKruh se uzavírá do sebe, takže může začít kterákoli karta; řada se otevírá kartou Start a končí kartou Konec.
Jedno z loopline
Výchozí: "loop"
Ukázkový požadavek
POST i-have-who-has
curl -X POST https://puzzel.org/api/public/v1/i-have-who-has \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "I Have, Who Has",
  "language": "cs",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "3 × 4"
        },
        {
          "type": "text",
          "value": "12"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "6 × 7"
        },
        {
          "type": "text",
          "value": "42"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "9 × 9"
        },
        {
          "type": "text",
          "value": "81"
        }
      ]
    }
  ],
  "settings": {
    "chain_shape": "line"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/i-have-who-has/embed?p=-Nq8sample_activity_key",
  "message": "I have, who has created successfully"
}

Číselný zámek

Číselný zámek: sada karet, z nichž některé dohromady tvoří kód.

#
POST /api/public/v1/keypad 1 až 30 v items
Obsah

Pole karet. Karty, které patří do kódu, nesou své místo v něm.

Bez zadání se použije záložní název “Keypad API”

Co je dobré vědět
  • Karta je objekt s value a volitelně type ("text", "image" nebo "audio" s URL adresou ve value), alt a code_position: její místo v kódu, 1 je první. Karta může být v kódu jen jednou a alespoň jedna v něm být musí.
Nastavení, které čte
PoleTypCo dělá
instructions
volitelné v settings
string
stringOtázka nebo hádanka, na kterou kód odpovídá, zobrazená spolu s kartami.
force_solution_in_correct_order
volitelné v settings
boolean
booleanKarty se musí zadat popořadě. Když je vypnuté, zámek otevře libovolné pořadí správných karet.
Výchozí: false
randomize_order
volitelné v settings
boolean
booleanKaždý hráč dostane karty v zamíchaném pořadí.
Výchozí: true
Ukázkový požadavek
POST keypad
curl -X POST https://puzzel.org/api/public/v1/keypad \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Keypad",
  "language": "cs",
  "items": [
    {
      "type": "text",
      "value": "4"
    },
    {
      "type": "text",
      "value": "7",
      "code_position": 2
    },
    {
      "type": "text",
      "value": "9"
    },
    {
      "type": "text",
      "value": "2",
      "code_position": 1
    }
  ],
  "settings": {
    "instructions": "Press the prime numbers, smallest first.",
    "force_solution_in_correct_order": true,
    "randomize_order": false
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/keypad/embed?p=-Nq8sample_activity_key",
  "message": "Keypad created successfully"
}

Kvarteto

Karetní hra: hráči se navzájem ptají na karty a sbírají sady po čtyřech.

#
POST /api/public/v1/quartets 2 až 16 v items
Obsah

Pole sad. Každá má název a přesně čtyři karty.

Bez zadání se použije záložní název “Quartets API”

Co je dobré vědět
  • Karta je název, nebo objekt s name a description (fakt zobrazený na ní). Žádný název karty se ve hře nesmí objevit dvakrát: hráči se ptají na karty podle názvu.
Nastavení, které čte
PoleTypCo dělá
type
volitelné v settings
string
stringObyčejná hra, nebo učební hra, ve které každá karta ukazuje fakt. Když ho vynecháš, je to learn, pokud některá karta má description.
Jedno z normallearn
Ukázkový požadavek
POST quartets
curl -X POST https://puzzel.org/api/public/v1/quartets \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Quartets",
  "language": "cs",
  "items": [
    {
      "name": "Birds",
      "cards": [
        {
          "name": "Owl",
          "description": "Hunts at night and turns its head three quarters of the way round."
        },
        {
          "name": "Robin",
          "description": "Sings through the winter."
        },
        {
          "name": "Woodpecker",
          "description": "Drums on trees up to twenty times a second."
        },
        {
          "name": "Jay",
          "description": "Buries thousands of acorns each autumn."
        }
      ]
    },
    {
      "name": "Mammals",
      "cards": [
        {
          "name": "Hedgehog",
          "description": "Carries about five thousand spines."
        },
        {
          "name": "Fox",
          "description": "Hears a mouse under the snow."
        },
        {
          "name": "Badger",
          "description": "Lives in a sett with its clan."
        },
        {
          "name": "Otter",
          "description": "Sleeps holding hands so it does not drift off."
        }
      ]
    }
  ],
  "settings": {
    "type": "learn"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/quartets/embed?p=-Nq8sample_activity_key",
  "message": "Quartets game created successfully"
}
Otázky a odpovědi

Kvíz

Otázky s výběrem odpovědi i otevřené otázky, bodované za chodu.

#
POST /api/public/v1/quiz 1 až 100 v items
Obsah

Pole otázek. Otázky s výběrem odpovědi nesou své možnosti; otevřené otázky nesou odpověď, kterou uznáš.

Bez zadání se použije záložní název “Quiz API”

Co je dobré vědět
  • question_type je "multiple_choice", kde správná možnost má isCorrect true; "true_false", totéž s právě dvěma možnostmi, pravda první a nepravda druhá; nebo "open_answer", který místo toho používá correct_answer. Pokud se vynechá, bere se jako výběr z možností.
  • Endpoint pro kvíz předává settings rovnou jako bloky nastavení aktivity, takže to není místo pro volné možnosti — kvíz doladíš dodatečně v editoru.
Ukázkový požadavek
POST quiz
curl -X POST https://puzzel.org/api/public/v1/quiz \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Quiz",
  "language": "cs",
  "items": [
    {
      "question_type": "multiple_choice",
      "description": "Which fruit is yellow?",
      "answers": [
        {
          "type": "text",
          "description": "Banana",
          "isCorrect": true
        },
        {
          "type": "text",
          "description": "Cherry",
          "isCorrect": false
        }
      ]
    },
    {
      "question_type": "open_answer",
      "description": "What colour is a lemon?",
      "correct_answer": "Yellow",
      "explanation": "Lemons ripen from green to yellow."
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/quiz/embed?p=-Nq8sample_activity_key",
  "message": "Quiz created successfully"
}

Desková hra

api_e_board_game

#
POST /api/public/v1/board-game 1 až 100 v items
Obsah

api_c_board_game

Bez zadání se použije záložní název “Board Game API”

Co je dobré vědět
  • question_type je "multiple_choice", kde správná možnost má isCorrect true; "true_false", totéž s právě dvěma možnostmi, pravda první a nepravda druhá; nebo "open_answer", který místo toho používá correct_answer. Pokud se vynechá, bere se jako výběr z možností.
Nastavení, které čte
PoleTypCo dělá
number_of_tiles
volitelné v settings
number
numberKolik políček má herní plán. Mezi 10 a 75.
Výchozí: 30
game_mode
volitelné v settings
string
stringJestli hráči závodí do cíle, nebo cestou sbírají předměty.
Jedno z race_to_finishcollect_items
Výchozí: "race_to_finish"
Ukázkový požadavek
POST board-game
curl -X POST https://puzzel.org/api/public/v1/board-game \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Board Game",
  "language": "cs",
  "items": [
    {
      "question_type": "multiple_choice",
      "description": "Which fruit is yellow?",
      "answers": [
        {
          "type": "text",
          "description": "Banana",
          "isCorrect": true
        },
        {
          "type": "text",
          "description": "Cherry",
          "isCorrect": false
        }
      ]
    },
    {
      "question_type": "open_answer",
      "description": "What colour is a lemon?",
      "correct_answer": "Yellow",
      "explanation": "Lemons ripen from green to yellow."
    }
  ],
  "settings": {
    "number_of_tiles": 30,
    "game_mode": "race_to_finish"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/board-game/embed?p=-Nq8sample_activity_key",
  "message": "Board Game created successfully"
}

Bludiště

Bludiště k projití: každá otázka je komnata a její odpovědi jsou dveře.

#
POST /api/public/v1/maze Alespoň 1 v items
Obsah

Pole otázek s výběrem odpovědi nebo pravda/nepravda, přesně ve tvaru, jaký přijímá endpoint pro kvíz. Otevřené otázky se odmítnou: na dveřích musí být napsaná odpověď.

Bez zadání se použije záložní název “Maze API”

Nastavení, které čte
PoleTypCo dělá
maze_width
volitelné v settings
string
stringJak jsou komnaty rozmístěné: do jednoho sloupce, do čtverce, nebo šířeji.
Jedno z narrownormalwide
Výchozí: "normal"
maze_corridors
volitelné v settings
string
stringKolik bludiště leží mezi dvěma otázkami.
Jedno z shortnormallong
Výchozí: "normal"
maze_fog
volitelné v settings
string
stringZobrazit celé bludiště, nebo jen to, kolem čeho hráč už prošel.
Jedno z offnear
Výchozí: "off"
maze_wrong_door_pause
volitelné v settings
string
stringJak dlouho zůstanou dveře zavřené po špatných dveřích.
Jedno z noneshortlong
Výchozí: "short"
maze_walk_there
volitelné v settings
boolean
booleanNabídne tlačítko, které dovede figurku do další komnaty.
Výchozí: false
maze_seed
volitelné v settings
string
stringHodnota, ze které se bludiště generuje. Stejná hodnota a stejné otázky dají stejné bludiště; když ji vynecháš, vylosuje se nové.
Ukázkový požadavek
POST maze
curl -X POST https://puzzel.org/api/public/v1/maze \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Maze",
  "language": "cs",
  "items": [
    {
      "question_type": "multiple_choice",
      "description": "What is it called when water vapour turns back into liquid droplets?",
      "answers": [
        {
          "type": "text",
          "description": "Evaporation",
          "isCorrect": false
        },
        {
          "type": "text",
          "description": "Condensation",
          "isCorrect": true
        },
        {
          "type": "text",
          "description": "Transpiration",
          "isCorrect": false
        }
      ],
      "explanation": "Cooling vapour condenses into the droplets that make clouds."
    },
    {
      "question_type": "true_false",
      "description": "Most of the water on Earth is fresh water.",
      "answers": [
        {
          "type": "text",
          "description": "True",
          "isCorrect": false
        },
        {
          "type": "text",
          "description": "False",
          "isCorrect": true
        }
      ]
    }
  ],
  "settings": {
    "maze_width": "wide",
    "maze_corridors": "short",
    "maze_seed": "water123",
    "maze_fog": "near"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/maze/embed?p=-Nq8sample_activity_key",
  "message": "Maze created successfully"
}

Jeopardy

Tabule jako v televizní soutěži: nahoře kategorie, pod nimi definice, které jsou tím cennější, čím jsou níž.

#
POST /api/public/v1/jeopardy Alespoň 2 v items
Obsah

Pole kategorií zleva doprava. Každá má název a své definice od horního řádku dolů.

Bez zadání se použije záložní název “Jeopardy API”

Co je dobré vědět
  • Definice je otázka tak, jak ji bere endpoint pro kvíz, open_answer, pokud neuvedeš jinak, s correct_answer a volitelně aliases. Může nést i value (vlastní hodnotu) a daily_double. null nechá políčko prázdné.
Nastavení, které čte
PoleTypCo dělá
jeopardy_buzzer_mode
volitelné v settings
string
stringKdo hraje jak: moderátor ji řídí z konzole, hráči se hlásí z telefonů, nebo každý hráč prochází tabuli sám.
Jedno z hostphonessolo
Výchozí: "host"
jeopardy_contestants
volitelné v settings
string
stringJestli konzole mluví o týmech, nebo o hráčích.
Jedno z teamsplayers
Výchozí: "teams"
jeopardy_value_step
volitelné v settings
number
numberCo řádek stojí: definice má hodnotu tohoto čísla krát číslo jejího řádku. Od 50 do 500, po 50.
Výchozí: 100
jeopardy_answer_time
volitelné v settings
number
numberSekundy na odpověď po otevření definice, nejvýš 300. 0 znamená bez časovače.
Výchozí: 20
jeopardy_wrong_answer_costs
volitelné v settings
boolean
booleanŠpatná odpověď odečte hodnotu definice ze skóre.
Výchozí: false
jeopardy_reveal_on_timeout
volitelné v settings
boolean
booleanKdyž vyprší čas, tabule sama ukáže odpověď.
Výchozí: false
jeopardy_require_question_form
volitelné v settings
boolean
booleanPřipomene hráčům, ať odpovídají ve tvaru otázky.
Výchozí: false
Ukázkový požadavek
POST jeopardy
curl -X POST https://puzzel.org/api/public/v1/jeopardy \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Jeopardy",
  "language": "cs",
  "items": [
    {
      "name": "Planets",
      "questions": [
        {
          "question_type": "open_answer",
          "description": "The planet closest to the Sun.",
          "correct_answer": "Mercury"
        },
        {
          "question_type": "open_answer",
          "description": "It is known as the red planet.",
          "correct_answer": "Mars",
          "explanation": "Iron oxide in its soil gives it the colour."
        },
        {
          "question_type": "multiple_choice",
          "description": "This planet has the most confirmed moons.",
          "answers": [
            {
              "description": "Jupiter",
              "isCorrect": false
            },
            {
              "description": "Saturn",
              "isCorrect": true
            },
            {
              "description": "Neptune",
              "isCorrect": false
            }
          ],
          "daily_double": true
        }
      ]
    },
    {
      "name": "Moons",
      "questions": [
        {
          "question_type": "open_answer",
          "description": "The only world besides Earth that people have walked on.",
          "correct_answer": "The Moon",
          "aliases": [
            "Luna"
          ]
        },
        null,
        {
          "question_type": "name_them_all",
          "description": "Name the four Galilean satellites.",
          "answers": [
            {
              "description": "Io"
            },
            {
              "description": "Europa"
            },
            {
              "description": "Ganymede",
              "aliases": [
                "Ganymedes"
              ]
            },
            {
              "description": "Callisto"
            }
          ],
          "required_count": 3,
          "value": 500
        }
      ]
    }
  ],
  "settings": {
    "jeopardy_buzzer_mode": "solo",
    "jeopardy_value_step": 200,
    "jeopardy_wrong_answer_costs": true
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/jeopardy/embed?p=-Nq8sample_activity_key",
  "message": "Jeopardy board created successfully"
}

Interaktivní video

api_e_interactive_video

#
POST /api/public/v1/interactive-video 1 až 50 v items
Obsah

api_c_interactive_video

Bez zadání se použije záložní název “Interactive Video API”

Co je dobré vědět
  • Okno je objekt s time (sekundy, nebo "1:23"), kind ("question", pokud neuvedeš "note", "think" nebo "chapter") a description. Otázka je otázka tak, jak ji bere endpoint pro kvíz, a může nést rewind_to: odkud se po špatné odpovědi video přehraje.
Nastavení, které čte
PoleTypCo dělá
video_url
povinné v settings
string
stringVideo: stránka na YouTube, Vimeo nebo Bunny Stream, nebo přímý odkaz na soubor mp4, webm nebo mov.
video_duration
volitelné v settings
number
numberDélka videa v sekundách. Když ji uvedeš, okno za koncem videa se odmítne.
Ukázkový požadavek
POST interactive-video
curl -X POST https://puzzel.org/api/public/v1/interactive-video \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Interactive Video",
  "language": "cs",
  "items": [
    {
      "time": 5,
      "kind": "chapter",
      "description": "Evaporation"
    },
    {
      "time": 42.5,
      "kind": "question",
      "question_type": "multiple_choice",
      "description": "What turns liquid water into vapour?",
      "answers": [
        {
          "type": "text",
          "description": "Heat from the sun",
          "isCorrect": true
        },
        {
          "type": "text",
          "description": "Wind from the north",
          "isCorrect": false
        },
        {
          "type": "text",
          "description": "Salt in the sea",
          "isCorrect": false
        }
      ],
      "explanation": "The sun warms the surface and the water evaporates.",
      "rewind_to": 20
    }
  ],
  "settings": {
    "video_url": "https://www.youtube.com/watch?v=al-do-HGuIk",
    "video_duration": 180,
    "video_allow_skipping": true
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/interactive-video/embed?p=-Nq8sample_activity_key",
  "message": "Interactive video created successfully"
}
Věty a čísla

Kryptogram

Změní větu na šifru k rozluštění, znak po znaku.

#
POST /api/public/v1/cryptogram Nebere žádné items
Obsah

Jedna věta v poli sentence. Tento endpoint nebere žádné items.

Bez zadání se použije záložní název “Cryptogram API”

Co je dobré vědět
  • Cokoliv pošleš v items, se ignoruje — hlavolam se sestaví jen z věty.
Nastavení, které čte
PoleTypCo dělá
sentence
povinné
string
stringVěta, která se zašifruje. Hráči ji dekódují znak po znaku.
helpers
volitelné v settings
string
stringKteré znaky se prozradí zdarma jako vstup do hry: žádné, nejčastější, samohlásky, nebo ty, které si sám vypíšeš.
Jedno z nonemost_commonvowelscustom
Výchozí: "none"
character_list
volitelné v settings
string
stringAbeceda, ze které se šifra sestavuje. Když ji necháš prázdnou, šifrování si vybere vlastní.
extra_letters
volitelné v settings
string
stringZnaky, které se prozradí, když je helpers "custom". U ostatních režimů nápovědy se ignoruje.
hide_unused_characters
volitelné v settings
boolean
booleanVynechá z klíče znaky, které věta vůbec nepoužívá.
Výchozí: false
Ukázkový požadavek
POST cryptogram
curl -X POST https://puzzel.org/api/public/v1/cryptogram \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Cryptogram",
  "language": "cs",
  "sentence": "An apple a day keeps the doctor away",
  "settings": {
    "helpers": "vowels",
    "hide_unused_characters": false
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/cryptogram/embed?p=-Nq8sample_activity_key",
  "message": "Cryptogram created successfully"
}

Početní cvičení

Skryje větu za příklady — vyřeš příklad, odhalíš písmeno.

#
POST /api/public/v1/calculation Nebere žádné items
Obsah

Jedna věta v poli sentence. Tento endpoint nebere žádné items.

Bez zadání se použije záložní název “Calculation Game API”

Co je dobré vědět
  • Pokud jsou omezení příliš přísná na to, aby se věta dala zakódovat, volání odpoví 400 a požádá tě, ať je uvolníš, místo aby uložilo neúplný hlavolam.
Nastavení, které čte
PoleTypCo dělá
sentence
povinné
string
stringVěta, kterou hráči odhalí řešením příkladů.
difficulty_level
volitelné v settings
number
numberNejvyšší výsledek, jaký může mít příklad.
Jedno z 20501001000
Výchozí: "100"
operators
volitelné v settings
string[]
string[]Které operace se mohou objevit. x je násobení, : je dělení.
Jedno z +-x:
Výchozí: ["+", "-", "x", ":"]
max_operations
volitelné v settings
number
numberKolik operací může jeden příklad řetězit za sebou.
Jedno z 123
Výchozí: 1
number_difficulty
volitelné v settings
number
numberOmezuje jednotlivá čísla uvnitř příkladu. Od 5 do 1000.
Výchozí: 100
Ukázkový požadavek
POST calculation
curl -X POST https://puzzel.org/api/public/v1/calculation \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Calculation Game",
  "language": "cs",
  "sentence": "Fruit salad for everyone",
  "settings": {
    "difficulty_level": "100",
    "operators": [
      "+",
      "-",
      "x",
      ":"
    ],
    "max_operations": 1,
    "number_difficulty": 100
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/calculation/embed?p=-Nq8sample_activity_key",
  "message": "Calculation game created successfully"
}

Sudoku

Vygeneruje vyřešenou mřížku a pak z ní zase vezme čísla zpátky.

#
POST /api/public/v1/sudoku Nebere žádné items
Obsah

Nic. Celý hlavolam vzejde ze svých dvou nastavení.

Bez zadání se použije záložní název “Sudoku API”

Co je dobré vědět
  • Nepošli žádné items ani sentence — size a difficulty jsou celý vstup.
  • Editor nabízí obtížnost jen pro 2x3, 3x3 a 3x4. API ji použije pro každou velikost, včetně 2x2 a 4x4.
Nastavení, které čte
PoleTypCo dělá
size
volitelné v settings
string
stringVelikost jednoho bloku, zapsaná jako řádky krát sloupce — 3x3 dá klasickou mřížku 9x9. Endpoint jen kontroluje, že se to dá rozebrat na dvě čísla, takže zůstaň u velikostí, které nabízí editor.
Jedno z 2x22x33x33x44x4
Výchozí: "3x3"
difficulty_level
volitelné v settings
string
stringKolik čísel zůstane na startu na herní ploše.
Jedno z easynormalhard
Výchozí: "normal"
Ukázkový požadavek
POST sudoku
curl -X POST https://puzzel.org/api/public/v1/sudoku \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Sudoku",
  "language": "cs",
  "settings": {
    "size": "3x3",
    "difficulty_level": "normal"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/sudoku/embed?p=-Nq8sample_activity_key",
  "message": "Sudoku created successfully"
}

Spadlá věta

api_e_fallen_phrase

#
POST /api/public/v1/fallen-phrase Nebere žádné items
Obsah

api_c_fallen_phrase

Bez zadání se použije záložní název “Fallen Phrase API”

Nastavení, které čte
PoleTypCo dělá
sentence
povinné
string
stringFráze, která se skryje: citát, přísloví, klíčová věta. Nejvýš 120 písmen a číslic.
columns
volitelné v settings
number
numberJak je mřížka široká, od 8 do 18. Užší skládá do každého sloupce víc písmen a je těžší.
Výchozí: 14
helpers
volitelné v settings
string
stringKterá písmena zůstanou v mřížce jako vstup do hry: žádná, nejčastější, samohlásky, nebo ta, která si sám vypíšeš.
Jedno z nonemost_commonvowelscustom
Výchozí: "none"
extra_letters
volitelné v settings
string
stringPísmena, která se prozradí zdarma, když je helpers "custom".
Ukázkový požadavek
POST fallen-phrase
curl -X POST https://puzzel.org/api/public/v1/fallen-phrase \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Fallen Phrase",
  "language": "cs",
  "sentence": "Don't count your chickens before they hatch.",
  "settings": {
    "columns": 12,
    "helpers": "custom",
    "extra_letters": "ky"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/fallen-phrase/embed?p=-Nq8sample_activity_key",
  "message": "Fallen phrase created successfully"
}

Násobilka

api_e_times_tables

#
POST /api/public/v1/times-tables Nebere žádné items
Obsah

api_c_times_tables

Bez zadání se použije záložní název “Times Tables API”

Nastavení, které čte
PoleTypCo dělá
tables
volitelné v settings
number[]
number[]Násobilky k procvičování. Když ho vynecháš, je to 1 až 10; s 11 nebo 12 je mřížka 12x12.
Jedno z 123456789101112
order
volitelné v settings
string
stringJestli řádky a sloupce jdou popořadě, nebo zamíchaně.
Jedno z ascendingshuffled
Výchozí: "ascending"
picture
volitelné v settings
string
stringObrázek, který správné odpovědi vybarvují.
Jedno z sailboatheartrockettreecatfishflowerhouse
Výchozí: "sailboat"
players_choose_tables
volitelné v settings
boolean
booleanKaždý hráč si může vybrat, kterou z násobilek bude procvičovat.
Výchozí: false
fill_same_sums
volitelné v settings
boolean
booleanJedna správná odpověď vyplní všechna políčka se stejným příkladem.
Výchozí: true
Ukázkový požadavek
POST times-tables
curl -X POST https://puzzel.org/api/public/v1/times-tables \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Times Tables",
  "language": "cs",
  "settings": {
    "tables": [
      7,
      3,
      4
    ],
    "order": "shuffled",
    "seed": "k3x9q2ab",
    "picture": "rocket",
    "players_choose_tables": true,
    "fill_same_sums": false
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/times-tables/embed?p=-Nq8sample_activity_key",
  "message": "Times tables created successfully"
}

Doplňovačka

api_e_fill_in_the_gap

#
POST /api/public/v1/fill-in-the-gap 1 až 50 v items
Obsah

api_c_fill_in_the_gap

Bez zadání se použije záložní název “Fill in the gap API”

Co je dobré vědět
  • Napiš celou větu a každé vynechané slovo dej mezi hvězdičky: "Water boils at *100* degrees." Několik slov uvnitř jednoho páru je jedna mezera. Položka může nést i instrukci, která se zobrazí nad větou.
Ukázkový požadavek
POST fill-in-the-gap
curl -X POST https://puzzel.org/api/public/v1/fill-in-the-gap \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Fill in the gap",
  "language": "cs",
  "items": [
    {
      "sentence": "The capital of France is *Paris*, and the river that runs through it is the *Seine*."
    },
    {
      "sentence": "*Amsterdam* is the capital of the Netherlands, but the government sits in *The Hague*.",
      "instruction": "Two cities, one of them two words."
    },
    {
      "sentence": "The *Danube* flows through Vienna, Bratislava, *Budapest* and Belgrade."
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/fill-in-the-gap/embed?p=-Nq8sample_activity_key",
  "message": "Fill in the gap created successfully"
}

Větný rozbor

Věty, ve kterých hráči označují slova štítky: slovní druhy, větné členy, nebo tvoje vlastní štítky.

#
POST /api/public/v1/deconstruct 1 až 50 v items
Obsah

Pole vět. Každé slovo k označení je zapsané jako [word](label).

Bez zadání se použije záložní název “Sentence analysis API”

Co je dobré vědět
  • Napiš větu jako "The [dog](noun) [barks](verb)." Slova bez značky se zobrazí, ale nezkoušejí se. Štítky noun, verb, adjective a subject se každému hráči zobrazí v jeho jazyce.
Nastavení, které čte
PoleTypCo dělá
categories
volitelné v settings
string[]
string[]Štítky, ze kterých hráči vybírají, popořadě. Když ho vynecháš, jsou to štítky použité ve větách. Pošli ho, abys přidal štítek, který nenese žádné slovo, nebo upravil pořadí.
Ukázkový požadavek
POST deconstruct
curl -X POST https://puzzel.org/api/public/v1/deconstruct \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Sentence analysis",
  "language": "cs",
  "items": [
    {
      "sentence": "The [old](adjective) [farmer](noun) [feeds](verb) the [hungry](adjective) [chickens](noun) [early](adverb).",
      "instruction": "Label the nouns, verbs, adjectives and adverbs."
    },
    {
      "sentence": "A [brown](adjective) [horse](noun) [jumped](verb) [quickly](adverb) over the [fence](noun)."
    },
    {
      "sentence": "[Two small lambs](subject) [sleep](verb) in the [barn](noun), and the [dog](noun) [watches](verb) [quietly](adverb)."
    }
  ],
  "settings": {
    "categories": [
      "noun",
      "verb",
      "adjective",
      "adverb",
      {
        "name": "subject",
        "color": "#224466"
      },
      "preposition"
    ]
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/deconstruct/embed?p=-Nq8sample_activity_key",
  "message": "Sentence analysis created successfully"
}

Logická úloha

api_e_logic_puzzle

#
POST /api/public/v1/logic-puzzle Alespoň 3 v items
Obsah

api_c_logic_puzzle

Bez zadání se použije záložní název “Logic Puzzle API”

Co je dobré vědět
  • Každá kategorie potřebuje stejný počet položek, 3 až 6, všechny různé. Jedna kategorie může být označená jako ordered (ceny, časy, věky) s volitelnou unit, díky čemuž může generátor psát indicie o víc, méně a o kolik.
Nastavení, které čte
PoleTypCo dělá
story
volitelné v settings
string
stringPříběh na pozadí zobrazený nad indiciemi.
difficulty
volitelné v settings
string
stringJaké druhy indicií smí generátor použít.
Jedno z easymediumhard
Výchozí: "easy"
hints
volitelné v settings
boolean
booleanNabídne tlačítko, které ukáže další krok.
Výchozí: true
auto_cross
volitelné v settings
boolean
booleanOznačení shody přeškrtne zbytek jejího řádku a sloupce.
Výchozí: true
clue_mode
volitelné v settings
string
stringKdo píše indicie, které hráči vidí: generují se z tabulky, jsou to tvé vlastní věty ve free_clues, nebo žádné.
Jedno z generatedfreenone
Výchozí: "generated"
free_clues
volitelné v settings
string[]
string[]Tvé vlastní věty s indiciemi, zobrazené tak, jak jsou napsané, s clue_mode "free". Nic je nekontroluje.
Ukázkový požadavek
POST logic-puzzle
curl -X POST https://puzzel.org/api/public/v1/logic-puzzle \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Logic Puzzle",
  "language": "cs",
  "items": [
    {
      "name": "Baker",
      "items": [
        "Amira",
        "Jonas",
        "Priya",
        "Tobias"
      ]
    },
    {
      "name": "Cake",
      "items": [
        "Lemon drizzle",
        "Carrot cake",
        "Brownies",
        "Apple pie"
      ]
    },
    {
      "name": "Price",
      "items": [
        "$2",
        "$4",
        "$6",
        "$8"
      ],
      "ordered": true,
      "unit": "dollars"
    }
  ],
  "settings": {
    "story": "Four friends each baked one thing for the school bake sale and each set a different price. Who baked what, and what did it cost?",
    "difficulty": "medium"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/logic-puzzle/embed?p=-Nq8sample_activity_key",
  "message": "Logic puzzle created successfully"
}

Hledání pokladu

api_e_scavenger_hunt

#
POST /api/public/v1/scavenger-hunt 1 až 50 v items
Obsah

api_c_scavenger_hunt

Bez zadání se použije záložní název “Scavenger Hunt API”

Co je dobré vědět
  • Krok je objekt s title, description, code a volitelně accepted_codes (jiné zápisy, které se počítají), url a link_text. Kód se kontroluje bez ohledu na velká písmena a mezery. Mapu s připínáčky lze přidat jen v editoru.
Ukázkový požadavek
POST scavenger-hunt
curl -X POST https://puzzel.org/api/public/v1/scavenger-hunt \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Scavenger Hunt",
  "language": "cs",
  "items": [
    {
      "title": "Start at the front desk",
      "description": "Which year is carved above the entrance?",
      "code": "1897",
      "accepted_codes": [
        "eighteen ninety-seven"
      ]
    },
    {
      "title": "The quiet corner",
      "description": "Find the atlas shelf. What colour is the biggest atlas?",
      "code": "crimson",
      "accepted_codes": [
        "dark red"
      ]
    }
  ]
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/scavenger-hunt/embed?p=-Nq8sample_activity_key",
  "message": "Scavenger hunt created successfully"
}

Prostorová představivost

api_e_spatial_reasoning

#
POST /api/public/v1/spatial-reasoning 1 až 50 v items
Obsah

api_c_spatial_reasoning

Bez zadání se použije záložní název “Spatial Reasoning API”

Co je dobré vědět
  • Objekty a cíle jsou square, triangle, circle, hexagon, pentagon, star, diamond nebo heart. Vztahy jsou inside, outside, behind, in_front_of, right_of, left_of, above, below, same_color_as, different_color_from, larger_than a smaller_than. Pravidlo, které nejde nikdy splnit, odpoví 400.
Nastavení, které čte
PoleTypCo dělá
clue_mode
volitelné v settings
string
stringPravidla zobrazená jako obrázky, nebo jako věty.
Jedno z visualtext
Výchozí: "visual"
unique_object_picks
volitelné v settings
boolean
booleanKaždý tvar lze umístit jen jednou.
Výchozí: false
hide_color_picker
volitelné v settings
boolean
booleanHráči nemohou tvary přebarvovat.
Výchozí: false
Ukázkový požadavek
POST spatial-reasoning
curl -X POST https://puzzel.org/api/public/v1/spatial-reasoning \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Spatial Reasoning",
  "language": "cs",
  "items": [
    {
      "rules": [
        {
          "object": "square",
          "relation": "inside",
          "target": "circle"
        }
      ]
    },
    {
      "rules": [
        {
          "object": "triangle",
          "relation": "above",
          "target": "square"
        },
        {
          "object": "star",
          "relation": "left_of",
          "target": "triangle"
        }
      ]
    }
  ],
  "settings": {
    "clue_mode": "text",
    "unique_object_picks": true,
    "hide_color_picker": false
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/spatial-reasoning/embed?p=-Nq8sample_activity_key",
  "message": "Spatial reasoning activity created successfully"
}

Rébus

Věty zapsané obrázky: hráči čtou obrázky a změny písmen zpátky na slova.

#
POST /api/public/v1/rebus 1 až 30 v items
Obsah

Pole vět. Každá uvádí slova nakreslená jako obrázky; každé další slovo zůstane svými písmeny.

Bez zadání se použije záložní název “Rebus API”

Co je dobré vědět
  • Slovo se kreslí z částí, které dohromady dávají jeho pravopis. Část má písmena, která zastupuje (text), emoji a shows: slovo pro to, co obrázek ukazuje ("broom" pro obrázek zastupující "room"). Změny písmen Puzzel dopočítá. Část může být místo toho symbol, například 4 pro "for".
Nastavení, které čte
PoleTypCo dělá
rebus_commas
volitelné v settings
boolean
booleanVynechané první nebo poslední písmeno nakreslí jako čárku vedle obrázku.
Výchozí: false
Ukázkový požadavek
POST rebus
curl -X POST https://puzzel.org/api/public/v1/rebus \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Rebus",
  "language": "cs",
  "items": [
    {
      "sentence": "I sweep the room before the sunflower wilts.",
      "words": [
        {
          "word": "I",
          "parts": [
            {
              "text": "I",
              "kind": "sound",
              "emoji": "👁️"
            }
          ]
        },
        {
          "word": "room",
          "parts": [
            {
              "text": "room",
              "kind": "picture",
              "shows": "broom",
              "emoji": "🧹"
            }
          ]
        },
        {
          "word": "before",
          "parts": [
            {
              "text": "be",
              "kind": "picture",
              "shows": "bee",
              "emoji": "🐝"
            },
            {
              "text": "for",
              "kind": "sound",
              "glyph": "4"
            },
            {
              "text": "e",
              "kind": "letters"
            }
          ]
        },
        {
          "word": "the",
          "position": 6,
          "parts": [
            {
              "text": "the",
              "kind": "picture",
              "shows": "tree",
              "emoji": "🌳"
            }
          ]
        },
        {
          "word": "sunflower",
          "parts": [
            {
              "text": "sun",
              "kind": "picture",
              "shows": "sun",
              "emoji": "☀️"
            },
            {
              "text": "flower",
              "kind": "picture",
              "shows": "flower",
              "emoji": "🌸"
            }
          ]
        }
      ]
    }
  ],
  "settings": {
    "rebus_commas": true
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/rebus/embed?p=-Nq8sample_activity_key",
  "message": "Rebus created successfully"
}
Obrázky

Puzzle

Rozřeže obrázek na dílky, které se skládají zpátky.

#
POST /api/public/v1/jigsaw Nebere žádné items
Obsah

Jedna URL adresa obrázku v poli image. Tento endpoint nebere žádné items.

Bez zadání se použije záložní název “Jigsaw Game API”

Co je dobré vědět
  • API vždy vytvoří puzzle 4×4. Počet dílků, nepravidelné dílky a rovné okraje jsou nastavení editoru — poslání rows nebo columns sem nic neudělá.
  • URL adresa se uloží přesně tak, jak ji pošleš, a soubor se nikdy nekopíruje, takže musí zůstat veřejně dostupná po celou dobu, kdy se aktivita hraje.
Nastavení, které čte
PoleTypCo dělá
image
povinné
string
stringAbsolutní URL adresa obrázku, který se rozřeže. Posílá se na nejvyšší úrovni, ne uvnitř settings.
Ukázkový požadavek
POST jigsaw
curl -X POST https://puzzel.org/api/public/v1/jigsaw \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Jigsaw Game",
  "language": "cs",
  "image": "https://example.com/orchard.jpg"
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/jigsaw/embed?p=-Nq8sample_activity_key",
  "message": "Jigsaw game created successfully"
}

Posuvný hlavolam

Rozseká obrázek na dílky, které se posouvají na místo.

#
POST /api/public/v1/slidingpuzzle Nebere žádné items
Obsah

Jedna URL adresa obrázku uvnitř settings. Tento endpoint nebere žádné items.

Bez zadání se použije záložní název “Sliding Puzzle API”

Co je dobré vědět
  • Na rozdíl od puzzle tento endpoint čte obrázek z settings.image. Pole image na nejvyšší úrovni se ignoruje a volání odpoví 400.
  • URL adresa se uloží přesně tak, jak ji pošleš, a soubor se nikdy nekopíruje, takže musí zůstat veřejně dostupná po celou dobu, kdy se aktivita hraje.
Nastavení, které čte
PoleTypCo dělá
image
povinné v settings
string
stringAbsolutní URL adresa obrázku, který se rozseká na posuvné dílky. Na rozdíl od puzzle je tahle uvnitř settings.
Ukázkový požadavek
POST slidingpuzzle
curl -X POST https://puzzel.org/api/public/v1/slidingpuzzle \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Sliding Puzzle",
  "language": "cs",
  "settings": {
    "image": "https://example.com/orchard.jpg"
  }
}'
Úspěch
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/slidingpuzzle/embed?p=-Nq8sample_activity_key",
  "message": "Sliding puzzle created successfully"
}

Něco se nechová, jak má?

Pošli požadavek, který jsi zkusil, a chybu, kterou jsi dostal zpátky, a dostaneš skutečnou odpověď od člověka, který ten endpoint napsal.

Napsat podpoře