Multiple Choice Quiz Corrector API

Multiple Choice Quiz Corrector API - Quizzbotics (also known as Multiple Choice Test Corrector API) is a cross browsers REST API which get a JSON input with a still photo (as base64 encoded string), also some settings as optional language code (among 60 supported languages, more accuracy is got for English language), containing scanned form paper answers to a multiple choice quizz  and returns a JSON string which contains OCR recognized answers, number of errors if any, errors descriptions if any, timestamp, candidate code, test number. The source answer form may be used for maximum 100 questions which have A, B, C, D options for answer. You may choose one, two, three, four or neither. For downloading our source answer form, click here: SOURCE ANSWER FORM Of course, there are some limitations in order to get a higher accuracy. We recommend to see our correct and wrong example sketches here.

Allthough this Multichoice Quizz Corrector API (currently we do not offer a Multiple Choice Quiz Corrector sdk) is intended for software development and therefore developers, we have also here an Multiple Choice Quiz Corrector online application that may be used to check the input and output JSONs of the API. The necessary steps are written below, basically for this real time Multiple Choice Quiz Corrector API you send an authorized POST request in JSON format to the API endpoint and you get as JSON response the output as described below through parameters and examples.

This Multiple Choice Test Corrector API is useful for a large number of domains like: teaching, students, human resources, marketing, automotive etc.You own the commercial copyright of the resulted JSON with no additional fee meaning you may use it in your own apps for sale. For using our Multiple Choice Quiz Corrector API and/or APP you must create an account (free of charge, no card required), activate it from your received email, login and then start your TRIAL package with no fees as you can see at our pricing packages. After you have tested the API and/or APP and you are satisfied, you may buy a paid package. You will always see at your Admin Console page the real resources consumption in real time, your invoices, you may see/edit/delete your profile or export log consents as GDPR instructed, you may read our FAQs.

.

correct and wrong samples You may see our full answers form samples which are well written here: 0 based answers form sample and x based answers form sample.

Multiple Choice Quiz Corrector APP

Photo File
Language Code



API Endpoint (method POST):
https://gatiosoft.ro/quizzbotics.aspx
Headers:
Authorization: Basic //Your username:password are base64 encoded string
Content-Type: application/json
Accept: application/json
JSON Request Body (change inputs here and see in real time below):
                   {
  "base64ImageString": "iVBORw0KGgoAAAA...base64 encoded string photo...GAAAAAElFTkSuQmCC",
  "languageCode": "auto"
}
               
JSON Response From API (change inputs here and see in real time below):
[
  {
    "candidate_code": "435231",
    "tests": [
      {
        "timestamp": "2021-07-17 18:22:30",
        "test_number": "432",
        "test_answers": [
          {
            "question_number": "1:",
            "question_answer": "A"
          },
          {
            "question_number": "2:",
            "question_answer": "A"
          },
          {
            "question_number": "3:",
            "question_answer": "A"
          },
          {
            "question_number": "4:",
            "question_answer": "A"
          },
          {
            "question_number": "5:",
            "question_answer": "A"
          },
          {
            "question_number": "6:",
            "question_answer": "A"
          },
          {
            "question_number": "7:",
            "question_answer": "A"
          },
          {
            "question_number": "8:",
            "question_answer": "A"
          },
          {
            "question_number": "9:",
            "question_answer": "A"
          },
          {
            "question_number": "10:",
            "question_answer": "A"
          },
          {
            "question_number": "11:",
            "question_answer": "A"
          },
          {
            "question_number": "12:",
            "question_answer": "A"
          },
          {
            "question_number": "13:",
            "question_answer": "A"
          },
          {
            "question_number": "14:",
            "question_answer": "A"
          },
          {
            "question_number": "15:",
            "question_answer": "A"
          },
          {
            "question_number": "16:",
            "question_answer": "A"
          },
          {
            "question_number": "17:",
            "question_answer": "A"
          },
          {
            "question_number": "18:",
            "question_answer": "A"
          },
          {
            "question_number": "19:",
            "question_answer": "A"
          },
          {
            "question_number": "20:",
            "question_answer": "A"
          },
          {
            "question_number": "21:",
            "question_answer": "A"
          },
          {
            "question_number": "22:",
            "question_answer": "A"
          },
          {
            "question_number": "23:",
            "question_answer": "A"
          },
          {
            "question_number": "24:",
            "question_answer": "A"
          },
          {
            "question_number": "25:",
            "question_answer": "A"
          },
          {
            "question_number": "26:",
            "question_answer": "A"
          }
        ],
        "errors_counter": 0,
        "errors_description": ""
      }
    ]
  }
]
JSON Response (Example) From API in case of ERROR:

 [
  {
    "cd": "1001",
    "description": "The authorization header Is either empty Or isn't Basic"
  }
]

