Free HttpSms Turn an Android Phone into an SMS Gateway Extension

🧩 HTTPSms

An extension for MIT App Inventor 2.
HTTP SMS Extension for sending SMS via httpsms.com API and retrieving delivery status through a real mobile device.

:japanese_symbol_for_beginner: Introduction

HTTPSms enables your MIT App Inventor / Kodular apps to send and track SMS messages using a real SIM card through the HTTPSms mobile application.

Unlike traditional SMS gateways, messages are sent directly from a physical Android phone using the user’s [developer ] mobile carrier.

:warning: This extension does NOT send SMS from servers. It relies on a real device.


:mobile_phone_with_arrow: Prerequisites (Required)

Before using this extension, ensure the following,

  1. :mobile_phone: Install the HTTPSms Android App on a physical Android phone
    :backhand_index_pointing_right: Download: https://httpsms.com

  2. :globe_with_meridians: The phone must be online (mobile data or Wi‑Fi)

  3. :antenna_bars: A working SIM card must be inserted (SMS will be sent via the carrier)

  4. :key: Generate an API Key from your HTTPSms dashboard

  5. :prohibited: Battery optimization must be disabled for the HTTPSms app


:key: Getting Your API Key

  1. Open https://httpsms.com
  2. Sign in / create an account
  3. Go to Dashboard → API Keys
  4. Copy your API Key

:link: Click here to get your API Key: https://httpsms.com/dashboard

Set this key in the ApiKey designer or setter property.


:three_o_clock: When to Use HTTPSms

Use this extension when,

  • You need real SMS delivery (OTP, alerts, confirmations)
  • You want messages sent from your own phone number
  • You want to avoid expensive SMS gateway fees
  • You need delivery status (delivered_at support)

:prohibited: Limitations

  • :cross_mark: Requires a physical Android device
  • :cross_mark: Phone must stay online and powered on
  • :cross_mark: SMS speed depends on mobile carrier
  • :cross_mark: Not suitable for bulk/marketing SMS
  • :cross_mark: Dual‑SIM devices may require manual SIM selection

:warning: Warnings & Important Notes

  • Do NOT uninstall or force‑stop the HTTPSms app
  • Do NOT clear app data after linking API key
  • Excessive SMS sending may trigger carrier limits
  • Delivery status depends on carrier support
  • This extension cannot bypass SMS regulations

:memo: Specifications

  • :package: Package: com.httpsms.httpsms
  • :floppy_disk: Size: 19.99 KB
  • :mobile_phone: Minimum API Level: 14
  • :date: Updated On: 2026‑01‑28
    :laptop: Built & documented using: FAST v5.4.0

:megaphone: Events (7)

1. OnSmsSent

Triggered when SMS is successfully sent
component_event(1)

Parameters:

  • messageId (text)
  • status (text)
  • response (text)

2. OnSmsFailed

Triggered when SMS sending fails
component_event(2)

Parameters:

  • errorMessage (text)
  • errorCode (number)

3. OnDeliveryStatusReceived

Triggered when delivery status is retrieved
component_event(3)

Parameters:

  • messageId (text)
  • deliveredAt (text)
  • status (text)
  • fullResponse (text)

4. OnStatusCheckFailed

Triggered when delivery status request fails
component_event(4)

Parameters:

  • errorMessage (text)

5. OnAllMessagesReceived

Triggered when all messages are retrieved
component_event(5)

Parameters:

  • messagesJson (text)
  • count (number)

6. OnRawResponse

Triggered when raw API response is received
component_event(6)

Parameters:

  • response (text)

7. OnDeliveredAtExtracted

Triggered when delivery time is extracted
component_event(7)

Parameters:

  • deliveredAt (text)

:gear: Methods (10)

SendSms(fromNumber, toNumber, message)

Send SMS via HTTPSms API

GetDeliveryStatus(ownerNumber, contactNumber)

component_method(3)

Retrieve delivery status between two numbers

GetAllDeliveredAtTimes(ownerNumber, contactNumber)

component_method(4)

Get all delivery timestamps

GetMessageByIndex(ownerNumber, contactNumber, index)

Retrieve a specific message

ExtractField(jsonString, fieldName) → text

Extract any JSON field

ExtractDeliveredAtFromJson(jsonString)

component_method(6)

Quick delivery time extraction

CountDeliveredMessages(jsonString) → number

Count delivered messages

GetFirstDeliveredAt(jsonResponse) → text

Retrieve first delivery time

IsMessageDelivered(jsonResponse) → boolean

Check delivery status

ExtractMessageContent(jsonResponse) → text

Extract message body


:artist_palette: Designer Properties

ApiKey (string)

Your HTTPSms API key

DebugMode (boolean)

Enable debug logging (default: false)


:wrench: Setters

  • ApiKey(text)
  • DebugMode(boolean)
    blocks(72)

:inbox_tray: Getters

  • ApiKey → text
    component_set_get(4)

  • DebugMode → boolean
    component_set_get(3)


Aix

com.httpsms.httpsms.aix (20.0 KB)

:white_check_mark: Best Practices

  • Use short messages for faster delivery
  • Handle OnSmsFailed properly
  • Enable DebugMode during testing only
  • Always validate phone numbers

:technologist: Developer Notes

This extension is ideal for OTP systems, admin alerts, and personal automation apps.

It is NOT intended for spam, marketing, or mass messaging.


Happy :kodular:oding :smiling_cat_with_heart_eyes:

6 Likes