Ugrás a tartalomra
Az új Puzzel.org előnézetét látod Vissza a jelenlegi oldalra
Fejlesztői API

Készíts tevékenységeket a saját rendszeredből

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
20 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"
    }
  ]
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}

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ípusMit csinál
account_api_key
kötelező
string
stringA fiókod API-kulcsa. A törzsbe kerül, nem a fejlécbe.
email
kötelező
string
stringAz 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.

Bejelentkezés

Az API-kulcs az előfizetés indulásával jár, így ingyenes fiókhoz még nem tartozik.

Csomagok megtekintése

Ú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ípusMit csinál
account_api_key
kötelező
string
stringA fiókod API-kulcsa. A törzsbe kerül, nem a fejlécbe.
email
kötelező
string
stringAz a cím, amellyel a Puzzel.org-fiókod bejelentkezik. A kulcs csak ezzel együtt érvényes.
title
opcionális
string
stringA 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
stringCsak 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
stringHagyd 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.

Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}
Hiba
{
  "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átuszMit 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

Keresztrejtvény

Rácsba fűzi össze a válaszaidat, és megszámozza helyetted a meghatározásokat.

#
POST /api/public/v1/crossword Legalább 2 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.
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"
    }
  ]
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}

Szókereső

Elrejti a szavaidat egy betűrácsban, az általad választott irányokban és formában.

#
POST /api/public/v1/wordseeker Legalább 2 elem az items tömbben
Tartalom

Szavak tömbje. A meghatározás szövegéből lesz a szólista, amelyből a játékosok dolgoznak.

Tartaléknév: “Wordseeker API”

Jó tudni
  • A két karakternél rövidebb válaszok kimaradnak, és minden válasz nagybetűs lesz, mielőtt a rácsba kerül.
  • A rácsot latin betűk töltik ki, kivéve ha a language értéke "ar" — akkor a kitöltés arabra vált.
Beolvasott beállítások
MezőTípusMit csinál
hidden_solution
opcionális a settings objektumban
string
stringA megmaradt betűk ezt adják ki. Ha megadod, a generátor előbb a megoldást helyezi el, ahelyett hogy minél több szót zsúfolna be.
directions
opcionális a settings objektumban
string[]
string[]Milyen irányban futhat egy szó. Ha kihagyod, a szavak csak keletre, délkeletre és délre futnak.
Lehetséges értékek westeastnorthsouthnorthwestnortheastsouthwestsoutheast
Alapérték: ["east", "southeast", "south"]
template
opcionális a settings objektumban
string
stringFormára vágja a rácsot ahelyett, hogy négyzet maradna.
Lehetséges értékek squarecirclecrossdiamondpyramidsmileystarcross_plus
Példakérés
POST wordseeker
curl -X POST https://puzzel.org/api/public/v1/wordseeker \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Wordseeker",
  "language": "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",
    "directions": [
      "east",
      "south",
      "southeast"
    ],
    "template": "square"
  }
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wordseeker/embed?p=-Nq8sample_activity_key",
  "message": "Wordseeker created successfully"
}

Akrosztichon

Úgy rendezi egymás alá a válaszaidat, hogy az egyik oszlop egy rejtett szót adjon ki.

#
POST /api/public/v1/acrostic Legalább 1 elem az items tömbben
Tartalom

Szavak tömbje. Együtt ki kell adniuk a rejtett szó minden betűjét.

Tartaléknév: “Acrostic API”

Jó tudni
  • Ha a válaszok nem adják ki a megoldáshoz szükséges betűket, a hívás 500-zal válaszol, ahelyett hogy félkész rácsot mentene.
  • A generátor átrendezi a válaszaidat, hogy az oszlop kijöjjön, így nem abban a sorrendben látják őket a játékosok, ahogy elküldted.
Beolvasott beállítások
MezőTípusMit csinál
hidden_solution
kötelező a settings objektumban
string
stringA szó, amelyet a kiemelt oszlop kiad. Enélkül ez a végpont nem fut le.
Példakérés
POST acrostic
curl -X POST https://puzzel.org/api/public/v1/acrostic \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Acrostic",
  "language": "hu",
  "items": [
    {
      "answer": "PEACH",
      "description": "Fuzzy skin, sweet flesh",
      "type": "text"
    },
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ],
  "settings": {
    "hidden_solution": "PLUM"
  }
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/acrostic/embed?p=-Nq8sample_activity_key",
  "message": "Acrostic created successfully"
}

