SMS
List Messages
Retrieve a paginated list of sent messages
| Field | Type | Required | Description |
|---|
page | integer | No | Page number (default: 1) |
per_page | integer | No | Results per page (default: 10) |
from | date | No | Filter from date (YYYY-MM-DD) |
to | date | No | Filter to date (YYYY-MM-DD) |
curl "https://sms.lamah.com/api/sms/messages?page=1&per_page=20&from=2024-01-01&to=2024-01-31" \
-H "Authorization: Bearer YOUR_API_TOKEN"
The response is wrapped in a data key containing a Laravel paginator object:
{
"data": {
"current_page": 1,
"data": [
{
"short_message": "Your appointment is confirmed for Tuesday at 4:30 PM.",
"message_type": "sms",
"send_type": "single",
"contact_group_id": null,
"message_consumption": 1,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z",
"receiver": [
{
"number": "00218912345678",
"sent_at": "2024-01-15T10:30:02Z",
"delivered_at": "2024-01-15T10:30:15Z",
"status": "delivered",
"delivery_report": null,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:15Z"
}
]
}
],
"per_page": 20,
"last_page": 5,
"total": 95
}
}
| Field | Type | Description |
|---|
data | object | Laravel paginator containing message records |
| Field | Type | Description |
|---|
current_page | integer | Current page number |
per_page | integer | Messages per page |
last_page | integer | Total number of pages |
total | integer | Total number of messages matching filters |
| Field | Type | Description |
|---|
short_message | string | Message content |
message_type | string | Always sms for SMS messages |
send_type | string | single or multiple |
contact_group_id | string|null | Contact group UUID if applicable |
message_consumption | integer | SMS parts consumed |
created_at | string | ISO 8601 timestamp |
updated_at | string | ISO 8601 timestamp |
receiver | array | List of receipt objects for each recipient |
| Field | Type | Description |
|---|
number | string | Recipient phone number |
sent_at | string | ISO 8601 timestamp when message was sent |
delivered_at | string | ISO 8601 timestamp when message was delivered |
status | string | Delivery status: pending, sent, delivered, failed |
delivery_report | string|null | Raw delivery report if available |
created_at | string | ISO 8601 creation timestamp |
updated_at | string | ISO 8601 last update timestamp |
{
"error": "Invalid date format",
"code": "INVALID_DATE_FORMAT"
}
{ "message": "Unauthenticated." }
const getAllMessages = async () => {
let allMessages = [];
let currentPage = 1;
let hasNextPage = true;
while (hasNextPage) {
const response = await fetch(
`https://sms.lamah.com/api/sms/messages?page=${currentPage}&per_page=50`,
{ headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' } }
);
const data = await response.json();
allMessages = allMessages.concat(data.data.data);
hasNextPage = data.data.current_page < data.data.last_page;
currentPage++;
}
return allMessages;
};