Initial source code import
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
# Send SMS
|
||||
|
||||
Simple API gateway to send SMS messages through Clickatell.
|
||||
|
||||
## Description
|
||||
|
||||
Node.js project to utilise PayLid/IRAS registered API account from Clickatell.
|
||||
Exposes RESTful interface to send SMS messages.
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Dependencies
|
||||
|
||||
* designed to run on CentOS 6.10 & node.js v11.15.0
|
||||
* express.js framework
|
||||
* no database interface since recent pg-native will not compile on CentOS 6.10
|
||||
|
||||
### Installing
|
||||
|
||||
* git clone git@gitlab.com:paylidproductteam/sms-api.git
|
||||
* npm install
|
||||
|
||||
### Executing program
|
||||
|
||||
* To run API in development mode, please use "dev" script from package.json
|
||||
* Start by
|
||||
```
|
||||
npm run dev
|
||||
```
|
||||
### Calling API
|
||||
|
||||
```
|
||||
curl -X POST http://10.10.20.101:4100/v1/sms/send \
|
||||
-H 'authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc0FkbWluIjoidHJ1ZSIsImlhdCI6MTYzMDY3NTIxMH0.9aqqaT1h7k_JUqUT3cwOvB0RvK51sQuuQuw6-o-6ufc' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{"number":"16784574356","text":"test from SMS API"}'
|
||||
```
|
||||
|
||||
### Getting Message Delivery Status
|
||||
```
|
||||
curl -X POST http://10.10.20.101:4100/v1/sms/status \
|
||||
-H 'authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc0FkbWluIjoidHJ1ZSIsImlhdCI6MTYzMDY3NTIxMH0.9aqqaT1h7k_JUqUT3cwOvB0RvK51sQuuQuw6-o-6ufc' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{"apiMessageId":"c7bfb6061000c8805e2cde9a5bdc9139"}'
|
||||
```
|
||||
|
||||
## Run Under Supervisor
|
||||
|
||||
Append the following configuration to /etc/supervisord.conf
|
||||
```
|
||||
[program:sms_api]
|
||||
command=/home/developer/oameye/sms-api/start.sh
|
||||
directory=/home/developer/oameye/sms-api
|
||||
process_name=%(program_name)s
|
||||
numprocs=1
|
||||
umask=022
|
||||
priority=1
|
||||
user=oameye
|
||||
group=dev
|
||||
autostart=true
|
||||
autorestart=true
|
||||
redirect_stderr=true
|
||||
log_stdout=true
|
||||
log_stderr=true
|
||||
stdout_logfile=/var/log/supervisor/sms_api.log
|
||||
```
|
||||
## Run on Windows
|
||||
|
||||
Download https://nssm.cc/release/nssm-2.24.zip and install into node directory.
|
||||
|
||||
Usage https://nssm.cc/usage
|
||||
|
||||
```
|
||||
nssm install SmsApiService C:\AutoMedSys\sms-api\start.bat
|
||||
nssm set SmsApiService AppDirectory C:\AutoMedSys\sms-api
|
||||
nssm set SmsApiService DisplayName "SMS API Service"
|
||||
nssm set SmsApiService Description "SMS RESTful API for Clickatell gateway"
|
||||
nssm set SmsApiService Start SERVICE_AUTO_START
|
||||
nssm set SmsApiService AppExit Default Restart
|
||||
nssm set SmsApiService AppRestartDelay 0
|
||||
nssm set SmsApiService AppStdout C:\AutoMedSys\sms-api\service.log
|
||||
nssm set SmsApiService AppStderr C:\AutoMedSys\sms-api\service.log
|
||||
nssm start SmsApiService
|
||||
```
|
||||
|
||||
## Authors
|
||||
|
||||
Contributors names and contact info
|
||||
|
||||
Anatolii Okhotnikov
|
||||
[@acidumirae](https://gitlab.com/acidumirae)
|
||||
|
||||
## Version History
|
||||
|
||||
* 0.3
|
||||
* Windows service startup instruction
|
||||
* Make middleware optional
|
||||
* 0.2
|
||||
* Business logic for clickatell SMS API send/status
|
||||
* See [commit change]() or See [release history]()
|
||||
* 0.1
|
||||
* Initial commit with express.js API skeleton
|
||||
|
||||
Reference in New Issue
Block a user