Tæknilýsing á opnu könnunarsniði

Birt 15. nóvember 2025 · Uppfært 12. febrúar 2026

Opið, JSON-byggt snið til að skilgreina kannanir og eyðublöð. Notað af YourOpinion.is og frjálst öllum til innleiðingar.

Núverandi útgáfa: 1.0

Einfölduð Markdown-útgáfa

Einnig er í boði einfaldað innflutningsferli byggt á Markdown, hannað sérstaklega fyrir gervigreindarfulltrúa. Þetta ferli notar „Rich Markdown“ afbrigði til að skilgreina spurningar, valmöguleika og síðuskil með venjulegu textasniði. Í stað þess að smíða flókið JSON-fyrirbæri útbýr gervigreindin skipulagðan Markdown-streng og kódar hann í einn smellanlegan hlekk. Með því að smella á hlekkinn endurbyggist könnunin samstundis í vafranum.

Sækja forskrift

  • JSON skema - Vélilesin sniðskilgreining
  • Markdown - Mannlesin skjölun (hagrætt fyrir stór málalíkön)

Inngangur

Opið könnunarsnið býður upp á staðlaða leið til að skilgreina kannanir, spurningalista og eyðublöð sem JSON-hluti. Þetta snið gerir eftirfarandi kleift:

  • Færanleiki - Flytja kannanir á milli mismunandi kerfa og verkfæra
  • Útgáfustýring - Fylgjast með breytingum á könnunum með hefðbundnum samanburðarverkfærum (diff tools)
  • Forritunarleg sköpun - Búa til kannanir á gangvirkan hátt úr kóða
  • Samhæfni við stór málalíkön - Gervigreindaraðstoðarmenn geta auðveldlega búið til og breytt könnunum

Grunnhugtök

Söfn (Síður)

Könnunum er skipt upp í söfn, sem virka sem síður eða hlutar. Hver könnun verður að innihalda að minnsta kosti eitt safn.

Einingar

Einstakir íhlutir innan safns, svo sem:

  • Spurningar (textainnsláttur, fjölval, matskvarðar o.s.frv.)
  • Efniskubbar (Markdown texti, myndir)
  • Flæðistýringareiningar (skilyrt rökfræði, síðustökk)

Eignir (Assets)

Endurnýtanlegir íhlutir sem hægt er að vísa í úr mörgum spurningum:

  • Valkostalistar (fyrir valspurningar)
  • Matskvarðar
  • Sameiginlegar auðlindir

Uppbygging skjals

Könnun er táknuð sem JSON-hlutur með þessari uppbyggingu:

{
    "$schema": "https://youropinion.is/json-schema/1.0",
    "$readme": "https://youropinion.is/docs/survey-format.md",
    "collections": {
        "collection-id-1": {
            "name": "Nafn safns",
            "elements": {
                "element-id-1": {
                    "type": "Markdown",
                    "data": {
                        /* Gögn sem eiga við einingu */
                    }
                }
            },
            "displayOrder": ["element-id-1"]
        }
    },
    "displayOrder": ["collection-id-1"],
    "assets": {
        "asset-id-1": {
            "type": "options",
            "data": {
                /* Gögn sem eiga við eign */
            }
        }
    }
}

Eiginleikar á efsta stigi

$schema (valfrjálst)

Vefslóð á JSON skema skilgreiningu fyrir staðfestingu:

"$schema": "https://youropinion.is/json-schema/1.0"

$readme (valfrjálst)

Vefslóð á mannlesna skjölun:

"$readme": "https://youropinion.is/docs/survey-format.md"

collections (áskilið)

Hlutur sem inniheldur síður/hluta könnunarinnar. Hver lykill er einstakt auðkenni safns:

"collections": {
    "welcome": {
        "name": "Opnunarsíða",
        "elements": { /* ... */ },
        "displayOrder": ["intro", "consent"]
    },
    "questions": {
        "name": "Aðalspurningar",
        "elements": { /* ... */ },
        "displayOrder": ["q1", "q2", "q3"]
    }
}