Betűkeverő

api_e_word_scramble

#
POST /api/public/v1/word-scramble Legalább 1 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ípusMit csinál
hidden_solution
opcionális a settings objektumban
string
stringOpcioná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"
  }
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/word-scramble/embed?p=-Nq8sample_activity_key",
  "message": "Word Scramble created successfully"
}

Akasztófa

Betűkitalálós körökké alakítja a szavaidat vagy kifejezéseidet.

#
POST /api/public/v1/hangman Legalább 1 elem az items tömbben
Tartalom

Szavak vagy rövid kifejezések tömbje. A nyom az a tipp, amelyet a játékosok látnak.

Tartaléknév: “Hangman API”

Példakérés
POST hangman
curl -X POST https://puzzel.org/api/public/v1/hangman \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Hangman",
  "language": "hu",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    }
  ]
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/hangman/embed?p=-Nq8sample_activity_key",
  "message": "Hangman created successfully"
}

Wordle

Minden elküldött szóból szókitalálós játékot csinál.

#
POST /api/public/v1/wordle Legalább 1 elem az items tömbben
Tartalom

Szavak tömbje. A játékosok szavanként egy kört kapnak.

Tartaléknév: “Wordle API”

Jó tudni
  • A “tippek valódi szavak-e” ellenőrzés bekapcsolva készül. Kapcsold ki a szerkesztőben, ha a szavaid nevek vagy kitaláltak.
Példakérés
POST wordle
curl -X POST https://puzzel.org/api/public/v1/wordle \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Wordle",
  "language": "hu",
  "items": [
    {
      "answer": "MELON",
      "description": "Sweet and green",
      "type": "text"
    },
    {
      "answer": "PEACH",
      "description": "Fuzzy and orange",
      "type": "text"
    }
  ]
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wordle/embed?p=-Nq8sample_activity_key",
  "message": "Wordle created successfully"
}

Gépelésgyakorlás

api_e_typing_practice

#
POST /api/public/v1/typing-practice Legalább 1 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"
}

Szerencsekerék

api_e_wheel_of_fortune

#
POST /api/public/v1/wheel-of-fortune Legalább 1 elem az items tömbben
Tartalom

api_c_wheel_of_fortune

Tartaléknév: “Wheel of Fortune API”

Jó tudni
  • Az “eredmény csak a kerékben jelenjen meg” beállítással készül, így az eredményt a kerékről lehet leolvasni, nem mellette jelenik meg.
Példakérés
POST wheel-of-fortune
curl -X POST https://puzzel.org/api/public/v1/wheel-of-fortune \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Wheel of Fortune",
  "language": "hu",
  "items": [
    {
      "answer": "Read a page aloud",
      "description": "Segment 1",
      "type": "text"
    },
    {
      "answer": "Name three fruits",
      "description": "Segment 2",
      "type": "text"
    },
    {
      "answer": "Spell it backwards",
      "description": "Segment 3",
      "type": "text"
    }
  ]
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wheel-of-fortune/embed?p=-Nq8sample_activity_key",
  "message": "Wheel of Fortune created successfully"
}
Kártyák és párok

Memory

Lefordított kártyák, amelyeket fel kell fordítani és párba állítani.

#
POST /api/public/v1/memory Legalább 2 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.
Példakérés
POST memory
curl -X POST https://puzzel.org/api/public/v1/memory \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Memory Game",
  "language": "hu",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/memory/embed?p=-Nq8sample_activity_key",
  "message": "Memory game created successfully"
}

Párosító

api_e_matching_pairs

#
POST /api/public/v1/matching-pairs Legalább 2 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.
Példakérés
POST matching-pairs
curl -X POST https://puzzel.org/api/public/v1/matching-pairs \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Matching Game",
  "language": "hu",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/matching-pairs/embed?p=-Nq8sample_activity_key",
  "message": "Matching pairs game created successfully"
}

Tanulókártyák

api_e_flash_cards

