{"id":13676806,"url":"https://github.com/juancresc/SMSHub","last_synced_at":"2025-04-29T07:33:27.875Z","repository":{"id":41481714,"uuid":"182896962","full_name":"juancresc/SMSHub","owner":"juancresc","description":"Android SMS Gateway application for sending and receiving SMS via HTTP API in Kotlin","archived":false,"fork":false,"pushed_at":"2021-10-14T03:55:42.000Z","size":185,"stargazers_count":246,"open_issues_count":6,"forks_count":100,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-11-11T18:43:29.788Z","etag":null,"topics":["android","gateway","kotlin","sms","sms-api","sms-messages","smsgateway"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/juancresc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-23T01:26:09.000Z","updated_at":"2024-11-09T18:12:29.000Z","dependencies_parsed_at":"2022-09-05T19:00:20.224Z","dependency_job_id":null,"html_url":"https://github.com/juancresc/SMSHub","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juancresc%2FSMSHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juancresc%2FSMSHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juancresc%2FSMSHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juancresc%2FSMSHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juancresc","download_url":"https://codeload.github.com/juancresc/SMSHub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251456063,"owners_count":21592285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","gateway","kotlin","sms","sms-api","sms-messages","smsgateway"],"created_at":"2024-08-02T13:00:33.157Z","updated_at":"2025-04-29T07:33:22.849Z","avatar_url":"https://github.com/juancresc.png","language":"Kotlin","funding_links":[],"categories":["Kotlin"],"sub_categories":[],"readme":"# SMSHub\n\n## Update\n\nI'n not currently giving support or updating this app. However I'm using it in a production environment with no issues\n\n## what?\n\nSMSHub is an SMS Gateway application for Android phones (Android Studio project developed in Kotlin) you can use to add SMS functionality to your software.\nIt connects to a webpage to retrieve messages to be sent (in JSON format) at regular intervals. It also notifies about delivery status and incoming messages. \n\n\n## why?\n\nCommercial SMS APIs are (for most cases) prohibitively expensive. \nInstead you can use your own phone line to send SMS with an Android phone as a gateway.\n\nThere are other SMS gateways projects but as far as I could check when this project started, none of them can be use to send and receive SMS via HTTP API easily and freely (with no commercial dependencies).\n\n\n## how?\n\nYou can download a compiled .apk file from the beta release [here](https://github.com/juancrescente/SMSHub/releases/download/0.1/app-release.apk)\n\n### settings\n\nyou can customize the next settings directly in the application\n\n#### Send SMS:\n+ *Enable sending*: whether the app should read from the API and send messages\n+ *send URL*: messages will be parsed from this URL, you return a JSON containing *message*, *number* and *id*\n+ *interval*: the app will check whether there is an incoming message for sending each specific interval in minutes\n+ *status URL*: once a message is sent, status will be reported to this URL via GET parameters, *id* and *status* (SENT, FAILED, DELIVERED)\n\n#### Receive SMS:\n+ *receive URL*: Message received will be posted here. If nothing is specified it will skip this action.\n\n\n### How sending SMSs works\n\n1- The application connects at regular intervals to a URL\n\n```\nPOST https://yourcustomurl.com/send_api\n    deviceId: 1\n    action: SEND\n```\n\n2- It should read a JSON containing *message*, *number* and *id*, or an empty response if there is nothing to send\n```\n{ \"message\": \"hola mundo!\", \"number\": \"3472664455\", \"messageId\": \"1\" }\n```\n\n3- The app will send the SMS *message* to *number*\n\n4- Once sent (or failed) the app will notify the status to the status URL\n```\nPOST https://yourcustomurl.com/status_api\n    deviceId: 1\n    messageId: 1\n    status: SENT\n    action: STATUS\n```\n\n5- Once delivered the app will notify the status to the status URL\n\n```\nPOST https://yourcustomurl.com/status_api\n    deviceId: 1\n    messageId: 1\n    status: DELIVERED\n    action: STATUS\n```\n\nPossible _status_ values are: SENT, FAILED, DELIVERED (notice that it is unlikely but possible to get the DELIVERED update before the SENT update due to requests delay).\n\n\n### How receiving SMSs works\n\n1- Each time a SMS is received the app will notify the received URL\n```\nPOST https://yourcustomurl.com/received_api\n    deviceId: 1\n    number: 3472556699\n    message: Hello man!\n    action: RECEIVED\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuancresc%2FSMSHub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuancresc%2FSMSHub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuancresc%2FSMSHub/lists"}