This page answers frequently asked questions about DIAL code service

How to create a DIAL code?

You should create a publisher in order to create/generate a DIAL code.

How to generate QR Code images of DIAL codes?

You have to reserve DIAL codes for a textbook before downloading the QR Code images of the reserved DIAL codes. Once, the DIAL codes are reserved, you can download QR code images using the "processId" returned in the response of 'Reserve DIAL codes API'.

DIAL codes can only be linked to Collection and Collection Units at present. However, contents can be added to collection units and hence, make contents indirectly linked to DIAL codes.

Please follow this link.

How to check if a QR code is linked to a content?

The QR code image generated by the Sunbird-Ed will internally have a unique DIAL code linked to it. The URL format of the QR code is <base_path>/<DIAL Code>.

Below are the steps to extract the METADATA behind the QR code:

  1. Extract the DIAL code from the URL of the QR code.

  2. Use the DIAL code and trigger content search API with the below request body.

    "request": {
        "filters": {
            "visibility": ["Default" ,"Parent"],
            "dialcodes": "<DIAL Code>"
        "mode": "collection"

Content Search API is a public endpoint. With the above request body, the API will return METADATA of the contents which are linked to the specific QR code (or DIAL code).

In the API response,

"collections" block gives the information of the TextBook that contains the 'TextBookUnit' to which DIAL Code is tagged to. "identifier" - id of the TextBook, "name" - name of the TextBook, "board" - board value to which TextBook is tagged to. similarly, "medium", "gradeLevel" (Class) and "subject" values.

"content" block gives the information of the TextBook Unit DIAL Code is tagged to. "identifier" - id of the TextBook Unit, "name" - name of the TextBook Unit, "topic" - topics/concepts to which Unit is tagged with, "children" - contents which are part of the TextBook Unit.

How DIAL code search works?

You can use search DIAL code API to fetch list of DIAL codes generated by a publisher of the tenant or to get the list of DIAL codes generated as part of a batchCode.

How to define our own vocabulary to the dial code context?

You can add a new folder parallel to 'sb' under 'jsonld-schema' folder and mention the folder name in configuration: 'jsonld.type'. Folder can have 'schema.jsonld', 'context.json' 'contextValidation.json' files.

Last updated