Integrate
Integrate v1
Integrate v1
  • Getting Started
    • Authorisation & Activation
    • API URL
    • Versioning
    • Authentication
    • Response Status Codes
    • Rate Limiting
    • Errors and Bad Requests
  • Reference
    • Settings
      • Clients
        • Get Clients
        • Change Client Integration State
    • Administration+
      • Lookups
        • Ethnic Group(s)
        • Genders
        • Grade(s)
        • Language(s)
        • Marital Status(')
      • School
        • Get School Info
      • Learner
        • Get Learner(s)
        • Get Learner Absentees
        • Get Learner Discipline
      • Parent
        • Get Parent(s)
      • Staff Member
        • Get Staff Member(s)
    • Curriculum+
      • Learner
        • Get Learner Subjects
        • Get Learner Subjects Per Term
        • Get Learner Subject Marks
    • 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(s)
          • Delete Promise To Pay
        • Age Analysis Report
        • Financial Transactions Report
        • Get Schools
        • Get School Debtors
        • Get Learner Parent Info
        • Get Transaction Type(s)
        • Get Transaction Category(s)
Powered by GitBook
On this page
  • Get learner discipline records
  • Examples
  1. Reference
  2. Administration+
  3. Learner

Get Learner Discipline

Get learner discipline records

GET https://integrate.d6plus.co.za/api/v1/adminplus/learnerdiscipline/{school_login_id}

Use this endpoint to fetch discipline records for one or more learners for the specified school. By default, all discipline records for the last month will be returned, regardless of the associated learners current status.

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

It is possible to specify a different date range by providing the optional from_date and to_date query parameters. The following validation applies: - The to_date may not be before the from_date. - The date range may not span more than 31 days.

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

to_date

String

Range end date in format YYYY-MM-DD

from_date

String

Range start date in format YYYY-MM-DD

Headers

Name
Type
Description

HTTP-X-USERNAME*

String

As provided by d6

HTTP-X-PASSWORD*

String

As provided by d6

[
    {
        "id": "1",
        "learner_id": "2",
        "discipline_date": "2023-06-30",
        "discipline_category": "Level 1",
        "discipline_reason": "Appearance : Hair / Nails",
        "discipline_points": "-1",
        "discipline_remarks": "",
        "staff_member_id": "3"
    },
    {
        "id": "2",
        "learner_id": "1",
        "discipline_date": "2023-07-03",
        "discipline_category": "General",
        "discipline_reason": "Handed in lost goods/money",
        "discipline_points": "3",
        "discipline_remarks": "",
        "staff_member_id": "4"
    }
]
{
    "error": "Not found",
    "error_description": "No learner discipline records found"
}
{
    "error": "Unauthorized",
    "error_description": "Client access not authorised"
}
{
    "error": "Bad Request",
    "error_description": "The specified date range may not be more than 31 days"
}
{
    "error": "Integration not activated",
    "error_description": "Please activate the Admin+ API for this client before making this request"
}

Examples

<?php

const BASE_URL = 'https://integrate.d6plus.co.za/api/v1/adminplus/learnerdiscipline';
const SCHOOL_LOGIN_ID = '1000';
const PARAMS = [
    'learner_id' => 1,
    'from_date' => '2023-06-01',
    'to_date' => '2023-06-14'
];
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/adminplus/learnerdiscipline/1000?learner_id=1&from_date=2023-06-01&to_date=2023-06-14' \
--header 'HTTP-X-USERNAME: your_username' \
--header 'HTTP-X-PASSWORD: your_password'
PreviousGet Learner AbsenteesNextParent

Last updated 1 year ago