Create Note
Create a new debtor note
POST
https://integrate.d6plus.co.za/api/v1/finplus/debtmanagement/debtornotes/notes/{school_login_id}
Use this endpoint to create a new debtor note for the specified school.
The note must be linked to an accountable person and requires an accountable_person_id
. The accountable person id can be retrieved using either the Get School Debtors or Get Learner Parent Info calls.
The date
of the note is expected in a "yyyy-mm-dd" format and may not be earlier than the start of last year or later than the end of next year.
The note_type_id
is also required and can be found using the Get Note Type(s) call. The communication_type_id
, which can be found using the Get Communication Type(s) call, is required for all types of note types except for Internal
notes.
The actual text of the note should provided using the note
field.
If you are creating a "Promise to Pay" note (note_type_id: 2), the payment arrangement data should be included in the request body under the promise_to_pays
array (see below for more information).
A promise-to-pay requires a date_promised
(between the start of this year and the end of next year) and an amount_promised
(without a currency symbol i.e. "100.00"). Important: The amount_paid
value and the promise_completed
flag may only be set by the school.
Path Parameters
school_login_id*
Integer
The login ID of the school to retrieve data from
Headers
HTTP-X-USERNAME*
String
As provided by d6
HTTP-X-PASSWORD*
String
As provided by d6
Request Body
accountable_person_id*
Integer
The id of the accountable person who the note belongs to.
date*
String
The date of the note in "yyyy-mm-dd" format.
note_type_id*
Integer
The id of the note type.
communication_type_id
Integer
The id of the communication type (not required for internal notes).
note
String
The note text
promise_to_pays
Array
An array of payment arrangement data for promise-to-pay notes
Request Examples
{
"accountable_person_id": "40",
"date": "2024-03-03",
"note_type_id": "2",
"communication_type_id": "2",
"note": "Payment arrangement of R1000 to be paid off on outstanding school fees",
"promise_to_pays": [
{
"date_promised": "2024-03-31",
"amount_promised": "1000.00"
},
{
"date_promised": "2024-04-30",
"amount_promised": "1000.00"
},
{
"date_promised": "2020-05-31",
"amount_promised": "1000.00"
}
]
}
Response Examples
{
"note_id": "6"
}
Code Samples
<?php
const BASE_URL = 'https://integrate.d6plus.co.za/api/v1/finplus/debtmanagement/debtornotes/notes';
const SCHOOL_LOGIN_ID = '1000';
const PARAMS = [
'accountable_person_id' => 40,
'date' => '2024-03-03',
'note_type_id' => 2,
'communication_type_id' => 2,
'note' => 'Payment arrangement of R1000 to be paid off on outstanding school fees',
'promise_to_pays' => [
[
'date_promised' => '2024-03-31',
'amount_promised' => '1000.00'
]
]
];
const API_USERNAME = getenv('API_USERNAME'); // Assuming you have these environment variables set
const API_PASSWORD = getenv('API_PASSWORD');
$curl = curl_init();
$options = [
CURLOPT_URL => BASE_URL . '/' . SCHOOL_LOGIN_ID,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode(PARAMS),
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;
Last updated