PHP JetSMS Client
, (*1)
This package provides an easy to use JetSMS service which can be used with both XML and Http apis., (*2)
Bu paket, hem XML hem Http API ile çalışan kullanımı kolay bir JetSMS servisi sağlar., (*3)
Dokümanın türkçe hali için: BENIOKU, (*4)
Contents
Installation
You can install this package via composer:, (*5)
``` bash
composer require erdemkeren/jet-sms-php, (*6)
### Setting up the JetSMS service
You will need to register to JetSMS to use this channel.
## Usage
First, boot the JetSmsService with your desired client implementation.
- **JetSmsXmlClient**
- **JetSmsHttpClient** (This is actually a Rest-Like client but the vendor names their API that way.)
```php
require __DIR__ . '/../vendor/autoload.php';
use Erdemkeren\JetSms\JetSmsService;
use Erdemkeren\JetSms\JetSmsService;
use Erdemkeren\JetSms\ShortMessageFactory;
use Erdemkeren\JetSms\Http\Clients\JetSmsXmlClient;
use Erdemkeren\JetSms\Http\Clients\JetSmsHttpClient;
use Erdemkeren\JetSms\ShortMessageCollectionFactory;
$service = new JetSmsService(new JetSmsXmlClient(
'www.biotekno.biz:8080/SMS-Web/xmlsms',
'username',
'password',
'outboxname'
), new ShortMessageFactory(), new ShortMessageCollectionFactory());
// ya da
$service = new JetSmsService(new JetSmsHttpClient(
new GuzzleHttp\Client(),
'https://service.jetsms.com.tr/SMS-Web/HttpSmsSend',
'username',
'password',
'outboxname'
), new ShortMessageFactory(), new ShortMessageCollectionFactory());
Available methods
After successfully booting your JetSmsService instance up; use one of the following methods to send SMS message(s)., (*7)
One Message - Single or Multiple Recipients:
$response = $service->sendShortMessage(['5530000000', '5420000000'], 'This is a test message.');
if($response->isSuccessful()) {
// storeGroupIdForLaterReference is not included in the package.
storeGroupIdForLaterReference($response->groupId());
} else {
var_dump($response->message());
var_dump($response->statusCode());
var_dump($response->status());
}
Multiple Messages - Multiple Recipients:
Please not that if you have using that method, every message should only have one receiver. (This is also an API limitation which I didn't hack.), (*8)
$response2 = $service->sendShortMessages([[
'recipient' => '5530000000',
'message' => 'This is a test.',
], [
'recipient' => '5420000000',
'message' => 'This is another test.',
]]);
if($response2->isSuccessful()) {
// storeGroupIdForLaterReference is not included in the package.
storeGroupIdForLaterReference($response2->groupId());
} else {
var_dump($response2->message());
var_dump($response2->statusCode());
var_dump($response2->status());
}
Cross Reference
$response->groupId()
will throw BadMethodCallException if the client is JetSmsHttpClient
.
$response->messageReportIdentifiers()
will throw BadMethodCallException if the client is JetSmsXmlClient
., (*9)
change client implementation with caution., (*10)
Changelog
Please see CHANGELOG for more information what has changed recently., (*11)
Testing
bash
$ composer test
, (*12)
Security
If you discover any security related issues, please email erdemkeren@gmail.com instead of using the issue tracker., (*13)
Contributing
Please see CONTRIBUTING for details., (*14)
Credits
License
The MIT License (MIT). Please see License File for more information., (*15)