https://github.com/andreasnij/an-sms
A PHP SMS library.
https://github.com/andreasnij/an-sms
46elks cellsynt nexmo php sms twilio
Last synced: 3 months ago
JSON representation
A PHP SMS library.
- Host: GitHub
- URL: https://github.com/andreasnij/an-sms
- Owner: andreasnij
- License: mit
- Created: 2017-01-16T20:27:26.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-09-10T12:01:36.000Z (about 1 year ago)
- Last Synced: 2024-11-18T09:44:03.477Z (11 months ago)
- Topics: 46elks, cellsynt, nexmo, php, sms, twilio
- Language: PHP
- Homepage:
- Size: 111 KB
- Stars: 8
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# AnSms - A PHP SMS library
[](https://packagist.org/packages/andreasnij/an-sms)
An extendable library for sending and receiving SMS messages.
## Supported SMS gateways
| | Send SMS | Delivery reports | Receive SMS | Premium SMS |
|---------------------------------------------------|:--------:|:----------------:|:-----------:|:-----------:|
| [46elks](https://46elks.com/) | ✔ | ✔ | ✔ | |
| [Cellsynt](https://www.cellsynt.com) | ✔ | ✔ | ✔ | ✔ |
| [Vonage (formerly Nexmo)](https://www.vonage.com) | ✔ | ✔ | ✔ | |
| [Twilio](https://www.twilio.com) | ✔ | ✔ | ✔ | |
| [Telenor SMS Pro](https://www.smspro.se/) | ✔ | ✔ | | |You can add and use your own gateway. This library enables easy switching between different gateways.
## Installation
Add the package as a requirement to your `composer.json`:
```bash
$ composer require andreasnij/an-sms
```If you want to use the **46elks**, **Cellsynt** or **Telenor SMS Pro** gateway you also you need
implementations of PSR-7: HTTP message interfaces, PSR-17: HTTP Factories and
PSR-18: HTTP Client. A popular package for this is Guzzle. You can install it with:```bash
$ composer require guzzlehttp/guzzle:^7.0 guzzlehttp/psr7:^2.0
```You may choose to use any other implementations of the PSR interfaces though.
If you want to use the **Twilio** gateway you also need to install the Twilio SDK:
```bash
$ composer require twilio/sdk
```If you want to use the **Vonage** gateway you also need to install the Vonage client:
```bash
$ composer require vonage/client-core
```## Usage
```php
use AnSms\{
SmsTransceiver,
Message\Message,
Message\PremiumMessage,
Gateway\CellsyntGateway
};$gateway = new CellsyntGateway('username', 'password');
$smsTransceiver = new SmsTransceiver($gateway);// Send SMS
$message = Message::create('46700000000', 'Hello world!');
$smsTransceiver->sendMessage($message);// Receive SMS
$receivedMessage = $smsTransceiver->receiveMessage($_GET);// Receive SMS delivery report
$deliveryReport = $smsTransceiver->receiveDeliveryReport($_GET);// Send Premium SMS
$premiumMessage = PremiumMessage::createFromIncomingMessage(
'Thanks for your payment!',
5,
$receivedMessage
);
$smsTransceiver->sendMessage($premiumMessage);
```## Upgrading
Please see [UPGRADING](UPGRADING.md) for details.
## Author
Andreas Nilsson ()## License
This software is licensed under the MIT license - see the [LICENSE](LICENSE.md) file for details.