List Courses
GET
‎https://<domain>/<api prefix>/<version>/education-platform/available/course/
This API endpoint will return a list of available and subscribed courses.
Query Parameters
Name | Type | Description |
---|
| | |
| | { 'name': <course title>, 'category': <category>, 'price': <price> } |
| | |
| | |
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {
"courses": [
{
"id": <id>,
"slug": "<slug>",
"title": "<cource_title>",
"thumbnail":"<image>",
"short_description": "<short_description>",
"long_description": "<long_description>",
"detail_url": "<detail_url>",
"authors": [
{
"name": "<author_name>"
}
],
"duration": "<duration>",
"progress": <progress>,
"skills": [
"<skills>"
],
"price": <price>,
"course_type": "<course_type>",
"total_reviews": "<reviews_count>"
},
],
"filterParams": {
"category": [
{
"pk": <id>,
"name": "<name>",
"slug": "<slug>"
},
],
"price": [
{
"label": <label>,
"value": <value>
},
],
"sortOptions": [
{
"label": "<label>",
"value": "<value>"
},
]
}
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/available/course/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/available/course/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
List Subscribed Courses
GET
‎https://<domain>/<api prefix>/<version>/education-platform/dashboard/my-courses/
This API endpoint will return a list of subscribed courses.
Name | Type | Description |
---|
| | |
| string - Bearer access-token | |
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {
"courses": [
{
"id": <id>,
"slug": "<slug>",
"title": "<cource_title>",
"thumbnail":"<image>",
"short_description": "<short_description>",
"long_description": "<long_description>",
"detail_url": "<detail_url>",
"authors": [
{
"name": "<author_name>"
}
],
"duration": "<duration>",
"progress": <progress>,
"skills": [
"<skills>"
],
"price": <price>,
"course_type": "<course_type>",
"total_reviews": "<reviews_count>"
},
]
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/dashboard/my-courses/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/dashboard/my-courses/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access-token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
List Internal Courses
GET
‎https://<domain>/<api prefix>/<version>/education-platform/dashboard/internal-courses/
This API endpoint will return a list of internal courses
Name | Type | Description |
---|
| | |
| string - Bearer access-token | |
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {
"courses": [
{
"id": <id>,
"slug": "<slug>",
"title": "<cource_title>",
"thumbnail":"<image>",
"short_description": "<short_description>",
"long_description": "<long_description>",
"detail_url": "<detail_url>",
"authors": [
{
"name": "<author_name>"
}
],
"duration": "<duration>",
"progress": <progress>,
"skills": [
"<skills>"
],
"price": <price>,
"course_type": "<course_type>",
"total_reviews": "<reviews_count>"
},
]
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/dashboard/internal-courses/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access-token>'
},
formData: {}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/dashboard/internal-courses/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Subscribe Course
POST
‎https://<domain>/<api prefix>/<version>/education-platform/subscribe/free-course/
This API endpoint will subscribe to a free course.
Request Body
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/subscribe/free-course/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {
'course_slug': '<course_slug>'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/subscribe/free-course/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('course_slug' => '<course_slug>'),
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
Unsubscribe Course
POST
‎https://<domain>/<api prefix>/<version>/education-platform/unsubscribe/course/
This API endpoint will unsubscribe to a course.
Request Body
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/unsubscribe/course/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {
'course_slug': '<course_slug>'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/unsubscribe/course/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('course_slug' => '<course_slug>'),
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
| | | |
| | | This field is required and it may not be blank. Invalid course slug. |
Course Detailed View
GET
‎https://<domain>/<api prefix>/<version>/education-platform/course/detailed-view/
This API endpoint will return a detailed view of the course.
Path Parameters
Name | Type | Description |
---|
| | |
| | If requesting for details of subscribed course, Must add subscribed params as True. |
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {
if the course is not subscribed
"course_slug": "<course_slug>",
"author": "<author>",
subscriber_count": <subscriber_count>,
"course_content": {
"id": <id>,
"language": "<language>",
"title": "<title>",
"short_description": "<short_description>",
"long_description": "<long_description>",
"is_set": <is_set>
},
"course_type": "<course_type>",
"prerequisite": [
"<badg_name>"
],
"total_modules": <total_modules>,
"modules": [
{
"name": "<module_name>",
"total_chapters": <total_chapters>,
"chapters": [
{
"name": "<chapter_name>"
"is_preview": <is_preview>,
"resource_url": "<resource_url>",
"vimeo_id": "<vimeo_id>"
},
....
]
},
....
],
"duration": "<duration>",
"subcribed": <subcribed>,
"eligible": <eligible>,
"eligibility": {
"ranks": [<eligible_rank_names>],
"groups": [<eligible_groups_names>]
},
"currency": "<currency>",
"first_preview": {
"id": <id>,
"number": <chapter_number>,
"resource_url": "<resource_url>",
"name": "<name>",
"description": "<description>",
"long_description": "<long_description>",
"duration": "<duration>",
"is_preview": <is_preview>,
"slug": "<slug>",
"module": <module_number>
},
if the course is subscribed
"course_id": <course_id>,
"title": "<title>",
"duration": "<duration>",
"subscriber_count": <subscriber_count>,
"badge_list": [
"<badge_list>"
],
"course_slug": "<course_slug>",
"author": "<author>",
"progress": <progress>,
"last_visited": {
"id": <id>,
"number": <chapter_number>,
"resource_url": "<resource_url>",
"name": "<name>",
"description": "<description>",
"long_description": "<long_description>",
"duration": "<duration>",
"is_preview": <is_preview>,
"slug": "<slug>",
"module": <module_number>
},
"modules": [
{
"module": <module_number>,
"name": "<name>",
"description": "<description>",
"total_chapters": <total_chapters>,
"chapters": [
{
"number": <chapter_number>,
"slug": "<slug>",
"name": "<name>",
"description": "<description>",
"long_description": "<long_description>",
"duration": "<duration>",
"is_preview": <is_preview>,
"resource_url": "<resource_url>",
"vimeo_id": "<vimeo_id>",
"module_number": <module_number>
},
]
},
...
],
common data
"review_data": [
{
"id": <id>,
"object_pk": "<object_pk>",
"comment": "<comment>",
"rating": <rating>,
"user__first_name": "<user__first_name>",
"user__last_name": "<user__last_name>"
}
],
"ratings_data": {
"rating_average": <ratings_data>,
"rating_average_num": <rating_average_num>,
"rating_total": <rating_total>,
"review_total": <review_total>
},
"already_reviewed": <already_reviewed>,
"already_reviewed_data": {
"id": <id>,
"object_pk": "<object_pk>",
"comment": "<comment>",
"rating": <rating>,
"user__first_name": "<user__first_name>",
"user__last_name": "<user__last_name>"
}
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/course/detailed-view/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/course/detailed-view/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
| | | |
| | | This course is not pusblished, Permission denied. This field is required and it may not be blank. Invalid slug. |
Previous and Next Chapters
GET
‎https://<domain>/<api prefix>/<version>/education-platform/chapter/next-previous/
This API endpoint will return next and previous chapter details of selected chapter
Query Parameters
HTTP/1.1 200 OK
Content-Type: application/json
{
"status_code": 200,
"errors": {},
"data": {
"next_chapter": {
"id": <id>,
"number": <chapter_number>,
"resource_url": "<resource_url>",
"name": "<name>",
"description": "<description>",
"long_description": "<long_description>",
"duration": "<duration>",
"is_preview": <is_preview>,
"slug": "<slug>",
"module": <module_number>
},
"previous_chapter": {
"id": <id>,
"number": <chapter_number>,
"resource_url": "<resource_url>",
"name": "<name>",
"description": "<description>",
"long_description": "<long_description>",
"duration": "<duration>",
"is_preview": <is_preview>,
"slug": "<slug>",
"module": <module_number>
}
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/chapter/next-previous/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/chapter/next-previous/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
Status Code | Error Type | Field | Description |
---|
| | | This field is required and it may not be blank. Invalid slug. You are not subscribed this course. |
| | | Module and chapter number is required. |
Update Course Progress
POST
‎https://<domain>/<api prefix>/<version>/education-platform/course/progress/
This API endpoint will update course progress.
Request Body
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/course/progress/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {
'course_slug': '<course_slug>',
'chapter_slug': '<chapter_slug>'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/course/progress/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('course_slug' => '<course_slug>','chapter_slug' => '<chapter_slug>'),
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
Status Code | Error Type | Field | Description |
---|
| | | This field is required and it may not be blank. Invalid course slug. |
| | | |
| | | |
Course Review
To add a review for subscribed course use the same endpoint for product review, use course_id as a bundle in params.
Get Certificate
GET
‎https://<domain>/<api prefix>/<version>/education-platform/get/certificate/
This API endpoint is used to get a certificate of a completed subscribed course.
Query Parameters
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/get/certificate/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/get/certificate/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
Status Code | Error Type | Field | Description |
---|
| | | This field is required and it may not be blank. Invalid course slug. Course is not completed yet. |