Skip to content

bogkonstantin/android_income_sms_gateway_webhook

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
January 17, 2023 18:46
January 17, 2023 16:49
January 17, 2023 16:48
January 17, 2023 16:48
March 26, 2020 10:35
June 6, 2021 11:02
May 14, 2023 19:48
January 17, 2023 16:49
March 26, 2020 10:33
March 26, 2020 10:33
March 26, 2020 10:33
March 27, 2020 22:12
March 26, 2020 10:33

Incoming SMS to URL forwarder

Try my new Android App - Easy Expense Tracker

How to use

Set up App Permissions for you phone after installation. For example, enable "Autostart" if needed and "Display pop-up windows while running in the background" from Xiaomi devices.

Set sender phone number or name and URL. It should match the number or name you see in the SMS messenger app. If you want to send any SMS to URL, use * (asterisk symbol) as a name.

Every incoming SMS will be sent immediately to the provided URL. If the response code is not 2XX or the request ended with a connection error, the app will try to send again up to 10 times. Minimum first retry will be after 10 seconds, later wait time will increase exponentially. If the phone is not connected to the internet, the app will wait for the connection before the next attempt.

If at least one Forwarding config is created and all needed permissions granted - you should see F icon in the status bar, means the app is listening for the SMS.

Request info

HTTP method: POST
Content-type: application/json; charset=utf-8

Sample payload:

{
     "from": "%from%",
     "text": "%text%",
     "sentStamp": "%sentStamp%",
     "receivedStamp": "%receivedStamp%",
     "sim": "%sim%"
}

Available placeholders: %from% %text% %sentStamp% %receivedStamp% %sim%

Request example

Use this curl sample request to prepare your backend code

curl -X 'POST' 'https://yourwebsite.com/path' \
     -H 'content-type: application/json; charset=utf-8' \
     -d $'{"from":"1234567890","text":"Test"}'

Send SMS to the Telegram

  1. Create Telegram bot and channel to receive messages. There is short tutorial how to do that.
  2. Add new forwarding configuration in the app using this parameters:
    1. Any sender you need, * - on the screenshot
    2. Webhook URL - https://api.telegram.org/bot/sendMessage?chat_id=<channel_id> - change URL using your token and channel id
    3. Use this payload as a sample {"text":"sms from %from% with text: \"%text%\" sent at %sentStamp%"}
    4. Save configuration

Incoming SMS Webhook Gateway screenshot Telegram example

Process Payload in PHP scripts

Since $_POST is an array from the url-econded payload, you need to get the raw payload. To do so use file_get_contents:

$payload = file_get_contents('php://input');
$decoded = json_decode($payload, true);

Screenshots

Incoming SMS Webhook Gateway screenshot 1 Incoming SMS Webhook Gateway screenshot 2 Incoming SMS Webhook Gateway screenshot 3

Download apk

Download apk from release page

Or download it from F-Droid

Get it on F-Droid