enricodias/smsdev
最新稳定版本:v0.4
Composer 安装命令:
composer require enricodias/smsdev
包简介
Send and receive SMS using SmsDev.com.br
README 文档
README
Send and receive SMS using SmsDev.com.br
Installation
Require this package with Composer in the root directory of your project.
composer require enricodias/smsdev
Usage
Create a new instance with your API key:
$SmsDev = new \enricodias\SmsDev('API_KEY');
If the API key is not provided, the library will look for the environment variable
SMSDEV_API_KEY
Set any date format to be used in all date methods:
$SmsDev->setDateFormat('Y-m-d H:i:s'); // default is 'U', timestamp
Sending an SMS message
$SmsDev->send(5511988881111, 'SMS Message'); // returns true if the API accepts the message var_dump($SmsDev->getResult()); // Returns the raw API response.
The country code optional. The default is 55 (Brazil).
Phone number validation
If you have the package giggsey/libphonenumber-for-php installed, it will be used to validate numbers locally. You can disable this feature with the method setNumberValidation before sending:
$SmsDev->setNumberValidation(false); // disables phone number validation
Note that SmsDev will charge you for messages sent to invalid numbers.
Receiving SMS messages
Get unread messages in a specific date interval:
$SmsDev->setDateFormat('Y-m-d'); $SmsDev->setFilter() ->isUnread() ->dateBetween('2018-01-19', '2019-01-19') ->fetch();
Search for a specific message id:
$SmsDev->setFilter() ->byId(2515974) ->fetch();
Parsing the response
After fetching the messages you can either access the raw API response using getResult() or use the function parsedMessages() to get a simplified array:
$SmsDev->setDateFormat('U'); // timestamp $messages = $SmsDev->parsedMessages(); var_dump($messages); /* array(1) { ['date'] => '1529418914' ['number'] => '5511988887777' ['message'] => 'Message' } */
Dates are converted to the format specified in setDateFormat().
Date filters
The following filters are equivalent:
$SmsDev->setFilter() ->dateBetween('2018-01-19', '2019-01-19') ->fetch(); $SmsDev->setFilter() ->dateBetween('2018-01-19', '') ->dateTo('2019-01-19') ->fetch(); $SmsDev->setFilter() ->dateBetween('', '2019-01-19') ->dateFrom('2018-01-19') ->fetch(); $SmsDev->setFilter() ->dateFrom('2018-01-19') ->dateTo('2019-01-19') ->fetch();
Timezone problems
The API uses the timezone America/Sao_Paulo. Using another timezone in your application will force you to convert dates locally in order to get correct values.
Ex: if you are using UTC-4 and receive a new message, it will look like the message came from the future because America/Sao_Paulo is UTC-3.
This class solves this problem by automatically correcting dates both in search filters and in parsed messages. Only the dates in raw API responses are not converted.
TODO
- Check the status of sent messages.
- Send multiple SMS messages.
统计信息
- 总下载量: 11.06k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 22
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-01-13