coursmos-external-course-sdk

SDK for External Courses API


License
ISC
Install
bower install coursmos-external-course-sdk

Documentation

Coursmos External Course SDK

Черновик

SDK для интеграции с Coursmos External Course.

Установка

Node.js/AMD

npm install сoursmos-external-course-sdk --save

Bower

bower install сoursmos-external-course-sdk --save

Использование

Node.js

var client = require('сoursmos-external-course-sdk');

client.status()
  .then(function (status) {
    console.log(status);
  });

AMD

define(['сoursmos-external-course-sdk'], function(client) {
  client.status()
    .then(function (status) {
      console.log(status);
    });
});

Bower

<script src="bower_components/сoursmos-external-course-sdk/dist/index.bundle.js"></script>
<script>
  coursmosExternalCourseClient
    .status()
    .then(function (status) {
      console.log(status);
    });
</script>

API

Взаимодействие с контентом

Promise externalCourseStatus() -- возвращает статус всего внешнего курса для данного юзера (указанного через метод setAccessToken()).

Пример ответа:

const response = {
  // время начала курса
  "startDate": "2016-09-04 23:00:57.735Z",

  // время окончания курса
  "endDate": null,

  // 
  "content": [
    {
      // пройденный урок
      "id": "lesson1Id",
      "startDate": "2016-09-04 23:00:57.735Z",
      "endDate": "2016-09-07 13:45:02.364Z"
    },
    {
      // начатый урок
      "id": "lesson2Id",
      "startDate": "2016-09-12 17:09:44.544Z",
      "endDate": null
    },
    {
      // не начатый урок
      "id": "lesson3Id",
      "startDate": null,
      "endDate": null
    },
    {
      // не начатый урок
      "id": "lesson4Id",
      "startDate": null,
      "endDate": null
    }
  ]
};

Promise startExternalCourseLesson(lessonId) -- начинает урок внешнего курса. lessonId внутренний идентификатор урока.

Promise completeExternalCourseLesson(lessonId) -- заканчивает урок внешнего курса.

Promise externalLessonStatus() -- возвращает статус всего внешнего урока.

Пример ответа:

const response = {
  // время начала курса
  "startDate": "2016-09-04 23:00:57.735Z",

  // время окончания курса
  "endDate": null
};

Promise startExternalLesson() -- начинает внешний урок.

Promise completeExternalLesson() -- заканчивает внешний урок.

Методы конфигурации

setAccessToken(String accessToken) -- устанавливает токен юзера

setBaseUrl(String baseUrl) -- устанавливает URL сервера

setExternalCourseId(String externalCourseId) -- устанавливает идентификатор внешнего курса

setCourseExternalLessonId(String courseExternalLessonId) -- устанавливает идентификатор внешнего урока

Методы конфигурации используются платформой Coursmos при запуске вашего html-приложения, специально их использовать не нужно. Разве что в целях тестирования.

Создание курса

Требования

Курс должен представлять собой html-приложение которое запускается при открытии индексного файла index.html. Мета-информация о курсе должна храниться в файле manifest.json. Файлы manifest.json и index.html должны находится в корневой директории приложения.

Описание manifest.json

Файл manifest.json служит мостом между сервером и клиентом. В нем объявляется информация о контенте курса.

Пример файла:

{
  "version": "1",
  "content": [
    {
      "id": "lesson1Id",
      ...
    },
    ...
    {
      "id": "lessonNId",
      ...
    }
  ]
}

Поле version обозначение версию формата, используется для обратной совместимости. Значение всегда 1. В поле content в виде массива описан контент курса. id -- внутренний идентификатор урока.