Get Learner Subjects Per Term

Get the subject records for a learner per term

GET https://integrate.d6plus.co.za/api/v1/currplus/learnersubjectsperterm/{school_login_id}

Use this endpoint to fetch the subjects per term for the specified learner, for the specified school. All subjects for all terms will be return, for the current d6+ administrative year. The results are grouped per term, per subject, for the current administrative year.

Path Parameters

Name
Type
Description

school_login_id*

Integer

The login ID of the school to retrieve data from

Query Parameters

Name
Type
Description

learner_id*

Integer

The ID of a specific learner

Headers

Name
Type
Description

HTTP-X-USERNAME*

String

As provided by d6

HTTP-X-PASSWORD*

String

As provided by d6

[
    {
        "year": "2025",
        "subject_id": "10",
        "subject_name": "Afrikaans First Additional Language (Gr 07)",
        "super_subject_id": "1",
        "super_subject_name": "Afrikaans First Additional Language",
        "grade_id": "9",
        "grade": "7",
        "terms": [
            {
                "term_id": 98,
                "term": "1",
                "subject_group_id": "118",
                "subject_group_name": "Afrikaans Group 1",
                "classroom_id": "1",
                "classroom_name": "1",
                "subject_group_teacher_id": "13"
            },
            {
                "term_id": 99,
                "term": "2",
                "subject_group_id": "118",
                "subject_group_name": "Afrikaans Group 1",
                "classroom_id": "1",
                "classroom_name": "1",
                "subject_group_teacher_id": "13"
            },
            {
                "term_id": 100,
                "term": "3",
                "subject_group_id": "270",
                "subject_group_name": "Afrikaans Group 2",
                "classroom_id": "4",
                "classroom_name": "3A",
                "subject_group_teacher_id": "17"
            },
            {
                "term_id": 101,
                "term": "4",
                "subject_group_id": "270",
                "subject_group_name": "Afrikaans Group 2",
                "classroom_id": "4",
                "classroom_name": "3A",
                "subject_group_teacher_id": "17"
            }
        ]
    },
    {
        "year": "2025",
        "subject_id": "3418",
        "subject_name": "Coding and Robotics (Gr 07)",
        "super_subject_id": "2334",
        "super_subject_name": "Coding and Robotics",
        "grade_id": "9",
        "grade": "7",
        "terms": [
            {
                "term_id": 98,
                "term": "1",
                "subject_group_id": "119",
                "subject_group_name": "Coding 1A",
                "classroom_id": "2",
                "classroom_name": "2",
                "subject_group_teacher_id": "4"
            },
            {
                "term_id": 99,
                "term": "2",
                "subject_group_id": "119",
                "subject_group_name": "Coding 1A",
                "classroom_id": "2",
                "classroom_name": "2",
                "subject_group_teacher_id": "4"
            },
            {
                "term_id": 100,
                "term": "3",
                "subject_group_id": "322",
                "subject_group_name": "Coding 1B",
                "classroom_id": "9",
                "classroom_name": "K4",
                "subject_group_teacher_id": "17"
            },
            {
                "term_id": 101,
                "term": "4",
                "subject_group_id": "322",
                "subject_group_name": "Coding 1B",
                "classroom_id": "9",
                "classroom_name": "K4",
                "subject_group_teacher_id": "17"
            }
        ]
    }
]

Examples

<?php

const BASE_URL = 'https://integrate.d6plus.co.za/api/v1/currplus/learnersubjectsperterm';
const SCHOOL_LOGIN_ID = '1000';
const PARAMS = ['learner_id' => 1];
const API_USERNAME = getenv('API_USERNAME'); // Assuming you have these environment variables set
const API_PASSWORD = getenv('API_PASSWORD');

$curl = curl_init();

$query = http_build_query(PARAMS);

$options = [
    CURLOPT_URL => BASE_URL . '/' . SCHOOL_LOGIN_ID . '?' . $query,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        "HTTP-X-USERNAME: " . API_USERNAME,
        "HTTP-X-PASSWORD: " . API_PASSWORD
    ],
];

curl_setopt_array($curl, $options);

$response = curl_exec($curl);

if (curl_errno($curl)) {
    throw new Exception('Curl error: ' . curl_error($curl));
}

curl_close($curl);

echo $response;

Last updated