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"
}
]
}'
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.
Pole
Typ
Co dělá
account_api_key
povinné
string
string
Klíč API tvého účtu. Patří do těla požadavku, ne do hlavičky.
email
povinné
string
string
Adresa, kterou se přihlašuje tvůj účet Puzzel.org. Klíč je platný jen společně s ní.
title
volitelné
string
string
Ná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
string
Rozhoduje 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
string
Vynech 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.
{
"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.
Stav
Co 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
P
E
S
L
D
O
M
A
T
Křížovka
Propojí tvé odpovědi do mřížky a definice očísluje za tebe.
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
Pole
Typ
Co dělá
hidden_solution
volitelnév settings
string
string
Volitelné 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"
}
]
}'
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"
}
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
Pole
Typ
Co dělá
theme
volitelnév settings
string
string
Hádanka zobrazená nad mřížkou. Když ji vynecháš, hráči uvidí název.
spangram
volitelnév settings
string
string
Slovo nebo slovní spojení, které pojmenovává téma a vede přes mřížku od jednoho okraje ke druhému.
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
Pole
Typ
Co dělá
list_match_mode
volitelnév settings
string
string
Jestli se jméno započítá hned po napsání, nebo až po stisknutí Enter.
Jedno zwhile_typingon_enter
Výchozí: "while_typing"
list_slot_hint
volitelnév settings
string
string
Co prozradí prázdné políčko: nic, délku jména, první písmeno, nebo nápovědu, kterou jsi napsal.
Jedno znonelengthfirst_letterhint
Výchozí: "none"
list_arrange
volitelnév settings
string
string
Jeden sloupec na skupinu, nebo jeden seznam.
Jedno zgroupsone_list
Výchozí: "groups"
list_allow_give_up
volitelnév settings
boolean
boolean
Zobrazí tlačítko pro vzdání se, které ukončí běh a odhalí, co chybělo.
{
"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"
}
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
Pole
Typ
Co dělá
mode
volitelnév settings
string
string
Co vyplní políčka: tvé položky, tvé položky vylosované podle jejich indicie, nebo obyčejná čísla (ta žádné items nepotřebují).
Jedno zitemscluesnumbers
Výchozí: "items"
rows
volitelnév settings
number
number
Počet řádků na každé kartě, 2 až 5.
Výchozí: 3
columns
volitelnév settings
number
number
Počet sloupců na každé kartě, 2 až 5.
Výchozí: 3
highest_number
volitelnév settings
number
number
V 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
}
}'
{
"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"
}
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
Pole
Typ
Co dělá
instructions
volitelnév settings
string
string
Otázka nebo hádanka, na kterou kód odpovídá, zobrazená spolu s kartami.
force_solution_in_correct_order
volitelnév settings
boolean
boolean
Karty se musí zadat popořadě. Když je vypnuté, zámek otevře libovolné pořadí správných karet.
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
Pole
Typ
Co dělá
type
volitelnév settings
string
string
Obyč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 znormallearn
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"
}
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."
}
]
}'
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
Pole
Typ
Co dělá
number_of_tiles
volitelnév settings
number
number
Kolik políček má herní plán. Mezi 10 a 75.
Výchozí: 30
game_mode
volitelnév settings
string
string
Jestli hráči závodí do cíle, nebo cestou sbírají předměty.
Jedno zrace_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"
}
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
Pole
Typ
Co dělá
maze_width
volitelnév settings
string
string
Jak jsou komnaty rozmístěné: do jednoho sloupce, do čtverce, nebo šířeji.
Jedno znarrownormalwide
Výchozí: "normal"
maze_corridors
volitelnév settings
string
string
Kolik bludiště leží mezi dvěma otázkami.
Jedno zshortnormallong
Výchozí: "normal"
maze_fog
volitelnév settings
string
string
Zobrazit celé bludiště, nebo jen to, kolem čeho hráč už prošel.
Jedno zoffnear
Výchozí: "off"
maze_wrong_door_pause
volitelnév settings
string
string
Jak dlouho zůstanou dveře zavřené po špatných dveřích.
Jedno znoneshortlong
Výchozí: "short"
maze_walk_there
volitelnév settings
boolean
boolean
Nabídne tlačítko, které dovede figurku do další komnaty.
Výchozí: false
maze_seed
volitelnév settings
string
string
Hodnota, 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"
}
}'
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
Pole
Typ
Co dělá
jeopardy_buzzer_mode
volitelnév settings
string
string
Kdo 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 zhostphonessolo
Výchozí: "host"
jeopardy_contestants
volitelnév settings
string
string
Jestli konzole mluví o týmech, nebo o hráčích.
Jedno zteamsplayers
Výchozí: "teams"
jeopardy_value_step
volitelnév settings
number
number
Co řá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
number
Sekundy 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
boolean
Když vyprší čas, tabule sama ukáže odpověď.
Výchozí: false
jeopardy_require_question_form
volitelnév settings
boolean
boolean
Př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
}
}'
POST/api/public/v1/interactive-video1 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
Pole
Typ
Co dělá
video_url
povinnév settings
string
string
Video: stránka na YouTube, Vimeo nebo Bunny Stream, nebo přímý odkaz na soubor mp4, webm nebo mov.
video_duration
volitelnév settings
number
number
Dé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"
}
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
Pole
Typ
Co dělá
size
volitelnév settings
string
string
Velikost 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.
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"
}
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
Pole
Typ
Co 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"
]
}
}'
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
Pole
Typ
Co dělá
story
volitelnév settings
string
string
Příběh na pozadí zobrazený nad indiciemi.
difficulty
volitelnév settings
string
string
Jaké druhy indicií smí generátor použít.
Jedno zeasymediumhard
Výchozí: "easy"
hints
volitelnév settings
boolean
boolean
Nabídne tlačítko, které ukáže další krok.
Výchozí: true
auto_cross
volitelnév settings
boolean
boolean
Označení shody přeškrtne zbytek jejího řádku a sloupce.
Výchozí: true
clue_mode
volitelnév settings
string
string
Kdo píše indicie, které hráči vidí: generují se z tabulky, jsou to tvé vlastní věty ve free_clues, nebo žádné.
Jedno zgeneratedfreenone
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"
}
}'
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"
]
}
]
}'
POST/api/public/v1/spatial-reasoning1 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.
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
Pole
Typ
Co dělá
rebus_commas
volitelnév settings
boolean
boolean
Vynechané první nebo poslední písmeno nakreslí jako čárku vedle obrázku.