Request Parameters Table

Parameter Name
Parameter Description
base64ImageString
This is the input photo as base64 encoded string[string] from which will be detected the answers, candidate code, timestamp and test number.
languageCode
This is the language code [string] used for reading the answers, candidate code, test number, timestamp. Its default value is auto which will work on all latin languages. If you try to read text from non-latin text, then you should specify this code according to supported language codes in this table. Best results is achieved in English language "en".

Response Parameter Table

Parameter Name
Parameter Description
root object
This is the root object that contains a list or array of OCR recognized candidates in the input photo as described below.
candidate_code
This is the id [String] of the OCR recognized candidate code handwritten or printed on the input photo.
tests
This is the a list or array of the tests of a candidate and it contains the fields written below.
timestamp
This is the timestamp [String] OCR recognizes from the answers form in the input photo. Example: 2020-11-05 22:06:09.
test_number
This is the test number [String] OCR recognizes from the answers form in the input photo. Example: T8953196.
errors_counter
This is the errors counter [Integer] of the test which will be 0 if OCR fully recognizes all the answers. Example: 2.
errors_description
This is the errors description [String] of the test which contains the number of question(s) and the answer(s) which have not been read by OCR in a proper manner. Example: 30: AOBOC.
test_answers
This is the list or array which contains the fields written below, basically the question number and the question answer.
question_number
This is the question number [String] recognized by OCR in the input photo. Example: 35.
question_answer
This is the question answer [String] recognized by OCR in the input photo. Example: A;B.

Supported Languages For Quizzbotics

ID
1
Language
Afrikaans
Language Code
af
Observations
Latn

ID
2
Language
Albanian
Language Code
sq
Observations
Latn

ID
3
Language
Arabic
Language Code
ar
Observations
Arab; Modern Standard

ID
4
Language
Armenian
Language Code
hi
Observations
Armn

ID
5
Language
Belorussian
Language Code
be
Observations
Cyrl

ID
6
Language
Bengali
Language Code
bn
Observations
Beng

ID
7
Language
Bulgarian
Language Code
bg
Observations
Cyrl

ID
8
Language
Catalan
Language Code
ca
Observations
Latn

ID
9
Language
Chinese
Language Code
zh
Observations
Hans/Hant

ID
10
Language
Croatian
Language Code
hr
Observations
Latn

ID
11
Language
Czech
Language Code
cs
Observations
Latn

ID
12
Language
Danish
Language Code
da
Observations
Latn

ID
13
Language
Dutch
Language Code
nl
Observations
Latn

ID
14
Language
English
Language Code
en
Observations
Latn; American

ID
15
Language
Estonian
Language Code
et
Observations
Latn

ID
16
Language
Filipino
Language Code
fil
Observations
Latn

ID
17
Language
Finnish
Language Code
fi
Observations
Latn

ID
18
Language
French
Language Code
fr
Observations
Latn; European

ID
19
Language
German
Language Code
de
Observations
Latn

ID
20
Language
Greek
Language Code
el
Observations
Grek

ID
21
Language
Gujarati
Language Code
gu
Observations
Gujr

ID
22
Language
Hebrew
Language Code
iw
Observations
Hebr

ID
23
Language
Hindi
Language Code
hi
Observations
Deva

ID
24
Language
Hungarian
Language Code
hu
Observations
Latn

ID
25
Language
Icelandic
Language Code
is
Observations
Latn

ID
26
Language
Indonesian
Language Code
id
Observations
Latn

ID
27
Language
Italian
Language Code
it
Observations
Latn

ID
28
Language
Japanese
Language Code
ja
Observations
Jpan

ID
29
Language
Kannada
Language Code
kn
Observations
Knda

