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 learner absentee records
  • Examples
  1. Reference
  2. Administration+
  3. Learner

Get Learner Absentees

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'
❗
❗