Jeden POST na každý typ aktivity. Pošli svoj obsah ako JSON a späť dostaneš aktivitu vo svojom účte Puzzel.org a URL, ktorú odovzdáš hráčom alebo vložíš do iframe.
Základná URL
https://puzzel.org/api/public/v1
Overenie
Kľúč + e-mail v tele
Koncové body
38 typov aktivít
Kvóta
10 aktivít denne
Tvoja prvá požiadavka
Nič sa neinštaluje a žiadny handshake: pošli telo v JSON so svojím kľúčom, e-mailom a obsahom. Odpoveď obsahuje kľúč novej aktivity a URL, na ktorej sa hrá.
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": "sk",
"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"
}
]
}'
Ku kľúču sa správaj ako k heslu. Vytvára a prepisuje aktivity v tvojom účte, tak ho drž na serveri a mimo všetkého, čo si prehliadač vie prečítať.
Telo požiadavky
Každý koncový bod berie rovnakých päť polí. Líši sa až pole s obsahom pod nimi: väčšina berie pole položiek, zopár jednu vetu alebo jeden obrázok a sudoku neberie nič.
Pole
Typ
Čo robí
account_api_key
povinné
string
string
Kľúč API tvojho účtu. Patrí do tela, nie do hlavičky.
email
povinné
string
string
Adresa, ktorou sa prihlasuje tvoj účet Puzzel.org. Kľúč platí len spolu s ňou.
title
voliteľné
string
string
Názov, ktorý aktivita dostane v tvojom prehľade. Ak ho vynecháš, koncový bod použije svoj náhradný názov.
language
voliteľné
string
string
Určuje len jazyk v URL, ktorú dostaneš späť — nič z toho, čo pošleš, nepreloží. Osemsmerovka ho navyše číta, aby pri hodnote "ar" prepla výplňové písmená na arabské.
Predvolené: "en"
activity_key
voliteľné
string
string
Ak ho vynecháš, vytvorí sa nová aktivita. Ak pošleš kľúč aktivity, ktorú už vlastníš, prestaví sa namiesto toho tá.
settings je objekt s možnosťami pre daný koncový bod. Ktoré z nich koncový bod číta, je uvedené pri ňom nižšie; čokoľvek iné, čo tam dáš, sa ignoruje.
Čo príde späť
Úspešné volanie odpovie kódom 200 s kľúčom novej aktivity a URL, na ktorej sa hrá. Čokoľvek iné odpovie s success nastaveným na false a jediným reťazcom error.
{
"success": false,
"error": "Invalid Email or API Key"
}
url, ktorú dostaneš späť, je zobrazenie embed. Vymeň embed za play a otvorí sa na celú stránku, alebo za build a otvorí sa v editore — kľúč za p= zostáva rovnaký.
Vytváranie vs. aktualizácia
Pošli activity_key a aktivita za ním sa prestaví na mieste: jej obsah sa nahradí, názov a značka verzie sa obnovia a samotný kľúč zostane rovnaký — takže už zdieľané odkazy a vloženia fungujú ďalej. Výsledky, umiestnenie v priečinku a každé nastavenie, ktoré koncový bod sám nezapisuje, zostanú tak, ako boli.
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 sa uplatní pri každej aktualizácii, vrátane svojej predvolenej hodnoty — ak ho vynecháš, aktivita sa premenuje na náhradný názov daného koncového bodu.
Bloky nastavení, ktoré koncový bod zapisuje sám, sa prepíšu odznova, takže aktualizácia ich zároveň vráti na hodnoty, ktoré pošleš, alebo na predvolené hodnoty koncového bodu.
Aktualizovať sa dajú len aktivity, ktoré vlastní tvoj účet. Cudzí kľúč odpovie kódom 403.
Aktualizácia stojí rovnako ako vytvorenie: jedno volanie z dnešnej kvóty.
Limit počtu volaní
10
10 aktivít na účet a deň
Počíta sa každé úspešné volanie, vytvorenie aj aktualizácia. Po prekročení odpovie ďalšia požiadavka kódom 429, kým sa počítadlo nevynuluje.
Počítadlo raz denne vynuluje naplánovaná úloha, nie kĺzavé 24-hodinové okno.
Chyby
Chyby prichádzajú vždy ako JSON s tými istými dvoma poľami, nikdy ako HTML stránka. Reťazec error je napísaný tak, aby ho čítal človek — pomenúva pole alebo limit, ktorý zlyhal.
Stav
Čo znamená
400
Bad Request
V tele niečo chýba, má zlý tvar alebo je mimo rozsahu. Správa pomenúva dané pole.
401
Unauthorized
E-mail je neznámy alebo kľúč nepatrí k tomu účtu.
403
Forbidden
Odoslaný activity_key patrí inému účtu.
429
Too Many Requests
Dnešná kvóta je vyčerpaná. Vynuluje sa raz denne.
500
Server Error
Generátor nedokázal z odoslaného obsahu zostaviť hlavolam — zvyčajne je slov príliš málo alebo sa nedajú pospájať.
Koncové body
Jedna cesta na každý typ aktivity, všetky POST, všetky pod rovnakou základnou URL. Pri každej je uvedený obsah, ktorý potrebuje, nastavenia, ktoré číta, a požiadavka, ktorú si vieš spustiť.
Slová a písmená
R
O
K
U
S
K
O
K
A
Krížovka
Poprepája tvoje odpovede do mriežky a definície ti očísluje.
Pole slov. Každá položka spája odpoveď s definíciou, ktorá na ňu ukazuje.
Náhradný názov je “Crossword API”
Dobré vedieť
Odpovede kratšie ako dva znaky sa pred zostavením mriežky vyradia a aspoň dve to musia prežiť.
Odpovede sa prevedú na veľké písmená a generátor má dvadsať pokusov, aby ich umiestnil. Ak nedokáže umiestniť ani jedno slovo, volanie odpovie kódom 500.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
hidden_solution
voliteľnév settings
string
string
Voliteľné bonusové slovo. Jeho písmená sú označené v políčkach hotovej mriežky, aby ich hráči po vyriešení krížovky pozbierali, takže každé jeho písmeno sa musí objaviť v odpovediach.
Ukážková požiadavka
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": "sk",
"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"
}
]
}'
Aktivity vytvorené cez API majú vždy zapnuté nastavenie na premiešanie poradia, takže poradie, v ktorom ich pošleš, nie je poradie, ktoré dostanú hráči.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
hidden_solution
voliteľnév settings
string
string
Voliteľné bonusové slovo, ktoré hráči zadajú, keď vyriešia zvyšok.
Ukážková požiadavka
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": "sk",
"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"
}
}'
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": "sk",
"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"
}
]
}'
Úspech
{
"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. Spolu so spangramom musia ich písmená presne vyplniť mriežku.
Náhradný názov je “Strands API”
Dobré vedieť
Písmená všetkých slov a spangramu dokopy musia dať presne 30, 35, 36, 40, 42, 45, 48, 49, 50, 54, 56, 60, 63, 64, 70, 72 alebo 80. Akýkoľvek iný počet odpovie kódom 400 a povie, koľko písmen pridať alebo ubrať.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
theme
voliteľnév settings
string
string
Hádanka zobrazená nad mriežkou. Ak ju vynecháš, hráči uvidia názov.
spangram
voliteľnév settings
string
string
Slovo alebo slovné spojenie, ktoré pomenúva tému a prechádza mriežkou od jedného okraja k druhému.
Položka je objekt s poľom answer a voliteľne aliases (iné pravopisy, ktoré sa uznajú), description (tip) a group. Pri kontrole názvu sa ignorujú veľké písmená, diakritika a interpunkcia.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
list_match_mode
voliteľnév settings
string
string
Či sa názov uzná v okamihu, keď ho hráč napíše, alebo až po stlačení klávesu Enter.
Jedno zwhile_typingon_enter
Predvolené: "while_typing"
list_slot_hint
voliteľnév settings
string
string
Čo prezradí prázdne políčko: nič, dĺžku názvu, jeho prvé písmeno alebo tip, ktorý napíšeš.
Jedno znonelengthfirst_letterhint
Predvolené: "none"
list_arrange
voliteľnév settings
string
string
Jeden stĺpec na skupinu, alebo jeden zoznam.
Jedno zgroupsone_list
Predvolené: "groups"
list_allow_give_up
voliteľnév settings
boolean
boolean
Zobrazí tlačidlo na vzdanie, ktoré ukončí pokus a odhalí, čo hráč vynechal.
{
"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žiek, z ktorých sa karty skladajú. Pošli jasne viac položiek, než má jedna karta políčok, aby sa karty líšili.
Náhradný názov je “Bingo API”
Dobré vedieť
Položka je objekt s poľom value a voliteľne type ("text", "image" alebo "audio" s URL v poli value), description (indícia, ktorú moderátor prečíta v režime indícií) a alt.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
mode
voliteľnév settings
string
string
Čo vypĺňa políčka: tvoje položky, tvoje položky vylosované podľa ich indície, alebo obyčajné čísla (tie nepotrebujú žiadne items).
Jedno zitemscluesnumbers
Predvolené: "items"
rows
voliteľnév settings
number
number
Riadky na každej karte, 2 až 5.
Predvolené: 3
columns
voliteľnév settings
number
number
Stĺpce na každej karte, 2 až 5.
Predvolené: 3
highest_number
voliteľnév settings
number
number
V režime čísel sa karty plnia od 1 až po toto číslo, najviac 100. Funkcia plánu: bez plánu zostáva 50.
Predvolené: 50
Ukážková požiadavka
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": "sk",
"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 kariet. Karty, ktoré patria do kódu, nesú svoje miesto v ňom.
Náhradný názov je “Keypad API”
Dobré vedieť
Karta je objekt s poľom value a voliteľne type ("text", "image" alebo "audio" s URL v poli value), alt a code_position: jej miesto v kóde, 1 je prvé. Karta môže byť v kóde len raz a aspoň jedna karta v ňom byť musí.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
instructions
voliteľnév settings
string
string
Otázka alebo hádanka, na ktorú kód odpovedá, zobrazená spolu s panelom.
force_solution_in_correct_order
voliteľnév settings
boolean
boolean
Karty treba stláčať v poradí. Keď je to vypnuté, zámok otvorí ľubovoľné poradie správnych kariet.
Predvolené: false
randomize_order
voliteľnév settings
boolean
boolean
Každý hráč dostane karty v pomiešanom usporiadaní.
Pole kvartet. Každé má názov a presne štyri karty.
Náhradný názov je “Quartets API”
Dobré vedieť
Karta je názov, alebo objekt s názvom a description (fakt zobrazený na nej). Žiadny názov karty sa nesmie v hre objaviť dvakrát: hráči si pýtajú karty podľa názvu.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
type
voliteľnév settings
string
string
Obyčajná hra, alebo učebná hra, v ktorej každá karta ukazuje fakt. Ak to vynecháš, je to learn, keď má niektorá karta description.
Jedno znormallearn
Ukážková požiadavka
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": "sk",
"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"
}
}'
Úspech
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/quartets/embed?p=-Nq8sample_activity_key",
"message": "Quartets game created successfully"
}
Pole otázok. Otázky s výberom nesú svoje odpovede; otvorené otázky nesú odpoveď, ktorú uznáš.
Náhradný názov je “Quiz API”
Dobré vedieť
question_type je buď "multiple_choice", kde má správna možnosť isCorrect true, "true_false", teda to isté s presne dvoma možnosťami, najprv true a potom false, alebo "open_answer", ktorý namiesto toho používa correct_answer. Ak chýba, berie sa ako otázka s výberom.
Koncový bod kvízu posiela settings priamo ďalej ako bloky nastavení aktivity, takže to nie je miesto pre voľné možnosti — kvíz potom uprav v editore.
Ukážková požiadavka
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": "sk",
"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."
}
]
}'
question_type je buď "multiple_choice", kde má správna možnosť isCorrect true, "true_false", teda to isté s presne dvoma možnosťami, najprv true a potom false, alebo "open_answer", ktorý namiesto toho používa correct_answer. Ak chýba, berie sa ako otázka s výberom.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
number_of_tiles
voliteľnév settings
number
number
Koľko políčok má doska. Od 10 do 75.
Predvolené: 30
game_mode
voliteľnév settings
string
string
Či hráči pretekajú do cieľa, alebo cestou zbierajú predmety.
Jedno zrace_to_finishcollect_items
Predvolené: "race_to_finish"
Ukážková požiadavka
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": "sk",
"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"
}
}'
Úspech
{
"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ázok s výberom alebo otázok pravda/nepravda, presne v tvare, aký berie koncový bod kvízu. Otvorené otázky sa odmietnu: na dvere treba napísať odpoveď.
Náhradný názov je “Maze API”
Nastavenia, ktoré číta
Pole
Typ
Čo robí
maze_width
voliteľnév settings
string
string
Ako sú siene rozložené: jeden stĺpec, štvorec alebo širšie.
Jedno znarrownormalwide
Predvolené: "normal"
maze_corridors
voliteľnév settings
string
string
Koľko bludiska leží medzi dvoma otázkami.
Jedno zshortnormallong
Predvolené: "normal"
maze_fog
voliteľnév settings
string
string
Zobraziť celé bludisko, alebo len to, popri čom hráč už prešiel.
Jedno zoffnear
Predvolené: "off"
maze_wrong_door_pause
voliteľnév settings
string
string
Ako dlho ostanú dvere zatvorené po nesprávnych dverách.
Jedno znoneshortlong
Predvolené: "short"
maze_walk_there
voliteľnév settings
boolean
boolean
Ponúkne tlačidlo, ktoré prevedie figúrku do ďalšej siene.
Predvolené: false
maze_seed
voliteľnév settings
string
string
Základ, z ktorého sa bludisko vygeneruje. Rovnaký základ a otázky dajú rovnaké bludisko; ak ho vynecháš, vyžrebuje sa nové.
Ukážková požiadavka
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": "sk",
"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 kategórií, zľava doprava. Každá má názov a svoje indície od horného riadka nadol.
Náhradný názov je “Jeopardy API”
Dobré vedieť
Indícia je otázka v tvare, aký berie koncový bod kvízu, open_answer, ak nie je uvedené inak, s poľom correct_answer a voliteľne aliases. Môže niesť aj value (vlastnú hodnotu) a daily_double. null nechá políčko prázdne.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
jeopardy_buzzer_mode
voliteľnév settings
string
string
Kto hrá ako: moderátor ju vedie z konzoly, hráči sa hlásia z telefónov, alebo každý hráč hrá tabuľu sám.
Jedno zhostphonessolo
Predvolené: "host"
jeopardy_contestants
voliteľnév settings
string
string
Či konzola hovorí o tímoch, alebo o hráčoch.
Jedno zteamsplayers
Predvolené: "teams"
jeopardy_value_step
voliteľnév settings
number
number
Hodnota riadka: indícia má túto hodnotu krát číslo svojho riadka. Od 50 do 500, po 50.
Predvolené: 100
jeopardy_answer_time
voliteľnév settings
number
number
Sekundy na odpoveď po otvorení indície, najviac 300. 0 znamená bez časovača.
Predvolené: 20
jeopardy_wrong_answer_costs
voliteľnév settings
boolean
boolean
Nesprávna odpoveď odoberie zo skóre hodnotu indície.
Predvolené: false
jeopardy_reveal_on_timeout
voliteľnév settings
boolean
boolean
Tabuľa sama ukáže odpoveď, keď vyprší čas.
Predvolené: false
jeopardy_require_question_form
voliteľnév settings
boolean
boolean
Pripomenie hráčom, aby odpovedali vo forme otázky.
Predvolené: false
Ukážková požiadavka
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": "sk",
"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
Náhradný názov je “Interactive Video API”
Dobré vedieť
Vyskakovacie okno je objekt s poľami time (sekundy, alebo "1:23"), kind ("question", ak nie je uvedené "note", "think" alebo "chapter") a description. Otázka je otázka v tvare, aký berie koncový bod kvízu, a môže niesť rewind_to: odkiaľ sa po nesprávnej odpovedi video prehrá znova.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
video_url
povinnév settings
string
string
Video: stránka na YouTube, Vimeo alebo Bunny Stream, alebo priamy odkaz na súbor mp4, webm alebo mov.
video_duration
voliteľnév settings
number
number
Dĺžka videa v sekundách. Ak ju uvedieš, vyskakovacie okno za koncom sa odmietne.
Ukážková požiadavka
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": "sk",
"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
}
}'
Úspech
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/interactive-video/embed?p=-Nq8sample_activity_key",
"message": "Interactive video created successfully"
}
Nič. Celý hlavolam vznikne z jeho dvoch nastavení.
Náhradný názov je “Sudoku API”
Dobré vedieť
Neposielaj items ani sentence — veľkosť a obťažnosť sú celý vstup.
Editor ponúka obťažnosť len pre 2x3, 3x3 a 3x4. API ju uplatní na každú veľkosť, vrátane 2x2 a 4x4.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
size
voliteľnév settings
string
string
Veľkosť jedného bloku zapísaná ako riadky krát stĺpce — 3x3 dáva klasickú mriežku 9x9. Koncový bod overuje len to, že sa to dá načítať ako dve čísla, tak zostaň pri veľkostiach, ktoré ponúka editor.
Napíš celú vetu a okolo každého slova, ktoré sa má vynechať, daj hviezdičky: "Water boils at *100* degrees." Viac slov v jednej dvojici hviezdičiek je jedna medzera. Položka môže niesť aj pokyn zobrazený nad vetou.
Ukážková požiadavka
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": "sk",
"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."
}
]
}'
Úspech
{
"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 viet. Každé slovo, ktoré sa má označiť, sa zapíše ako [word](label).
Náhradný názov je “Sentence analysis API”
Dobré vedieť
Vetu zapíš ako "The [dog](noun) [barks](verb)." Slová bez značky sa zobrazia, ale nikto sa na ne nepýta. Označenia noun, verb, adjective a subject sa každému hráčovi zobrazia v jeho jazyku.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
categories
voliteľnév settings
string[]
string[]
Označenia, z ktorých hráči vyberajú, v poradí. Ak ich vynecháš, použijú sa označenia z viet. Pošli ich, ak chceš pridať označenie, ktoré nemá žiadne slovo, alebo upraviť poradie.
Ukážková požiadavka
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": "sk",
"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"
]
}
}'
Každá kategória potrebuje rovnaký počet položiek, 3 až 6, všetky rôzne. Jedna kategória môže byť označená ako usporiadaná (ceny, časy, vek) s voliteľnou jednotkou, vďaka čomu generátor vie písať indície o viac, menej a o koľko.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
story
voliteľnév settings
string
string
Príbeh na pozadí zobrazený nad indíciami.
difficulty
voliteľnév settings
string
string
Aké druhy indícií smie generátor použiť.
Jedno zeasymediumhard
Predvolené: "easy"
hints
voliteľnév settings
boolean
boolean
Ponúkne tlačidlo, ktoré ukáže ďalší krok.
Predvolené: true
auto_cross
voliteľnév settings
boolean
boolean
Označenie zhody preškrtne zvyšok jej riadka a stĺpca.
Predvolené: true
clue_mode
voliteľnév settings
string
string
Kto píše indície, ktoré hráči vidia: generované z tabuľky, tvoje vlastné vety v free_clues, alebo žiadne.
Jedno zgeneratedfreenone
Predvolené: "generated"
free_clues
voliteľnév settings
string[]
string[]
Tvoje vlastné vety s indíciami, zobrazené tak, ako sú napísané, s clue_mode "free". Nič ich nekontroluje.
Ukážková požiadavka
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": "sk",
"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"
}
}'
Krok je objekt s poľami title, description, code a voliteľne accepted_codes (iné pravopisy, ktoré sa uznajú), url a link_text. Kód sa kontroluje bez ohľadu na veľké písmená a medzery. Mapu s ihlicami možno pridať len v editore.
Ukážková požiadavka
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": "sk",
"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
Náhradný názov je “Spatial Reasoning API”
Dobré vedieť
Objekty a ciele sú square, triangle, circle, hexagon, pentagon, star, diamond alebo heart. Vzťahy sú inside, outside, behind, in_front_of, right_of, left_of, above, below, same_color_as, different_color_from, larger_than a smaller_than. Pravidlo, ktoré sa nikdy nedá splniť, odpovie kódom 400.
Pole viet. Každá uvádza slová nakreslené ako obrázky; každé iné slovo ostáva zapísané písmenami.
Náhradný názov je “Rebus API”
Dobré vedieť
Slovo sa skladá z častí, ktoré dokopy dávajú jeho písmená. Časť má písmená, ktoré zastupuje (text), emoji a shows: slovo pre to, čo obrázok ukazuje ("broom" pre obrázok, ktorý zastupuje "room"). Zmeny písmen si Puzzel vypočíta sám. Časť môže byť namiesto toho symbol, napríklad 4 pre "for".
Nastavenia, ktoré číta
Pole
Typ
Čo robí
rebus_commas
voliteľnév settings
boolean
boolean
Vynechané prvé alebo posledné písmeno zakreslí ako čiarku vedľa obrázka.
Jedna URL obrázka v poli image. Tento koncový bod neberie žiadne items.
Náhradný názov je “Jigsaw Game API”
Dobré vedieť
API vždy vytvorí puzzle 4 krát 4. Počet dielov, nepravidelné diely a rovné okraje sú nastavenia editora — poslať sem rows alebo columns nemá žiadny účinok.
URL sa uloží presne tak, ako ju pošleš, a súbor sa nikdy nekopíruje, takže musí zostať verejne dostupná tak dlho, kým sa aktivita hrá.
Nastavenia, ktoré číta
Pole
Typ
Čo robí
image
povinné
string
string
Absolútna URL obrázka, ktorý sa rozstrihá. Posiela sa na najvyššej úrovni, nie vnútri settings.