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
  1. Reference
  2. Administration+
  3. Learner

Get Learner Absentees

PreviousGet Learner(s)NextGet Learner Discipline

Last updated 1 year ago

CtrlK
  • Get learner absentee records
  • Examples

Get learner absentee records

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

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

It is possible to retrieve absentee 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": "399910",
        "learner_id": "6273",
        "absent_date": "2023-06-01",
        "absent_reason": "Illness"
    },
    {
        "id": "399912",
        "learner_id": "6273",
        "absent_date": "2023-06-02",
        "absent_reason": "Illness"
    }
]
{
    "error": "Not found",
    "error_description": "No learner absentee 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/learnerabsentees';
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/learnerabsentees/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'