Use your Android phone as an SMS gateway
Enroll a phone once and its SIM sends your messages to any country it can reach. Setup takes a few minutes.
What you need
- An Android phone with an active SIM that can send SMS
- A data or Wi-Fi connection on that phone
- A dP Relay account with at least one app
Set it up
- Install the gateway app. Download it here:
app download link or store listing
- Enroll a device. In the dashboard, open Apps, choose your app and select Enroll a device. Give the phone a label such as "office phone". The dashboard shows an enrollment secret once; copy it.
- Paste the secret into the app. Enter it by hand in the gateway app. There is no QR code scan. The app registers the phone to your account by itself.
- Check the phone number. If the app doesn't have your SIM's number, or the number is wrong, add it in international format, such as +8801XXXXXXXXX.
- Send a test. Call
POST /v5/otp/sendwith your own number. The message should arrive from your SIM, and your balance is charged $0.0015.
The enrollment secret pairs the phone with your account. It is not your password, but keep it private until the phone is enrolled.
Keep it reliable
- Leave the phone powered, charged and connected. If the phone goes offline, sends fail until it returns.
- Allow the gateway app to send SMS and to run in the background.
Add the exact Android permission and battery-setting steps.
- Dual-SIM phones:
state which SIM sends and whether you can choose
- Your carrier's own SMS limits and fair-use rules apply, and they differ by country. Check your plan before running a large campaign.
- To send more, enroll more phones.
Troubleshooting
A message didn't arrive
Check that the recipient number is strict E.164, then open History in the dashboard. A failed send there, repeated for several numbers, usually means the phone is offline or out of SMS allowance.
I lost the enrollment secret
Enroll the device again to get a new secret, then paste it into the app straight away. Secrets are shown only once.
For developers: the enrollment call
The gateway app makes this call for you. You only need it if you are building your own client.
POST /v5/device/enroll
Authorization: Bearer <enrollment secret>
{ "label": "my office phone" }
201 { "ok": true, "deviceId": "...", "apiKey": "..." }
To add or correct the SIM's number afterwards:
POST /v5/device/phone-number
{ "phoneNumber": "+8801XXXXXXXXX" }
A malformed number sent at enrollment is ignored rather than stored, so a carrier-formatted typo can never block pairing.
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_phone_number | The number was not strict E.164 |
| 401 | invalid_enrollment_secret | The bearer secret is wrong |
| 403 | enrollment_disabled | Enrollment is switched off for this deployment |
| 409 | phone_number_exists | That number is registered to another device |