SuperSIM Integration Documentation

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.

Authentication

Each call has a username and a token variable.

Balance API

GET /api/balance.php?msisdn=msisdn&username=username&token=token HTTP/1.1
Host: simbalance.co.za

Cap Adjustment API

This API allows you to adjust the cap of any sim in your network. Ask Dave for more information.

Order API

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
}
      

Fetch Order Status API

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."
}

Package Upgrade API

POST: https://supersim.co.za/api/upgrade_package.php

JSON Body:

{
  "username": "username",
  "token": "token",
  "note": "note",
  "msisdn": "msisdn",
  "package_id": 50000
}
      

TopUp API

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"
}
      

Convert to Prepaid API

POST: https://supersim.co.za/api/convert_to_prepaid.php

JSON Body:

{
  "username": "username",
  "token": "token",
  "msisdn": "msisdn",
  "note": "note"
}
      

Update MSISDN References

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));