Gateway Overview
π Server Health
π² Connected Devices
π¨ Recent Messages Last 10
| Message ID | Recipients | State | Device |
|---|
Send Message
βοΈ New Message
πΎ Quick Templates
Message History
| Message ID | Recipients | State | Device | Actions |
|---|
Devices
Webhooks
π Add New Webhook
Blocklist
π« Block a Number
Blocked numbers will be flagged before sending. You'll be warned and can choose to override.
Blocked Numbers 0
Device Setup Guide
π₯ Download APK
Use the Insecure APK for this local server (HTTP or self-signed SSL). Use Secure APK only with a valid HTTPS domain.
π Step-by-Step Instructions
Install the APK on your Android phone
Download the Insecure APK on your Samsung Galaxy S25 Ultra. Enable Install from Unknown Sources:
Settings β Apps β Special app access β Install unknown apps β Browser/Files β Allow
Connect the app to your local server
Open the SMS Gateway app. Tap the menu / settings and under Server URL enter:
http://192.168.86.245/api/mobile/v1
Enter your credentials:
Username: G71F6W Password: Gateway@12345
Tap Connect. The device will register and appear in the Devices tab.
Grant SMS permissions
When prompted, allow the app to Send SMS. On Android 13+ you may also need to approve the notification that appears asking for SMS permission.
Disable battery optimization β Samsung S25 Ultra
This is critical to keep the connection alive when the screen is off:
- Settings β Battery β Background usage limits β Sleeping apps β remove SMS Gateway if listed
- Settings β Apps β SMS Gateway β Battery β Unrestricted
- Settings β Battery β Adaptive Battery β turn OFF, or exclude SMS Gateway
- Open Recents, long-press the SMS Gateway card β tap Lock π
Enable Start on Boot
In the SMS Gateway app settings, enable "Start on Boot" so it reconnects automatically after reboots.
Verify & test
Go to the Devices tab β your phone should appear as Online. Then use Send Message to send a test SMS.
π§ Troubleshooting
Device shows Offline? Open the app on the phone β the connection re-establishes automatically. Check battery optimization settings (Step 4).
Messages stay Pending? The phone app must be running. Confirm the persistent notification is visible in the status bar. If not, open the app and re-enable the foreground service.
401 Unauthorized? Confirm the username and password match what you see in the API Reference tab.
Cannot reach server? Ensure the phone is on the same WiFi network as the server (192.168.86.245).
API Reference
π Your Credentials
http://192.168.86.245/api/3rdparty/v1
G71F6W
Gateway@12345
HTTP Basic Auth
π‘ Endpoints (click to expand)
Query params: limit, phoneNumber, state (pending/sent/failed)
curl -u G71F6W:Gateway@12345 \ "http://192.168.86.245/api/3rdparty/v1/messages?limit=50&state=pending"
curl -u G71F6W:Gateway@12345 \
-X POST http://192.168.86.245/api/3rdparty/v1/message \
-H 'Content-Type: application/json' \
-d '{
"message": "Hello from API!",
"phoneNumbers": ["+8801828021787"]
}'
Optional: add "deviceId": "your-device-id" to target a specific device.
curl -u G71F6W:Gateway@12345 \ http://192.168.86.245/api/3rdparty/v1/devices
curl -u G71F6W:Gateway@12345 \ http://192.168.86.245/api/3rdparty/v1/webhooks
curl -u G71F6W:Gateway@12345 \
-X POST http://192.168.86.245/api/3rdparty/v1/webhooks \
-H 'Content-Type: application/json' \
-d '{"url":"https://yourapp.com/hook","event":"message:sent"}'
Events: message:sent, message:failed, message:received
curl -u G71F6W:Gateway@12345 \ -X DELETE http://192.168.86.245/api/3rdparty/v1/webhooks/WEBHOOK_ID
curl http://192.168.86.245/health