Builder online per moduli, sondaggi, test, quiz ed esami.

  • Introduzione
  • Moduli
  • Creazione e configurazione
  • Riepilogo
  • Domande
  • Configurazione della domanda
  • Importazione domande
  • Generatore di domande
  • Impostazioni difficoltà
  • Link di invito
  • Scheda d’esame
  • Elenco contatti
  • Risultati
  • Analitica
  • Branding
  • Integrazioni
  • API
  • API Assets
  • Controllo accesso IP
  • Gruppi di lavoro
  • Menu utente
  • Impostazioni account
  • Impostazioni applicazione
  • Interfaccia per i clienti
  • Su
  • Documentazione

    Documentazione

    A grandi linee l’interfaccia è divisa in pannello amministratore dei moduli e elenco dei tuoi inviti.

    • Pannello amministratore dei moduli, o semplicemente "I miei moduli", è l’interfaccia in cui, come amministratore, puoi gestire i moduli: crearli, configurarli, aggiungere domande, lavorare con i risultati, visualizzare l’analitica e molto altro.
    • Elenco dei tuoi inviti, o semplicemente "I miei inviti", è l’interfaccia per i tuoi utenti, dove possono vedere l’elenco degli inviti a compilare sondaggi, sostenere test o esami a loro indirizzati da altri amministratori di moduli.

    C’è anche il Menu utente dove potrai configurare account e applicazione in base alle tue esigenze.

    Moduli

    Nell’interfaccia "I miei moduli" viene mostrato l’elenco aggiornato dei tuoi moduli. Ogni modulo è presentato come un riquadro contenente il titolo, un breve elenco di impostazioni e la descrizione.

    Cliccando sul riquadro del modulo, accederai all’interfaccia per lavorare con quel modulo specifico.

    Creazione e configurazione

    Per creare un nuovo modulo, vai su "I miei moduli" e premi il pulsante "Crea nuovo modulo". Si aprirà quindi il pannello di configurazione dove potrai impostare il modulo.

    Sono disponibili molte configurazioni per personalizzare il modulo e dargli le proprietà necessarie in base ai tuoi obiettivi.

    Elenco completo delle impostazioni del modulo:

    • Titolo — il nome del modulo, visibile solo a te nell’interfaccia e nell’elenco dei tuoi moduli. Campo obbligatorio.
    • Descrizione — la descrizione del modulo che verrà mostrata ai tuoi utenti prima della compilazione del modulo, test o esame. Non obbligatoria.
    • Localizzazione — la lingua principale del modulo, con cui verranno mostrati elementi dell’interfaccia, pulsanti e informazioni di supporto. Si consiglia che lingua del modulo, descrizioni, domande e opzioni di risposta coincidano.
      La lingua del modulo non deve necessariamente coincidere con quella scelta per la tua interfaccia, ma per impostazione predefinita verrà selezionata quella della tua interfaccia.
    • Tipo di modulo — l’impostazione principale che ne determina le proprietà. Sono disponibili 3 tipi:
      • Questionario — il tipo più semplice, che l’utente compila e tu ricevi i risultati. Il set di funzioni è limitato, ma è disponibile nel piano gratuito "Basic".
      • Quiz — modulo più avanzato: puoi aggiungere sistema di valutazione, risposte corrette/errate, mostrare i risultati all’utente, aggiungere timer, suddividere le domande in pagine, ecc.
        Disponibile nel piano "Plus"
      • Esame — per ogni utente viene generata una scheda d’esame personale con bilanciamento della difficoltà e molte altre funzioni. La scheda è generata dall’elenco principale di domande, quindi per un funzionamento corretto servono abbastanza domande.
        In questo tipo sono utilizzabili solo domande a scelta (senza risposta libera) e deve esserci sempre almeno una risposta corretta.
        Disponibile solo nel piano "Pro"
    • Accesso — determina se il modulo è compilabile da chiunque nel web o solo da chi riceve un link di invito personale generato da te.
      • Pubblico — modulo accessibile a tutti senza restrizioni. Non disponibile per "Esame", poiché ogni scheda è collegata al proprio link d’invito personale.
      • Solo su invito — modulo accessibile solo tramite link speciale.
    • Suddivisione in pagine — determina come distribuire le domande su più pagine o tutte su una.
      • Disattivata — tutte le domande su un’unica pagina.
      • Per più domande — le domande possono essere distribuite su più pagine a discrezione dell’amministratore. Non disponibile per "Esame" in quanto incompatibile con il generatore delle schede.
      • Una domanda per pagina — ogni domanda si trova su una pagina dedicata.
    • Timer — imposta limiti di tempo per la compilazione del modulo o del test.
      Disponibile nei tipi Esame e Quiz con accesso "Solo su invito"
      • Disattivato — tempo illimitato.
      • Globale — tempo limitato per l’intero modulo, impostato in "Durata timer".
      • Per ogni domanda — tempo limitato per ciascuna domanda, impostato in "Durata timer".
    • Durata timer — quantità di tempo per il modulo o per la singola domanda, in base al Timer. Indicata in minuti e secondi.
    • Sistema di punteggio — aiuta l’amministratore a valutare il risultato complessivo tramite un sistema flessibile di punti per ogni domanda (funziona solo con domande a scelta multipla senza risposta libera).
      Disponibile in Esame e Quiz.
    • Sistema di difficoltà — utilizzabile solo nel tipo Esame.
      Se attivo, le domande sono distribuite su livelli da «molto facile» a «molto difficile». Il livello è impostato per ogni domanda in «Livello di difficoltà».
      Serve a bilanciare la difficoltà delle schede generate automaticamente, così da evitare differenze marcate tra utenti.
      Esempio: con 35 domande per scheda, puoi indicare 15 facili, 15 medie e 5 difficili. Senza sistema di difficoltà, le proporzioni sarebbero casuali.
      In combinazione con il "Sistema di punteggio", i punti non si impostano per singola domanda ma per gruppo di difficoltà (es. facili 2 punti, medie 5, difficili 10).
    • Mostrare i risultati — dopo il completamento, consente all’utente di vedere punteggio totale (se attivo il «Sistema di punteggio»), numero di risposte corrette/errate e percentuale di correttezza.
      Disponibile in Esame e Quiz.
    • Permettere il ritorno — consente all’utente di tornare alla pagina/domanda precedente dopo essere avanzato.
      Utilizzabile se il Timer è "Globale". Non utilizzabile se "Suddivisione in pagine" è Disattivata.
    • Monitoraggio attività — consente di rilevare azioni indesiderate durante la compilazione (chiusura tab/finestra, cambio finestra o tab).
      Serve a ridurre la possibilità di cercare risposte altrove.
      Disponibile in Esame e Quiz quando il Timer è attivo.
    • Max azioni consentite — numero massimo di attività indesiderate ammesse.
      Se 0 — vengono tracciate ma non influenzano processo o risultato.
      Se > 0 — al raggiungimento del limite, la compilazione viene interrotta e i risultati annullati. L’utente viene avvisato prima di iniziare.
      Utilizzabile se Monitoraggio attività è attivo.
    • Data di pubblicazione — pubblicazione rinviata del modulo. Se attivo, il modulo diventa disponibile alla data e ora indicate.
    • Data di fine — scadenza del modulo. Se attivo, il modulo diventa indisponibile alla data e ora indicate.

    Riepilogo del modulo

    Nella scheda "Dettagli" del modulo viene mostrato un riepilogo delle impostazioni, il numero di domande, i risultati inviati, lo stato corrente del modulo e altro.
    In questa scheda si trova anche il pulsante per pubblicare/disattivare il modulo (Pubblica/Rimuovi dalla pubblicazione).

    Domande

    Nella scheda "Domande" è visibile l’elenco delle domande già aggiunte.
    Ogni domanda è un riquadro con titolo, breve elenco di impostazioni e pulsanti di Modifica e Elimina.
    Se "Suddivisione in pagine" è Per più domande, è disponibile il pulsante "Aggiungi pagina" per creare pagine e distribuire le domande.
    A sinistra di ogni riquadro c’è un "ancoraggio" con cui trascinare per riordinare o spostare tra pagine.
    Per aggiungere una nuova domanda premi "Aggiungi domanda" in alto: si aprirà il pannello di configurazione per descrizione, opzioni e altro.

    Oltre alla creazione manuale, sono disponibili anche altri flussi per costruire la banca delle domande:
    Importazione domande — un’interfaccia dedicata consente di caricare domande da un file JSON oppure di incollare il JSON manualmente. Durante l’importazione è anche possibile impostare parametri condivisi come livello di difficoltà e punti, quando tali impostazioni si applicano al modulo corrente.
    AskiumAI — il generatore di domande basato su AI può creare automaticamente un gruppo di domande con opzioni di risposta partendo da un argomento, un livello di difficoltà e altri parametri. Le domande generate vengono aggiunte al modulo corrente.

    Nella pagina Importazione domande sono disponibili due azioni di supporto: "Esempio del formato JSON richiesto" e "Esempio di prompt per la generazione con AI". La seconda apre un modello di prompt già pronto in cui puoi inserire argomento, numero di domande, numero di opzioni di risposta, difficoltà e lingua di generazione, per poi copiarlo e usarlo in un servizio AI esterno.

    L’importazione supporta non solo il caricamento di un file JSON locale, ma anche l’inserimento manuale del raw JSON. Se il JSON è stato generato da un’AI, puoi incollare sia il JSON puro sia l’intero json code block restituito dal modello. Dopo l’avvio, l’importazione viene eseguita come attività in background: la pagina mostra lo stato dell’elaborazione e, una volta completata con successo, apre l’elenco delle domande importate.

    L’interfaccia di importazione è disponibile solo per moduli di tipo Quiz ed Esame e solo nei piani Plus o Pro. Se nel modulo è attivo un sistema di punteggio, con un’importazione normale è possibile impostare manualmente un unico valore condiviso di punti; in un esame con Sistema di difficoltà attivo, invece, i punti delle domande importate vengono assegnati automaticamente in base alla difficoltà selezionata.

    Configurazione della domanda

    Sono disponibili varie impostazioni per definire come l’utente risponderà e che effetto avrà la risposta sul risultato.
    Nota: la disponibilità di alcune impostazioni dipende da altre e può essere mutuamente esclusiva.

    Elenco completo delle impostazioni della domanda:

    • Titolo — titolo visibile solo a te nell’elenco delle domande del modulo o della scheda d’esame. Consigliato breve (2–3 parole). Obbligatorio.
    • Descrizione — testo mostrato agli utenti nel modulo/test/esame. Obbligatoria.
      Per i piani "Plus" o "Pro" è disponibile un editor avanzato con formattazione ricca, immagini, video, codice con evidenziazione, formule, ecc.
    • Saltabile — determina se l’utente può saltare la risposta o se è obbligatoria.
      Se "Suddivisione in pagine" è "Una domanda per pagina", sarà disponibile il pulsante "Salta".
    • Tipo di risposta — imposta il modo di risposta. Tipi disponibili:
      • Elenco di opzioni — l’utente sceglie una o più opzioni. Puoi permettere una risposta propria dell’utente o contrassegnare opzioni corrette/errate.
      • Campo di input — l’utente inserisce una risposta in un campo; tipo e proprietà sono nelle impostazioni successive.
      • Selezione data — l’utente sceglie una data con un selettore.
      • Intervallo — l’utente imposta un valore tramite uno slider orizzontale con aggiornamento immediato.
      • Valutazione — una fila di simboli (di solito stelle) in cui il valore è dato dalla posizione selezionata.
      • Dati personali — tipo speciale per nome, cognome ed email; utile per identificare i risultati.
    • Tipo di elenco opzioni — sotto-impostazione dell’Elenco di opzioni: quante opzioni può scegliere l’utente. 2 tipi:
      • Singola scelta — una sola opzione.
      • Scelta multipla — una o più opzioni.
    • Correttezza — sotto-impostazione dell’Elenco di opzioni che abilita la distinzione tra risposte corrette e sbagliate.
    • Risposta propria — sotto-impostazione dell’Elenco di opzioni che consente all’utente di inserire una risposta propria. Non disponibile se "Correttezza" è attiva.
    • Livello di difficoltà — sotto-impostazione dell’Elenco di opzioni, disponibile se il tipo è "Esame" e il "Sistema di difficoltà" è attivo; obbligatorio.
    • Opzioni di risposta — sotto-impostazione dell’Elenco di opzioni, elenco delle opzioni disponibili. Premi "Aggiungi opzione" per aggiungerne una in fondo.
      Per ogni opzione sono disponibili riordinamento e eliminazione.
      Se "Correttezza" è attiva, per ogni opzione sarà presente il marcatore di "Corretta". Con "Scelta multipla" ci possono essere più corrette, ma almeno una.
    • Tipo di campo — sotto-impostazione del Campo di input, definisce le proprietà e i dati ammessi. 5 tipi:
      • Riga singola — campo di testo semplice senza a capo.
      • Multi-riga — campo di testo con a capo.
      • Numero — consente solo interi.
      • Numero decimale — consente interi o numeri con virgola.
      • Email — campo email.
    • Tipo di dato personale — sotto-impostazione di Dati personali che definisce il dato atteso:
      • Nome
      • Cognome
      • Email
    • Lunghezza min. — sotto-impostazione del Campo di input per Riga singola o Multi-riga, lunghezza minima consentita. Intero ≥ 0. Facoltativa.
    • Lunghezza max — sotto-impostazione del Campo di input per Riga singola o Multi-riga, lunghezza massima consentita. Intero ≥ 0. Facoltativa.
    • Righe predefinite — sotto-impostazione del Campo di input per Multi-riga, altezza iniziale in righe. Intero ≥ 1. Facoltativa.
    • Min — sotto-impostazione del Campo di input per Numero o Numero decimale, valore minimo consentito. Intero. Facoltativa.
    • Max — sotto-impostazione del Campo di input per Numero o Numero decimale, valore massimo consentito. Intero. Facoltativa.
    • Passo — sotto-impostazione del Campo di input per Numero o Numero decimale, definisce la granularità del valore. Intero. Facoltativa.

    Particolarità dell’Esame

    Nel tipo "Esame" il tipo di domanda è sempre "Elenco di opzioni" e non può essere cambiato. Non è possibile disattivare la Correttezza né abilitare la Risposta propria; tali controlli saranno nascosti.

    Importazione domande

    La pagina di importazione può essere aperta dalla sezione domande del modulo corrente. È disponibile solo per i moduli di tipo Quiz ed Esame e solo con i piani Plus o Pro. All’interno dell’interfaccia puoi scegliere un livello di difficoltà comune per tutte le domande importate e, se il modulo corrente usa un sistema di punteggio al di fuori della modalità di difficoltà d’esame, impostare anche manualmente un valore di punti condiviso.

    Nella pagina sono integrate due azioni di supporto: "Esempio del formato JSON atteso" e "Esempio di prompt per la generazione tramite AI". La prima mostra il contratto JSON esatto con le chiavi question_short_title, question, options e correct_index. La seconda apre un modello di prompt già pronto in cui puoi compilare argomento, numero di domande, numero di opzioni di risposta, difficoltà e lingua, quindi copiarlo per usarlo in un servizio AI esterno.

    Esempio JSON
    {
      "questions": [
        {
          "question_short_title": "HTTP status codes",
          "question": "Which status code means that the request was successful?",
          "options": [
            "200 OK",
            "301 Moved Permanently",
            "404 Not Found",
            "500 Internal Server Error"
          ],
          "correct_index": 0
        }
      ]
    }

    Le domande possono essere importate in due modi: caricando un file JSON locale oppure incollando manualmente il raw JSON di origine. Se il contenuto è stato generato da un modello AI, la pagina accetta anche l’intero json code block presente nella risposta. Dopo l’invio, l’importazione viene eseguita come attività in background: la pagina controlla automaticamente lo stato dell’attività e, al termine con successo, apre l’elenco delle domande importate per la revisione e le modifiche successive.

    Se il modulo è un esame con il Sistema di difficoltà attivato, i punti per le domande importate vengono assegnati automaticamente in base al livello di difficoltà selezionato. In questo modo lo stesso flusso di importazione resta compatibile sia con i quiz valutati manualmente sia con gli esami bilanciati per difficoltà.

    AskiumAI: generatore di domande

    AskiumAI è una pagina separata per generare domande direttamente all’interno del modulo corrente. L’interfaccia mostra il tuo saldo attuale di token AI ed è pensata per aiutarti a riempire il banco domande senza uscire dall’applicazione. La generazione di domande è disponibile solo per i moduli di tipo Quiz ed Esame; per gli altri tipi di modulo l’interfaccia mostra un avviso e non consente di avviare l’attività.

    Nella pagina del generatore definisci area disciplinare / argomento, difficoltà, numero di domande e numero di opzioni di risposta. Se il modulo usa un sistema di punteggio al di fuori della modalità di difficoltà d’esame, puoi anche specificare i punti per una risposta corretta. La lingua delle domande generate segue la localizzazione configurata per il modulo stesso, non la lingua corrente dell’interfaccia.

    Dopo l’invio, AskiumAI controlla prima l’argomento e poi avvia la generazione come attività in background. La pagina mostra gli stati intermedi, interroga automaticamente lo stato dell’attività e, una volta completata con successo, apre l’elenco delle domande generate. Le domande generate e le relative opzioni di risposta devono sempre essere controllate manualmente prima della pubblicazione, perché l’AI può ancora commettere errori.

    Una volta terminata la generazione, le domande ottenute possono essere riviste, modificate, rimosse parzialmente o mantenute in modo selettivo prima di continuare a lavorare con il modulo.

    Impostazioni difficoltà

    Se il tipo è "Esame" e il "Sistema di difficoltà" è attivo, sarà disponibile la scheda "Impostazioni difficoltà".
    Qui puoi impostare la difficoltà media della scheda d’esame.
    Indica quante domande per livello di difficoltà con 5 livelli disponibili:

    • Molto facile
    • Facile
    • Medio
    • Difficile
    • Molto difficile

    Nella generazione automatica, verrà prelevato il numero di domande per ciascun livello da te indicato, in ordine casuale. Così le schede restano bilanciate ma uniche.

    Puoi scegliere liberamente quali livelli usare: non è necessario l’intero intervallo. In genere se ne usano 2–3, ad esempio da Facile a Difficile.

    Se è attivo anche il "Sistema di punteggio", in questa scheda puoi indicare quanti punti assegnare a ciascun livello, poiché con questa combinazione non si assegnano più punti per domanda ma per livello.

    Se il tipo è "Esame", nell’interfaccia di modifica del link di invito è disponibile una seconda sezione per lavorare con la scheda d’esame e riempirla di domande.
    La scheda può essere riempita in 2 modi:

    • Premendo "Genera scheda" — la scheda verrà riempita istantaneamente in base alle impostazioni di difficoltà (se il "Sistema di difficoltà" è attivo, le impostazioni compilate e nel modulo ci sono abbastanza domande per ciascun livello).
    • Aggiungendo manualmente premendo "Aggiungi domanda" e selezionando le domande dall’elenco (anche più alla volta).

    Nella scheda d’esame già riempita puoi cambiare l’ordine trascinando l’ancora ed eliminare domande con l’apposito pulsante.

    Nel tipo "Esame" non è possibile attivare un link di invito la cui scheda non contenga domande.

    Elenco contatti

    Questa scheda è disponibile se nella configurazione del modulo è attivo "Accesso - Solo su invito".

    Qui è mostrato l’elenco contatti dei tuoi utenti (clienti/dipendenti/studenti/...). Serve per importare in seguito i dati (nome, cognome, email) nei link di invito e semplificarne la creazione.

    Per aggiungere un nuovo contatto, premi "Aggiungi" e accederai all’interfaccia di creazione.

    Ogni contatto ha 3 campi:

    • Nome
    • Cognome
    • Email

    Per salvare un contatto è necessario compilare tutti i campi. Nota anche che l’email nell’elenco contatti non può ripetersi.

    Risultati

    In questa scheda è mostrato l’elenco dei risultati di compilazione del modulo. Ogni risultato è un riquadro con informazioni sintetiche:

    • ChiaveChiave univoca di ogni risultato;
    • Stato del risultato, In corso o Completato;
    • Data e ora di completamento;
    • Nome e cognome dell’utente, se "Solo su invito" è attivo e i dati sono stati indicati nel link;
    • Email dell’utente, se "Solo su invito" è attivo e l’email è stata indicata nel link;
    • Punti ottenuti, se è attivo il Sistema di punteggio;
    • Percentuale % di risposte corrette, se il tipo è Quiz o Esame;

    Cliccando sul risultato si apre la pagina con i dettagli:

    • Riepilogo generale;
    • Registro delle attività indesiderate (se "Monitoraggio attività" era attivo);
    • elenco completo delle risposte alle domande, con indicazione della correttezza se disponibile;

    Analitica

    Nella scheda Analitica è mostrato il riepilogo generale di tutti i risultati per l’intera vita del modulo.

    Qui trovi:

    • Grafici di compilazione — dinamica delle compilazioni:
      • Grafico giornaliero — quante volte al giorno il modulo è stato compilato negli ultimi 30 giorni.
      • Grafico mensile — quante volte al mese il modulo è stato compilato negli ultimi 12 mesi.
    • Statistiche dei risultati — dati aggregati su tutti i risultati:
      • Numero totale di risultati
      • Punteggio totale previsto dal modulo
      • Punteggio medio ottenuto dagli utenti
      • Punteggio massimo ottenuto
      • Punteggio minimo ottenuto
      • Percentuale media di risposte corrette
      • Percentuale massima di risposte corrette
      • Percentuale minima di risposte corrette
    • Statistiche delle domande — dati aggregati per ogni domanda.
      Per domande a scelta:
      • Numero e percentuale relativa di salti della domanda;
      • Numero e percentuale relativa di risposte corrette;
      • Tabella comparativa per ogni opzione di risposta;
      • Grafico comparativo per ogni opzione di risposta;

      Per domande con input numerico:
      • Numero e percentuale relativa di salti;
      • Valore medio della risposta;
      • Valore massimo;
      • Valore minimo;

      Per domande con input di testo o data: elenco completo delle risposte.

    L’analitica può anche essere esportata in PDF e Excel. L’esportazione viene preparata in background, dopodiché il file generato diventa disponibile per il download.

    Branding e stilizzazione

    In questa scheda puoi configurare lo stile visivo del modulo in modalità anteprima live. Oltre ai colori e ai font di base, la sezione branding include ora anche le impostazioni della barra di avanzamento e i preset di branding.

    • Colore di sfondo della pagina, colore del testo e font principale
    • Sfondo dell’header, titolo, font del titolo, logo e possibilità di nascondere completamente l’header
    • Colore di sfondo della barra di avanzamento, colore del progresso e altezza della barra
    • Colori dei pulsanti, colori hover, font del testo dei pulsanti, padding e forma dei pulsanti
    • Stile del blocco titolo pagina, colori del timer, stile delle opzioni di risposta e icone del risultato

    Se il modulo utilizza una barra di avanzamento, qui puoi personalizzarne l’aspetto. Se non vuoi mostrarla affatto, puoi disattivarla completamente nelle impostazioni principali del modulo.

    Puoi anche salvare lo stile corrente come preset di branding e successivamente caricare un preset esistente in un altro modulo. Questo è utile quando vuoi riutilizzare lo stesso stile visivo in più moduli.

    Tutte le modifiche di branding vengono mostrate immediatamente nell’anteprima live.

    Integrazioni con servizi esterni

    L’applicazione supporta due scenari principali di integrazione: webhook dei risultati e integrazioni LMS / LTI.

    Webhook dei risultati

    Ogni modulo ha una scheda dedicata Webhooks, dove è possibile configurare l’invio automatico del risultato dopo che l’utente ha completato il modulo.

    Il webhook in Askium segue il flusso “modulo completato -> risultato calcolato -> payload inviato automaticamente al tuo URL”.

    • Stato — abilita o disabilita l’invio del webhook;
    • URL address — URL completo dell’endpoint destinatario;
    • FormatJSON o XML;
    • Authorization — aggiunge un header HTTP supplementare;
    • Header — nome dell’header, ad esempio Authorization;
    • Value (Token) — valore dell’header, ad esempio Bearer your-secret-token.

    Il payload del webhook contiene form, result, score, user e answers. Se una domanda utilizza l’editor HTML avanzato, al posto dell’HTML originale viene inviato advanced_html.

    Esempio JSON webhook
    {
      "form": {
        "id": "frm-php-exam",
        "name": "PHP Certification Exam",
        "type": "exam"
      },
      "result": {
        "id": "res-8f2d1a",
        "started_at": "2026-03-01 10:00:00",
        "finished_at": "2026-03-01 10:42:15"
      },
      "score": {
        "max_points": 50,
        "total_points": 42,
        "percent": 84
      },
      "user": {
        "link_id": "link-abc123",
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com"
      },
      "answers": [
        {
          "question": {
            "id": "q-http-001",
            "title": "HTTP code",
            "text": "Which status code means success?"
          },
          "answer": "200 OK",
          "correct": true
        },
        {
          "question": {
            "id": "q-rich-002",
            "title": "Rich text question",
            "text": "advanced_html"
          },
          "answer": "Custom answer",
          "correct": false
        }
      ]
    }
    Esempio XML webhook
    <result>
      <form>
        <id>frm-php-exam</id>
        <name>PHP Certification Exam</name>
        <type>exam</type>
      </form>
      <details>
        <id>res-8f2d1a</id>
        <started_at>2026-03-01 10:00:00</started_at>
        <finished_at>2026-03-01 10:42:15</finished_at>
      </details>
      <score>
        <max_points>50</max_points>
        <total_points>42</total_points>
        <percent>84</percent>
      </score>
      <user>
        <link_id>link-abc123</link_id>
        <first_name>John</first_name>
        <last_name>Doe</last_name>
        <email>john.doe@example.com</email>
      </user>
      <answers>
        <answer>
          <question>
            <id>q-http-001</id>
            <title>HTTP code</title>
            <text>Which status code means success?</text>
          </question>
          <answer_text>200 OK</answer_text>
          <correct>true</correct>
        </answer>
      </answers>
    </result>

    Integrazioni LMS / LTI

    Il flusso LMS / LTI è composto da due passaggi separati: prima si crea un’integrazione LMS condivisa nel menu utente, poi si collega un modulo specifico a un’integrazione già esistente tramite la schermata dei collegamenti di integrazione.

    L’integrazione quindi non viene creata “dentro il modulo”. Viene configurata una sola volta e poi riutilizzata in più moduli.

    • Per LTI 1.0 / 1.1 si configurano OAuth Consumer Key e OAuth Shared Key;
    • Per LTI 1.3 si configurano Platform ID / iss, Client ID, OIDC login initiation URL, Access token URL e JWKS endpoint URL.

    La schermata di collegamento è disponibile per Quiz ed Exam, non per Questionnaire, e richiede un piano superiore a Basic.

    API

    L’applicazione include una sezione dedicata alle impostazioni API, pensata per lavorare in sicurezza con sistemi esterni e automazioni tramite la tua chiave API privata.

    • abilitare o disabilitare l’accesso API;
    • generare una nuova chiave API privata;
    • copiare la chiave attuale;
    • abilitare un’ulteriore restrizione IP;
    • indicare l’unico indirizzo IP consentito.

    Regole base dell’API

    • Base URL: https://askium.org/api
    • Authorization: Authorization: Bearer YOUR_PRIVATE_API_KEY
    • Content-Type: application/json
    • Se la restrizione IP è attiva, le richieste saranno accettate solo dall’IP configurato
    • POST /api/results/verify è pubblico e non richiede la chiave API privata

    Route disponibili

    • POST /api/forms/{form_key}/invitation-links
    • DELETE /api/forms/{form_key}/invitation-links/{link_key}
    • GET /api/forms/{form_key}/invitation-links/active
    • POST /api/forms/{form_key}/questions/import
    • POST /api/results/{result_key}/verification-key
    • POST /api/results/verify
    POST/api/forms/{form_key}/invitation-links

    Crea un link di invito personale. Per i moduli di tipo Exam viene generato automaticamente anche un ticket.

    curl -X POST "https://askium.org/api/forms/exam-api-001/invitation-links" \
      -H "Authorization: Bearer YOUR_PRIVATE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com"
      }'

    Esempio di risposta riuscita:

    {
      "status": "ok",
      "link": {
        "key": "link-abc123",
        "url": "https://askium.org/f/exam-api-001?t=link-abc123",
        "is_active": true
      },
      "ticket_questions_count": 2
    }
    DELETE/api/forms/{form_key}/invitation-links/{link_key}

    Elimina un link di invito tramite la sua chiave.

    curl -X DELETE "https://askium.org/api/forms/exam-api-001/invitation-links/link-abc123" \
      -H "Authorization: Bearer YOUR_PRIVATE_API_KEY"

    Esempio di risposta riuscita:

    {
      "status": "ok",
      "message": "Invitation link deleted."
    }
    GET/api/forms/{form_key}/invitation-links/active

    Restituisce solo i link di invito attivi e ancora inutilizzati.

    curl -X GET "https://askium.org/api/forms/exam-api-001/invitation-links/active" \
      -H "Authorization: Bearer YOUR_PRIVATE_API_KEY"

    Esempio di risposta riuscita:

    {
      "status": "ok",
      "links": [
        {
          "key": "link-active-unused",
          "url": "https://askium.org/f/exam-api-list-001?t=link-active-unused",
          "is_active": true,
          "first_name": "Alice",
          "last_name": "Green",
          "email": "alice@example.com",
          "created_at": "2026-03-01 10:00:00"
        }
      ]
    }
    POST/api/forms/{form_key}/questions/import

    Importa domande in un modulo. Disponibile solo per Quiz ed Exam con piano Plus o Pro.

    curl -X POST "https://askium.org/api/forms/quiz-import-001/questions/import" \
      -H "Authorization: Bearer YOUR_PRIVATE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "difficulty": "medium",
        "points_num": 2,
        "questions": [
          {
            "question_short_title": "HTTP code",
            "question": "Which status code means success?",
            "options": ["200 OK", "301", "404", "500"],
            "correct_index": 0
          },
          {
            "question_short_title": "TCP port",
            "question": "Which port is typically used by HTTPS?",
            "options": ["21", "25", "80", "443"],
            "correct_index": 3
          }
        ]
      }'

    Esempio di risposta riuscita:

    {
      "status": "ok",
      "message": "Domande importate con successo.",
      "imported_count": 2,
      "import_key": "imp_3f9b84d1"
    }
    POST/api/results/{result_key}/verification-key

    Emette una chiave di verifica del risultato monouso e di breve durata. Per impostazione predefinita la chiave resta valida per 300 secondi (5 minuti) e la durata esatta viene restituita anche in expires_at e ttl_seconds.

    curl -X POST "https://askium.org/api/results/res-8f2d1a/verification-key" \
      -H "Authorization: Bearer YOUR_PRIVATE_API_KEY"

    Esempio di risposta riuscita:

    {
      "verification_key": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "token_type": "JWT",
      "expires_at": "2026-03-01 10:05:00",
      "ttl_seconds": 300
    }
    POST/api/results/verify

    Route pubblica per verificare un risultato tramite un verification_key monouso.

    curl -X POST "https://askium.org/api/results/verify" \
      -H "Content-Type: application/json" \
      -d '{
        "verification_key": "YOUR_ONE_TIME_VERIFICATION_KEY"
      }'

    Esempio di risposta riuscita:

    {
      "key": "res-8f2d1a",
      "is_finished": true,
      "started_at": "2026-03-01 10:00:00",
      "finished_at": "2026-03-01 10:42:15",
      "created_at": "2026-03-01 10:00:00",
      "correct_percent": 84,
      "total_points": 42,
      "max_points": 50,
      "correct_answers": 2,
      "wrong_answers": 1,
      "answers_total": 3,
      "unchecked_answers": 1,
      "timer_expires_at": "2026-03-01 11:00:00",
      "is_terminated": false,
      "is_timer_up": false,
      "invitation_link_key": null,
      "personal_data": {
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com"
      },
      "unwanted_events_count": 1,
      "form": {
        "key": "frm-php-exam",
        "name": "PHP Certification Exam",
        "type": "exam",
        "locale": "it"
      }
    }

    API and LTI integration assets

    Use these machine-readable files and discovery endpoints when evaluating or wiring Askium into an LMS, CRM, HR system, or internal automation stack.

    LTI discovery endpoints

    The LMS integration flow exposes standard LTI 1.1 cartridge and LTI 1.3 discovery URLs.

    • https://askium.org/lti/1_1/config — LTI 1.1 cartridge configuration
    • https://askium.org/.well-known/openid-configuration — LTI 1.3 OpenID configuration
    • https://askium.org/.well-known/jwks — public JWKS for LTI 1.3 launches
    • https://askium.org/lti/1_3/register — dynamic registration endpoint when a platform supports it

    Controllo accesso IP

    Il controllo accesso IP è una funzione disponibile solo per i formati "Quiz" e "Esame". Consente di limitare l'accesso al modulo a specifici indirizzi IP o maschere.
    Se l'accesso al modulo è limitato solo tramite link di invito, è possibile specificare un indirizzo IP o una maschera applicabile solo a un determinato ticket d'esame.

    Per attivare questa funzione, abilita l'interruttore corrispondente nella configurazione del modulo: "Controllo accesso IP"

    Nella scheda Controllo accesso IP dovrai aggiungere gli indirizzi IP che devono avere accesso al modulo.

    Un ulteriore indirizzo IP personale per ogni link può essere aggiunto direttamente nelle impostazioni del Link di invito.

    Gruppi di lavoro

    Un gruppo di lavoro è uno spazio per collaborare su moduli e risultati. Ogni gruppo ha:

    • Amministratore — l’utente che crea il gruppo e ne è il proprietario. Può:
      • Invitare ed escludere membri
      • Impostare permessi individuali per ciascun membro
      • Selezionare i moduli disponibili al gruppo
      • Abilitare o disabilitare il gruppo
      • Eliminare il gruppo se necessario
    • Membri — utenti invitati dall’Amministratore. Possono:
      • Lavorare sui moduli resi disponibili, nei limiti dei permessi assegnati
      • Abilitare o disabilitare l’opzione «Condividi contatti» — decisione personale
      • Uscire dal gruppo in qualsiasi momento

    Permessi individuali dei membri

    L’Amministratore può configurare con flessibilità le azioni consentite a ogni membro.
    Elenco dei permessi:

    • Configurazione del modulo — modifica delle impostazioni principali;
    • Impostazioni difficoltà — gestione della distribuzione dei livelli di difficoltà;
    • Gestione delle domande — creazione, modifica ed eliminazione;
    • Gestione dei link — gestione dei link di invito;
    • Visualizzazione risultati — accesso a tutti i risultati;
    • Visualizzazione analitica — accesso a statistiche e analisi del modulo;
    • Configurazione integrazioni — gestione di LMS, webhook e altre integrazioni;
    • Stile e branding — impostazione del design (colori, logo, font);

    Accesso ai moduli

    Per aggiungere un modulo a un gruppo di lavoro, nelle impostazioni principali del modulo seleziona «Gruppo di lavoro» e scegli il gruppo.

    Dopo il salvataggio, tutti i membri vedranno il modulo nella pagina dei gruppi disponibili, in un elenco separato raggruppato per nome del gruppo.

    Aprendo il modulo, il membro vedrà solo le sezioni del menu per le quali l’amministratore ha concesso l’accesso.

    Menu utente

    Per aprire il menu utente, clicca sull’icona con le iniziali nell’angolo in alto a destra. Nel menu sono disponibili:

    • I miei moduli — vai all’elenco dei tuoi moduli;
    • I miei inviti — vai all’interfaccia cliente con gli inviti a te indirizzati;
    • Account — pagina impostazioni account;
    • Impostazioni — pagina impostazioni applicazione;
    • Esci — esci dall’app; per rientrare sarà necessaria l’autenticazione;

    Impostazioni account

    Puoi accedere alle impostazioni account aprendo il menu utente in alto a destra e selezionando "Account".

    Qui sono mostrati i tuoi dati personali, i social collegati, il piano attivo e l’interfaccia per cambiare la password.

    Impostazioni applicazione

    Puoi accedere alle impostazioni dell’app aprendo il menu utente in alto a destra e selezionando "Impostazioni".

    Qui puoi impostare le lingue dell’interfaccia e passare tra tema chiaro e scuro.

    Interfaccia per i clienti

    Qui sono mostrati gli inviti a compilare moduli a te indirizzati. Perché un invito appaia in questo elenco, l’Email nel link di invito deve coincidere con quella del tuo account (visibile in Impostazioni account nei dati personali).