ID
30
Language
Khmer
Language Code
km
Observations
Khmr

ID
31
Language
Korean
Language Code
ko
Observations
Kore

ID
32
Language
Lao
Language Code
lo
Observations
Laoo

ID
33
Language
Latvian
Language Code
lv
Observations
Latn

ID
34
Language
Lithuanian
Language Code
lt
Observations
Latn

ID
35
Language
Macedonian
Language Code
mk
Observations
Cyrl

ID
36
Language
Malay
Language Code
ms
Observations
Latn

ID
37
Language
Malayalam
Language Code
ml
Observations
Mlym

ID
38
Language
Marathi
Language Code
mr
Observations
Deva

ID
39
Language
Nepali
Language Code
ne
Observations
Deva

ID
40
Language
Norwegian
Language Code
no
Observations
Latn; Bokmal

ID
41
Language
Persian
Language Code
fa
Observations
Arab

ID
42
Language
Polish
Language Code
pl
Observations
Latn

ID
43
Language
Portuguese
Language Code
pt
Observations
Latn; Brazilian

ID
44
Language
Punjabi
Language Code
pa
Observations
Guru; Gurmukhi

ID
45
Language
Romanian
Language Code
ro
Observations
Latn

ID
46
Language
Russian
Language Code
ru
Observations
Cyrl

ID
47
Language
Russian
Language Code
ru-PETR1708
Observations
Cyrl; Old Orthography

ID
48
Language
Serbian
Language Code
sr
Observations
Cyrl & Latn

ID
49
Language
Serbian
Language Code
sr-Latn
Observations
Latn

ID
50
Language
Slovak
Language Code
sk
Observations
Latn

ID
51
Language
Slovenian
Language Code
sl
Observations
Latn

ID
52
Language
Spanish
Language Code
es
Observations
Latn; European

ID
53
Language
Swedish
Language Code
sv
Observations
Latn

ID
54
Language
Tamil
Language Code
ta
Observations
Taml

ID
55
Language
Telugu
Language Code
te
Observations
Telu

ID
56
Language
Thai
Language Code
th
Observations
Thai

ID
57
Language
Turkish
Language Code
tr
Observations
Latn

ID
58
Language
Ukrainian
Language Code
uk
Observations
Cyrl

ID
59
Language
Vietnamese
Language Code
vi
Observations
Latn

ID
60
Language
Yiddish
Language Code
yi
Observations
Hebr

Response Error Codes Table

Parameter Name
Parameter Description
cd

This is the error code which may be:

  • 1001
  • 1002
  • 1003
  • 1004
  • 1005
  • 1006
  • 1007
  • 1008
  • 1009
  • 1010
  • 1011
  • 1012
  • 1013
  • 1014
  • 1015
  • 1016
  • 2001
description

This is the description of the error code which may be:

  • 1001 - The authorization header is either empty or isn't Basic.
  • 1002 - Daily requests number exceeded in TRIAL mode!
  • 1003 - Trial expired!
  • 1004 - Requests number exceeded!
  • 1005 - Package expired!
  • 1006 - No invoice!
  • 1007 - Reader is NULL for TRIAL!
  • 1008 - Cannot Read if TRIAL exists!
  • 1009 - Error connecting to database looking for TRIAL! (and a detailed description message of the encountered error)
  • 1010 - Reader is NULL for Invoice!
  • 1011 - Cannot Read if Invoice exists!
  • 1012 - Error connecting to database! (and a detailed description message of the encountered error)
  • 1013 - Input request too long! Maximum 5 MB per request are allowed / Nothing to upload
  • 1014 - Invalid request data! (and a detailed description message of the encountered error)
  • 2001 - Invalid request data after passing to the API (and a detailed description message of the encountered error)

