Get Client Integrations
GET
/v2/settings/clientintegrations
This endpoint retrieves a list of client integrations, representing schools that have authorized your integration in their d6+ SAMS instance.
Each record in the response corresponds to a unique client/API type combination, meaning a single school may appear multiple times if it has authorized multiple integrations.
Pagination
The response data includes a meta
object that contains pagination-specific metadata. You can use the following query parameters to control pagination:
limit: This parameter allows you to override the default limit of records returned, up to the
max_allowed_limit
specified in the response'smeta
object.cursor: If the
meta
object contains anext_cursor
field, it indicates that more records are available. To fetch the next set of records, include thecursor
parameter in your request with the value ofnext_cursor
. If thenext_cursor
field is not present, it means there are no more records to retrieve.reverse_order: This parameter can be used to reverse the order in which the data is returned, useful for fetching the latest records first.
Request Headers
HTTP-X-USERNAME
*
String
As provided by d6
HTTP-X-PASSWORD
*
String
As provided by d6
Query Parameters
school_id
Integer
Optional ID of the school to retrieve data from
api_type_id
Integer
For filtering on a specific API Type
cursor
Boolean
To retrieve the next group of items (if any)
limit
Integer
To override the default limit of records returned (up to the max_allowed_limit
provided in the response metadata).
reverse_order
Boolean
To reverse the order the data is returned in
Response Examples
Status: 200 OK
[
"data": [
{
"school_id": 1000,
"school_name": "d6+ Primary School",
"admin_email_address": "[email protected]",
"telephone_calling_code": "27",
"telephone_number": "0123334444",
"api_type_id": 8,
"api_type": "Admin+ API",
"activated_by_integrator": "No"
},
{
"school_id": 1000,
"school_name": "d6+ Primary School",
"admin_email_address": "[email protected]",
"telephone_calling_code": "27",
"telephone_number": "0123334444",
"api_type_id": 9,
"api_type": "Curriculum+ API",
"activated_by_integrator": "Yes"
},
{
"school_id": 1001,
"school_name": "d6+ Secondary School",
"admin_email_address": "[email protected]",
"telephone_calling_code": "27",
"telephone_number": "0123334444",
"api_type_id": 8,
"api_type": "Debt manager",
"activated_by_integrator": "Yes"
}
],
"meta": {
"limit": 10,
"max_allowed_limit": 50,
"cursor": "eyJpZCI6MjU0NiwiX2JhY2t3YXJkIjpmYWxzZX0"
}
]
Code Samples
<?php
// API Credentials
$api_username = 'your_username';
$api_password = 'your_password';
// Base API endpoint
define('BASE_URL', 'https://integrate.d6plus.co.za/api/v2/settings/clientintegrations');
// Query parameters (optional)
$query_params = [
'school_id' => 1000,
'api_type_id' => 8,
'limit' => 50,
'cursor' => 'eyJpZCI6MTY5NCwiX2JhY2t3YXJkIjpmYWxzZX0',
];
$url = BASE_URL;
if (!empty($query_params)) {
$url .= '?' . http_build_query($query_params);
}
// Initialize cURL
$curl = curl_init();
// Set cURL options
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30, // Set timeout to prevent hanging requests
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
"HTTP-X-USERNAME: $api_username",
"HTTP-X-PASSWORD: $api_password"
],
]);
// Execute request
$response = curl_exec($curl);
// Check for errors
$error = curl_error($curl);
if ($error) {
curl_close($curl);
throw new Exception("cURL Error: $error");
}
// Close cURL and output response
curl_close($curl);
echo $response;