Guided E-Learning Service

The guided e-learning service is updated daily from the student management system.

Change Sets

Change sets are used to identify which records have been updated and require a resync with the guided e-learning system.

Each GET method requires two parameters:

  • MinChangeSetId
  • MaxChangeSetId

The data returned by the GET methods will be limited to only records that have changed during the specified change set Id range.

You can obtain the systems current change set Id by calling the GET CurrentChangeSet method.

Example request:

Error

Failed to run contract transformer command: bin\Api.ContractTransformer.exe

{}

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Content-Length: 15

{
  "Id": 6
}

In the above example you would pass 6 as the MaxChangeSetId.

GET Students

URL
/guided-elearning/students/{MinChangeSet}/{MaxChangeSet}
HTTP Method
GET
Client Library Message Name
Gel.GelStudentsRequest
Parameters
Name Type Description
MinChangeSetId int Students where the change set id is greater than or equal to this value.
MaxChangeSetId int Students where the change set id is less than or equal to this value.

Example request:

Error

Failed to run contract transformer command: bin\Api.ContractTransformer.exe

{ "MinChangeSet": 4, "MaxChangeSet": 7 }

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Content-Length: 2664

{
  "Students": [
    {
      "Id": 27123,
      "FirstName": "Peter Carlos",
      "LastName": "Robertson",
      "EmailAddress": "pcrobertson@example.es",
      "DateOfBirth": "1965-01-23",
      "NationalityIsoCode": "ES",
      "IsDeleted": false,
      "Bookings": [
        {
          "CentreId": 23,
          "CentreName": "EC Malta",
          "SchoolId": 51,
          "SchoolName": "LH - Language House",
          "StartDate": "2015-03-29",
          "EndDate": "2015-09-18",
          "AgentId": 9875,
          "AgentName": "GO Study - Japan",
          "AgentGroupId": 3457,
          "AgentGroupName": "GO Study",
          "HasArrived": false,
          "IsAgentCoBrand": false,
          "CourseCode": "AY",
          "Classes": [
            {
              "ClassId": 132774,
              "ClassName": "Pre-Intermediate 3",
              "StartDate": "2015-03-30",
              "EndDate": "2015-04-12"
            },
            {
              "ClassId": 132581,
              "ClassName": "Pre-Intermediate 1",
              "StartDate": "2015-03-30",
              "EndDate": "2015-04-10"
            }
          ]
        }
      ]
    },
    {
      "Id": 156387,
      "FirstName": "David",
      "LastName": "Pierro",
      "EmailAddress": "davidpierro@example.com",
      "DateOfBirth": "1993-12-23",
      "NationalityIsoCode": "IT",
      "IsDeleted": false,
      "Bookings": [
        {
          "CentreId": 4,
          "CentreName": "EC Brighton",
          "SchoolId": 8,
          "SchoolName": "EC Brighton",
          "StartDate": "2015-01-18",
          "EndDate": "2015-09-19",
          "AgentId": 1539,
          "AgentName": "123 English - Spain",
          "AgentGroupId": 17,
          "AgentGroupName": "123 English",
          "HasArrived": false,
          "IsAgentCoBrand": true,
          "AgentLogoUrl": "http://ecenglish.com/agent-resources/17-logo.png",
          "CourseCode": "GEL",
          "Classes": [
            {
              "ClassId": 132857,
              "ClassName": "Upper Intermediate 2B",
              "StartDate": "2015-01-19",
              "EndDate": "2015-02-27"
            },
            {
              "ClassId": 132857,
              "ClassName": "Upper Intermediate 2B",
              "StartDate": "2015-03-02",
              "EndDate": "2015-03-22"
            },
            {
              "ClassId": 126327,
              "ClassName": "Advanced 2B",
              "StartDate": "2015-03-23",
              "EndDate": "2015-04-03"
            }
          ]
        }
      ]
    }
  ]
}

GET Teachers

URL
/guided-elearning/teachers/{MinChangeSet}/{MaxChangeSet}
HTTP Method
GET
Client Library Message Name
Gel.GelTeachersRequest
Parameters
Name Type Description
MinChangeSetId int Teachers where the change set id is greater than or equal to this value.
MaxChangeSetId int Teachers where the change set id is less than or equal to this value.

Example request:

Error

Failed to run contract transformer command: bin\Api.ContractTransformer.exe

{ "MinChangeSet": 3, "MaxChangeSet": 6 }

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Content-Length: 805

