MESSAGES
This set of endpoints allows you send messages, campaigns, statistics and status.
This documentation site has been deprecated as of September 8, 2025, and will no longer receive updates. Please refer to the new documentation site at https://docs.squadco.com.
SEND MESSAGES
This endpoint allows you to curate and send messages.
POST
https://squadbygtco.com:8080/service/message
Request Body
is_campaign*
Boolean
Set True if message is a campaign
reference
String
Optional reference but necessary to group campaigns
use_bucket*
Boolean
Set True if making use of a Bucket
recipients*
Integer
if use_bucket is true, use bucketID, else use recipient phone number
use_template*
Boolean
Set True if Template is to be used
body*
String
if use_template is true, use templateID, else use message in text box
sender*
String
is optional. You can get from route sender/:client_ID
Sample Request
{
"is_campaign": true,
"reference": "abc_123",
"use_bucket": true,
"recipients": "1",
"use_template": true,
"body": "1",
"sender": "GTBank"
}
{
"status": "SUCCESS",
"message": "messages sent successfully",
"data": {
"sent": 1,
"batch_id": "40FACAF358EA"
}
}
GET ALL CAMPAIGNS
This endpoint allows you to retrieve all campaigns
GET
https://squadbygtco.com:8080/service/template/by-client/2?page=1&count=10
{
"status": "SUCCESS",
"message": "campaigns retrieved successfully",
"data": {
"items": [
{
"id": 1,
"name": "abc_123",
"client_id": 1,
"template_id": 1,
"bucket_id": 1,
"total": 2,
"created_at": "2024-02-29T11:27:13.000Z",
"created_by": null
}
],
"total": 1
}
}
GET CAMPAIGN MESSAGES
This endpoint allows you retrieve the campaign messages themselves.
GET
https://squadbygtco.com:8080/service/message/campaign/messages/by-campaign/1?page=1&count=10
{
"status": "SUCCESS",
"message": "campaign messages retrieved successfully",
"data": {
"items": [],
"total": [
{
"total": "0"
}
]
}
}
GET ALL CAMPAIGN STATISTICS
This endpoint allows you to retrieve statistics for all sent campaigns
GET
https://squadbygtco.com:8080/service/message/statistics/by-client/1?page=1&count=10
{
"status": "SUCCESS",
"message": "statistics retrieved successfully",
"data": {
"submitted": 0,
"invalid": 0,
"sent": 1,
"absent": 0,
"failed": 0,
"delivered": 19,
"deliveryFailed": 2
}
}
GET CAMPAIGN STATISTICS
This endpoint allows you to retrieve statistics for a single campaign
GET
https://squadbygtco.com:8080/service/message/statistics/by-campaign/2?page=1&count=10
Sample Response
{
"status": "SUCCESS",
"message": "campaign statistics retrieved successfully",
"data": {
"submitted": 0,
"invalid": 0,
"sent": 1,
"absent": 0,
"failed": 0,
"delivered": 19,
"deliveryFailed": 2
}
}
GET MESSAGES BY PHONE NUMBER
This endpoint allows you to retrieve messages using a phone number
GET
https://squadbygtco.com:8080/service/message/by-phone/0701234?page=1&count=20
{
"status": "SUCCESS",
"message": "phone messages retrieved successfully",
"data": {
"items": [],
"total": [
{
"total": "0"
}
]
}
}
GET MESSAGE STATUS BY BATCH_ID
This endpoint allows you to retrieve the status of a single message using the batch_id
GET
https://squadbygtco.com:8080/service/message/by-params?batch_id=61AF806F8AE8
{
"status": "SUCCESS",
"message": "messages retrieved successfully",
"data": {
"items": [
{
"status": "submitted",
"id": 7900221,
"transaction_id": "8_9405c9d2-2411-42af-8ec7-88ffbc70ea61_0",
"phonenumber": "08132448598",
"message": "Testing for retrieveal for Elizabeth and Anthony",
"sender_id": "HabariPay",
"network": null,
"charge": "4",
"created_at": "2025-05-08T10:25:57.000Z",
"sent_timestamp": null,
"dlr_timestamp": null,
"pages": 1,
"message_type": "direct"
}
],
"pageInfo": {
"hasNextPage": false,
"nextCursor": null,
"prevCursor": null
}
}
}
GET HOURLY STATISTICS
This endpoint allows you to get statistics by the hour of sent campaigns
GET
https://squadbygtco.com:8080/service/message.summary/hourly-statistics/by-client/2?date=2024-03-12
{
"status": "SUCCESS",
"message": "hourly statistics retrieved successfully",
"data": {
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0,
"avg_queue_time": 0,
"avg_delivery_time": 0,
"oldest_on_queue": null,
"queue_count": null,
"detail": [
{
"hour": "00:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "01:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "02:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "03:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "04:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "05:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "06:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "07:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "08:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "09:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "10:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "11:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "12:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "13:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "14:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "15:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "16:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "17:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "18:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "19:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "20:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "21:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "22:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
},
{
"hour": "23:00",
"submitted_count": 0,
"sent_count": 0,
"invalid_count": 0,
"successful_count": 0,
"failed_count": 0,
"absent_count": 0
}
]
}
}
Last updated
Was this helpful?