#
POST /api/public/v1/flash-cards Legalább 1 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.
Példakérés
POST flash-cards
curl -X POST https://puzzel.org/api/public/v1/flash-cards \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Flash Cards",
  "language": "hu",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/flash-cards/embed?p=-Nq8sample_activity_key",
  "message": "Flash Cards created successfully"
}

Csoportosítás

Kártyák, amelyeket a hozzájuk tartozó csoportba kell rendezni.

#
POST /api/public/v1/categorize Legalább 2 elem az items tömbben
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.
Példakérés
POST categorize
curl -X POST https://puzzel.org/api/public/v1/categorize \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Categorize Game",
  "language": "hu",
  "items": [
    {
      "name": "Red fruits",
      "cards": [
        {
          "type": "text",
          "value": "Strawberry"
        },
        {
          "type": "text",
          "value": "Cherry"
        }
      ]
    },
    {
      "name": "Yellow fruits",
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "Lemon"
        }
      ]
    }
  ]
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/categorize/embed?p=-Nq8sample_activity_key",
  "message": "Categorize game created successfully"
}

Sorrendrejtvény

Sorozat, amelyet a játékosoknak helyes sorrendbe kell tenniük.

#
POST /api/public/v1/reorder Legalább 1 elem az items tömbben
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.
Példakérés
POST reorder
curl -X POST https://puzzel.org/api/public/v1/reorder \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Reorder Game",
  "language": "hu",
  "items": [
    {
      "name": "From seed to fruit",
      "cards": [
        {
          "type": "text",
          "value": "Plant the seed"
        },
        {
          "type": "text",
          "value": "Water it"
        },
        {
          "type": "text",
          "value": "Watch it grow"
        },
        {
          "type": "text",
          "value": "Pick the fruit"
        }
      ]
    }
  ]
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/reorder/embed?p=-Nq8sample_activity_key",
  "message": "Reorder game created successfully"
}
Kérdések és válaszok

Quiz

Feleletválasztós és nyílt kérdések, menet közbeni pontozással.

#
POST /api/public/v1/quiz Legalább 1 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 vagy "multiple_choice", ahol a helyes lehetőségnél isCorrect true, vagy "open_answer", amely helyette a correct_answer mezőt használja. Ha kihagyod, 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."
    }
  ]
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/quiz/embed?p=-Nq8sample_activity_key",
  "message": "Quiz created successfully"
}

Társasjáték

api_e_board_game

#
POST /api/public/v1/board-game Legalább 1 elem az items tömbben
Tartalom

api_c_board_game

Tartaléknév: “Board Game API”

Jó tudni
  • A question_type értéke vagy "multiple_choice", ahol a helyes lehetőségnél isCorrect true, vagy "open_answer", amely helyette a correct_answer mezőt használja. Ha kihagyod, feleletválasztósnak számít.
Beolvasott beállítások
MezőTípusMit csinál
number_of_tiles
opcionális a settings objektumban
number
numberHány mezője van a táblának. 10 és 75 között.
Alapérték: 30
game_mode
opcionális a settings objektumban
string
stringA játékosok a célba érésért versenyeznek, vagy útközben tárgyakat gyűjtenek.
Lehetséges értékek race_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"
}
Mondatok és számok

Kriptogram

Feltörendő kóddá alakít egy mondatot, karakterről karakterre.

#
POST /api/public/v1/cryptogram Nem fogad items elemeket
Tartalom

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ípusMit csinál
sentence
kötelező
string
stringA titkosítandó mondat. A játékosok karakterről karakterre fejtik meg.
helpers
opcionális a settings objektumban
string
stringMely 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ékek nonemost_commonvowelscustom
Alapérték: "none"
character_list
opcionális a settings objektumban
string
stringAz ábécé, amelyből a rejtjel épül. Ha üresen hagyod, a titkosítás maga választ.
extra_letters
opcionális a settings objektumban
string
stringAzok 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ális a settings objektumban
boolean
booleanKihagyja 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
  }
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/cryptogram/embed?p=-Nq8sample_activity_key",
  "message": "Cryptogram created successfully"
}

Számolórejtvény

Műveletek mögé rejt egy mondatot — oldd meg a műveletet, és előbukkan a betű.

#
POST /api/public/v1/calculation Nem fogad items elemeket
Tartalom