{
  "Teachers": [
    {
      "Id": 2798,
      "FirstName": "John",
      "LastName": "Smith",
      "EmailAddress": "johnsmith@example.com",
      "UserName": "JohnSmith",
      "CentreId": 23,
      "CentreName": "EC Malta",
      "SchoolAccess": [
        {
          "SchoolId": 53,
          "SchoolName": "LH - Language House"
        }
      ],
      "IsDeleted": false
    },
    {
      "Id": 2955,
      "FirstName": "Isabelle",
      "LastName": "Williams",
      "EmailAddress": "isabellewilliams@example.com",
      "UserName": "IsabelleWilliams",
      "CentreId": 2,
      "CentreName": "EC Brighton",
      "SchoolAccess": [
        {
          "SchoolId": 8,
          "SchoolName": "EC Brighton"
        }
      ],
      "IsDeleted": false
    }
  ]
}

GET Classes

URL
/guided-elearning/classes/{MinChangeSet}/{MaxChangeSet}
HTTP Method
GET
Client Library Message Name
Gel.GelClassesRequest
Parameters
Name Type Description
MinChangeSetId int Classes where the change set id is greater than or equal to this value.
MaxChangeSetId int Classes where the change set id is less than or equal to this value.

Example request:

Error

Failed to run contract transformer command: bin\Api.ContractTransformer.exe

{ "MinChangeSet": 8, "MaxChangeSet": 8 }

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Content-Length: 710

{
  "Classes": [
    {
      "Id": 133578,
      "Name": "Upper Intermediate 2B",
      "ClassLevel": "Elementary",
      "ClassType": "Core",
      "StartDate": "2015-04-20",
      "EndDate": "2018-10-31",
      "IsDeleted": false
    },
    {
      "Id": 133579,
      "Name": "Upper Intermediate 1C",
      "ClassLevel": "Elementary",
      "ClassType": "Core",
      "StartDate": "2015-04-20",
      "EndDate": "2018-10-31",
      "IsDeleted": false
    },
    {
      "Id": 133781,
      "Name": "Advanced 1A",
      "ClassLevel": "Elementary",
      "ClassType": "Elective",
      "StartDate": "2015-06-01",
      "EndDate": "2015-06-12",
      "IsDeleted": true
    }
  ]
}

GET Lessons - obsolete

URL
/guided-elearning/lessons/{MinChangeSet}/{MaxChangeSet}
HTTP Method
GET
Client Library Message Name
Gel.GelLessonsRequest
Parameters
Name Type Description
MinChangeSetId int Lessons where the change set id is greater than or equal to this value.
MaxChangeSetId int Lessons where the change set id is less than or equal to this value.

Example request:

Error

Failed to run contract transformer command: bin\Api.ContractTransformer.exe

{ "MinChangeSet": 4, "MaxChangeSet": 7 }

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Content-Length: 1255

{
  "Lessons": [
    {
      "Id": 15449614,
      "ClassId": 133579,
      "ClassName": "Upper Intermediate 1C",
      "TeacherId": 1855,
      "RoomId": 2424,
      "RoomName": "West - 207",
      "Date": "2015-06-01",
      "StartTime": "09:00:00",
      "EndTime": "10:30:00",
      "IsDeleted": false
    },
    {
      "Id": 15449615,
      "ClassId": 133579,
      "ClassName": "Upper Intermediate 1C",
      "TeacherId": 1855,
      "RoomId": 2424,
      "RoomName": "West - 207",
      "Date": "2015-06-03",
      "StartTime": "09:00:00",
      "EndTime": "10:30:00",
      "IsDeleted": false
    },
    {
      "Id": 15449616,
      "ClassId": 133579,
      "ClassName": "Upper Intermediate 1C",
      "TeacherId": 1855,
      "RoomId": 2424,
      "RoomName": "West - 207",
      "Date": "2015-06-05",
      "StartTime": "09:00:00",
      "EndTime": "10:30:00",
      "IsDeleted": true
    },
    {
      "Id": 15449617,
      "ClassId": 133579,
      "ClassName": "Upper Intermediate 1C",
      "TeacherId": 1855,
      "RoomId": 2424,
      "RoomName": "West - 207",
      "Date": "2015-06-08",
      "StartTime": "09:00:00",
      "EndTime": "10:30:00",
      "IsDeleted": false
    }
  ]
}

GET Timetable

URL
/guided-elearning/timetable/{Year}/{IsoWeekNumber}
HTTP Method
GET
Client Library Message Name
Gel.GelTimetableRequest
Parameters
Name Type Description
Year int The year of the requested timetable.
IsoWeekNumber int The ISO week number of the requested timetable.

