📄
Epixel MLM Commission Engine API
  • Introduction
  • Authentication
  • User Registration
  • Single Sign-On
  • User Profile
  • User Address
  • About User
  • User Password
  • User Roles
  • Manage User
  • ‎Countries
  • States
  • Ewallet
  • Support Ticket
  • List Banners
  • Enrollment Packages
  • Group Attributes
  • Product Attribute
  • Product Catalogue
  • Product Details
  • Product Review
  • Product Category
  • Product
  • Order
  • Place Genealogy
  • Rank Details
  • Dashboard Data
  • Manage Network
  • Referral Link
  • FAQ
  • Leads & CRM
  • Cart
  • Whishlist
  • Payout
  • Announcement
  • Form Key
  • Prepaid Coupons(Epin)
  • P2P Transfer
  • Internal Transfer
  • History
  • KYC Details
  • Education Platform
  • Quiz
  • Lead Campaign
  • EMI
  • Multi Wallet
  • Profiles - Goals
  • Saved Cards
  • Webhook
Powered by GitBook
On this page
  • List Courses
  • List Subscribed Courses
  • List Internal Courses
  • Subscribe Course
  • Unsubscribe Course
  • Course Detailed View
  • Previous and Next Chapters
  • Update Course Progress
  • Course Review
  • Get Certificate

Was this helpful?

Education Platform

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

page

string

page number

filter

object

{ 'name': <course title>, 'category': <category>, 'price': <price> }

limit

string

sort

string

Headers

Name
Type
Description

apikey*

string

Apikey

Authorization*

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>"
            },

        ],
        "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.

Headers

Name
Type
Description

apikey*

string - Apikey

Authorization*

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

Headers

Name
Type
Description

apikey*

string - Apikey

Authorization*

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.

Headers

Name
Type
Description

apikey*

string

Apikey

Authorization*

string

Beare access token

Request Body

Name
Type
Description

course_slug*

string

Course slug

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.

Headers

Name
Type
Description

apikey*

string

Apikey

Authorization*

string

Bearer access token

Request Body

Name
Type
Description

course_slug*

string

Course slug

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

Status Code

Error Type

FIeld

Description

400

Validation Error

slug

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

slug*

string

Course slug

subscribed

boolean - True or False

If requesting for details of subscribed course, Must add subscribed params as True.

Headers

Name
Type
Description

apikey*

string

Apikey

Authorization*

string

Bearer access token

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

Status Code

Error Type

FIeld

Description

400

Validation Error

slug

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

Name
Type
Description

slug*

string

Course slug

module*

integer

Module number

chapter*

integer

Chapter number

Headers

Name
Type
Description

apikey*

string

Apikey

Authorization*

string

Bearer access token

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

400

Validation Error

slug

This field is required and it may not be blank.

Invalid slug.

You are not subscribed this course.

401

Request Failed

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.

Headers

Name
Type
Description

apikey*

string

Apikey

Authorization*

string

Bearer access token

Request Body

Name
Type
Description

course_slug*

String

chapter_slug*

String

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

400

Validation Error

course_slug

This field is required and it may not be blank.

Invalid course slug.

400

Validation Error

chapter_slug

Invalid chapter slug.

Course Review

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

Name
Type
Description

course_slug*

string

Course slug

Headers

Name
Type
Description

apikey*

string

Apikey

Authorization*

string

Bearer access token

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

400

Validation Error

course_slug

This field is required and it may not be blank.

Invalid course slug.

Course is not completed yet.

PreviousKYC DetailsNextQuiz

Last updated 3 years ago

Was this helpful?

To add a review for subscribed course use the same endpoint for , use course_id as a bundle in params.

product review