gosms
Your own local SMS gateway
- deploy in less than 1 minute
- supports Windows, GNU\Linux, Mac OS
- works with GSM modems
- provides API over HTTP to push messages to gateway, just like the internet based gateways do
- takes care of queuing, throttling and retrying
- supports multiple devices at once
deployment
- Update conf.ini
[DEVICES]
section with your modem's COM port. for ex.COM10
or/dev/USBtty2
- Run
API specification
- /api/sms/ [POST]
- param mobile
- mobile number to send message to
- number should have contry code prefix
- for ex. +919890098900
- param message
- message text
- max length is limited to 160 characters
- response
- param mobile
{
"status": 200,
"message": "ok"
}
- /api/logs/ [GET]
- response
{
"status": 200,
"message": "ok",
"summary": [ 10, 50, 2 ],
"daycount": { "2015-01-22": 10, "2015-01-23": 25 },
"messages": [
{
"uuid": "d04f17c4-a32c-11e4-827f-00ffcf62442b",
"mobile": "+1858111222",
"body": "Hey! Just playing around with gosms.",
"status": 1
},
]
}
- message status codes
- 0 : Pending
- 1 : Processed
- 2 : Error
planned features
- Allowing multiple mobile numbers with a single message in
/api/sms/
- CRUD support for messages, possibly support cancellation of message
- Authentication support for API
- Adding authentication for Dashboard
- Send an email to admin on high failure rate
building from source
On Ubuntu
- go get github.com/haxpax/gosms
- cd $GOPATH/src/github.com/haxpax/gosms/dashboard
- go build
On Windows
- go get
github.com/haxpax/gosms
- Setup GCC for go-sqlite3 package
- Download MinGW from http://sourceforge.net/projects/mingw/
- Add
C:\MinGW\bin
to PATH - run
mingw-get install gcc
from command line
- go build
run dashboard executable. Copy assets, templates, conf.ini, dashboard[.exe] if you want to move to another directory db.sqlite is created at first run if not present, copy that too if its there