curl --request POST \
--url https://api.simpu.co/airtime/buy \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"network": "Airtel",
"amount": 1500,
"recipient": "2348023456789",
"callback": "https://example.com/airtime/delivery_report",
"external_ref": "674535b2b39158b9aae90188fcec23eb"
}
'import requests
url = "https://api.simpu.co/airtime/buy"
payload = {
"network": "Airtel",
"amount": 1500,
"recipient": "2348023456789",
"callback": "https://example.com/airtime/delivery_report",
"external_ref": "674535b2b39158b9aae90188fcec23eb"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
network: 'Airtel',
amount: 1500,
recipient: '2348023456789',
callback: 'https://example.com/airtime/delivery_report',
external_ref: '674535b2b39158b9aae90188fcec23eb'
})
};
fetch('https://api.simpu.co/airtime/buy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.simpu.co/airtime/buy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'network' => 'Airtel',
'amount' => 1500,
'recipient' => '2348023456789',
'callback' => 'https://example.com/airtime/delivery_report',
'external_ref' => '674535b2b39158b9aae90188fcec23eb'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.simpu.co/airtime/buy"
payload := strings.NewReader("{\n \"network\": \"Airtel\",\n \"amount\": 1500,\n \"recipient\": \"2348023456789\",\n \"callback\": \"https://example.com/airtime/delivery_report\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.simpu.co/airtime/buy")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"network\": \"Airtel\",\n \"amount\": 1500,\n \"recipient\": \"2348023456789\",\n \"callback\": \"https://example.com/airtime/delivery_report\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.simpu.co/airtime/buy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"network\": \"Airtel\",\n \"amount\": 1500,\n \"recipient\": \"2348023456789\",\n \"callback\": \"https://example.com/airtime/delivery_report\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\"\n}"
response = http.request(request)
puts response.read_body{
"id": "674535b2b39158b9aae90188fcec23eb",
"recipient": "2348023456789",
"external_ref": "674535b2b39158b9aae90188fcec23eb",
"callback": "https://example.com/airtime/delivery_report",
"status": "pending",
"created_datetime": "2024-06-28T23:56:38.128604+00:00",
"network": "Airtel",
"meta": {
"method": "POST",
"resource": "/airtime/buy",
"charge": {
"amount": 1500,
"available_balance": 2000,
"balance_before": 500,
"refunded": false
}
}
}{
"status": 200,
"message": "Invalid request",
"errors": [
{
"field": "name",
"message": "Error in field: 'name' Field required.",
"type": "missing"
}
]
}Airtime
Buy airtime
curl --request POST \
--url https://api.simpu.co/airtime/buy \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"network": "Airtel",
"amount": 1500,
"recipient": "2348023456789",
"callback": "https://example.com/airtime/delivery_report",
"external_ref": "674535b2b39158b9aae90188fcec23eb"
}
'import requests
url = "https://api.simpu.co/airtime/buy"
payload = {
"network": "Airtel",
"amount": 1500,
"recipient": "2348023456789",
"callback": "https://example.com/airtime/delivery_report",
"external_ref": "674535b2b39158b9aae90188fcec23eb"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
network: 'Airtel',
amount: 1500,
recipient: '2348023456789',
callback: 'https://example.com/airtime/delivery_report',
external_ref: '674535b2b39158b9aae90188fcec23eb'
})
};
fetch('https://api.simpu.co/airtime/buy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.simpu.co/airtime/buy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'network' => 'Airtel',
'amount' => 1500,
'recipient' => '2348023456789',
'callback' => 'https://example.com/airtime/delivery_report',
'external_ref' => '674535b2b39158b9aae90188fcec23eb'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.simpu.co/airtime/buy"
payload := strings.NewReader("{\n \"network\": \"Airtel\",\n \"amount\": 1500,\n \"recipient\": \"2348023456789\",\n \"callback\": \"https://example.com/airtime/delivery_report\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.simpu.co/airtime/buy")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"network\": \"Airtel\",\n \"amount\": 1500,\n \"recipient\": \"2348023456789\",\n \"callback\": \"https://example.com/airtime/delivery_report\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.simpu.co/airtime/buy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"network\": \"Airtel\",\n \"amount\": 1500,\n \"recipient\": \"2348023456789\",\n \"callback\": \"https://example.com/airtime/delivery_report\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\"\n}"
response = http.request(request)
puts response.read_body{
"id": "674535b2b39158b9aae90188fcec23eb",
"recipient": "2348023456789",
"external_ref": "674535b2b39158b9aae90188fcec23eb",
"callback": "https://example.com/airtime/delivery_report",
"status": "pending",
"created_datetime": "2024-06-28T23:56:38.128604+00:00",
"network": "Airtel",
"meta": {
"method": "POST",
"resource": "/airtime/buy",
"charge": {
"amount": 1500,
"available_balance": 2000,
"balance_before": 500,
"refunded": false
}
}
}{
"status": 200,
"message": "Invalid request",
"errors": [
{
"field": "name",
"message": "Error in field: 'name' Field required.",
"type": "missing"
}
]
}Authorizations
An API key to authenticate requests
Body
Buy airtime object
The network carrier of the airtime
Airtel, MTN, Glo, 9mobile, NTEL "Airtel"
The airtime amount to be recharged
1500
The recipient of the airtime
"2348023456789"
This is the URL to receive delivery reports for the message
"https://example.com/airtime/delivery_report"
This is a reference to the message in your system
"674535b2b39158b9aae90188fcec23eb"
Response
Buy airtime response
Unique ID of the SMS message
"674535b2b39158b9aae90188fcec23eb"
The recipient of the airtime
"2348023456789"
This is a reference to the airtime in your system
"674535b2b39158b9aae90188fcec23eb"
This is the URL to receive delivery reports for the message
"https://example.com/airtime/delivery_report"
The status of the airtime
pending, sent, failed, error, success, duplicate "pending"
Date and time the airtime was created
"2024-06-28T23:56:38.128604+00:00"
The network carrier of the airtime
Airtel, MTN, Glo, 9mobile, NTEL "Airtel"
Show child attributes
Show child attributes