Example request:

Error

Failed to run contract transformer command: bin\Api.ContractTransformer.exe

{ "Year": 2015, "IsoWeekNumber": 25 }

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Content-Length: 828

{
  "Lessons": [
    {
      "Id": 12130817,
      "ClassId": 128556,
      "ClassName": "Get Talking 2",
      "TeacherId": 3176,
      "RoomId": 1862,
      "RoomName": "RM 20",
      "Date": "2015-06-16",
      "StartTime": "13:00:00",
      "EndTime": "14:30:00"
    },
    {
      "Id": 12130818,
      "ClassId": 128556,
      "ClassName": "Get Talking 2",
      "TeacherId": 3176,
      "RoomId": 1862,
      "RoomName": "RM 20",
      "Date": "2015-06-18",
      "StartTime": "13:00:00",
      "EndTime": "14:30:00"
    },
    {
      "Id": 12130984,
      "ClassId": 128556,
      "ClassName": "Get Talking 2",
      "TeacherId": 3224,
      "RoomId": 1862,
      "RoomName": "RM 20",
      "Date": "2015-06-15",
      "StartTime": "13:00:00",
      "EndTime": "14:30:00"
    }
  ]
}

GET Attendance

URL
/guided-elearning/attendances/{MinChangeSet}/{MaxChangeSet}
HTTP Method
GET
Client Library Message Name
Gel.GelAttendanceRequest
Parameters
Name Type Description
MinChangeSetId int Attendance where change set id is greater than or equal to this value.
MaxChangeSetId int Attendance where change set id is less than or equal to this value.

Example request:

Error

Failed to run contract transformer command: bin\Api.ContractTransformer.exe

{ "MinChangeSet": 57, "MaxChangeSet": 58 }

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Content-Length: 922

{
  "Attendances": [
    {
      "BookingId": 254635,
      "StudentId": 248542,
      "TotalLessons": 351,
      "LessonsToDate": 300,
      "LessonsToDateAbsent": 85,
      "TotalLessonMinutes": 31590,
      "LessonMinutesToDate": 27000,
      "LessonMinutesToDateAbsent": 7650,
      "IsDeleted": false
    },
    {
      "BookingId": 258681,
      "StudentId": 251750,
      "TotalLessons": 60,
      "LessonsToDate": 54,
      "LessonsToDateAbsent": 0,
      "TotalLessonMinutes": 5400,
      "LessonMinutesToDate": 4680,
      "LessonMinutesToDateAbsent": 0,
      "IsDeleted": false
    },
    {
      "BookingId": 297126,
      "StudentId": 287138,
      "TotalLessons": 40,
      "LessonsToDate": 16,
      "LessonsToDateAbsent": 1,
      "TotalLessonMinutes": 3600,
      "LessonMinutesToDate": 1440,
      "LessonMinutesToDateAbsent": 90,
      "IsDeleted": false
    }
  ]
}

GET Non-teachers

URL
/guided-elearning/nonteachers/{MinChangeSet}/{MaxChangeSet}
HTTP Method
GET
Client Library Message Name
Gel.GelNonTeachersRequest
Parameters
Name Type Description
MinChangeSetId int Non-teachers where the change set id is greater than or equal to this value.
MaxChangeSetId int Non-teachers where the change set id is less than or equal to this value.

Example request:

Error

Failed to run contract transformer command: bin\Api.ContractTransformer.exe

{ "MinChangeSet": 3, "MaxChangeSet": 6 }

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Content-Length: 943

{
  "NonTeachers": [
    {
      "Id": 2,
      "FirstName": "Jane",
      "LastName": "Jones",
      "UserName": "JaneJones",
      "EmailAddress": "janejones@example.com",
      "SchoolAccess": [
        {
          "SchoolId": 61,
          "SchoolName": "EC New York"
        },
        {
          "SchoolId": 62,
          "SchoolName": "EC San Diego"
        },
        {
          "SchoolId": 63,
          "SchoolName": "EC San Francisco"
        }
      ],
      "IsDeleted": false
    },
    {
      "Id": 54,
      "FirstName": "Tom",
      "LastName": "Robertson",
      "UserName": "TomRobertson",
      "EmailAddress": "tomrobertson@example.com",
      "SchoolAccess": [
        {
          "SchoolId": 8,
          "SchoolName": "EC Brighton"
        },
        {
          "SchoolId": 5,
          "SchoolName": "EC London 30+"
        }
      ],
      "IsDeleted": false
    }
  ]
}