Avatud Küsitluse Formaat
Avatud, JSON-põhine formaat küsitluste ja vormide defineerimiseks. Kasutusel YourOpinion.is platvormil ja kõigile vabalt implementeeritav.
Praegune versioon: 1.0 (Avaldatud: 15. november 2025)
Laadi spetsifikatsioon alla
- JSON-skeem - masinloetav formaadi definitsioon
- Markdown - inimloetav dokumentatsioon (optimeeritud LLM-ide jaoks)
Sissejuhatus
Avatud Küsitluse Formaat pakub standardiseeritud viisi küsitluste, ankeetide ja vormide defineerimiseks JSON-objektidena. See formaat võimaldab:
- Liikuvust platformide vahel - küsitluste liigutamist erinevate platvormide ja tööriistade vahel
- Versioonikontrolli - küsitluse muudatuste jälgimist standardsete
diff-tööriistadega - Programmilist genereerimist - küsitluste dünaamilist loomist koodi abil
- LLM-ühilduvust - tehisintellekti assistendid saavad hõlpsasti küsitlusi luua ja muuta
Põhimõisted
Kogumikud (leheküljed)
Küsitlused on organiseeritud kogumikesse, mis toimivad lehekülgede või jaotistena. Iga küsitlus peab sisaldama vähemalt ühte kogumikku.
Elemendid
Individuaalsed komponendid kogumiku sees, näiteks:
- Küsimused (tekstisisestus, valikvastused, hinnangud jne)
- Sisuplokid (Markdown-tekst, pildid)
- Juhtvoo elemendid (tingimusloogika, lehekülje vahetused)
Jagatud varad
Taaskasutatavad komponendid, millele saab viidata mitmest küsimusest:
- Valikute loendid (valikküsimuste jaoks)
- Hinnanguskaalad
- Jagatud ressursid
Dokumendi struktuur
Küsitlus on esitatud JSON-objektina, millel on järgmine struktuur:
{
"$schema": "https://youropinion.is/json-schema/1.0",
"$readme": "https://youropinion.is/docs/survey-format.md",
"collections": {
"collection-id-1": {
"name": "Kogumiku nimi",
"elements": {
"element-id-1": {
"type": "Markdown",
"data": {
/* Elemendispetsiifilised andmed */
}
}
},
"displayOrder": ["element-id-1"]
}
},
"displayOrder": ["collection-id-1"],
"assets": {
"asset-id-1": {
"type": "options",
"data": {
/* Varaspetsiifilised andmed */
}
}
}
}
Ülataseme atribuudid
$schema (valikuline)
URL valideerimiseks mõeldud JSON-skeemi definitsioonile:
"$schema": "https://youropinion.is/json-schema/1.0"
$readme (valikuline)
URL inimloetavale dokumentatsioonile:
"$readme": "https://youropinion.is/docs/survey-format.md"
collections (kohustuslik)
Objekt, mis sisaldab küsitluse lehekülgi/jaotisi. Iga võti on unikaalne kogumiku ID:
"collections": {
"welcome": {
"name": "Tervitusleht",
"elements": { /* ... */ },
"displayOrder": ["intro", "consent"]
},
"questions": {
"name": "Põhiküsimused",
"elements": { /* ... */ },
"displayOrder": ["q1", "q2", "q3"]
}
}
Kogumiku atribuudid:
name(string, valikuline) - inimloetav kogumiku nimi (ei kuvata kasutajatele, kasutatakse viitamiseks)condition(objekt, valikuline) - tingimusloogika, mis määrab, kas seda kogumikku kuvada (vt jaotist Tingimusloogika)elements(objekt) - sisaldab selle kogumiku elemente. Iga võti on unikaalne elemendi IDdisplayOrder(massiiv) - elementide ID-de massiiv, mis määrab kuvamise järjekorra
Oluline: displayOrder-massiiv toimib nii filtri kui ka järjestajana:
- Kuvatakse ainult
displayOrder-massiivis loetletud elemente. - Elemendid, mis ei ole
displayOrder-massiivis, jäävad definitsiooni alles, kuid on peidetud. - Olematu elemendi ID lisamine põhjustab vea.
displayOrder (kohustuslik)
Massiiv, mis määrab kogumike järjekorra:
"displayOrder": ["welcome", "questions", "thank-you"]
Kehtivad samad filtreerimisreeglid: kuvatakse ainult siin loetletud kogumikke.
assets (valikuline)
Taaskasutatavad komponendid, millele viitavad mitmed elemendid. Varad vähendavad kordusi ja muudavad küsitluste haldamise lihtsamaks.
Varade tüübid:
options- taaskasutatavad valikute loendidSelectOne/SelectMany-küsimuste jaoksordinal-scale- taaskasutatavad sildistatud skaaladOrdinalScale-küsimuste jaoksinterval-scale- taaskasutatavad numbrilised skaaladIntervalScale-küsimuste jaoks
Näide - valikute vara:
"assets": {
"color-options": {
"type": "options",
"name": "Värvivalikud",
"data": {
"options": {
"red": { "label": "Punane" },
"blue": { "label": "Sinine" },
"green": { "label": "Roheline" },
"yellow": { "label": "Kollane" }
},
"displayOrder": ["red", "blue", "green", "yellow"]
}
},
"satisfaction-scale": {
"type": "ordinal-scale",
"name": "Standardne rahuloluskaala",
"data": {
"labels": {
"1": "Väga rahulolematu",
"2": "Rahulolematu",
"3": "Neutraalne",
"4": "Rahul",
"5": "Väga rahul"
}
}
},
"nps-scale": {
"type": "interval-scale",
"name": "Soovitusindeksi (NPS) skaala",
"data": {
"start": 0,
"end": 10,
"labels": {
"start": "Ebatõenäoline",
"end": "Väga tõenäoline"
}
}
}
}
Kõik varade tüübid nõuavad:
type- vara tüüp:"options","ordinal-scale"või"interval-scale"name- inimloetav nimi dokumenteerimise eesmärgildata- tüübispetsiifiline andmestruktuur
Varadele saab viidata JSON-viidete abil (vt jaotist JSON-viited).
Elemendi tüübid
Elemendid on teie küsitluse ehitusplokid. Igal elemendil on atribuudid type ja data. Kõik elemendid võivad valikuliselt sisaldada extensions-objekti kohandatud metaandmete jaoks (standardne renderdaja seda ei kasuta).
Saadaolevad elemendi tüübid:
| Tüüp | Kategooria | Kirjeldus |
|---|---|---|
Markdown | Sisu | Vormindatud teksti ja sisu kuvamine |
FlowControl | Juhtimine | Tingimusloogika ja navigeerimine |
String | Küsimus | Tekstisisestus (ühe- või mitmerealine) |
Number | Küsimus | Numbriline sisestus |
Date | Küsimus | Kuupäevavalija |
Boolean | Küsimus | Jah/Ei-märkeruut |
SelectOne | Küsimus | Üks valik valikute hulgast (raadionupud) |
SelectMany | Küsimus | Mitu valikut valikute hulgast (märkeruudud) |
IntervalScale | Küsimus | Numbriline hinnanguskaala (nt 0-10 NPS-i jaoks, 1-5 rahulolu jaoks) |
OrdinalScale | Küsimus | Sildistatud hinnanguskaala (nt „Täiesti mittenõus“ kuni „Täiesti nõus“) |
Payment | Küsimus | Makse töötlemise element |
Sisu elemendid
Markdown
Kuvab vormindatud teksti, pealkirju, loendeid ja muud sisu, kasutades Markdowni süntaksit.
{
"type": "Markdown",
"data": {
"markdown": "# Tere tulemast!\n\nAitäh, et osalete meie küsitluses.\n\n- Palun vastake ausalt.\n- Kõik vastused on anonüümsed."
}
}
Toetatud Markdown:
- Pealkirjad (
#,##,###) - Loendid (järjestatud ja järjestamata)
- Paks kiri (
**tekst**) ja kaldkiri (*tekst*) - Lingid (
[tekst](url)) - Koodiplokid
FlowControl
Kontrollib küsitluse voogu tingimusloogika ja navigeerimisega.
{
"type": "FlowControl",
"data": {
"condition": {
/* Valikuline - vt jaotist Tingimusloogika */
},
"action": {
"type": "survey-finish" // Valikud: "survey-finish" või "page-finish"
}
}
}
Tegevuste tüübid:
survey-finish- lõpetab küsitluse kohepage-finish- lõpetab praeguse lehekülje ja liigub järgmisele
Täpsema teabe saamiseks tingimuse struktuuri ja näidete kohta vt allpool olevat jaotist Tingimusloogika.
Küsimuste tüübid
Kõigil küsimustel on järgmised ühised atribuudid:
{
"type": "QuestionType",
"data": {
"label": "Teie küsimuse tekst siin",
"required": "yes", // Valikuline: "yes", "no" või "suggested" (vaikimisi on "no")
"markdown": "Abistav tekst" // Valikuline: täiendav kontekst Markdownis
}
}
Ühised atribuudid:
label(string, kohustuslik) - küsimuse tekst, mida kasutajatele kuvatakserequired(string, valikuline) - kas vastus on kohustuslik:"yes","no"või"suggested"(kuvatakse valikulisena, kuid on soovitatav)markdown(string, valikuline) - täiendav abistav tekst või kirjeldus Markdown-vormingusdefaultValue(any, valikuline) - küsimuse eelnevalt täidetud väärtus
String
Ühe- või mitmerealine tekstisisestus.
{
"type": "String",
"data": {
"label": "Mis on teie nimi?",
"placeholder": "Sisestage oma täisnimi", // Valikuline
"multiline": false, // Valikuline: true mitmerealise tekstivälja jaoks
"required": "yes"
}
}
Number
Numbriline sisestus valikulise valideerimisega.
{
"type": "Number",
"data": {
"label": "Mitu töötajat?",
"min": 1, // Valikuline: minimaalne väärtus
"max": 1000, // Valikuline: maksimaalne väärtus
"step": 1, // Valikuline: sammu suurus (vaikimisi: 1)
"required": "yes"
}
}
Atribuudid:
min(number, valikuline) - minimaalne lubatud väärtusmax(number, valikuline) - maksimaalne lubatud väärtusstep(number, valikuline) - sisendi valideerimiseks kasutatav sammu suurus (vaikimisi: 1)
Date
Kuupäevavalija sisestus valikulise täpsustaseme ning miinimum- ja maksimumpiirangutega.
{
"type": "Date",
"data": {
"label": "Millal te liitusite?",
"required": "suggested",
"accuracy": "day", // Valikuline: "day", "month" või "year" (vaikimisi: "day")
"min": "2020-01-01", // Valikuline: varaseim valitav kuupäev
"max": "2025-12-31" // Valikuline: hiliseim valitav kuupäev
}
}
Atribuudid:
accuracy(string, valikuline) - kuupäeva täpsuse tase:"day"- täielik kuupäevavalija kalendriga (vaikimisi)"month"- kuu ja aasta rippmenüü valik"year"- ainult aasta rippmenüü valik
min(string, valikuline) - varaseim valitav kuupäev. Võib olla:- ISO-kuupäeva string (nt
"2020-01-01") - Suhteline aja string (nt
"+ 3 months","now","- 1 year")
- ISO-kuupäeva string (nt
max(string, valikuline) - hiliseim valitav kuupäev. Samad vorminguvalikud nagumin.
Boolean
Jah/Ei-märkeruut. Vaikimisi väärtus on false (märkimata).
{
"type": "Boolean",
"data": {
"label": "Kasutustingimused",
"description": "Nõustun kasutustingimustega" // Kuvatakse märkeruudu kõrval
}
}
SelectOne
Valikvastustega küsimus (raadionupud) - kasutajad valivad ühe valiku.
{
"type": "SelectOne",
"data": {
"label": "Mis on teie lemmikvärv?",
"required": "yes",
"options": {
"options": {
"red": { "label": "Punane" },
"blue": { "label": "Sinine" },
"green": { "label": "Roheline" }
},
"displayOrder": ["red", "blue", "green"]
}
}
}
Vara viidete kasutamine:
{
"type": "SelectOne",
"data": {
"label": "Valige värv",
"options": { "$ref": "#/assets/color-options/data" }
}
}
SelectMany
Valikvastustega küsimus (märkeruudud) - kasutajad saavad valida mitu valikut.
{
"type": "SelectMany",
"data": {
"label": "Milliseid operatsioonisüsteeme te kasutate?",
"required": "yes",
"options": {
"options": {
"windows": { "label": "Windows" },
"macos": { "label": "macOS" },
"linux": { "label": "Linux" }
},
"displayOrder": ["windows", "macos", "linux"]
},
"other": true, // Valikuline: lisab valiku "Muu" koos tekstisisestuse väljaga
"minSelections": 1, // Valikuline: minimaalne nõutav valikute arv
"maxSelections": 3 // Valikuline: maksimaalne lubatud valikute arv
}
}
IntervalScale
Numbriline hinnanguskaala määratletud vahemikuga (nt 0-10 NPS-i jaoks, 1-5 rahulolu jaoks). Tavaliselt kasutatakse:
- Soovitusindeks (NPS): 0-10 skaala
- Rahuloluhinnangud: 1-5 või 1-7 skaala
- Tõenäosusküsimused: 0-10 skaala
{
"type": "IntervalScale",
"data": {
"label": "Kui tõenäoliselt te soovitaksite meid sõbrale?",
"required": "yes",
"scale": {
"start": 0, // Skaala algusnumber
"end": 10, // Skaala lõppnumber
"labels": {
// Sildid algus- ja lõpp-punktide jaoks (kohustuslik)
"start": "Üldse mitte tõenäoline",
"end": "Äärmiselt tõenäoline"
}
}
}
}
Levinud kasutusjuhud:
// Soovitusindeks (NPS)
{
"type": "IntervalScale",
"data": {
"label": "Kui tõenäoliselt te meid soovitaksite?",
"scale": {
"start": 0,
"end": 10,
"labels": {
"start": "Ebatõenäoline",
"end": "Väga tõenäoline"
}
}
}
}
// 5-punktine rahuloluskaala
{
"type": "IntervalScale",
"data": {
"label": "Kui rahul te olete meie teenusega?",
"scale": {
"start": 1,
"end": 5,
"labels": {
"start": "Väga rahulolematu",
"end": "Väga rahul"
}
}
}
}
Kuvamine: Näitab horisontaalset skaalat klõpsatavate numbritega. Sildid ilmuvad algus- ja lõpp-punktide alla.
OrdinalScale
Sildistatud hinnanguskaala, kus igal punktil on kohandatud silt. Ideaalne:
- Likerti skaalad, kus igal punktil on konkreetne sõnastus
- Nõusolekuskaalad („Täiesti mittenõus“ → „Täiesti nõus“)
- Sagedusskaalad („Mitte kunagi“ → „Alati“)
- Kohandatud hinnanguskaalad tähenduslike siltidega
{
"type": "OrdinalScale",
"data": {
"label": "Kui rahul te olete oma positsiooniga?",
"required": "yes",
"scale": {
"labels": {
"1": "Väga rahulolematu",
"2": "Rahulolematu",
"3": "Neutraalne",
"4": "Rahul",
"5": "Väga rahul"
}
}
}
}
Levinud kasutusjuhud:
// Likerti nõusolekuskaala
{
"type": "OrdinalScale",
"data": {
"label": "Toode vastas minu ootustele.",
"scale": {
"labels": {
"1": "Täiesti mittenõus",
"2": "Mittenõus",
"3": "Ei nõustu ega ole vastu",
"4": "Nõus",
"5": "Täiesti nõus"
}
}
}
}
// Sagedusskaala
{
"type": "OrdinalScale",
"data": {
"label": "Kui tihti te meie toodet kasutate?",
"scale": {
"labels": {
"1": "Mitte kunagi",
"2": "Harva",
"3": "Mõnikord",
"4": "Tihti",
"5": "Alati"
}
}
}
}
Kuvamine: Näitab sildistatud nuppe või valikuid. Iga silt kuvatakse täielikult, muutes skaala iseenesestmõistetavaks.
IntervalScale versus OrdinalScale:
- Kasuta IntervalScale’i, kui numbritel endil on tähendus (0-10, 1-5).
- Kasuta OrdinalScale’i, kui vajad iga punkti jaoks kohandatud silte.
IntervalScaleon kompaktsem;OrdinalScaleon kirjeldavam.
Payment
Kogub makseandmeid ja töötleb tehinguid. Integreerub makseteenuse pakkujatega, mis on konfigureeritud teie küsitluse seadetes.
{
"type": "Payment",
"data": {
"label": "Makse",
"required": "yes",
"amount": {
"value": 29.99,
"currency": "USD"
},
"captureMethod": "automatic" // Valikuline: "immediate", "manual" või "automatic"
}
}
Atribuudid:
amount(objekt, kohustuslik) - maksesumma koosvalue(number) jacurrency(kolmetäheline kood, nt „USD“, „EUR“, „GBP“) atribuutidegacaptureMethod(string, valikuline) - millal makse broneerida:"immediate"- broneerib makse kohe pärast küsitluse esitamist"manual"- nõuab käsitsi broneerimist maksete halduspaneeli kaudu"automatic"- broneerib makse automaatselt pärast küsitluse lõpetamist (vaikimisi)
Märkus: Maksete töötlemine nõuab, et teie kanali seadetes oleks konfigureeritud makseteenuse pakkuja. Toetatud valuutad ja makseviisid sõltuvad teie teenusepakkuja konfiguratsioonist.
JSON-viited
Vähendage kordusi, viidates taaskasutatavatele komponentidele. Viited kasutavad järgmist vormingut:
{ "$ref": "[<asukoht>]#<tee>" }
asukoht- URL lähtedokumendile (tühi = praegune dokument)tee- tee dokumendi juurest, kasutades/eraldajaid
Näide - reasisene kordus:
{
"question-1": {
"type": "SelectOne",
"data": {
"label": "Lemmikvärv?",
"options": {
"options": {
"red": { "label": "Punane" },
"blue": { "label": "Sinine" }
},
"displayOrder": ["red", "blue"]
}
}
},
"question-2": {
"type": "SelectOne",
"data": {
"label": "Kõige vähem meeldiv värv?",
"options": {
"options": {
"red": { "label": "Punane" },
"blue": { "label": "Sinine" }
},
"displayOrder": ["red", "blue"]
}
}
}
}
Parem - varade kasutamine:
{
"collections": {
"main": {
"elements": {
"question-1": {
"type": "SelectOne",
"data": {
"label": "Lemmikvärv?",
"options": { "$ref": "#/assets/colors/data" }
}
},
"question-2": {
"type": "SelectOne",
"data": {
"label": "Kõige vähem meeldiv värv?",
"options": { "$ref": "#/assets/colors/data" }
}
}
},
"displayOrder": ["question-1", "question-2"]
}
},
"assets": {
"colors": {
"type": "options",
"data": {
"options": {
"red": { "label": "Punane" },
"blue": { "label": "Sinine" }
},
"displayOrder": ["red", "blue"]
}
}
}
}
Eelised:
- Ühtne andmeallikas
- Lihtsam hooldus
- Selgemad versioonikontrolli võrdlused
- Väiksem failimaht
Tingimusloogika
Tingimusloogika võimaldab luua dünaamilisi küsitlusi, mis kohanduvad vastavalt kasutaja vastustele. Tingimusi saab kasutada kahel viisil:
1. Kogumiku taseme tingimused
Tervete lehekülgede kuvamine või peitmine tingimuste alusel. Kui kogumiku tingimus annab tulemuseks false, jäetakse terve lehekülg vahele ja liigutakse edasi järgmise kogumiku juurde.
{
"collections": {
"follow-up": {
"name": "Järelküsimused",
"condition": {
"type": "condition",
"fact": "questions/nps-score",
"operator": "lt",
"compare": { "value": 7 }
},
"elements": {
/* ... */
},
"displayOrder": ["question-1"]
}
}
}
Selles näites kuvatakse „Järelküsimuste“ lehekülg ainult siis, kui NPS-skoor on väiksem kui 7.
2. FlowControl-elemendid
Küsitluse voo juhtimine lehekülje sees FlowControl-elementide abil. Kui tingimus annab tulemuseks true, viiakse määratud tegevus ellu.
Saadaolevad tegevused:
survey-finish- lõpetab küsitluse kohe (jätab kõik ülejäänud leheküljed vahele)page-finish- lõpetab praeguse lehekülje ja liigub järgmisele (jätab ülejäänud elemendid praegusel leheküljel vahele)
{
"type": "FlowControl",
"data": {
"condition": {
"type": "condition",
"fact": "questions/satisfaction",
"operator": "eq",
"compare": { "value": "very-satisfied" }
},
"action": {
"type": "page-finish"
}
}
}
Märkus: Kui condition pole määratud, täidetakse tegevus alati, kui elemendini jõutakse.
Tingimuse struktuur
Tingimused on defineeritud binaarpuuna, millel on kaks sõlmetüüpi:
1. Võrdlustingimused
Võrdleb fakti (küsitluse vastust) väärtuse või teise faktiga.
{
"type": "condition",
"fact": "questions/age",
"operator": "gt",
"compare": { "value": 18 }
}
Atribuudid:
type- võrdluste puhul alati"condition"fact(string) - elemendi viide formaadis ‘collection-id/element-id’, kust väärtust lugedaoperator(string) - võrdlusoperaator (vt operaatoreid allpool)compare(objekt, valikuline) - millega võrrelda:{ "value": <any> }- võrdleb literaalse väärtusega{ "fact": "<collection-id>/<element-id>" }- võrdleb teise elemendi väärtusega- Pole nõutav operaatorite puhul nagu
"exists"või"true"
not(boolean, valikuline) - pöörab tulemuse vastupidiseks (vaikimisi:false)
Toetatud operaatorid elemendi tüübi järgi:
Number, IntervalScale, OrdinalScale, Date:
"eq"- võrdne"gt"- suurem kui"gte"- suurem või võrdne kui"lt"- väiksem kui"lte"- väiksem või võrdne kui"exists"- omab väärtust (ei vajacompare’i)
String:
"eq"- võrdne"contains"- string sisaldab väärtust"exists"- omab väärtust (ei vajacompare’i)
Boolean:
"true"- väärtus on tõene (ei vajacompare’i)"exists"- omab väärtust (ei vajacompare’i)
SelectOne:
"eq"- võrdne konkreetse valikuga"in"- on üks mitmest valikust (võrdlusväärtus peab olemaSelectManyformaadis)"exists"- omab väärtust (ei vajacompare’i)
SelectMany:
"eq"- vastab täpselt valikute komplektile"exists"- omab vähemalt ühte väärtust (ei vajacompare’i)
2. Aheltingimused
Kombineerib mitu tingimust loogiliste operaatorite abil.
{
"type": "all",
"items": [
{
"type": "condition",
"fact": "questions/age",
"operator": "gt",
"compare": { "value": 18 }
},
{
"type": "condition",
"fact": "questions/country",
"operator": "eq",
"compare": { "value": "US" }
}
]
}
Atribuudid:
type- loogiline operaator:"all"- kõik tingimused peavad olema tõesed (AND-loogika)"any"- vähemalt üks tingimus peab olema tõene (OR-loogika)
items(massiiv) - tingimuste massiiv (võivad olla võrdlused või pesastatud ahelad)not(boolean, valikuline) - pöörab kogu ahela tulemuse vastupidiseksname(string, valikuline) - inimloetav silt dokumenteerimiseks
Näited
Rahulolevate klientide puhul küsitluse vahelejätmine
{
"type": "FlowControl",
"data": {
"condition": {
"type": "condition",
"fact": "questions/nps",
"operator": "gte",
"compare": { "value": 9 }
},
"action": {
"type": "survey-finish"
}
}
}
Lehekülje kuvamine ainult kindlale vanusegrupile
{
"collections": {
"teen-questions": {
"name": "Küsimused teismelistele",
"condition": {
"type": "all",
"items": [
{
"type": "condition",
"fact": "questions/age",
"operator": "gte",
"compare": { "value": 13 }
},
{
"type": "condition",
"fact": "questions/age",
"operator": "lt",
"compare": { "value": 20 }
}
]
},
"elements": {
/* ... */
}
}
}
}
Keerukad pesastatud tingimused
{
"type": "any",
"name": "Premium-kasutajad või suured kulutajad",
"items": [
{
"type": "condition",
"fact": "questions/membership",
"operator": "eq",
"compare": { "value": "premium" }
},
{
"type": "all",
"items": [
{
"type": "condition",
"fact": "questions/total-spent",
"operator": "gt",
"compare": { "value": 1000 }
},
{
"type": "condition",
"fact": "questions/active-months",
"operator": "gte",
"compare": { "value": 6 }
}
]
}
]
}
Kahe fakti võrdlemine
{
"type": "condition",
"fact": "questions/current-salary",
"operator": "gt",
"compare": { "fact": "questions/desired-salary" }
}
Atribuudi not kasutamine
{
"type": "condition",
"fact": "questions/email-consent",
"operator": "true",
"not": true // Pöörab tulemuse vastupidiseks: tõene, kui email-consent EI ole tõene
}
Versiooniajalugu
| Versioon | Kuupäev | Muudatused |
|---|---|---|
| 1.0 | 15.11.2025 | Makse element |
| 0.5 | 24.01.2025 | Esimene avalik väljalase |