Source Code Examples for Using Our Multiple Choice Quiz Corrector API

                       
Imports System
Imports System.Text
imports System.Collections.Generic
Imports System.Net
Imports Newtonsoft.Json

    Public Class ResponseFields
        Public Property candidate_code As String
        Public Property tests As New List(Of test)
    End Class

    Public Class test
        Public Property timestamp As String
        Public Property test_number As String
        Public Property test_answers As New List(Of test_answer)
        Public Property errors_counter As Integer
        Public Property errors_description As String
    End Class
    
    Public Class test_answer
        Public Property question_number As String
        Public Property question_answer As String
    End Class
    
    Public Class ErrorFields
        Public Property cd As String
        Public Property description As String
    End Class

    Public Class multiple_choice_quiz_corrector_api
      Protected Sub SendRequest()
        Dim Client As WebClient = New WebClient()
        Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes("your_username:your_password"))
        Client.Headers(HttpRequestHeader.Authorization) = String.Format("Basic {0}", credentials)
        Client.Headers(HttpRequestHeader.Accept) = "application/json"
        Client.Headers(HttpRequestHeader.ContentType) = "application/json"
	Client.BaseAddress = "https://gatiosoft.ro/quizzbotics.aspx"
        Dim resString As String = ""

        Try
            Dim js As String = "Replace this string with your JSON Request Body string like in the example above on the website"
            Dim reqString As Byte() = Encoding.UTF8.GetBytes(js)
            Dim url As Uri = New Uri(Client.BaseAddress)
            Dim resByte As Byte() = Client.UploadData(url, "post", reqString)
            resString = Encoding.UTF8.GetString(resByte)

	    If resString.IndexOf("bounding_box_confidence") > 0 Then
                Dim r As ResponseFields = New ResponseFields()
                r = JsonConvert.DeserializeObject(Of ResponseFields)(resString)
                Console.Write(resString)
            Else
		Dim e As list(of ErrorFields) = New list(of ErrorFields)
		e = JsonConvert.DeserializeObject(Of list(of ErrorFields))(resString)
                Console.Write(e(0).cd)
                Console.Write(e(0).description)
            End If

            Client.Dispose()
        Catch exception As Exception
            Dim ex As System.Exception = exception
            Console.Write("ERROR: " & resString & ex.Message)
        End Try
    End Sub

    Public Shared Sub Main()
	Dim b As multiple_choice_quiz_corrector_api = New  multiple_choice_quiz_corrector_api
        b.SendRequest()
    End Sub
End Class



Quizzbotics Online Video Presentation

Multiple Choice Quiz Corrector API, quizzbotics is in the video presentation below. There are several search terms which you may use like: Multiple Choice Quiz Corrector sdk, Multiple Choice Quiz Corrector c#, Multiple Choice Quiz Corrector online, Multiple Choice Test Corrector, automatic Multiple Choice Quiz Corrector, Multiple Choice Quiz Corrector python, Multiple Choice Test Corrector python, real time Multiple Choice Quiz Corrector python.

 



Pricing Packages

Please choose one of the below pricing packages for start using our Multiple Choice Quiz Corrector API and online APP!

Start TRIAL
No catches

  • 7 days TRIAL
  • Use our cloud REST API and online APP
  • Maximum 50 requests per DAY in trial period
  • You do NOT own the commercial copyright for using the API in your apps in trial period.
  • Get OCR recognized answers, candidate code, timestamp, test number in one photo.
  • Get OCR errors counter and errors descriptions if any.
  • 60 supported languages, but most accurate is English.
  • Administration console
  • Support through online chat and/or tickets
  • We do NOT allow spam accounts for TRIAL



Monthly TIER
Popular

  • 80 USD per month
  • Use our cloud REST API and online APP
  • Maximum 10000 requests per month
  • Maximum 50 requests per MINUTE
  • You own the commercial copyright to use it in your apps.
  • Get OCR recognized answers, candidate code, timestamp, test number in one photo.
  • Get OCR errors counter and errors descriptions if any.
  • 60 supported languages, but most accurate is English.
  • Administration console
  • Premium support through online chat and/or tickets, very supportive help and quick responses.



Yearly TIER
(15% Discount)

  • 816 USD per year
  • Use our cloud REST API and online APP
  • Maximum 10000 requests per month
  • Maximum 50 requests per MINUTE
  • You own the commercial copyright to use it in your apps.
  • Get OCR recognized answers, candidate code, timestamp, test number in one photo.
  • Get OCR errors counter and errors descriptions if any.
  • 60 supported languages, but most accurate is English.
  • Administration console
  • Premium support through online chat and/or tickets, very supportive help and quick responses.



Note: VAT rate may be added or not, function to your country and/or if you are a taxable person or company.