Message Status

Check the delivery status of sent messages.

Get message status

Messages are stored in the sms_messages PocketBase collection. Query a specific message by its ID:

GET /api/collections/sms_messages/records/:id

Example

curl https://your-server.com/api/collections/sms_messages/records/MESSAGE_ID \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Response

{
  "id": "a1b2c3d4e5f6g7h",
  "collectionId": "sms_messages",
  "collectionName": "sms_messages",
  "status": "delivered",
  "to": "+1234567890",
  "body": "Your code is 123456",
  "message_type": "outgoing",
  "device": "x9y8z7w6v5u4t3s",
  "sent_at": "2024-01-15 10:30:02.000Z",
  "delivered_at": "2024-01-15 10:30:05.000Z",
  "error_message": "",
  "created": "2024-01-15 10:30:00.000Z",
  "updated": "2024-01-15 10:30:05.000Z"
}

Status values

Status Description
pending Created, no device assigned
assigned Device assigned, push notification sent
sending Being processed by device
sent Sent by device
delivered Confirmed delivered
failed Failed to send
received Incoming SMS from an external sender

List messages

GET /api/collections/sms_messages/records

Query parameters

Uses PocketBase's standard list API with filtering, sorting, and page-based pagination:

Parameter Description
filter PocketBase filter syntax (e.g., status="sent")
sort Sort field (e.g., -created for newest first)
page Page number (default: 1)
perPage Results per page (default: 30, max: 500)

Example

curl "https://your-server.com/api/collections/sms_messages/records?filter=status='delivered'&sort=-created&perPage=20" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Related