Tevékenységtípusonként egy POST. Küldd el a tartalmadat JSON-ként, és kapsz egy tevékenységet a Puzzel.org-fiókodban, meg egy URL-t, amelyet odaadhatsz a játékosoknak vagy beilleszthetsz egy iframe-be.
Alap-URL
https://puzzel.org/api/public/v1
Hitelesítés
Kulcs + e-mail a törzsben
Végpontok
38 tevékenységtípus
Kvóta
10 tevékenység naponta
Az első kérésed
Nincs mit telepíteni, és nincs kézfogás: küldj egy JSON törzset a kulcsoddal, az e-mail-címeddel és a tartalmaddal. A válasz tartalmazza az új tevékenység kulcsát és az URL-t, amelyen játszani lehet vele.
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": "hu",
"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"
}
]
}'
Az oldal minden példája teljes, futtatható kérés. Cseréld be a saját kulcsodat és tartalmadat, és máris működik.
Hitelesítés
Nincsenek fejlécek, és nincs bearer token. Mindkét azonosító minden kérés JSON törzsében utazik, és a kulcs csak ahhoz a fiókhoz jó, amelyhez az e-mail-cím tartozik.
Mező
Típus
Mit csinál
account_api_key
kötelező
string
string
A fiókod API-kulcsa. A törzsbe kerül, nem a fejlécbe.
email
kötelező
string
string
Az a cím, amellyel a Puzzel.org-fiókod bejelentkezik. A kulcs csak ezzel együtt érvényes.
A kulcsod az irányítópultod fiók szakaszában van, a Megjelenítés mögött.
Úgy kezeld a kulcsot, mint egy jelszót. Tevékenységeket hoz létre és ír felül a fiókodban, ezért tartsd a szerveren, és ne tedd olyan helyre, amit egy böngésző elolvashat.
A kérés törzse
Minden végpont ugyanazt az öt mezőt várja. A különbség az alattuk lévő tartalommezőben van: a legtöbb egy items tömböt kér, néhány egyetlen mondatot vagy képet, a Sudoku pedig semmit.
Mező
Típus
Mit csinál
account_api_key
kötelező
string
string
A fiókod API-kulcsa. A törzsbe kerül, nem a fejlécbe.
email
kötelező
string
string
Az a cím, amellyel a Puzzel.org-fiókod bejelentkezik. A kulcs csak ezzel együtt érvényes.
title
opcionális
string
string
A név, amelyet a tevékenység az irányítópultodon kap. Ha kihagyod, a végpont a saját tartaléknevét használja.
language
opcionális
string
string
Csak azt dönti el, milyen nyelvi kód kerül a visszakapott URL-be — semmit nem fordít le abból, amit küldesz. A szókereső emellett arra is használja, hogy "ar" esetén arabra váltsa a kitöltő betűket.
Alapérték: "en"
activity_key
opcionális
string
string
Hagyd ki, ha új tevékenységet szeretnél létrehozni. Ha egy már meglévő tevékenységed kulcsát adod meg, akkor helyette az a tevékenység épül újra.
A settings egy objektum, benne a végpontonként eltérő opciókkal. Hogy egy végpont melyeket olvassa, alább, az adott végpontnál látod; bármi mást teszel bele, azt figyelmen kívül hagyja.
Mit kapsz vissza
A sikeres hívás 200-zal válaszol, és megadja az új tevékenység kulcsát meg az URL-t, amelyen játszani lehet vele. Minden más esetben a success értéke false, és egyetlen error szöveg érkezik.
{
"success": false,
"error": "Invalid Email or API Key"
}
A visszakapott url a beágyazott nézet. Cseréld az embed részt play-re, hogy teljes oldalon nyíljon meg, vagy build-re, hogy a szerkesztőben — a p= utáni kulcs ugyanaz marad.
Létrehozás vs. frissítés
Ha elküldöd az activity_key mezőt, a mögötte lévő tevékenység a helyén épül újra: a tartalma kicserélődik, a neve és a verziójelzése frissül, a kulcs viszont ugyanaz marad — így a már megosztott linkek és beágyazások tovább működnek. Az eredmények, a mappa, ahová került, és minden olyan beállítás, amelyet a végpont maga nem ír, változatlan marad.
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"
}
]
}
A title minden frissítéskor érvényesül, az alapértéke is — ha kihagyod, a tevékenység az adott végpont tartaléknevét kapja.
Azokat a beállításblokkokat, amelyeket a végpont maga ír, nulláról írja újra, így a frissítés ezeket is visszaállítja az általad küldött értékekre vagy a végpont alapértékeire.
Csak a saját fiókod tevékenységeit frissítheted. Ha valaki máséhoz tartozó kulcsot küldesz, 403 a válasz.
A frissítés ugyanannyiba kerül, mint a létrehozás: egy hívás a mai kvótából.
Hívási korlát
10
10 tevékenység fiókonként naponta
Minden sikeres hívás beleszámít, a létrehozás és a frissítés egyaránt. Ha túlléped, a következő kérésre 429 a válasz, amíg a számláló nem nullázódik.
A számlálót naponta egyszer egy ütemezett feladat nullázza, nem gördülő 24 órás ablakban.
Hibák
A hibák mindig JSON-ként érkeznek, ugyanazzal a két mezővel, sosem HTML-oldalként. Az error szöveget embernek írtuk — megnevezi, melyik mező vagy melyik korlát okozta a bajt.
Státusz
Mit jelent
400
Bad Request
A törzsben valami hiányzik, hibás formátumú vagy tartományon kívül esik. Az üzenet megnevezi a mezőt.
401
Unauthorized
Az e-mail-cím ismeretlen, vagy a kulcs nem ahhoz a fiókhoz tartozik.
403
Forbidden
Az elküldött activity_key egy másik fiókhoz tartozik.
429
Too Many Requests
A mai kvóta elfogyott. Naponta egyszer nullázódik.
500
Server Error
A generátor nem tudott rejtvényt készíteni abból, amit küldtél — általában túl kevés a szó, vagy nem illeszthetők össze.
Végpontok
Tevékenységtípusonként egy útvonal, mind POST, mind ugyanazon az alap-URL-en. Mindegyiknél megtalálod a szükséges tartalmat, az általa olvasott beállításokat és egy futtatható kérést.
Szavak és betűk
V
Á
R
Á
E
Z
E
R
A
Keresztrejtvény
Rácsba fűzi össze a válaszaidat, és megszámozza helyetted a meghatározásokat.
POST/api/public/v1/crossword2–80 elem az items tömbben
Tartalom
Szavak tömbje. Minden elem egy választ és a rá mutató meghatározást párosítja.
Tartaléknév: “Crossword API”
Jó tudni
A két karakternél rövidebb válaszok kimaradnak, mielőtt a rács felépülne, és legalább kettőnek túl kell élnie ezt.
A válaszok nagybetűsek lesznek, és a generátor húsz próbálkozást kap az elhelyezésükre. Ha egyetlen szót sem tud elhelyezni, a hívás 500-zal válaszol.
Beolvasott beállítások
Mező
Típus
Mit csinál
hidden_solution
opcionálisa settings objektumban
string
string
Opcionális bónuszszó. A betűit a kész rács celláiban jelöljük, hogy a játékosok összegyűjthessék őket, miután megfejtették a keresztrejtvényt, ezért minden betűjének szerepelnie kell a válaszokban.
Példakérés
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": "hu",
"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"
}
]
}'
POST/api/public/v1/word-scramble1–40 elem az items tömbben
Tartalom
api_c_word_scramble
Tartaléknév: “Word Scramble API”
Jó tudni
Az API-n keresztül készült tevékenységeknél a sorrend keverése mindig be van kapcsolva, így nem abban a sorrendben kapják a játékosok, ahogy elküldted.
Beolvasott beállítások
Mező
Típus
Mit csinál
hidden_solution
opcionálisa settings objektumban
string
string
Opcionális bónuszszó, amelyet a játékosok a többi megoldása után írnak be.
Példakérés
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": "hu",
"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"
}
}'
POST/api/public/v1/typing-practice1–50 elem az items tömbben
Tartalom
api_c_typing_practice
Tartaléknév: “Typing Practice API”
Példakérés
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": "hu",
"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"
}
]
}'
Siker
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/typing-practice/embed?p=-Nq8sample_activity_key",
"message": "Typing Practice created successfully"
}
POST/api/public/v1/strands2–24 elem az items tömbben
Tartalom
Témaszavak tömbje. A spangrammal együtt a betűiknek pontosan ki kell tölteniük a táblát.
Tartaléknév: “Strands API”
Jó tudni
Az összes szó és a spangram betűinek száma együtt pontosan 30, 35, 36, 40, 42, 45, 48, 49, 50, 54, 56, 60, 63, 64, 70, 72 vagy 80 kell legyen. Bármilyen más szám 400-as hibát ad, és megmondja, hány betűt kell hozzáadni vagy elvenni.
Beolvasott beállítások
Mező
Típus
Mit csinál
theme
opcionálisa settings objektumban
string
string
A rács fölött megjelenő talány. Ha kihagyod, a játékosok a címet látják.
spangram
opcionálisa settings objektumban
string
string
A szó vagy kifejezés, amely megnevezi a témát, és a tábla egyik szélétől a másikig átível.
POST/api/public/v1/name-them-all1–250 elem az items tömbben
Tartalom
api_c_name_them_all
Tartaléknév: “Name Them All API”
Jó tudni
Az elem olyan objektum, amelynek van answer mezője, és opcionálisan aliases (más elfogadott írásmódok), description (a tipp) és group mezője. A név ellenőrzésekor a nagybetűk, az ékezetek és az írásjelek nem számítanak.
Beolvasott beállítások
Mező
Típus
Mit csinál
list_match_mode
opcionálisa settings objektumban
string
string
Egy név abban a pillanatban számít-e, amikor beírják, vagy csak az Enter megnyomásakor.
Lehetséges értékekwhile_typingon_enter
Alapérték: "while_typing"
list_slot_hint
opcionálisa settings objektumban
string
string
Mit árul el egy üres hely: semmit, a név hosszát, az első betűjét, vagy az általad írt tippet.
Lehetséges értékeknonelengthfirst_letterhint
Alapérték: "none"
list_arrange
opcionálisa settings objektumban
string
string
Csoportonként egy oszlop, vagy egyetlen lista.
Lehetséges értékekgroupsone_list
Alapérték: "groups"
list_allow_give_up
opcionálisa settings objektumban
boolean
boolean
Egy feladás gombot jelenít meg, amely befejezi a menetet, és felfedi, mi maradt ki.
{
"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"
}
POST/api/public/v1/memory2–30 elem az items tömbben
Tartalom
Párok tömbje. Minden pár azt a két kártyát tartalmazza, amelyek összetartoznak.
Tartaléknév: “Memory Game API”
Jó tudni
Egy kártya olyan objektum, amelynek van type és value mezője. Szavakhoz használd a "text" értéket, vagy az "image", "audio", "youtube" és "link" valamelyikét egy URL-lel a value mezőben, és add meg az alt mezőt a leíráshoz.
POST/api/public/v1/matching-pairs2–30 elem az items tömbben
Tartalom
api_c_matching_pairs
Tartaléknév: “Matching Game API”
Jó tudni
Egy kártya olyan objektum, amelynek van type és value mezője. Szavakhoz használd a "text" értéket, vagy az "image", "audio", "youtube" és "link" valamelyikét egy URL-lel a value mezőben, és add meg az alt mezőt a leíráshoz.
POST/api/public/v1/flash-cards1–150 elem az items tömbben
Tartalom
api_c_flash_cards
Tartaléknév: “Flash Cards API”
Jó tudni
A végpont annyi kártyát tárol, amennyit küldesz, ezért elemenként pontosan kettőt küldj — előbb az előlapot, aztán a hátlapot.
Egy kártya olyan objektum, amelynek van type és value mezője. Szavakhoz használd a "text" értéket, vagy az "image", "audio", "youtube" és "link" valamelyikét egy URL-lel a value mezőben, és add meg az alt mezőt a leíráshoz.
POST/api/public/v1/categorizeLegalább 2 elem az items tömbben · legfeljebb 60 kártya összesen
Tartalom
Kategóriák tömbje, mindegyiknél egy név és a hozzá tartozó kártyák.
Tartaléknév: “Categorize Game API”
Jó tudni
A név nélkül küldött kategória az “Untitled Category” nevet kapja, ezért mindig adj meg nevet.
Egy kártya olyan objektum, amelynek van type és value mezője. Szavakhoz használd a "text" értéket, vagy az "image", "audio", "youtube" és "link" valamelyikét egy URL-lel a value mezőben, és add meg az alt mezőt a leíráshoz.
POST/api/public/v1/reorderLegalább 1 elem az items tömbben · legfeljebb 60 kártya összesen
Tartalom
Sorozatok tömbje. Mindegyik a helyes sorrendben tartalmazza a kártyáit.
Tartaléknév: “Reorder Game API”
Jó tudni
Az általad küldött sorrend lesz a helyes sorrend — az első elem elöl.
Egy kártya olyan objektum, amelynek van type és value mezője. Szavakhoz használd a "text" értéket, vagy az "image", "audio", "youtube" és "link" valamelyikét egy URL-lel a value mezőben, és add meg az alt mezőt a leíráshoz.
Elemek tömbje, amelyből a kártyák készülnek. Küldj egy kártya mezőinél érezhetően több elemet, hogy a kártyák különbözzenek.
Tartaléknév: “Bingo API”
Jó tudni
Az elem olyan objektum, amelynek van value mezője, és opcionálisan type ("text", "image" vagy "audio", az URL a value mezőben), description (a nyom, amelyet a játékvezető nyomok módban felolvas) és alt mezője.
Beolvasott beállítások
Mező
Típus
Mit csinál
mode
opcionálisa settings objektumban
string
string
Mi tölti ki a mezőket: az elemeid, az elemeid a nyomuk alapján bemondva, vagy sima számok (ezekhez nem kell elem).
Lehetséges értékekitemscluesnumbers
Alapérték: "items"
rows
opcionálisa settings objektumban
number
number
Sorok száma egy kártyán, 2 és 5 között.
Alapérték: 3
columns
opcionálisa settings objektumban
number
number
Oszlopok száma egy kártyán, 2 és 5 között.
Alapérték: 3
highest_number
opcionálisa settings objektumban
number
number
Számok módban a kártyákat 1-től eddig a számig töltjük ki, legfeljebb 100-ig. Csomaghoz kötött funkció: csomag nélkül 50 marad.
Alapérték: 50
Példakérés
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": "hu",
"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"
}
POST/api/public/v1/keypad1–30 elem az items tömbben
Tartalom
Kártyák tömbje. A kódban szereplő kártyák megadják a helyüket a kódban.
Tartaléknév: “Keypad API”
Jó tudni
A kártya olyan objektum, amelynek van value mezője, és opcionálisan type ("text", "image" vagy "audio", az URL a value mezőben), alt és code_position mezője: a helye a kódban, az 1 az első. Egy kártya egyszer szerepelhet a kódban, és legalább egy kártyának benne kell lennie.
Beolvasott beállítások
Mező
Típus
Mit csinál
instructions
opcionálisa settings objektumban
string
string
A kérdés vagy talány, amelyre a kód a válasz, a pad mellett megjelenítve.
force_solution_in_correct_order
opcionálisa settings objektumban
boolean
boolean
A kártyákat sorrendben kell megnyomni. Kikapcsolva a helyes kártyák bármilyen sorrendje kinyitja a zárat.
Alapérték: false
randomize_order
opcionálisa settings objektumban
boolean
boolean
Minden játékos összekevert elrendezésben kapja a kártyákat.
POST/api/public/v1/quartets2–16 elem az items tömbben
Tartalom
Kvartettek tömbje. Mindegyiknek van neve és pontosan négy kártyája.
Tartaléknév: “Quartets API”
Jó tudni
A kártya egy név, vagy egy olyan objektum, amelynek van name és description mezője (a rajta látható tény). Egy kártyanév sem szerepelhet kétszer a játékban: a játékosok név szerint kérnek kártyát.
Beolvasott beállítások
Mező
Típus
Mit csinál
type
opcionálisa settings objektumban
string
string
Sima játék, vagy tanulójáték, amelyben minden kártya egy tényt mutat. Ha kihagyod, learn lesz, ha bármelyik kártyának van description mezője.
Lehetséges értékeknormallearn
Példakérés
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": "hu",
"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"
}
}'
Siker
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/quartets/embed?p=-Nq8sample_activity_key",
"message": "Quartets game created successfully"
}
POST/api/public/v1/quiz1–100 elem az items tömbben
Tartalom
Kérdések tömbje. A feleletválasztós kérdések a válaszlehetőségeiket hozzák; a nyílt kérdések azt a választ, amelyet elfogadsz.
Tartaléknév: “Quiz API”
Jó tudni
A question_type értéke "multiple_choice", ahol a helyes opció isCorrect értéke true; "true_false", ugyanez pontosan két opcióval, az első az igaz, a második a hamis; vagy "open_answer", ami helyette a correct_answer mezőt használja. Ha kimarad, feleletválasztósnak számít.
A Quiz végpont a settings tartalmát közvetlenül tevékenységbeállítás-blokkokként adja tovább, tehát ide nem valók szabadon szórt opciók — a Quiz-t utólag a szerkesztőben állítsd be.
Példakérés
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": "hu",
"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."
}
]
}'
POST/api/public/v1/board-game1–100 elem az items tömbben
Tartalom
api_c_board_game
Tartaléknév: “Board Game API”
Jó tudni
A question_type értéke "multiple_choice", ahol a helyes opció isCorrect értéke true; "true_false", ugyanez pontosan két opcióval, az első az igaz, a második a hamis; vagy "open_answer", ami helyette a correct_answer mezőt használja. Ha kimarad, feleletválasztósnak számít.
Beolvasott beállítások
Mező
Típus
Mit csinál
number_of_tiles
opcionálisa settings objektumban
number
number
Hány mezője van a táblának. 10 és 75 között.
Alapérték: 30
game_mode
opcionálisa settings objektumban
string
string
A játékosok a célba érésért versenyeznek, vagy útközben tárgyakat gyűjtenek.
Lehetséges értékekrace_to_finishcollect_items
Alapérték: "race_to_finish"
Példakérés
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": "hu",
"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"
}
}'
Siker
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/board-game/embed?p=-Nq8sample_activity_key",
"message": "Board Game created successfully"
}
POST/api/public/v1/mazeLegalább 1 elem az items tömbben
Tartalom
Feleletválasztós vagy igaz-hamis kérdések tömbje, pontosan olyan alakban, ahogy a Quiz végpont fogadja. A nyílt kérdéseket elutasítjuk: egy ajtóra rá kell írni a választ.
Tartaléknév: “Maze API”
Beolvasott beállítások
Mező
Típus
Mit csinál
maze_width
opcionálisa settings objektumban
string
string
Hogyan helyezkednek el a termek: egy oszlopban, négyzetben vagy szélesebben.
Lehetséges értékeknarrownormalwide
Alapérték: "normal"
maze_corridors
opcionálisa settings objektumban
string
string
Mennyi labirintus fekszik két kérdés között.
Lehetséges értékekshortnormallong
Alapérték: "normal"
maze_fog
opcionálisa settings objektumban
string
string
Az egész labirintust mutatja, vagy csak azt, ami mellett a játékos már járt.
Lehetséges értékekoffnear
Alapérték: "off"
maze_wrong_door_pause
opcionálisa settings objektumban
string
string
Mennyi ideig maradnak zárva az ajtók egy rossz ajtó után.
Lehetséges értékeknoneshortlong
Alapérték: "short"
maze_walk_there
opcionálisa settings objektumban
boolean
boolean
Egy gombot kínál, amely a bábut a következő terembe viszi.
Alapérték: false
maze_seed
opcionálisa settings objektumban
string
string
A mag, amelyből a labirintus készül. Ugyanaz a mag és ugyanazok a kérdések ugyanazt a labirintust adják; ha kihagyod, újat húzunk.
Példakérés
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": "hu",
"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"
}
}'
POST/api/public/v1/jeopardyLegalább 2 elem az items tömbben
Tartalom
Kategóriák tömbje, balról jobbra. Mindegyiknek van neve és a meghatározásai a felső sortól lefelé.
Tartaléknév: “Jeopardy API”
Jó tudni
A meghatározás olyan kérdés, ahogy a Quiz végpont fogadja, open_answer, hacsak mást nem jelzel, a correct_answer mezővel és opcionálisan aliases mezővel. Hordozhat value (saját értéke) és daily_double mezőt is. A null üresen hagy egy cellát.
Beolvasott beállítások
Mező
Típus
Mit csinál
jeopardy_buzzer_mode
opcionálisa settings objektumban
string
string
Ki hogyan játszik: a játékvezető a konzolról vezeti, a játékosok a telefonjukról jelentkeznek, vagy mindenki egyedül dolgozik a táblán.
Lehetséges értékekhostphonessolo
Alapérték: "host"
jeopardy_contestants
opcionálisa settings objektumban
string
string
A konzol csapatokról vagy játékosokról beszél-e.
Lehetséges értékekteamsplayers
Alapérték: "teams"
jeopardy_value_step
opcionálisa settings objektumban
number
number
Mennyit ér egy sor: a meghatározás értéke ennek és a sor számának a szorzata. 50-től 500-ig, 50-es lépésekben.
Alapérték: 100
jeopardy_answer_time
opcionálisa settings objektumban
number
number
Másodpercek a válaszadásra, miután megnyílt egy meghatározás, legfeljebb 300. A 0 azt jelenti, hogy nincs óra.
Alapérték: 20
jeopardy_wrong_answer_costs
opcionálisa settings objektumban
boolean
boolean
Egy rossz válasz levonja a meghatározás értékét a pontszámból.
Alapérték: false
jeopardy_reveal_on_timeout
opcionálisa settings objektumban
boolean
boolean
A tábla maga mutatja meg a választ, amikor lejár az idő.
Alapérték: false
jeopardy_require_question_form
opcionálisa settings objektumban
boolean
boolean
Emlékezteti a játékosokat, hogy kérdés formájában válaszoljanak.
Alapérték: false
Példakérés
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": "hu",
"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–50 elem az items tömbben
Tartalom
api_c_interactive_video
Tartaléknév: “Interactive Video API”
Jó tudni
A felugró elem olyan objektum, amelynek van time (másodperc, vagy "1:23"), kind ("question", hacsak nem "note", "think" vagy "chapter" áll ott) és description mezője. A kérdés olyan kérdés, ahogy a Quiz végpont fogadja, és hordozhat rewind_to mezőt: innen játssza újra a videót egy rossz válasz után.
Beolvasott beállítások
Mező
Típus
Mit csinál
video_url
kötelezőa settings objektumban
string
string
A videó: egy YouTube-, Vimeo- vagy Bunny Stream-oldal, vagy egy mp4-, webm- vagy mov-fájl közvetlen linkje.
video_duration
opcionálisa settings objektumban
number
number
A videó hossza másodpercben. Ha megadod, a videó vége utánra eső felugró elemet elutasítjuk.
Példakérés
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": "hu",
"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
}
}'
Siker
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/interactive-video/embed?p=-Nq8sample_activity_key",
"message": "Interactive video created successfully"
}
Egyetlen mondat, a sentence mezőben. Ez a végpont nem fogad items elemeket.
Tartaléknév: “Cryptogram API”
Jó tudni
Amit az items mezőben küldesz, azt figyelmen kívül hagyjuk — a rejtvény kizárólag a mondatból épül.
Beolvasott beállítások
Mező
Típus
Mit csinál
sentence
kötelező
string
string
A titkosítandó mondat. A játékosok karakterről karakterre fejtik meg.
helpers
opcionálisa settings objektumban
string
string
Mely karaktereket kapják meg a játékosok ingyen, kiindulásként: egyet sem, a leggyakoribbakat, a magánhangzókat, vagy azokat, amelyeket te sorolsz fel.
Lehetséges értékeknonemost_commonvowelscustom
Alapérték: "none"
character_list
opcionálisa settings objektumban
string
string
Az ábécé, amelyből a rejtjel épül. Ha üresen hagyod, a titkosítás maga választ.
extra_letters
opcionálisa settings objektumban
string
string
Azok a karakterek, amelyeket a játékosok megkapnak, ha a helpers értéke "custom". A többi segítségmódnál nincs hatása.
hide_unused_characters
opcionálisa settings objektumban
boolean
boolean
Kihagyja a kulcsból azokat a karaktereket, amelyeket a mondat nem használ.
Alapérték: false
Példakérés
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": "hu",
"sentence": "An apple a day keeps the doctor away",
"settings": {
"helpers": "vowels",
"hide_unused_characters": false
}
}'
Semmi. Az egész rejtvény a két beállításából jön ki.
Tartaléknév: “Sudoku API”
Jó tudni
Ne küldj sem items, sem sentence mezőt — a méret és a nehézség a teljes bemenet.
A szerkesztő csak 2x3, 3x3 és 3x4 méretnél kínálja a nehézséget. Az API minden méretnél alkalmazza, a 2x2-t és a 4x4-et is beleértve.
Beolvasott beállítások
Mező
Típus
Mit csinál
size
opcionálisa settings objektumban
string
string
Egy blokk mérete, sorok és oszlopok formájában — a 3x3 adja a klasszikus 9x9-es rácsot. A végpont csak azt ellenőrzi, hogy két számként értelmezhető-e, ezért maradj azoknál a méreteknél, amelyeket a szerkesztő kínál.
POST/api/public/v1/fill-in-the-gap1–50 elem az items tömbben
Tartalom
api_c_fill_in_the_gap
Tartaléknév: “Fill in the gap API”
Jó tudni
Írd le a teljes mondatot, és tedd csillagok közé a kihagyandó szavakat: "Water boils at *100* degrees." Egy csillagpáron belül több szó is egyetlen hézag. Egy elem a mondat fölött megjelenő utasítást is hordozhat.
Példakérés
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": "hu",
"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."
}
]
}'
Siker
{
"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"
}
POST/api/public/v1/deconstruct1–50 elem az items tömbben
Tartalom
Mondatok tömbje. Minden megcímkézendő szó [word](label) alakban van leírva.
Tartaléknév: “Sentence analysis API”
Jó tudni
Egy mondatot így írj le: "The [dog](noun) [barks](verb)." A címke nélküli szavak megjelennek, de nem kérdezzük őket. A noun, verb, adjective és subject címkéket minden játékos a saját nyelvén látja.
Beolvasott beállítások
Mező
Típus
Mit csinál
categories
opcionálisa settings objektumban
string[]
string[]
A címkék, amelyek közül a játékosok választanak, sorrendben. Ha kihagyod, a mondatokban használt címkék lesznek. Akkor add meg, ha olyan címkét is fel akarsz venni, amelyet egyetlen szó sem visel, vagy ha a sorrendet akarod meghatározni.
Példakérés
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": "hu",
"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"
]
}
}'
POST/api/public/v1/logic-puzzleLegalább 3 elem az items tömbben
Tartalom
api_c_logic_puzzle
Tartaléknév: “Logic Puzzle API”
Jó tudni
Minden kategóriának ugyanannyi, 3 és 6 közötti, egymástól különböző eleme kell legyen. Egy kategória megjelölhető rendezettként (árak, időpontok, életkorok), opcionális unit mezővel, amely lehetővé teszi, hogy a generátor nyomokat írjon a többről, a kevesebbről és a különbség mértékéről.
Beolvasott beállítások
Mező
Típus
Mit csinál
story
opcionálisa settings objektumban
string
string
A nyomok fölött megjelenő háttértörténet.
difficulty
opcionálisa settings objektumban
string
string
A generátor milyen fajta nyomokat használhat.
Lehetséges értékekeasymediumhard
Alapérték: "easy"
hints
opcionálisa settings objektumban
boolean
boolean
Egy gombot kínál, amely megmutatja a következő lépést.
Alapérték: true
auto_cross
opcionálisa settings objektumban
boolean
boolean
Egy egyezés megjelölése áthúzza a sor és az oszlop többi celláját.
Alapérték: true
clue_mode
opcionálisa settings objektumban
string
string
Ki írja a játékosok által látott nyomokat: a táblázatból generáltak, a free_clues mezőben megadott saját mondataid, vagy egy sem.
Lehetséges értékekgeneratedfreenone
Alapérték: "generated"
free_clues
opcionálisa settings objektumban
string[]
string[]
A saját nyommondataid, úgy megjelenítve, ahogy leírtad, a clue_mode "free" értékével. Semmi sem ellenőrzi őket.
Példakérés
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": "hu",
"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"
}
}'
POST/api/public/v1/scavenger-hunt1–50 elem az items tömbben
Tartalom
api_c_scavenger_hunt
Tartaléknév: “Scavenger Hunt API”
Jó tudni
A lépés olyan objektum, amelynek van title, description, code és opcionálisan accepted_codes (más elfogadott írásmódok), url és link_text mezője. A kódot a nagybetűk és a szóközök figyelmen kívül hagyásával ellenőrizzük. A térképet a jelölőkkel csak a szerkesztőben lehet hozzáadni.
Példakérés
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": "hu",
"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–50 elem az items tömbben
Tartalom
api_c_spatial_reasoning
Tartaléknév: “Spatial Reasoning API”
Jó tudni
Az objektumok és a célok: square, triangle, circle, hexagon, pentagon, star, diamond vagy heart. A viszonyok: inside, outside, behind, in_front_of, right_of, left_of, above, below, same_color_as, different_color_from, larger_than és smaller_than. Egy soha nem teljesíthető szabály 400-as hibát ad.
POST/api/public/v1/rebus1–30 elem az items tömbben
Tartalom
Mondatok tömbje. Mindegyik felsorolja a képként megrajzolt szavakat; minden más szó betűkként marad.
Tartaléknév: “Rebus API”
Jó tudni
A szót olyan részekből rajzoljuk, amelyek együtt kiadják. Egy résznek van betűsora, amelyet helyettesít (text), egy emojija, és a shows mezője: annak a szónak a leírása, amit a kép mutat ("broom" egy olyan képhez, amely a "room" szót jelenti). A Puzzel kiszámolja a betűváltásokat. Egy rész lehet szimbólum is, például 4 a "for" helyett.
Beolvasott beállítások
Mező
Típus
Mit csinál
rebus_commas
opcionálisa settings objektumban
boolean
boolean
Az elhagyott első vagy utolsó betűt vesszőként rajzolja a kép mellé.
Egyetlen kép-URL, az image mezőben. Ez a végpont nem fogad items elemeket.
Tartaléknév: “Jigsaw Game API”
Jó tudni
Az API mindig 4x4-es kirakót készít. A darabszám, a szabálytalan darabok és az egyenes élek szerkesztőbeli beállítások — a rows vagy a columns küldésének itt nincs hatása.
Az URL-t úgy tároljuk, ahogy elküldted, és a fájlt sosem másoljuk le, ezért nyilvánosan elérhetőnek kell maradnia mindaddig, amíg a tevékenységgel játszanak.
Beolvasott beállítások
Mező
Típus
Mit csinál
image
kötelező
string
string
A feldarabolandó kép abszolút URL-je. A legfelső szinten küldd, ne a settings objektumban.
Egyetlen kép-URL, a settings objektumban. Ez a végpont nem fogad items elemeket.
Tartaléknév: “Sliding Puzzle API”
Jó tudni
A kirakóval ellentétben ez a végpont a settings.image mezőből olvassa a képet. A legfelső szintű image mezőt figyelmen kívül hagyja, és a hívás 400-zal válaszol.
Az URL-t úgy tároljuk, ahogy elküldted, és a fájlt sosem másoljuk le, ezért nyilvánosan elérhetőnek kell maradnia mindaddig, amíg a tevékenységgel játszanak.
Beolvasott beállítások
Mező
Típus
Mit csinál
image
kötelezőa settings objektumban
string
string
Az összekeverendő kép abszolút URL-je. A kirakóval ellentétben ez a settings objektumban van.