bahricanli / corvass-php
A PHP client library for Corvass API
Requires
- php: >=5.6.4
- guzzlehttp/guzzle: ~7.0
Requires (Dev)
- mockery/mockery: ^0.9.5
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2024-10-29 23:41:19 UTC
README
This package provides an easy to use Corvass 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 Corvass servisi sağlar.
Dokümanın türkçe hali için: BENIOKU
Contents
Installation
You can install this package via composer:
composer require bahricanli/corvass-php
Setting up the Corvass service
You will need to register to Corvass to use this channel.
Usage
First, boot the CorvassService with your desired client implementation.
- CorvassXmlClient
- CorvassHttpClient (This is actually a Rest-Like client but the vendor names their API that way.)
require __DIR__ . '/../vendor/autoload.php'; use BahriCanli\Corvass\CorvassService; use BahriCanli\Corvass\CorvassService; use BahriCanli\Corvass\ShortMessageFactory; use BahriCanli\Corvass\Http\Clients\CorvassXmlClient; use BahriCanli\Corvass\Http\Clients\CorvassHttpClient; use BahriCanli\Corvass\ShortMessageCollectionFactory; $service = new CorvassService(new CorvassXmlClient( 'sms.corvass.net/xml', 'username', 'password', 'outboxname' ), new ShortMessageFactory(), new ShortMessageCollectionFactory()); // ya da $service = new CorvassService(new CorvassHttpClient( new GuzzleHttp\Client(), 'https://sms.corvass.net/http', 'username', 'password', 'outboxname' ), new ShortMessageFactory(), new ShortMessageCollectionFactory());
Available methods
After successfully booting your CorvassService instance up; use one of the following methods to send SMS message(s).
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.)
$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 CorvassHttpClient
.
$response->messageReportIdentifiers()
will throw BadMethodCallException if the client is CorvassXmlClient
.
change client implementation with caution.
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Security
If you discover any security related issues, please email bahri@bahri.info instead of using the issue tracker.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.