Δημιούργησε δραστηριότητες από το δικό σου σύστημα
Ένα POST ανά τύπο δραστηριότητας. Στέλνεις το περιεχόμενό σου σε JSON και παίρνεις πίσω μια δραστηριότητα στον λογαριασμό σου στο Puzzel.org και ένα URL που μπορείς να δώσεις στους παίκτες ή να βάλεις σε ένα iframe.
Βασικό URL
https://puzzel.org/api/public/v1
Ταυτοποίηση
Κλειδί + email στο σώμα
Endpoints
20 τύποι δραστηριοτήτων
Όριο
10 δραστηριότητες την ημέρα
Το πρώτο σου αίτημα
Δεν χρειάζεται εγκατάσταση ούτε handshake: στέλνεις ένα σώμα JSON με το κλειδί σου, το email σου και το περιεχόμενό σου. Η απάντηση περιέχει το κλειδί της νέας δραστηριότητας και το URL στο οποίο παίζεται.
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": "gr",
"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"
}
]
}'
Κάθε παράδειγμα σε αυτή τη σελίδα είναι ένα πλήρες αίτημα που τρέχει όπως είναι. Βάλε το δικό σου κλειδί και το δικό σου περιεχόμενο και δουλεύει αμέσως.
Έλεγχος ταυτότητας
Δεν υπάρχουν headers ούτε bearer token. Και τα δύο διαπιστευτήρια ταξιδεύουν μέσα στο σώμα JSON κάθε αιτήματος, και το κλειδί γίνεται δεκτό μόνο για τον λογαριασμό στον οποίο ανήκει αυτό το email.
Πεδίο
Τύπος
Τι κάνει
account_api_key
υποχρεωτικό
string
string
Το κλειδί API του λογαριασμού σου. Πηγαίνει στο σώμα, όχι σε header.
email
υποχρεωτικό
string
string
Η διεύθυνση με την οποία συνδέεται ο λογαριασμός σου στο Puzzel.org. Το κλειδί ισχύει μόνο μαζί με αυτήν.
Το κλειδί σου βρίσκεται στην ενότητα λογαριασμού του πίνακα ελέγχου, πίσω από το κουμπί Εμφάνιση.
Φύλαξε το κλειδί σαν κωδικό πρόσβασης. Δημιουργεί και αντικαθιστά δραστηριότητες στον λογαριασμό σου, γι' αυτό κράτησέ το στον server και μακριά από οτιδήποτε μπορεί να διαβάσει ένας περιηγητής.
Το σώμα του αιτήματος
Κάθε endpoint δέχεται τα ίδια πέντε πεδία. Αυτό που αλλάζει είναι το πεδίο περιεχομένου από κάτω: τα περισσότερα δέχονται έναν πίνακα items, μερικά μία πρόταση ή μία εικόνα, και το Sudoku δεν δέχεται απολύτως τίποτα.
Πεδίο
Τύπος
Τι κάνει
account_api_key
υποχρεωτικό
string
string
Το κλειδί API του λογαριασμού σου. Πηγαίνει στο σώμα, όχι σε header.
email
υποχρεωτικό
string
string
Η διεύθυνση με την οποία συνδέεται ο λογαριασμός σου στο Puzzel.org. Το κλειδί ισχύει μόνο μαζί με αυτήν.
title
προαιρετικό
string
string
Το όνομα που παίρνει η δραστηριότητα στον πίνακα ελέγχου σου. Άφησέ το κενό και το endpoint χρησιμοποιεί το δικό του εφεδρικό όνομα.
language
προαιρετικό
string
string
Καθορίζει μόνο τη γλώσσα στο URL που παίρνεις πίσω — δεν μεταφράζει τίποτα από όσα στέλνεις. Το κρυπτόλεξο το διαβάζει επίσης για να αλλάξει τα γράμματα γεμίσματος σε αραβικά όταν είναι "ar".
Προεπιλογή: "en"
activity_key
προαιρετικό
string
string
Άφησέ το κενό για να δημιουργηθεί νέα δραστηριότητα. Δώσε το κλειδί μιας που ήδη σου ανήκει και τότε ξαναδημιουργείται εκείνη.
Το settings είναι ένα αντικείμενο με επιλογές ανά endpoint. Ποιες διαβάζει το κάθε endpoint αναφέρεται μαζί του παρακάτω· οτιδήποτε άλλο βάλεις εκεί αγνοείται.
Τι παίρνεις πίσω
Μια επιτυχημένη κλήση απαντά 200 με το κλειδί της νέας δραστηριότητας και το URL στο οποίο παίζεται. Οτιδήποτε άλλο απαντά με το success σε false και ένα μόνο string σφάλματος.
{
"success": false,
"error": "Invalid Email or API Key"
}
Το url που παίρνεις πίσω είναι η προβολή ενσωμάτωσης. Άλλαξε το embed σε play για να ανοίξει σε ολόκληρη τη σελίδα ή σε build για να ανοίξει στον επεξεργαστή — το κλειδί μετά το p= μένει το ίδιο.
Δημιουργία ή ενημέρωση
Στέλνεις activity_key και η δραστηριότητα πίσω από αυτό ξαναδημιουργείται επιτόπου: το περιεχόμενό της αντικαθίσταται, το όνομα και η σήμανση έκδοσης ανανεώνονται και το ίδιο το κλειδί μένει το ίδιο — έτσι οι σύνδεσμοι και οι ενσωματώσεις που έχεις ήδη κοινοποιήσει συνεχίζουν να δουλεύουν. Τα αποτελέσματα, ο φάκελος στον οποίο βρίσκεται και κάθε ρύθμιση που δεν γράφει το ίδιο το endpoint μένουν όπως ήταν.
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 εφαρμόζεται σε κάθε ενημέρωση, μαζί με την προεπιλογή του — άφησέ το κενό και η δραστηριότητα μετονομάζεται στο εφεδρικό όνομα εκείνου του endpoint.
Τα μπλοκ ρυθμίσεων που γράφει το ίδιο το endpoint ξαναγράφονται από την αρχή, οπότε μια ενημέρωση τα επαναφέρει κι αυτά στις τιμές που στέλνεις ή στις προεπιλογές του endpoint.
Μπορείς να ενημερώσεις μόνο δραστηριότητες που ανήκουν στον δικό σου λογαριασμό. Το κλειδί κάποιου άλλου απαντά 403.
Μια ενημέρωση κοστίζει όσο και μια δημιουργία: μία κλήση από το σημερινό όριο.
Όριο κλήσεων
10
10 δραστηριότητες ανά λογαριασμό την ημέρα
Κάθε επιτυχημένη κλήση μετράει, δημιουργίες και ενημερώσεις το ίδιο. Αν το ξεπεράσεις, το επόμενο αίτημα απαντά 429 μέχρι να μηδενιστεί ο μετρητής.
Ο μετρητής μηδενίζεται μία φορά την ημέρα από μια προγραμματισμένη εργασία, όχι με κυλιόμενο παράθυρο 24 ωρών.
Σφάλματα
Τα σφάλματα έρχονται πάντα ως JSON με τα ίδια δύο πεδία, ποτέ ως σελίδα HTML. Το string του σφάλματος είναι γραμμένο για να το διαβάσει άνθρωπος — ονομάζει το πεδίο ή το όριο που απέτυχε.
Κατάσταση
Τι σημαίνει
400
Bad Request
Κάτι στο σώμα λείπει, είναι λάθος διατυπωμένο ή εκτός ορίων. Το μήνυμα ονομάζει το πεδίο.
401
Unauthorized
Το email είναι άγνωστο ή το κλειδί δεν ανήκει σε αυτόν τον λογαριασμό.
403
Forbidden
Το activity_key που έστειλες ανήκει σε άλλον λογαριασμό.
429
Too Many Requests
Το σημερινό όριο εξαντλήθηκε. Μηδενίζεται μία φορά την ημέρα.
500
Server Error
Η γεννήτρια δεν μπόρεσε να δημιουργήσει γρίφο από αυτά που έστειλες — συνήθως πολύ λίγες λέξεις ή λέξεις που δεν ταιριάζουν μεταξύ τους.
Endpoints
Μία διαδρομή ανά τύπο δραστηριότητας, όλες POST, όλες κάτω από το ίδιο βασικό URL. Καθεμιά αναφέρει το περιεχόμενο που χρειάζεται, τις ρυθμίσεις που διαβάζει και ένα αίτημα που μπορείς να τρέξεις.
Λέξεις και γράμματα
F
I
G
A
T
R
I
P
M
Σταυρόλεξο
Πλέκει τις απαντήσεις σου σε ένα πλέγμα και αριθμεί τους ορισμούς για σένα.
POST/api/public/v1/crosswordΤουλάχιστον 2 στο items
Περιεχόμενο
Ένας πίνακας λέξεων. Κάθε εγγραφή συνδυάζει την απάντηση με τον ορισμό που δείχνει προς αυτήν.
Πέφτει πίσω στο όνομα “Crossword API”
Καλό είναι να ξέρεις
Οι απαντήσεις με λιγότερους από δύο χαρακτήρες αφαιρούνται πριν δημιουργηθεί το πλέγμα, και πρέπει να μείνουν τουλάχιστον δύο.
Οι απαντήσεις μετατρέπονται σε κεφαλαία και η γεννήτρια έχει είκοσι προσπάθειες να τις τοποθετήσει. Αν δεν καταφέρει να τοποθετήσει ούτε μία λέξη, η κλήση απαντά 500.
Παράδειγμα αιτήματος
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": "gr",
"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-scrambleΤουλάχιστον 1 στο items
Περιεχόμενο
api_c_word_scramble
Πέφτει πίσω στο όνομα “Word Scramble API”
Καλό είναι να ξέρεις
Οι δραστηριότητες που δημιουργούνται μέσω του API έχουν πάντα ενεργή τη ρύθμιση ανακατέματος της σειράς, οπότε η σειρά που στέλνεις δεν είναι η σειρά που παίρνουν οι παίκτες.
Ρυθμίσεις που διαβάζει
Πεδίο
Τύπος
Τι κάνει
hidden_solution
προαιρετικόστο settings
string
string
Μια προαιρετική λέξη μπόνους που συμπληρώνουν οι παίκτες μόλις λυθούν τα υπόλοιπα.
Παράδειγμα αιτήματος
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": "gr",
"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"
}
}'
Ένας πίνακας λέξεων. Οι παίκτες παίρνουν έναν γύρο ανά λέξη.
Πέφτει πίσω στο όνομα “Wordle API”
Καλό είναι να ξέρεις
Δημιουργείται με ενεργή τη ρύθμιση ελέγχου ότι οι λέξεις που μαντεύονται είναι υπαρκτές. Απενεργοποίησέ την στον επεξεργαστή αν οι λέξεις σου είναι ονόματα ή επινοημένες.
POST/api/public/v1/typing-practiceΤουλάχιστον 1 στο items
Περιεχόμενο
api_c_typing_practice
Πέφτει πίσω στο όνομα “Typing Practice API”
Παράδειγμα αιτήματος
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": "gr",
"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"
}
]
}'
Επιτυχία
{
"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/wheel-of-fortuneΤουλάχιστον 1 στο items
Περιεχόμενο
api_c_wheel_of_fortune
Πέφτει πίσω στο όνομα “Wheel of Fortune API”
Καλό είναι να ξέρεις
Δημιουργείται με την επιλογή “εμφάνιση του αποτελέσματος μόνο στον τροχό”, οπότε το αποτέλεσμα διαβάζεται πάνω στον τροχό αντί να ανακοινώνεται δίπλα του.
Ένας πίνακας ζευγαριών. Κάθε ζευγάρι κρατά τις δύο κάρτες που πάνε μαζί.
Πέφτει πίσω στο όνομα “Memory Game API”
Καλό είναι να ξέρεις
Μια κάρτα είναι ένα αντικείμενο με ένα type και ένα value. Χρησιμοποίησε "text" για λέξεις ή "image", "audio", "youtube" ή "link" με ένα URL στο value, και πρόσθεσε alt για περιγραφή.
POST/api/public/v1/matching-pairsΤουλάχιστον 2 στο items
Περιεχόμενο
api_c_matching_pairs
Πέφτει πίσω στο όνομα “Matching Game API”
Καλό είναι να ξέρεις
Μια κάρτα είναι ένα αντικείμενο με ένα type και ένα value. Χρησιμοποίησε "text" για λέξεις ή "image", "audio", "youtube" ή "link" με ένα URL στο value, και πρόσθεσε alt για περιγραφή.
POST/api/public/v1/flash-cardsΤουλάχιστον 1 στο items
Περιεχόμενο
api_c_flash_cards
Πέφτει πίσω στο όνομα “Flash Cards API”
Καλό είναι να ξέρεις
Το endpoint αποθηκεύει όσες κάρτες κι αν στείλεις, γι' αυτό στείλε ακριβώς δύο ανά εγγραφή — πρώτα την μπροστινή, μετά την πίσω.
Μια κάρτα είναι ένα αντικείμενο με ένα type και ένα value. Χρησιμοποίησε "text" για λέξεις ή "image", "audio", "youtube" ή "link" με ένα URL στο value, και πρόσθεσε alt για περιγραφή.
POST/api/public/v1/categorizeΤουλάχιστον 2 στο items
Περιεχόμενο
Ένας πίνακας κατηγοριών, καθεμιά με ένα όνομα και τις κάρτες που ανήκουν σε αυτήν.
Πέφτει πίσω στο όνομα “Categorize Game API”
Καλό είναι να ξέρεις
Μια κατηγορία που στέλνεται χωρίς όνομα αποθηκεύεται ως “Untitled Category”, γι' αυτό στείλε πάντα ένα.
Μια κάρτα είναι ένα αντικείμενο με ένα type και ένα value. Χρησιμοποίησε "text" για λέξεις ή "image", "audio", "youtube" ή "link" με ένα URL στο value, και πρόσθεσε alt για περιγραφή.
Ένας πίνακας ακολουθιών. Καθεμιά κρατά τις κάρτες της στη σωστή σειρά.
Πέφτει πίσω στο όνομα “Reorder Game API”
Καλό είναι να ξέρεις
Η σειρά που στέλνεις αποθηκεύεται ως η σωστή σειρά — πρώτο το νούμερο ένα.
Μια κάρτα είναι ένα αντικείμενο με ένα type και ένα value. Χρησιμοποίησε "text" για λέξεις ή "image", "audio", "youtube" ή "link" με ένα URL στο value, και πρόσθεσε alt για περιγραφή.
Ένας πίνακας ερωτήσεων. Οι ερωτήσεις πολλαπλής επιλογής κρατούν τις απαντήσεις τους· οι ανοιχτές ερωτήσεις κρατούν την απάντηση που δέχεσαι.
Πέφτει πίσω στο όνομα “Quiz API”
Καλό είναι να ξέρεις
Το question_type είναι είτε "multiple_choice", όπου η σωστή επιλογή έχει isCorrect true, είτε "open_answer", που χρησιμοποιεί στη θέση του το correct_answer. Αν λείπει, θεωρείται πολλαπλής επιλογής.
Το endpoint του Quiz περνά τα settings κατευθείαν ως μπλοκ ρυθμίσεων της δραστηριότητας, οπότε δεν είναι μέρος για χαλαρές επιλογές — προσάρμοσε το Quiz στον επεξεργαστή μετά.
Παράδειγμα αιτήματος
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": "gr",
"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-gameΤουλάχιστον 1 στο items
Περιεχόμενο
api_c_board_game
Πέφτει πίσω στο όνομα “Board Game API”
Καλό είναι να ξέρεις
Το question_type είναι είτε "multiple_choice", όπου η σωστή επιλογή έχει isCorrect true, είτε "open_answer", που χρησιμοποιεί στη θέση του το correct_answer. Αν λείπει, θεωρείται πολλαπλής επιλογής.
Ρυθμίσεις που διαβάζει
Πεδίο
Τύπος
Τι κάνει
number_of_tiles
προαιρετικόστο settings
number
number
Πόσα τετράγωνα έχει το ταμπλό. Από 10 έως 75.
Προεπιλογή: 30
game_mode
προαιρετικόστο settings
string
string
Αν οι παίκτες τρέχουν προς τον τερματισμό ή μαζεύουν αντικείμενα στον δρόμο.
Ένα απόrace_to_finishcollect_items
Προεπιλογή: "race_to_finish"
Παράδειγμα αιτήματος
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": "gr",
"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"
}
}'
Επιτυχία
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/board-game/embed?p=-Nq8sample_activity_key",
"message": "Board Game created successfully"
}
Μία πρόταση, στο πεδίο sentence. Αυτό το endpoint δεν δέχεται items.
Πέφτει πίσω στο όνομα “Calculation Game API”
Καλό είναι να ξέρεις
Αν οι περιορισμοί είναι πολύ στενοί για να κωδικοποιηθεί η πρόταση, η κλήση απαντά 400 και σου ζητά να τους χαλαρώσεις, αντί να αποθηκεύσει έναν μισοτελειωμένο γρίφο.
Ρυθμίσεις που διαβάζει
Πεδίο
Τύπος
Τι κάνει
sentence
υποχρεωτικό
string
string
Η πρόταση που αποκαλύπτουν οι παίκτες λύνοντας τις πράξεις.
difficulty_level
προαιρετικόστο settings
number
number
Το μεγαλύτερο αποτέλεσμα που επιτρέπεται να έχει μια πράξη.
Ένα από20501001000
Προεπιλογή: "100"
operators
προαιρετικόστο settings
string[]
string[]
Ποιες πράξεις μπορούν να εμφανιστούν. Το x είναι πολλαπλασιασμός, το : διαίρεση.
Ένα από+-x:
Προεπιλογή: ["+", "-", "x", ":"]
max_operations
προαιρετικόστο settings
number
number
Πόσες πράξεις μπορεί να συνδυάσει μία άσκηση.
Ένα από123
Προεπιλογή: 1
number_difficulty
προαιρετικόστο settings
number
number
Περιορίζει τους μεμονωμένους αριθμούς μέσα σε μια πράξη. Από 5 έως 1000.
Τίποτα. Όλος ο γρίφος προκύπτει από τις δύο ρυθμίσεις του.
Πέφτει πίσω στο όνομα “Sudoku API”
Καλό είναι να ξέρεις
Μη στείλεις items ούτε sentence — το size και το difficulty είναι όλη η είσοδος.
Ο επεξεργαστής προσφέρει τη δυσκολία μόνο για 2x3, 3x3 και 3x4. Το API την εφαρμόζει σε κάθε μέγεθος, μαζί με 2x2 και 4x4.
Ρυθμίσεις που διαβάζει
Πεδίο
Τύπος
Τι κάνει
size
προαιρετικόστο settings
string
string
Το μέγεθος ενός μπλοκ, γραμμένο ως γραμμές επί στήλες — το 3x3 δίνει το κλασικό πλέγμα 9x9. Το endpoint ελέγχει μόνο ότι διαβάζεται ως δύο αριθμοί, γι' αυτό μείνε στα μεγέθη που προσφέρει ο επεξεργαστής.
Ένα από2x22x33x33x44x4
Προεπιλογή: "3x3"
difficulty_level
προαιρετικόστο settings
string
string
Πόσοι αριθμοί μένουν στο πλέγμα για να ξεκινήσεις.
Ένα URL εικόνας, στο πεδίο image. Αυτό το endpoint δεν δέχεται items.
Πέφτει πίσω στο όνομα “Jigsaw Game API”
Καλό είναι να ξέρεις
Το API δημιουργεί πάντα ένα παζλ 4 επί 4. Το πλήθος των κομματιών, τα ακανόνιστα κομμάτια και οι ίσιες άκρες είναι ρυθμίσεις του επεξεργαστή — αν στείλεις rows ή columns εδώ, δεν γίνεται τίποτα.
Το URL αποθηκεύεται όπως το έστειλες και το αρχείο δεν αντιγράφεται ποτέ, οπότε πρέπει να παραμείνει δημόσια προσβάσιμο για όσο καιρό παίζεται η δραστηριότητα.
Ρυθμίσεις που διαβάζει
Πεδίο
Τύπος
Τι κάνει
image
υποχρεωτικό
string
string
Απόλυτο URL της εικόνας που θα κοπεί σε κομμάτια. Στέλνεται στο ανώτατο επίπεδο, όχι μέσα στο settings.
Ένα URL εικόνας, μέσα στο settings. Αυτό το endpoint δεν δέχεται items.
Πέφτει πίσω στο όνομα “Sliding Puzzle API”
Καλό είναι να ξέρεις
Σε αντίθεση με το παζλ, αυτό το endpoint διαβάζει την εικόνα του από το settings.image. Ένα πεδίο image στο ανώτατο επίπεδο αγνοείται και η κλήση απαντά 400.
Το URL αποθηκεύεται όπως το έστειλες και το αρχείο δεν αντιγράφεται ποτέ, οπότε πρέπει να παραμείνει δημόσια προσβάσιμο για όσο καιρό παίζεται η δραστηριότητα.
Ρυθμίσεις που διαβάζει
Πεδίο
Τύπος
Τι κάνει
image
υποχρεωτικόστο settings
string
string
Απόλυτο URL της εικόνας που θα ανακατευτεί. Σε αντίθεση με του παζλ, αυτό βρίσκεται μέσα στο settings.