Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Overview

As per the current design discussion, LP will be providing two APIs for reserving the dialcodes for textbook and releasing a specific number of dialcodes from the textbook respectively.

For storing the reserved dialcodes list against a textbook, there will be a metadata named reservedDialcodes. 

As part of reserve API, asked number of dialcodes will get generated and reservedDialcodes metadata of particular textbook will get updated.

As part of release API, asked number of dialcodes will be release post validating dialcodes used in TOC and reserved dialcodes list.


Reserved Dialcode API:

POST - content/v3/dialcode/reserve/{content_id}

Request Header:

Authorisation: //Authorisation key
Content-Type: application/json'
X-Channel-Id: //Channel for which dialcode are getting generated'

Request Body

{
    "id": "ekstep.learning.content.dialcode.reserve",
    "ver": "3.0",
    "ts": "YYYY-MM-DDThh:mm:ssZ+/-nn.nn",
    "params":
    {
        "did": "", // device UUID from which API is called
        "key": "", // API key (dynamic)
        "msgid": "" // unique request message id, UUID
    },
    "request":
    {
    	"dialcode": {
			"count": 10, // Number of dialcodes to be generated and reserved for the content
			"publisher": "NCERTPUBLISHER", // Publisher of the dialcodes
		}
	}
}

Validation Logic:

  • If the content does not have any reserved dialcode, dialcode will be generated using content Id as batchCode.
  • Content should belong to same channel.
  • Content should be of Type Textbook
  • If the content already have list of reserved dialcodes, the new dialcodes should be appended.

Release Dialcode API:

PATCH - content/v3/dialcode/release/{content_id}

Request Header:

Authorisation: //Authorisation key
Content-Type: application/json'

Request Body

{
    
}

Validation Logic:

  • Content should belong to same channel.
  • Content should be of Type Textbook
  • If all the reserved dialcodes are utilised. It will throw exception.
  • If there is not dialcode reserved for the content, it will throw exception.
  • Content should be of Type Textbook.
  • API should release all the the unused dialcodes (not used in any of the children of the textbook)
  • No labels