Integrate
Integrate v2
Integrate v2
  • Getting Started
    • 🤝Authorisation & Activation
    • 🔗API v2 URL
    • 🔢Versioning
    • 🔐Authentication
    • 🟰Additional Headers
    • 🆗Response Status Codes
    • 🛑Rate Limiting
    • ⁉️Errors and Bad Requests
    • 📖Pagination
    • ⏭️Upgrading to v2
  • Reference
    • Settings
      • Client Integrations
        • Get Client Integrations
        • Change Client Integration State
    • Finance+
      • Debt Management
        • Debtor Notes
          • Get Communication Type(s)
          • Get Note Type(s)
          • Get Note(s)
          • Create Note
          • Update Note
          • Delete Note
          • Get Promise To Pay Record(s)
          • Delete Promise To Pay
        • Age Analysis Report
        • Financial Transactions Report
        • Get Schools
        • Get Accountable Person(s)
        • Get Learner(s)
        • Get Transaction Type(s)
        • Get Transaction Category(s)
Powered by GitBook
On this page
  • Get the subject records for one or more learners
  • Examples
  1. Reference
  2. Curriculum+
  3. Learner

Get Learner Subjects

Get the subject records for one or more learners

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

Use this endpoint to fetch the list of subjects for the current year for one or more learner for the specified school. By default, the subjects for all current active learners will be returned.

It is possible to retrieve the subjects for a single learner by providing the optional learner_id query parameter.

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

[
    {
        "learner_id": "1",
        "first_name": "Janey",
        "last_name": "Smith",
        "subject_id": 101,
        "subject_name": "Afrikaans Home Language (Gr 05)"
    },
    {
        "learner_id": "1",
        "first_name": "Janey",
        "last_name": "Smith",
        "subject_id": 105,        
        "subject_name": "English First Additional Language (Gr 05)"
    },
    {
        "learner_id": "1",
        "first_name": "Janey",
        "last_name": "Smith",
        "subject_id": 201,        
        "subject_name": "Life Skills (Gr 05)"
    },
    {
        "learner_id": "1",
        "first_name": "Janey",
        "last_name": "Smith",
        "subject_id": 135,        
        "subject_name": "Mathematics (Gr 05)"
    },
    {
        "learner_id": "1",
        "first_name": "Janey",
        "last_name": "Smith",
        "subject_id": 322,
        "subject_name": "Natural Sciences and Technology (Gr 05)"
    },
    {
        "learner_id": "1",
        "first_name": "Janey",
        "last_name": "Smith",
        "subject_id": 49,        
        "subject_name": "Social Sciences (Gr 05)"
    }
]
{
    "error": "Not found",
    "error_description": "No learner subject records found"
}
{
    "error": "Unauthorized",
    "error_description": "Client access not authorised"
}
{
    "error": "Integration not activated",
    "error_description": "Please activate the Curriculum+ API for this client before making this request"
}

Examples

<?php

const BASE_URL = 'https://integrate.d6plus.co.za/api/v1/currplus/learnersubjects';
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;
curl --location 'https://integrate.d6plus.co.za/api/v1/currplus/learnersubjects/1000?learner_id=1' \
--header 'HTTP-X-USERNAME: your_username' \
--header 'HTTP-X-PASSWORD: your_password'
❗
❗