Eiginleikar safns:

  • name (strengur, valfrjálst) - Mannlesið nafn á safni (ekki sýnt notendum, notað til viðmiðunar)
  • condition (hlutur, valfrjálst) - Skilyrt rökfræði til að ákvarða hvort sýna eigi þetta safn (sjá kaflann Skilyrt rökfræði)
  • elements (hlutur) - Inniheldur einingar fyrir þetta safn. Hver lykill er einstakt auðkenni einingar
  • displayOrder (fylki) - Fylki af auðkennum eininga sem skilgreinir birtingarröð

Mikilvægt: displayOrder fylkið virkar bæði sem sía og raðari:

  • Aðeins einingar sem skráðar eru í displayOrder verða sýndar
  • Einingar sem ekki eru í displayOrder eru áfram í skilgreiningunni en eru faldar
  • Ef auðkenni einingar sem ekki er til er sett í fylkið mun það valda villu

displayOrder (áskilið)

Fylki sem tilgreinir röð safna:

"displayOrder": ["welcome", "questions", "thank-you"]

Sömu síunarreglur gilda: aðeins söfn sem eru skráð hér verða sýnd.

assets (valfrjálst)

Endurnýtanlegir íhlutir sem vísað er í úr mörgum einingum. Eignir (assets) draga úr tvítekningu og gera viðhald kannana auðveldara.

Tegundir eigna:

  1. options - Endurnýtanlegir valkostalistar fyrir SelectOne/SelectMany spurningar
  2. ordinal-scale - Endurnýtanlegir merktir kvarðar fyrir OrdinalScale spurningar
  3. interval-scale - Endurnýtanlegir tölulegir kvarðar fyrir IntervalScale spurningar

Dæmi - Valkostaeign:

"assets": {
    "color-options": {
        "type": "options",
        "name": "Litavalkostir",
        "data": {
            "options": {
                "red": { "label": "Rauður" },
                "blue": { "label": "Blár" },
                "green": { "label": "Grænn" },
                "yellow": { "label": "Gulur" }
            },
            "displayOrder": ["red", "blue", "green", "yellow"]
        }
    },
    "satisfaction-scale": {
        "type": "ordinal-scale",
        "name": "Hefðbundinn ánægjukvarði",
        "data": {
            "labels": {
                "1": "Mjög óánægð(ur)",
                "2": "Óánægð(ur)",
                "3": "Hlutlaus",
                "4": "Ánægð(ur)",
                "5": "Mjög ánægð(ur)"
            }
        }
    },
    "nps-scale": {
        "type": "interval-scale",
        "name": "NPS-kvarði (Net Promoter Score)",
        "data": {
            "start": 0,
            "end": 10,
            "labels": {
                "start": "Ólíklegt",
                "end": "Mjög líklegt"
            }
        }
    }
}

Allar tegundir eigna krefjast:

  • type - Tegund eignar: "options", "ordinal-scale" eða "interval-scale"
  • name - Mannlesið nafn fyrir skjölun
  • data - Gagnagrind sem er sértæk fyrir tegundina

Hægt er að vísa í eignir með JSON tilvísunum (sjá kafla um JSON tilvísanir).


Tegundir eininga

Einingar eru byggingareiningar könnunarinnar. Hver eining hefur type og data eiginleika. Allar einingar geta valfrjálst innihaldið extensions hlut fyrir sérsniðin lýsigögn (ekki notað af hefðbundnum birtingarvélum).

Tiltækar tegundir eininga:

TegundFlokkurLýsing
MarkdownEfniBirta sniðinn texta og efni
FlowControlStýringSkilyrt rökfræði og flakk
StringSpurningTextainnsláttur (ein eða fleiri línur)
OpenListSpurningListi af textafærslum sem notandi bætir við
NumberSpurningTalnainnsláttur
DateSpurningDagsetningaval
BooleanSpurningJá/Nei gátreitur
SelectOneSpurningEinn valkostur úr lista (valhnappar)
SelectManySpurningMargir valkostir úr lista (gátreitir)
RankingSpurningRaða mörgum valkostum eftir mikilvægi eða forgangi
IntervalScaleSpurningTölulegur matskvarði (t.d. 0-10 fyrir NPS, 1-5 fyrir ánægju)
OrdinalScaleSpurningMatskvarði með merktum gildum (t.d. Mjög ósammála til Mjög sammála)
PaymentSpurningGreiðsluvinnslueining

Efniseiningar

Markdown

