API Examene

Gestionarea examenelor, întrebărilor, răspunsurilor și încercărilor — obținere, creare, modificare, ștergere

URL de bază

https://{tenant}.logzi.com/api/exam/

Fiecare cerere returnează un răspuns JSON. În cazul unui răspuns reușit result.code == 1, iar în caz de eroare result.code == 0.

GET /api/exam/get

Obținerea unui singur examen pe baza identificatorului.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
id int Identificatorul unic al examenului

Exemplu de cerere

GET /api/exam/get?id=1
X-API-KEY: {cheia_dvs_api}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 1,
    "title": "Termékismeret vizsga",
    "description": "Alapozó teszt új belépők számára.",
    "company_id": 1,
    "date_create": "2024-01-10 09:00:00",
    "date_update": "2024-05-20 14:30:00"
  }
}
GET /api/exam/list

Obținerea unei liste paginate de examene.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
list_offset int Decalajul paginării (implicit: 0)
list_count int Numărul de înregistrări per pagină (implicit: 20)
company_id int Filtrare după identificatorul companiei

Exemplu de cerere

GET /api/exam/list?list_offset=0&company_id=1
X-API-KEY: {cheia_dvs_api}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": [
    {
      "id": 1,
      "title": "Termékismeret vizsga",
      "description": "Alapozó teszt új belépők számára.",
      "date_create": "2024-01-10 09:00:00",
      "date_update": "2024-05-20 14:30:00"
    }
  ],
  "params": {
    "list_all": 5,
    "list_offset": 0,
    "list_count": 20
  }
}
POST /api/exam/save

Crearea sau modificarea unui examen. Pentru un examen nou data[id] = 0, iar pentru modificare specificați ID-ul existent.

Câmpuri POST — obiectul data

Câmp Tip Obligatoriu Descriere
id int 0 = examen nou, >0 = modificare
company_id int Identificatorul companiei (obligatoriu doar pentru un examen nou)
title string Numele examenului
description string Descriere / instrucțiuni pentru cel care completează

Exemplu de cerere

POST /api/exam/save
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json

{
  "data": {
    "id": 0,
    "company_id": 1,
    "title": "Termékismeret vizsga",
    "description": "Alapozó teszt új belépők számára."
  }
}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "Saved" },
  "data": { "id": 3 }
}
POST /api/exam/delete

Ștergerea logică a unui examen.

Câmpuri POST — obiectul data

Câmp Tip Obligatoriu Descriere
id int Identificatorul examenului de șters

Exemplu de cerere

POST /api/exam/delete
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json

{
  "data": { "id": 3 }
}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "Deleted" },
  "data": { "id": 3 }
}
GET /api/exam/question-list

Obținerea tuturor întrebărilor aferente unui examen, împreună cu variantele de răspuns asociate.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
exam_id int Identificatorul examenului

Exemplu de cerere

GET /api/exam/question-list?exam_id=1
X-API-KEY: {cheia_dvs_api}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": [
    {
      "id": 10,
      "exam_id": 1,
      "question_text": "Mi a Logzi fő funkciója?",
      "question_type": "radio",
      "explanation_text": "A Logzi egy ERP rendszer.",
      "sort_order": 1,
      "answers": [
        { "id": 101, "answer_text": "Számlázás és készletkezelés", "is_correct": 1, "sort_order": 0 },
        { "id": 102, "answer_text": "Videóstream", "is_correct": 0, "sort_order": 1 }
      ]
    }
  ]
}
GET /api/exam/question

Obținerea unei singure întrebări pe baza identificatorului, împreună cu variantele de răspuns.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
id int Identificatorul întrebării

Exemplu de cerere

GET /api/exam/question?id=10
X-API-KEY: {cheia_dvs_api}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 10,
    "exam_id": 1,
    "question_text": "Mi a Logzi fő funkciója?",
    "question_type": "radio",
    "explanation_text": "A Logzi egy ERP rendszer.",
    "sort_order": 1,
    "answers": [
      { "id": 101, "answer_text": "Számlázás és készletkezelés", "is_correct": 1, "sort_order": 0 },
      { "id": 102, "answer_text": "Videóstream", "is_correct": 0, "sort_order": 1 }
    ]
  }
}
POST /api/exam/save-question

Crearea sau modificarea unei întrebări, împreună cu variantele de răspuns aferente. La modificare, răspunsurile existente sunt șterse și sunt introduse altele noi.

Câmpuri POST — obiectul data

