Bu paket, hem XML hem Http API ile çalışan kullanımı kolay bir JetSMS servisi sağlar.
This package provides an easy to use JetSMS service which can be used with both XML and Http apis. For the English version: README
Bu paket, composer kullanılarak kurulabilir.
composer require erdemkeren/jet-sms-php
JetSMS servisini kullanabilmek için kayıt olunmalı ve kontör satın alınmalı.
Önce, JetSmsService sınıfı, istenilen istemci uyarlaması kullanarak çalıştırılır.
- JetSmsXmlClient
- JetSmsHttpClient (Bu daha ziyade Rest servisi gibi ama HTTP demeyi tercih etmiş.)
require __DIR__ . '/../vendor/autoload.php';
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());
JetSmsService örneğini başarıyla çalıştırdıktan sonra; aşağıda bulunan metotlardan birini kullanarak SMS(ler) göndermeye başlayabilirsiniz.
$response = $service->sendShortMessage(['5530000000', '5420000000'], 'Bu bir test mesajıdır.');
if($response->isSuccessful()) {
// storeGroupIdForLaterReference fonksiyonu pakete dahil değildir.
storeGroupIdForLaterReference($response->groupId());
} else {
var_dump($response->message());
var_dump($response->statusCode());
var_dump($response->status());
}
Eğer bu yöntemi kullanıyorsanız, her mesajın yalnızca bir alıcısı olmalıdır. (Bu da hacklemediğim bir API kısıtıdır.)
$response2 = $service->sendShortMessages([[
'recipient' => '5530000000',
'message' => 'This is a test.',
], [
'recipient' => '5420000000',
'message' => 'This is another test.',
]]);
if($response2->isSuccessful()) {
// storeGroupIdForLaterReference fonksiyonu pakete dahil değildir.
storeGroupIdForLaterReference($response2->groupId());
} else {
var_dump($response2->message());
var_dump($response2->statusCode());
var_dump($response2->status());
}
Eğer istemci olarak JetSmsHttpClient
sınıfı kullanılıyorsa $response->groupId()
çağrısı istisnaya sebep olur.
Eğer istemci olarak JetSmsXmlClient
sınıfı kullanılıyorsa $response->messageReportIdentifiers()
çağrısı istisnaya sebep olur.
İstemci uyarlamasını değiştirirken temkinli olun.
Lütfen son değişiklikleri görmek için Değişiklik Listesi dosyasını ziyaret ediniz.
$ composer test
Bu paket, JetSMS tarafından sağlanan servisleri kullanmaktadır. Eğer istemci taraflı bir güvenlik açığı bulduysanız; lütfen yeni bir ticket açmak yerine geliştiriciye e-posta atın.
Eğer katkıda bulunmak isterseniz lütfen Katkıda Bulunun dosyasını inceleyin.
The MIT License (MIT). Detaylar için lütfen Lisans Dosyasını inceleyin.