Birtir sniðinn texta, fyrirsagnir, lista og annað efni með Markdown málskipan.

{
    "type": "Markdown",
    "data": {
        "markdown": "# Velkomin(n)!\n\nÞakka þér fyrir að taka þátt í könnuninni okkar.\n\n- Vinsamlegast svaraðu af heiðarleika\n- Öll svör eru nafnlaus"
    }
}

Studdur Markdown:

  • Fyrirsagnir (#, ##, ###)
  • Listar (raðaðir og óraðaðir)
  • Feitletrað (**texti**) og skáletrað (*texti*)
  • Tenglar ([texti](slóð))
  • Kóðablokkir

FlowControl

Stýrir flæði könnunar með skilyrtri rökfræði og flakki.

{
    "type": "FlowControl",
    "data": {
        "condition": {
            /* Valfrjálst - Sjá kafla um skilyrta rökfræði */
        },
        "action": {
            "type": "survey-finish" // Valkostir: "survey-finish" eða "page-finish"
        }
    }
}

Tegundir aðgerða:

  • survey-finish - Ljúka könnuninni strax
  • page-finish - Ljúka núverandi síðu og fara á þá næstu

Fyrir nánari upplýsingar um uppbyggingu skilyrða og dæmi, sjá kaflann Skilyrt rökfræði hér að neðan.


Tegundir spurninga

Allar spurningar deila þessum sameiginlegu eiginleikum:

{
    "type": "QuestionType",
    "data": {
        "label": "Spurningartextinn þinn hér",
        "required": "yes", // Valfrjálst: "yes", "no", eða "suggested" (sjálfgefið er "no")
        "markdown": "Hjálpartexti" // Valfrjálst: viðbótar samhengi á Markdown formi
    }
}

Sameiginlegir eiginleikar:

  • label (strengur, áskilið) - Spurningartextinn sem birtist notendum
  • required (strengur, valfrjálst) - Hvort svar sé áskilið: "yes", "no", eða "suggested" (birtist sem valkvætt en er mælt með)
  • markdown (strengur, valfrjálst) - Viðbótar hjálpartexti eða lýsing á Markdown formi
  • defaultValue (hvað sem er, valfrjálst) - Forgildisgildi fyrir spurninguna

String

Textainnsláttur fyrir eina eða fleiri línur.

{
    "type": "String",
    "data": {
        "label": "Hvað heitir þú?",
        "placeholder": "Sláðu inn fullt nafn", // Valfrjálst
        "multiline": false, // Valfrjálst: true fyrir textasvæði
        "required": "yes"
    }
}

OpenList

Margir textainnslættir sem listi. Notendur geta bætt við atriðum einu í einu.

{
    "type": "OpenList",
    "data": {
        "label": "Teldu upp helstu forgangsatriði",
        "multiline": false, // Valfrjálst: true fyrir málsgreinainnslátt
        "minItems": 1, // Valfrjálst: lágmarksfjöldi atriða
        "maxItems": 5, // Valfrjálst: hámarksfjöldi atriða
        "required": "yes"
    }
}

Eiginleikar:

  • multiline (boolean, valfrjálst) - Ef true, er hvert atriði málsgrein (textasvæði). Ef false (sjálfgefið), er hvert atriði ein lína
  • minItems (tala, valfrjálst) - Lágmarksfjöldi atriða sem þarf
  • maxItems (tala, valfrjálst) - Hámarksfjöldi leyfilegra atriða

Number

Talnainnsláttur með valfrjálsri gildisprófun.

{
    "type": "Number",
    "data": {
        "label": "Hversu margir starfsmenn?",
        "min": 1, // Valfrjálst: lágmarksgildi
        "max": 1000, // Valfrjálst: hámarksgildi
        "step": 1, // Valfrjálst: þrepastærð (sjálfgefið: 1)
        "required": "yes"
    }
}

Eiginleikar:

  • min (tala, valfrjálst) - Lágmarksgildi
  • max (tala, valfrjálst) - Hámarksgildi
  • step (tala, valfrjálst) - Þrepastærð fyrir gildisprófun innsláttar (sjálfgefið: 1)

Date

Dagsetningarval með valfrjálsri nákvæmni og lágmarks/hámarks takmörkunum.

{
    "type": "Date",
    "data": {
        "label": "Hvenær gekkst þú til liðs við okkur?",
        "required": "suggested",
        "accuracy": "day", // Valfrjálst: "day", "month", eða "year" (sjálfgefið: "day")
        "min": "2020-01-01", // Valfrjálst: fyrsta valanlega dagsetning
        "max": "2025-12-31" // Valfrjálst: síðasta valanlega dagsetning
    }
}

Eiginleikar:

  • accuracy (strengur, valfrjálst) - Nákvæmni dagsetningar:
    • "day" - Fullt dagsetningarval með dagatali (sjálfgefið)
    • "month" - Val á mánuði og ári úr fellilista
    • "year" - Val á ári eingöngu úr fellilista
  • min (strengur, valfrjálst) - Fyrsta valanlega dagsetning. Getur verið:
    • ISO dagsetningarstrengur (t.d. "2020-01-01")
    • Afstæður tímastrengur (t.d. "+ 3 months", "now", "- 1 year")
  • max (strengur, valfrjálst) - Síðasta valanlega dagsetning. Sömu sniðmöguleikar og min.

Boolean

Já/Nei gátreitur. Sjálfgefið gildi er false (ómerkt).

{
    "type": "Boolean",
    "data": {
        "label": "Skilmálar",
        "description": "Ég samþykki skilmálana" // Birtist við hliðina á gátreitnum
    }
}

SelectOne

Fjölvalsspurning (valhnappar) - notendur velja einn valkost.

{
    "type": "SelectOne",
    "data": {
        "label": "Hver er uppáhaldsliturinn þinn?",
        "required": "yes",
        "options": {
            "options": {
                "red": { "label": "Rauður" },
                "blue": { "label": "Blár" },
                "green": { "label": "Grænn" }
            },
            "displayOrder": ["red", "blue", "green"]
        }
    }
}

Notkun tilvísana í eignir:

{
    "type": "SelectOne",
    "data": {
        "label": "Veldu lit",
        "options": { "$ref": "#/assets/color-options/data" }
    }
}

SelectMany

Fjölvalsspurning (gátreitir) - notendur geta valið marga valkosti.

{
    "type": "SelectMany",
    "data": {
        "label": "Hvaða stýrikerfi notar þú?",
        "required": "yes",
        "options": {
            "options": {
                "windows": { "label": "Windows" },
                "macos": { "label": "macOS" },
                "linux": { "label": "Linux" }
            },
            "displayOrder": ["windows", "macos", "linux"]
        },
        "other": true, // Valfrjálst: bæta við „Annað“ valkosti með textainnslætti
        "minSelections": 1, // Valfrjálst: lágmarksfjöldi valkosta sem krafist er
        "maxSelections": 3 // Valfrjálst: hámarksfjöldi valkosta sem leyfður er
    }
}

Ranking

Raðaðu mörgum valkostum eftir mikilvægi, forgangi eða eignum. Notendur gefa hverjum valkosti stig, oftast með samanburðaraðferðum eins og MaxDiff, parakönnun (pairwise comparison), draga-og-sleppa flokkun (drag-and-drop) eða fjárhagsáætlun (budget allocation).

{
    "type": "Ranking",
    "data": {
        "label": "Raðaðu þessum eiginleikum eftir mikilvægi",
        "required": "yes",
        "options": {
            "options": {
                "performance": { "label": "Hraði og afköst" },
                "design": { "label": "Hreinleg hönnun" },
                "price": { "label": "Hagstætt verð" },
                "support": { "label": "Þjónustuver allan sólarhringinn" }
            },
            "displayOrder": ["performance", "design", "price", "support"]
        }
    }
}

IntervalScale

Tölulegur matskvarði með skilgreindu bili (t.d. 0-10 fyrir NPS, 1-5 fyrir ánægju). Algengt að nota fyrir:

  • Net Promoter Score (NPS): 0-10 kvarði
  • Ánægjumælingar: 1-5 eða 1-7 kvarði
  • Líkinda spurningar: 0-10 kvarði
{
    "type": "IntervalScale",
    "data": {
        "label": "Hversu líklegt er að þú myndir mæla með okkur við vin?",
        "required": "yes",
        "scale": {
            "start": 0, // Byrjunargildi kvarðans
            "end": 10, // Endagildi kvarðans
            "labels": {
                // Merkingar fyrir upphafs- og endapunkta (áskilið)
                "start": "Alls ekki líklegt",
                "end": "Einstaklega líklegt"
            }
        }
    }
}

Algeng notkun:

// Net Promoter Score (NPS)
{
    "type": "IntervalScale",
    "data": {
        "label": "Hversu líklegt er að þú myndir mæla með okkur?",
        "scale": {
            "start": 0,
            "end": 10,
            "labels": {
                "start": "Ólíklegt",
                "end": "Mjög líklegt"
            }
        }
    }
}

// 5-stiga ánægjukvarði
{
    "type": "IntervalScale",
    "data": {
        "label": "Hversu ánægð(ur) ert þú með þjónustu okkar?",
        "scale": {
            "start": 1,
            "end": 5,
            "labels": {
                "start": "Mjög óánægð(ur)",
                "end": "Mjög ánægð(ur)"
            }
        }
    }
}

Birting: Sýnir láréttan kvarða með smellanlegum tölum. Merkingar birtast fyrir neðan upphafs- og endapunkta.

OrdinalScale

Matskvarði með merkingum þar sem hver punktur hefur sérsniðna merkingu. Tilvalið fyrir:

  • Likert-kvarða með sérstöku orðalagi fyrir hvern punkt
  • Samþykkiskvarða (Mjög ósammála → Mjög sammála)
  • Tíðniskvarða (Aldrei → Alltaf)
  • Sérsniðna matskvarða með merkingarbærum gildum
{
    "type": "OrdinalScale",
    "data": {
        "label": "Hversu ánægð(ur) ert þú með stöðu þína?",
        "required": "yes",
        "scale": {
            "labels": {
                "1": "Mjög óánægð(ur)",
                "2": "Óánægð(ur)",
                "3": "Hlutlaus",
                "4": "Ánægð(ur)",
                "5": "Mjög ánægð(ur)"
            }
        }
    }
}

Algeng notkun:

// Likert samþykkiskvarði
{
    "type": "OrdinalScale",
    "data": {
        "label": "Varan stóðst væntingar mínar",
        "scale": {
            "labels": {
                "1": "Mjög ósammála",
                "2": "Ósammála",
                "3": "Hvorki sammála né ósammála",
                "4": "Sammála",
                "5": "Mjög sammála"
            }
        }
    }
}

// Tíðniskvarði
{
    "type": "OrdinalScale",
    "data": {
        "label": "Hversu oft notar þú vöruna okkar?",
        "scale": {
            "labels": {
                "1": "Aldrei",
                "2": "Sjaldan",
                "3": "Stundum",
                "4": "Oft",
                "5": "Alltaf"
            }
        }
    }
}

Birting: Sýnir merkta hnappa eða valkosti. Hver merking er sýnd í heild sinni, sem gerir kvarðann auðskiljanlegan.

IntervalScale vs OrdinalScale:

  • Notaðu IntervalScale (jafnbilakvarða) þegar tölurnar sjálfar hafa merkingu (0-10, 1-5)
  • Notaðu OrdinalScale (raðkvarða) þegar þú þarft sérsniðnar merkingar fyrir hvern punkt
  • IntervalScale er fyrirferðarminni; OrdinalScale er lýsingarmeiri

Payment

Safna greiðsluupplýsingum og vinna færslur. Samþættist við greiðsluþjónustur sem eru uppsettar í stillingum könnunarinnar.

{
    "type": "Payment",
    "data": {
        "label": "Greiðsla",
        "required": "yes",
        "amount": {
            "value": 29.99,
            "currency": "USD"
        },
        "captureMethod": "automatic" // Valfrjálst: "immediate", "manual", eða "automatic"
    }
}

Eiginleikar:

  • amount (hlutur, áskilið) - Greiðsluupphæð með value (tala) og currency (3-stafa kóði, t.d. “USD”, “EUR”, “ISK”)
  • captureMethod (strengur, valfrjálst) - Hvenær á að gjaldfæra (innheimta) greiðslu:
    • "immediate" - Gjaldfæra strax þegar könnun er send inn
    • "manual" - Krefst handvirkrar gjaldfærslu í gegnum greiðslustjórnborðið þitt
    • "automatic" - Gjaldfæra sjálfkrafa þegar könnun er lokið (sjálfgefið)

Athugið: Greiðsluvinnsla krefst þess að greiðsluþjónusta sé uppsett í stillingum rásarinnar þinnar. Studdir gjaldmiðlar og greiðslumátar fara eftir uppsetningu þjónustuveitanda þíns.


JSON tilvísanir

Draga úr tvítekningu með því að vísa í endurnýtanlega íhluti. Tilvísanir nota þetta snið:

{ "$ref": "[<location>]#<path>" }
  • location - Vefslóð að upprunaskjali (tómt = núverandi skjal)
  • path - Slóð frá rót skjalsins með / sem aðgreiningu

Dæmi - Innbyggð tvítekning:

{
    "question-1": {
        "type": "SelectOne",
        "data": {
            "label": "Uppáhaldslitur?",
            "options": {
                "options": {
                    "red": { "label": "Rauður" },
                    "blue": { "label": "Blár" }
                },
                "displayOrder": ["red", "blue"]
            }
        }
    },
    "question-2": {
        "type": "SelectOne",
        "data": {
            "label": "Minnst uppáhalds litur?",
            "options": {
                "options": {
                    "red": { "label": "Rauður" },
                    "blue": { "label": "Blár" }
                },
                "displayOrder": ["red", "blue"]
            }
        }
    }
}

Betra - Notkun eigna (assets):

{
    "collections": {
        "main": {
            "elements": {
                "question-1": {
                    "type": "SelectOne",
                    "data": {
                        "label": "Uppáhaldslitur?",
                        "options": { "$ref": "#/assets/colors/data" }
                    }
                },
                "question-2": {
                    "type": "SelectOne",
                    "data": {
                        "label": "Minnst uppáhalds litur?",
                        "options": { "$ref": "#/assets/colors/data" }
                    }
                }
            },
            "displayOrder": ["question-1", "question-2"]
        }
    },
    "assets": {
        "colors": {
            "type": "options",
            "data": {
                "options": {
                    "red": { "label": "Rauður" },
                    "blue": { "label": "Blár" }
                },
                "displayOrder": ["red", "blue"]
            }
        }
    }
}

Kostir:

  • Einn sannleiksgjafi (Single source of truth)
  • Auðveldara viðhald
  • Betri samanburður í útgáfustýringu
  • Minni skráarstærð

Skilyrt rökfræði

Skilyrt rökfræði gerir þér kleift að búa til gangvirkar kannanir sem aðlagast svörum notenda. Hægt er að nota skilyrði á tvo vegu:

1. Skilyrði á stigi safns

Sýna eða fela heilar síður byggt á skilyrðum. Ef skilyrði safns er metið sem false er allri síðunni sleppt og keyrsla heldur áfram í næsta safn.

{
    "collections": {
        "follow-up": {
            "name": "Eftirfylgnispurningar",
            "condition": {
                "type": "condition",
                "fact": "questions/nps-score",
                "operator": "lt",
                "compare": { "value": 7 }
            },
            "elements": {
                /* ... */
            },
            "displayOrder": ["question-1"]
        }
    }
}

Í þessu dæmi er „eftirfylgni“ síðan aðeins sýnd ef NPS einkunnin er lægri en 7.

2. FlowControl einingar

Stýra flæði könnunar innan síðu með FlowControl einingum. Þegar skilyrði er metið sem true er tilgreind aðgerð framkvæmd.

Tiltækar aðgerðir:

  • survey-finish - Ljúka könnuninni strax (sleppa öllum eftirstandandi síðum)
  • page-finish - Ljúka núverandi síðu og fara á þá næstu (sleppa eftirstandandi einingum á núverandi síðu)
{
    "type": "FlowControl",
    "data": {
        "condition": {
            "type": "condition",
            "fact": "questions/satisfaction",
            "operator": "eq",
            "compare": { "value": "very-satisfied" }
        },
        "action": {
            "type": "page-finish"
        }
    }
}

Athugið: Ef ekkert condition er tilgreint er aðgerðin alltaf framkvæmd þegar komið er að einingunni.

Uppbygging skilyrða

Skilyrði eru skilgreind sem tvíundartré með tveimur tegundum hnúta:

1. Samanburðarskilyrði

Bera saman staðreynd (svar úr könnun) við gildi eða aðra staðreynd.

{
    "type": "condition",
    "fact": "questions/age",
    "operator": "gt",
    "compare": { "value": 18 }
}

Eiginleikar:

  • type - Alltaf "condition" fyrir samanburð
  • fact (strengur) - Tilvísun í einingu á sniðinu ‘safn-auðkenni/eining-auðkenni’ til að lesa gildið úr
  • operator (strengur) - Samanburðarvirki (sjá virkja hér að neðan)
  • compare (hlutur, valfrjálst) - Við hvað á að bera saman:
    • { "value": <any> } - Bera saman við fast gildi
    • { "fact": "<safn-auðkenni/eining-auðkenni>" } - Bera saman við gildi annarrar einingar
    • Ekki áskilið fyrir virkja eins og "exists" eða "true"
  • not (boolean, valfrjálst) - Snúa niðurstöðunni við (sjálfgefið: false)

Studdar virkjar eftir tegund einingar:

Number, IntervalScale, OrdinalScale, Date:

  • "eq" - Jafnt og
  • "gt" - Stærra en
  • "gte" - Stærra en eða jafnt og
  • "lt" - Minna en
  • "lte" - Minna en eða jafnt og
  • "exists" - Hefur gildi (þarf ekki compare)

String:

  • "eq" - Jafnt og
  • "contains" - Strengur inniheldur gildi
  • "exists" - Hefur gildi (þarf ekki compare)

Boolean:

  • "true" - Gildi er satt (þarf ekki compare)
  • "exists" - Hefur gildi (þarf ekki compare)

SelectOne:

  • "eq" - Jafnt og tiltekinn valkostur
  • "in" - Er einn af mörgum valkostum (samanburðargildi ætti að vera á SelectMany formi)
  • "exists" - Hefur gildi (þarf ekki compare)

SelectMany:

  • "eq" - Samsvarar nákvæmlega mengi valkosta
  • "exists" - Hefur að minnsta kosti eitt gildi (þarf ekki compare)

2. Keðjuskilyrði

Sameina mörg skilyrði með rökfræðilegum virkjum.

{
    "type": "all",
    "items": [
        {
            "type": "condition",
            "fact": "questions/age",
            "operator": "gt",
            "compare": { "value": 18 }
        },
        {
            "type": "condition",
            "fact": "questions/country",
            "operator": "eq",
            "compare": { "value": "US" }
        }
    ]
}

Eiginleikar:

  • type - Rökfræðilegur virki:
    • "all" - Öll skilyrði verða að vera sönn (AND rökfræði)
    • "any" - Að minnsta kosti eitt skilyrði verður að vera satt (OR rökfræði)
  • items (fylki) - Fylki af skilyrðum (geta verið samanburðir eða innfelldar keðjur)
  • not (boolean, valfrjálst) - Snúa við niðurstöðu allrar keðjunnar
  • name (strengur, valfrjálst) - Mannlesanleg merking fyrir skjölun

Dæmi

Sleppa könnun fyrir ánægða viðskiptavini

{
    "type": "FlowControl",
    "data": {
        "condition": {
            "type": "condition",
            "fact": "questions/nps",
            "operator": "gte",
            "compare": { "value": 9 }
        },
        "action": {
            "type": "survey-finish"
        }
    }
}

Sýna síðu aðeins fyrir ákveðinn aldurshóp

{
    "collections": {
        "teen-questions": {
            "name": "Spurningar fyrir unglinga",
            "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": {
                /* ... */
            }
        }
    }
}

Flókin innfelld skilyrði

{
    "type": "any",
    "name": "Premium notendur eða stórnotendur",
    "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 }
                }
            ]
        }
    ]
}

Bera saman tvær staðreyndir

{
    "type": "condition",
    "fact": "questions/current-salary",
    "operator": "gt",
    "compare": { "fact": "questions/desired-salary" }
}

Notkun á not eiginleikanum

{
    "type": "condition",
    "fact": "questions/email-consent",
    "operator": "true",
    "not": true // Snýr niðurstöðunni við: satt þegar email-consent er EKKI satt
}

Útgáfusaga

ÚtgáfaDagsetningBreytingar
1.02025-11-15Greiðslueining
0.52025-01-24Fyrsta opinbera útgáfa