Revision V1.4
SuperSIM is a dynamic management engine built on top of a proprietary integration with MTN. The system does the heavy lifting of billing, data usage monitoring, and allocation on your behalf. It is a complete fleet management solution.
SuperSIM makes available various functionality through APIs for third-party vendor integration. This document serves as the overview and documentation of each API.
Each call has a username and a token variable.
GET /api/balance.php?msisdn=msisdn&username=username&token=token HTTP/1.1
Host: simbalance.co.za
This API allows you to adjust the cap of any sim in your network. Ask Dave for more information.
POST /api/order.php HTTP/1.1
Host: supersim.co.za
Content-Type: application/json
JSON Body:
{
"username": "username",
"token": "token",
"msisdn": "msisdn",
"sim_card_number": "sim_card_number",
"order_number": "order_number",
"reference_1": "Emma Johnson",
"reference_2": "Hospital",
"suspend_behaviour": 1,
"package_id": 30000
}
POST /api/fetch_status.php HTTP/1.1
Host: supersim.co.za
JSON Body:
{
"username": "'username'",
"token": "token",
"msisdn": "0828165433"
}
Returns:
{
"status": "Provisioned"
}
OR
{
"error": "Does not exist in API orders Queue."
}
POST: https://supersim.co.za/api/upgrade_package.php
JSON Body:
{
"username": "username",
"token": "token",
"note": "note",
"msisdn": "msisdn",
"package_id": 50000
}
POST: https://supersim.co.za/api/external_topup.php
JSON Body:
{
"username": "username",
"token": "token",
"note": "note",
"matrix_user": "matrix_user",
"msisdn": "msisdn",
"topup_bundle_id": "topup_bundle_id"
}
POST: https://supersim.co.za/api/convert_to_prepaid.php
JSON Body:
{
"username": "username",
"token": "token",
"msisdn": "msisdn",
"note": "note"
}
Updates the reference1 and reference2 fields of an MSISDN entry in the database.
Please note that the API user must be authorized to update the MSISDN. The matrix_user associated with the API user must match the matrix_user associated with the owner of the MSISDN.
Endpoint: /api/update_msisdn_references.php
HTTP Method: POST
Request Body:
{
"username": "apiuser1",
"token": "password123",
"msisdn": "27xxxxxxxxx",
"reference1": "REF123",
"reference2": "REF456"
}
The API response will be a JSON object with the following properties:
If the update is successful:
{
"success": "A success message indicating that the MSISDN was updated successfully."
}
If there is an error:
{
"error": "An error message indicating the cause of the error."
}
Examples:
Console:
curl -X POST -H "Content-Type: application/json" -d '{
"username": "apiuser1",
"token": "password123",
"msisdn": "27xxxxxxxxx",
"reference1": "REF123",
"reference2": "REF456"
}' https://supersim.co.za/api/update_msisdn_references.php
Javascript:
const data = {
"username": "apiuser1",
"token": "password123",
"msisdn": "27xxxxxxxxx",
"reference1": "REF123",
"reference2": "REF456"
};
fetch('https://supersim.co.za/api/update_msisdn_references.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));