Egyetlen mondat, a sentence mezőben. Ez a végpont nem fogad items elemeket.

Tartaléknév: “Calculation Game API”

Jó tudni
  • Ha a korlátok túl szűkek a mondat kódolásához, a hívás 400-zal válaszol, és lazítást kér, ahelyett hogy félkész rejtvényt mentene.
Beolvasott beállítások
MezőTípusMit csinál
sentence
kötelező
string
stringA mondat, amelyet a játékosok a műveletek megoldásával fednek fel.
difficulty_level
opcionális a settings objektumban
number
numberA legnagyobb eredmény, amely egy műveletnél előfordulhat.
Lehetséges értékek 20501001000
Alapérték: "100"
operators
opcionális a settings objektumban
string[]
string[]Mely műveletek jelenhetnek meg. Az x a szorzás, a : az osztás.
Lehetséges értékek +-x:
Alapérték: ["+", "-", "x", ":"]
max_operations
opcionális a settings objektumban
number
numberHány műveletet fűzhet össze egy feladat.
Lehetséges értékek 123
Alapérték: 1
number_difficulty
opcionális a settings objektumban
number
numberKorlátozza a műveleten belüli egyes számokat. 5-től 1000-ig bármi lehet.
Alapérték: 100
Példakérés
POST calculation
curl -X POST https://puzzel.org/api/public/v1/calculation \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Calculation Game",
  "language": "hu",
  "sentence": "Fruit salad for everyone",
  "settings": {
    "difficulty_level": "100",
    "operators": [
      "+",
      "-",
      "x",
      ":"
    ],
    "max_operations": 1,
    "number_difficulty": 100
  }
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/calculation/embed?p=-Nq8sample_activity_key",
  "message": "Calculation game created successfully"
}

Sudoku

Megoldott rácsot készít, majd számokat vesz ki belőle.

#
POST /api/public/v1/sudoku Nem fogad items elemeket
Tartalom

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ípusMit csinál
size
opcionális a settings objektumban
string
stringEgy 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.
Lehetséges értékek 2x22x33x33x44x4
Alapérték: "3x3"
difficulty_level
opcionális a settings objektumban
string
stringHány szám marad a táblán kiindulásként.
Lehetséges értékek easynormalhard
Alapérték: "normal"
Példakérés
POST sudoku
curl -X POST https://puzzel.org/api/public/v1/sudoku \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Sudoku",
  "language": "hu",
  "settings": {
    "size": "3x3",
    "difficulty_level": "normal"
  }
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/sudoku/embed?p=-Nq8sample_activity_key",
  "message": "Sudoku created successfully"
}
Képek

Kirakó

Darabokra vágja a képet, hogy vissza lehessen húzogatni őket egymáshoz.

#
POST /api/public/v1/jigsaw Nem fogad items elemeket
Tartalom

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ípusMit csinál
image
kötelező
string
stringA feldarabolandó kép abszolút URL-je. A legfelső szinten küldd, ne a settings objektumban.
Példakérés
POST jigsaw
curl -X POST https://puzzel.org/api/public/v1/jigsaw \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Jigsaw Game",
  "language": "hu",
  "image": "https://example.com/orchard.jpg"
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/jigsaw/embed?p=-Nq8sample_activity_key",
  "message": "Jigsaw game created successfully"
}

Tolókirakó

Csúsztatható lapkákra keveri szét a képet.

#
POST /api/public/v1/slidingpuzzle Nem fogad items elemeket
Tartalom

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ípusMit csinál
image
kötelező a settings objektumban
string
stringAz összekeverendő kép abszolút URL-je. A kirakóval ellentétben ez a settings objektumban van.
Példakérés
POST slidingpuzzle
curl -X POST https://puzzel.org/api/public/v1/slidingpuzzle \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Sliding Puzzle",
  "language": "hu",
  "settings": {
    "image": "https://example.com/orchard.jpg"
  }
}'
Siker
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/slidingpuzzle/embed?p=-Nq8sample_activity_key",
  "message": "Sliding puzzle created successfully"
}

Valami nem úgy működik, ahogy kéne?

Küldd el a kérést, amit kipróbáltál, és a hibát, amit visszakaptál, és valódi választ kapsz attól, aki a végpontot írta.

E-mail a támogatásnak