Câmp Tip Obligatoriu Descriere
id int 0 = întrebare nouă, >0 = modificare
exam_id int Identificatorul examenului (obligatoriu doar pentru o întrebare nouă)
question_text string Textul întrebării
question_type string Tipul întrebării: radio, checkbox, true_false, text
explanation_text string Text explicativ afișat la răspuns
sort_order int Ordinea (implicit: 0)
answers array Array-ul variantelor de răspuns (vezi mai jos) — nu este necesar pentru tipul text

Câmpurile răspunsului — data[answers][]

Câmp Tip Obligatoriu Descriere
answer_text string Textul variantei de răspuns
is_correct int 1 = răspuns corect, 0 = răspuns incorect

Exemplu de cerere

POST /api/exam/save-question
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json

{
  "data": {
    "id": 0,
    "exam_id": 1,
    "question_text": "Mi a Logzi fő funkciója?",
    "question_type": "radio",
    "explanation_text": "A Logzi egy ERP rendszer.",
    "sort_order": 1,
    "answers": [
      { "answer_text": "Számlázás és készletkezelés", "is_correct": 1 },
      { "answer_text": "Videóstream", "is_correct": 0 }
    ]
  }
}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "Saved" },
  "data": { "id": 10 }
}
POST /api/exam/delete-question

Ștergerea unei întrebări. Toate variantele de răspuns aferente întrebării vor fi de asemenea șterse.

Câmpuri POST — obiectul data

Câmp Tip Obligatoriu Descriere
id int Identificatorul întrebării de șters

Exemplu de cerere

POST /api/exam/delete-question
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json

{
  "data": { "id": 10 }
}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "Deleted" },
  "data": { "id": 10 }
}
GET /api/exam/attempt-list

Obținerea listei tuturor încercărilor (completărilor) aferente unui examen, împreună cu datele utilizatorului-partener.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
exam_id int Identificatorul examenului

Exemplu de cerere

GET /api/exam/attempt-list?exam_id=1
X-API-KEY: {cheia_dvs_api}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": [
    {
      "id": 5,
      "exam_id": 1,
      "partner_user_id": 12,
      "partner_user_name": "Kovács Béla",
      "partner_user_email": "kovacs.bela@example.com",
      "status": "completed",
      "score": 8,
      "date_start": "2024-06-01 10:00:00",
      "date_complete": "2024-06-01 10:15:00"
    }
  ]
}
POST /api/exam/save-attempt

Inițierea unei noi încercări de examen (sesiune de completare) pentru un utilizator-partener. Returnează identificatorul încercării și cheia (chk) folosită în linkul de completare.

Câmpuri POST

Câmp Tip Obligatoriu Descriere
exam_id int Identificatorul examenului
partner_user_id int Identificatorul utilizatorului-partener care completează

Exemplu de cerere

POST /api/exam/save-attempt
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json

{
  "exam_id": 1,
  "partner_user_id": 12
}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "Created" },
  "data": {
    "id": 5,
    "chk": "a3f9c2e1b07d..."
  }
}
POST /api/exam/save-slide-answer

Salvarea răspunsului dat la o întrebare, pentru o încercare activă. La răspunsul la ultima întrebare, încercarea se închide automat, iar scorul este calculat.

Câmpuri POST

Câmp Tip Obligatoriu Descriere
attempt_id int Identificatorul încercării
question_id int Identificatorul întrebării la care se răspunde
partner_user_id int Identificatorul utilizatorului-partener care completează
selected_answer_ids array Array-ul ID-urilor răspunsurilor selectate (pentru tipurile radio, checkbox, true_false)
text_answer string Răspuns text (pentru întrebări de tip text)

Exemplu de cerere

POST /api/exam/save-slide-answer
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json

{
  "attempt_id": 5,
  "question_id": 10,
  "partner_user_id": 12,
  "selected_answer_ids": [101]
}

Exemplu de răspuns (nu este ultima întrebare)

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "is_correct": 1,
    "correct_answer_ids": [101],
    "explanation_text": "A Logzi egy ERP rendszer.",
    "is_last": false
  }
}

Exemplu de răspuns (ultima întrebare — încercarea se închide)

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "is_correct": 1,
    "correct_answer_ids": [101],
    "explanation_text": "A Logzi egy ERP rendszer.",
    "is_last": true,
    "score": 9,
    "total": 10
  }
}

Ia legătura cu noi

Ești interesat de software-ul nostru? Scrie-ne cu încredere!

Ai nevoie de ajutor?

Dacă nu găsești răspunsul și ai nevoie de asistență

Creează-ți contul acum,
plătește mai târziu!

Încearcă gratuit timp de 3 zile, fără riscuri și fără obligații!