En POST za vsako vrsto dejavnosti. Pošlji svojo vsebino kot JSON in dobiš dejavnost v svojem računu Puzzel.org ter URL, ki ga lahko daš igralcem ali vstaviš v iframe.
Osnovni URL
https://puzzel.org/api/public/v1
Avtentikacija
Ključ in e-pošta v telesu
Končne točke
38 vrst dejavnosti
Kvota
10 dejavnosti na dan
Tvoja prva zahteva
Nič ni treba namestiti in ni rokovanja: pošlji telo JSON s svojim ključem, e-pošto in vsebino. Odgovor vsebuje ključ nove dejavnosti in URL, na katerem se igra.
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": "sl",
"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"
}
]
}'
Ključ obravnavaj kot geslo. Ustvarja in prepisuje dejavnosti v tvojem računu, zato ga hrani na strani strežnika in stran od vsega, kar lahko prebere brskalnik.
Telo zahteve
Vsaka končna točka sprejme enakih pet polj. Razlikuje se polje z vsebino pod njimi: večina sprejme niz elementov, nekatere eno poved ali eno sliko, sudoku pa nič.
Polje
Tip
Kaj počne
account_api_key
obvezno
string
string
Ključ API tvojega računa. Gre v telo, ne v glavo.
email
obvezno
string
string
Naslov, s katerim se prijavljaš v svoj račun Puzzel.org. Ključ je veljaven samo skupaj z njim.
title
neobvezno
string
string
Ime, ki ga dejavnost dobi na tvoji nadzorni plošči. Če ga izpustiš, končna točka uporabi svoje privzeto ime.
language
neobvezno
string
string
Določa samo jezikovno različico v URL-ju, ki ga dobiš nazaj — ne prevede ničesar, kar pošlješ. Besedna iskalnica ga uporabi tudi za preklop polnilnih črk v arabščino, ko je vrednost "ar".
Privzeto: "en"
activity_key
neobvezno
string
string
Izpusti ga, če želiš ustvariti novo dejavnost. Če pošlješ ključ dejavnosti, ki jo že imaš, se namesto tega ta dejavnost ponovno zgradi.
settings je objekt z možnostmi za posamezno končno točko. Katere možnosti končna točka prebere, je navedeno spodaj pri njej; vse drugo, kar vneseš tja, se prezre.
Kaj dobiš nazaj
Uspešen klic odgovori s 200 ter ključem nove dejavnosti in URL-jem, na katerem se igra. Vse drugo odgovori s success, nastavljenim na false, in enim samim nizom napake.
{
"success": false,
"error": "Invalid Email or API Key"
}
URL, ki ga dobiš nazaj, je pogled za vdelavo. Zamenjaj embed s play, da ga odpreš čez celo stran, ali z build, da ga odpreš v urejevalniku — ključ za p= ostane enak.
Ustvarjanje in posodabljanje
Pošlji activity_key in dejavnost za njim se zgradi na mestu: njena vsebina se zamenja, ime in oznaka različice se osvežita, sam ključ pa ostane enak — zato povezave in vdelave, ki si jih že delil, še naprej delujejo. Rezultati, umestitev v mapo in vsaka nastavitev, ki je končna točka sama ne zapiše, ostanejo nespremenjeni.
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 uporabi ob vsaki posodobitvi, vključno s privzeto vrednostjo — če ga izpustiš, se dejavnost preimenuje v privzeto ime te končne točke.
Bloki nastavitev, ki jih končna točka zapiše sama, se prepišejo od začetka, zato posodobitev tudi te ponastavi na vrednosti, ki jih pošlješ, ali na privzete vrednosti končne točke.
Posodobiš lahko samo dejavnosti, ki jih ima v lasti tvoj lastni račun. Ključ nekoga drugega dobi odgovor 403.
Posodobitev stane enako kot ustvarjanje: en klic od današnje kvote.
Omejitev hitrosti
10
10 dejavnosti na račun na dan
Šteje se vsak uspešen klic, ustvarjanje in posodabljanje enako. Če presežeš mejo, naslednja zahteva dobi odgovor 429, dokler se števec ne počisti.
Števec enkrat na dan počisti načrtovano opravilo, ne pa drseče 24-urno okno.
Napake
Napake vedno prispejo kot JSON z enakima dvema poljema, nikoli kot stran HTML. Niz napake je napisan tako, da ga lahko prebere človek — poimenuje polje ali omejitev, ki ni uspela.
Status
Kaj pomeni
400
Bad Request
Nekaj v telesu manjka, je napačno oblikovano ali izven dovoljenega obsega. Sporočilo poimenuje polje.
401
Unauthorized
E-pošta ni znana ali ključ ne pripada temu računu.
403
Forbidden
activity_key, ki si ga poslal, pripada drugemu računu.
429
Too Many Requests
Današnja kvota je porabljena. Počisti se enkrat na dan.
500
Server Error
Generator ni mogel zgraditi uganke iz tega, kar si poslal — običajno je premalo besed ali pa besed ni mogoče sestaviti skupaj.
Končne točke
Ena pot za vsako vrsto dejavnosti, vse POST, vse pod istim osnovnim URL-jem. Vsaka navaja vsebino, ki jo potrebuje, nastavitve, ki jih prebere, in zahtevo, ki jo lahko poženeš.
Besede in črke
S
O
K
T
R
O
K
A
L
Križanka
Tvoje odgovore prepleta v mrežo in oštevilči definicije namesto tebe.
Niz besed. Vsak vnos poveže odgovor z definicijo, ki nanj kaže.
Privzeto uporabi ime “Crossword API”
Vredno vedeti
Odgovori, krajši od dveh znakov, se izločijo, preden se zgradi mreža, in vsaj dva morata to preživeti.
Odgovori se spremenijo v velike črke, generator pa ima dvajset poskusov, da jih razporedi. Če ne uspe umestiti niti ene besede, klic dobi odgovor 500.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
hidden_solution
neobveznoznotraj settings
string
string
Neobvezna dodatna beseda. Njene črke so v dokončani mreži označene v poljih, igralci pa jih poberejo, ko rešijo križanko, zato se mora vsaka njena črka pojaviti v odgovorih.
Primer zahteve
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": "sl",
"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-scrambleOd 1 do 40 v items
Vsebina
api_c_word_scramble
Privzeto uporabi ime “Word Scramble API”
Vredno vedeti
Dejavnosti, ustvarjene prek API, imajo vedno vklopljeno nastavitev za mešanje vrstnega reda, zato vrstni red, ki ga pošlješ, ni vrstni red, ki ga dobijo igralci.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
hidden_solution
neobveznoznotraj settings
string
string
Neobvezna dodatna beseda, ki jo igralci vnesejo, ko rešijo preostalo.
Primer zahteve
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": "sl",
"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"
}
}'
Ustvarjeno z vklopljeno nastavitvijo za preverjanje, da so ugibane besede resnične. Če so tvoje besede imena ali izmišljene, jo izklopi v urejevalniku.
POST/api/public/v1/typing-practiceOd 1 do 50 v items
Vsebina
api_c_typing_practice
Privzeto uporabi ime “Typing Practice API”
Primer zahteve
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": "sl",
"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"
}
]
}'
Uspeh
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/typing-practice/embed?p=-Nq8sample_activity_key",
"message": "Typing Practice created successfully"
}
Niz tematskih besed. Njihove črke morajo skupaj s spangramom natanko zapolniti ploščo.
Privzeto uporabi ime “Strands API”
Vredno vedeti
Črke vseh besed in spangrama skupaj morajo biti natanko 30, 35, 36, 40, 42, 45, 48, 49, 50, 54, 56, 60, 63, 64, 70, 72 ali 80. Pri vsakem drugem številu klic dobi odgovor 400 in pove, koliko črk je treba dodati ali odstraniti.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
theme
neobveznoznotraj settings
string
string
Uganka, prikazana nad mrežo. Če jo izpustiš, igralci vidijo naslov.
spangram
neobveznoznotraj settings
string
string
Beseda ali besedna zveza, ki poimenuje temo in prečka ploščo od enega roba do drugega.
POST/api/public/v1/name-them-allOd 1 do 250 v items
Vsebina
api_c_name_them_all
Privzeto uporabi ime “Name Them All API”
Vredno vedeti
Vnos je objekt z answer in neobvezno z aliases (drugi zapisi, ki se štejejo), description (namig) in group. Pri preverjanju imena se velike črke, naglasi in ločila prezrejo.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
list_match_mode
neobveznoznotraj settings
string
string
Ali se ime šteje takoj, ko je natipkano, ali šele z Enter.
Ena odwhile_typingon_enter
Privzeto: "while_typing"
list_slot_hint
neobveznoznotraj settings
string
string
Kaj izda prazno mesto: nič, dolžino imena, njegovo prvo črko ali namig, ki si ga napisal.
Ena odnonelengthfirst_letterhint
Privzeto: "none"
list_arrange
neobveznoznotraj settings
string
string
En stolpec za vsako skupino ali en sam seznam.
Ena odgroupsone_list
Privzeto: "groups"
list_allow_give_up
neobveznoznotraj settings
boolean
boolean
Prikaže gumb za predajo, ki konča krog in razkrije, kaj je ostalo nenaštetega.
{
"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"
}
Niz elementov, iz katerih se sestavijo kartice. Pošlji bistveno več elementov, kot jih ima ena kartica polj, da se kartice med seboj razlikujejo.
Privzeto uporabi ime “Bingo API”
Vredno vedeti
Element je objekt z value in neobvezno z type ("text", "image" ali "audio" z URL-jem v value), description (opis, ki ga voditelj prebere v načinu z opisi) in alt.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
mode
neobveznoznotraj settings
string
string
Kaj zapolni polja: tvoji elementi, tvoji elementi, izklicani po njihovem opisu, ali navadne številke (te ne potrebujejo elementov).
Ena oditemscluesnumbers
Privzeto: "items"
rows
neobveznoznotraj settings
number
number
Število vrstic na vsaki kartici, od 2 do 5.
Privzeto: 3
columns
neobveznoznotraj settings
number
number
Število stolpcev na vsaki kartici, od 2 do 5.
Privzeto: 3
highest_number
neobveznoznotraj settings
number
number
V načinu s številkami se kartice napolnijo od 1 do te številke, največ 100. Funkcija paketa: brez paketa ostane 50.
Privzeto: 50
Primer zahteve
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": "sl",
"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"
}
Niz kartic. Kartice, ki so del kode, nosijo svoje mesto v njej.
Privzeto uporabi ime “Keypad API”
Vredno vedeti
Kartica je objekt z value in neobvezno z type ("text", "image" ali "audio" z URL-jem v value), alt in code_position: njeno mesto v kodi, 1 je prvo. Kartica je lahko v kodi samo enkrat, vsaj ena pa jih mora biti.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
instructions
neobveznoznotraj settings
string
string
Vprašanje ali uganka, na katero odgovarja koda, prikazana skupaj z mrežo kartic.
force_solution_in_correct_order
neobveznoznotraj settings
boolean
boolean
Kartice je treba pritisniti po vrsti. Če je izklopljeno, ključavnico odpre kateri koli vrstni red pravih kartic.
Privzeto: false
randomize_order
neobveznoznotraj settings
boolean
boolean
Vsak igralec dobi kartice v premešanem vrstnem redu.
Niz kvartetov. Vsak ima ime in natanko štiri karte.
Privzeto uporabi ime “Quartets API”
Vredno vedeti
Karta je ime ali objekt z imenom in description (dejstvo, prikazano na njej). Nobeno ime karte se v igri ne sme pojaviti dvakrat: igralci karte zahtevajo po imenu.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
type
neobveznoznotraj settings
string
string
Navadna igra ali učna igra, v kateri vsaka karta prikazuje dejstvo. Če ga izpustiš, je to learn, kadar ima katera koli karta description.
Ena odnormallearn
Primer zahteve
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": "sl",
"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"
}
}'
Uspeh
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/quartets/embed?p=-Nq8sample_activity_key",
"message": "Quartets game created successfully"
}
Niz vprašanj. Vprašanja izbirnega tipa nosijo svoje odgovore, odprta vprašanja pa odgovor, ki ga sprejmeš.
Privzeto uporabi ime “Quiz API”
Vredno vedeti
question_type je "multiple_choice", pri katerem ima prava možnost isCorrect true; "true_false", enako z natanko dvema možnostma, prva je drži, druga ne drži; ali "open_answer", ki namesto tega uporablja correct_answer. Če ga izpustiš, se obravnava kot izbirni odgovor.
Končna točka za kviz posreduje settings neposredno kot bloke nastavitev dejavnosti, zato to ni mesto za posamezne možnosti — kviz pozneje prilagodi v urejevalniku.
Primer zahteve
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": "sl",
"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 "multiple_choice", pri katerem ima prava možnost isCorrect true; "true_false", enako z natanko dvema možnostma, prva je drži, druga ne drži; ali "open_answer", ki namesto tega uporablja correct_answer. Če ga izpustiš, se obravnava kot izbirni odgovor.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
number_of_tiles
neobveznoznotraj settings
number
number
Koliko polj ima plošča. Med 10 in 75.
Privzeto: 30
game_mode
neobveznoznotraj settings
string
string
Ali igralci tekmujejo do cilja ali po poti zbirajo predmete.
Ena odrace_to_finishcollect_items
Privzeto: "race_to_finish"
Primer zahteve
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": "sl",
"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"
}
}'
Uspeh
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/board-game/embed?p=-Nq8sample_activity_key",
"message": "Board Game created successfully"
}
Niz vprašanj izbirnega tipa ali vprašanj drži ali ne drži, natanko v obliki, kakršno sprejme končna točka za kviz. Odprta vprašanja so zavrnjena: na vratih mora biti napisan odgovor.
Privzeto uporabi ime “Maze API”
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
maze_width
neobveznoznotraj settings
string
string
Kako so razporejene dvorane: en stolpec, kvadrat ali širše.
Ena odnarrownormalwide
Privzeto: "normal"
maze_corridors
neobveznoznotraj settings
string
string
Koliko labirinta leži med dvema vprašanjema.
Ena odshortnormallong
Privzeto: "normal"
maze_fog
neobveznoznotraj settings
string
string
Prikaži cel labirint ali samo tisto, ob čemer je igralec že bil.
Ena odoffnear
Privzeto: "off"
maze_wrong_door_pause
neobveznoznotraj settings
string
string
Kako dolgo ostanejo vrata zaprta po napačnih.
Ena odnoneshortlong
Privzeto: "short"
maze_walk_there
neobveznoznotraj settings
boolean
boolean
Ponudi gumb, ki figuro odpelje do naslednje dvorane.
Privzeto: false
maze_seed
neobveznoznotraj settings
string
string
Seme, iz katerega se ustvari labirint. Isto seme in ista vprašanja dasta isti labirint; če ga izpustiš, se izžreba nov.
Primer zahteve
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": "sl",
"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"
}
}'
Niz kategorij, od leve proti desni. Vsaka ima ime in svoje definicije od zgornje vrstice navzdol.
Privzeto uporabi ime “Jeopardy API”
Vredno vedeti
Definicija je vprašanje, kot ga sprejme končna točka za kviz, open_answer, razen če piše drugače, s correct_answer in neobvezno z aliases. Lahko nosi tudi value (svojo vrednost) in daily_double. null pusti polje prazno.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
jeopardy_buzzer_mode
neobveznoznotraj settings
string
string
Kdo igra kako: voditelj vodi igro iz konzole, igralci se javijo s telefonov ali pa vsak igralec rešuje ploščo sam.
Ena odhostphonessolo
Privzeto: "host"
jeopardy_contestants
neobveznoznotraj settings
string
string
Ali konzola govori o ekipah ali o igralcih.
Ena odteamsplayers
Privzeto: "teams"
jeopardy_value_step
neobveznoznotraj settings
number
number
Koliko je vredna vrstica: definicija je vredna ta znesek krat številka njene vrstice. Od 50 do 500, v korakih po 50.
Privzeto: 100
jeopardy_answer_time
neobveznoznotraj settings
number
number
Sekunde za odgovor, ko je definicija odprta, največ 300. 0 pomeni brez časovnika.
Privzeto: 20
jeopardy_wrong_answer_costs
neobveznoznotraj settings
boolean
boolean
Napačen odgovor odšteje vrednost definicije od točk.
Privzeto: false
jeopardy_reveal_on_timeout
neobveznoznotraj settings
boolean
boolean
Plošča sama prikaže odgovor, ko čas poteče.
Privzeto: false
jeopardy_require_question_form
neobveznoznotraj settings
boolean
boolean
Igralce opomni, naj odgovorijo v obliki vprašanja.
Privzeto: false
Primer zahteve
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": "sl",
"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-videoOd 1 do 50 v items
Vsebina
api_c_interactive_video
Privzeto uporabi ime “Interactive Video API”
Vredno vedeti
Pojavno okno je objekt s time (sekunde ali "1:23"), kind ("question", razen če piše "note", "think" ali "chapter") in description. Vprašanje je vprašanje, kot ga sprejme končna točka za kviz, in lahko nosi rewind_to: od kod se ob napačnem odgovoru video znova predvaja.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
video_url
obveznoznotraj settings
string
string
Video: stran YouTube, Vimeo ali Bunny Stream ali neposredna povezava do datoteke mp4, webm ali mov.
video_duration
neobveznoznotraj settings
number
number
Dolžina videa v sekundah. Če je podana, je pojavno okno za koncem videa zavrnjeno.
Primer zahteve
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": "sl",
"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
}
}'
Uspeh
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/interactive-video/embed?p=-Nq8sample_activity_key",
"message": "Interactive video created successfully"
}
Nič. Cela uganka nastane iz svojih dveh nastavitev.
Privzeto uporabi ime “Sudoku API”
Vredno vedeti
Ne pošlji items ne sentence — size in difficulty sta edini vhod.
Urejevalnik ponudi težavnost samo za 2x3, 3x3 in 3x4. API jo uporabi za vsako velikost, vključno z 2x2 in 4x4.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
size
neobveznoznotraj settings
string
string
Velikost enega bloka, zapisana kot vrstice krat stolpci — 3x3 da klasično mrežo 9x9. Končna točka le preveri, da se to razčleni kot dve številki, zato ostani pri velikostih, ki jih ponuja urejevalnik.
Ena od2x22x33x33x44x4
Privzeto: "3x3"
difficulty_level
neobveznoznotraj settings
string
string
Koliko številk ostane na plošči za začetno stanje.
POST/api/public/v1/fill-in-the-gapOd 1 do 50 v items
Vsebina
api_c_fill_in_the_gap
Privzeto uporabi ime “Fill in the gap API”
Vredno vedeti
Napiši celotno poved in okoli vsake besede, ki jo želiš izpustiti, postavi zvezdici: "Water boils at *100* degrees." Več besed znotraj enega para je ena vrzel. Vnos lahko vsebuje tudi navodilo, prikazano nad povedjo.
Primer zahteve
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": "sl",
"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."
}
]
}'
Uspeh
{
"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"
}
Niz povedi. Vsaka beseda, ki jo je treba označiti, je zapisana kot [word](label).
Privzeto uporabi ime “Sentence analysis API”
Vredno vedeti
Poved napiši takole: "The [dog](noun) [barks](verb)." Besede brez oznake so prikazane, a se ne sprašujejo. Oznake noun, verb, adjective in subject se vsakemu igralcu prikažejo v njegovem jeziku.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
categories
neobveznoznotraj settings
string[]
string[]
Oznake, med katerimi igralci izbirajo, po vrsti. Če jih izpustiš, so to oznake, uporabljene v povedih. Pošlji jih, če želiš dodati oznako, ki je nobena beseda ne nosi, ali določiti vrstni red.
Primer zahteve
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": "sl",
"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"
]
}
}'
Vsaka kategorija potrebuje enako število elementov, od 3 do 6, vsi različni. Ena kategorija je lahko označena kot urejena (cene, ure, starosti), neobvezno z enoto, kar generatorju omogoči pisanje opisov o več, manj in koliko.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
story
neobveznoznotraj settings
string
string
Zgodba v ozadju, prikazana nad opisi.
difficulty
neobveznoznotraj settings
string
string
Katere vrste opisov sme uporabiti generator.
Ena odeasymediumhard
Privzeto: "easy"
hints
neobveznoznotraj settings
boolean
boolean
Ponudi gumb, ki prikaže naslednji korak.
Privzeto: true
auto_cross
neobveznoznotraj settings
boolean
boolean
Ko označiš ujemanje, se prečrta preostanek njegove vrstice in stolpca.
Privzeto: true
clue_mode
neobveznoznotraj settings
string
string
Kdo napiše opise, ki jih vidijo igralci: ustvarjeni iz tabele, tvoje lastne povedi v free_clues ali nobeni.
Ena odgeneratedfreenone
Privzeto: "generated"
free_clues
neobveznoznotraj settings
string[]
string[]
Tvoje lastne povedi z opisi, prikazane tako, kot so napisane, z clue_mode "free". Nič jih ne preverja.
Primer zahteve
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": "sl",
"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-huntOd 1 do 50 v items
Vsebina
api_c_scavenger_hunt
Privzeto uporabi ime “Scavenger Hunt API”
Vredno vedeti
Korak je objekt s title, description, code in neobvezno z accepted_codes (drugi zapisi, ki se štejejo), url in link_text. Koda se preverja ne glede na velike črke in presledke. Zemljevid z žebljički je mogoče dodati samo v urejevalniku.
Primer zahteve
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": "sl",
"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-reasoningOd 1 do 50 v items
Vsebina
api_c_spatial_reasoning
Privzeto uporabi ime “Spatial Reasoning API”
Vredno vedeti
Objekti in cilji so square, triangle, circle, hexagon, pentagon, star, diamond ali heart. Relacije so inside, outside, behind, in_front_of, right_of, left_of, above, below, same_color_as, different_color_from, larger_than in smaller_than. Pravilo, ki ga ni mogoče nikoli izpolniti, dobi odgovor 400.
Niz povedi. Vsaka našteje besede, narisane kot slike; vsaka druga beseda ostane zapisana s črkami.
Privzeto uporabi ime “Rebus API”
Vredno vedeti
Beseda je narisana iz delov, ki skupaj tvorijo njen zapis. Del ima črke, ki jih nadomešča (text), emotikon (emoji) in shows: besedo za to, kar prikazuje slika ("broom" za sliko, ki stoji za "room"). Spremembe črk izračuna Puzzel. Del je lahko namesto tega simbol, na primer 4 za "for".
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
rebus_commas
neobveznoznotraj settings
boolean
boolean
Izpuščeno prvo ali zadnjo črko nariše kot vejico ob sliki.
En URL slike, v polju image. Ta končna točka ne sprejme items.
Privzeto uporabi ime “Jigsaw Game API”
Vredno vedeti
API vedno ustvari sestavljanko 4 krat 4. Število kosov, nepravilni kosi in ravni robovi so nastavitve urejevalnika — pošiljanje vrstic ali stolpcev tukaj ne naredi ničesar.
URL se shrani tak, kot si ga poslal, datoteka pa se nikoli ne kopira, zato mora ostati javno dosegljiv, dokler se dejavnost igra.
Nastavitve, ki jih prebere
Polje
Tip
Kaj počne
image
obvezno
string
string
Absolutni URL slike, ki jo je treba razrezati. Pošlje se na najvišji ravni, ne znotraj settings.