This package provides an easy to use JetSMS service which can be used with both XML and Http apis.
Bu paket, hem XML hem Http API ile çalışan kullanımı kolay bir JetSMS servisi sağlar.
Dokümanın türkçe hali için: BENIOKU
You can install this package via composer:
composer require erdemkeren/jet-sms-php
You will need to register to JetSMS to use this channel.
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.)
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());
After successfully booting your JetSmsService instance up; use one of the following methods to send SMS message(s).
$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());
}
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.)
$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());
}
$response->groupId()
will throw BadMethodCallException if the client is JetSmsHttpClient
.
$response->messageReportIdentifiers()
will throw BadMethodCallException if the client is JetSmsXmlClient
.
change client implementation with caution.
Please see CHANGELOG for more information what has changed recently.
$ composer test
If you discover any security related issues, please email erdemkeren@gmail.com instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.