agielks / yii2-wablas
Wablas wrapper for Yii2
Installs: 208
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 2
Open Issues: 1
Type:yii2-extension
Requires
- php: >=7.4.0
- yiisoft/yii2: ~2.0.0
- yiisoft/yii2-httpclient: ~2.0.0
Requires (Dev)
- phpunit/phpunit: ^9.5 || ^9.6
This package is auto-updated.
Last update: 2024-11-03 03:28:37 UTC
README
This extension is wrapper of Wablas API for Yii framework 2.0 (requires PHP 7.4+).
Table of contents
Instalation
Package is available on Packagist, you can install it using Composer.
composer require agielks/yii2-wablas ~1.0
or add to the require section of your composer.json
file.
"agielks/yii2-wablas": "~1.0"
Dependencies
- PHP 7.4+
- yiisoft/yii2
- yiisoft/yii2-httpclient
Basic Usage
Add wablas
component to your configuration file
'components' => [ 'wablas' => [ 'class' => \agielks\yii2\wablas\Wablas::class, 'endpoint' => 'my-wablas.com/api', // Change with your wablas API endpoint 'token' => 'my-token', // Change with your wablas API token ], ],
Create Request
$data = [ [ 'phone' => '6281218xxxxxx', 'message' => 'hello there', ] ]; /* @var $wablas \agielks\yii2\wablas\versions\V2 */ $wablas = $this->wablas->build('v2'); $request = $wablas->sendMessage($data)->request; // Print request to string print_r($request->toString()); // Short command $request = $this->wablas->build('v2')->sendMessage($data)->request;
Create Response
$data = [ [ 'phone' => '6281218xxxxxx', 'message' => 'hello there', ] ]; /* @var $wablas \agielks\yii2\wablas\versions\V2 */ $wablas = $this->wablas->build('v2'); $response = $wablas ->sendMessage($data) ->send() ->response; // Print whether response is OK print_r($response->isOk); // Print status code print_r($response->statusCode); // Print response data print_r($response->data); // Short command $response = $this->wablas->build('v2')->sendMessage($data)->send()->response;
Custom version
You can create your own version as follows
- Create custom version
class CustomVersion extends BaseObject { public $wablas; public function sendMessage(array $data): Wablas { $this->wablas->setRequest($this->wablas->client->post(['custom/send-message'])->setData($data)); return $this->wablas; } }
- Register custom version
'components' => [ 'wablas' => [ 'class' => \agielks\yii2\wablas\Wablas::class, 'endpoint' => 'my-wablas.com', // Change with your endpoint 'token' => 'my-token', // Change with your wablas token, 'versions' => [ 'custom' => CustomVersion::class, ] ], ],
- Call the custom version
$wablas = $this->wablas->build('custom')->sendMessage($data)->send();
Send Message Example
Step by step usage
- Install component
composer require agielks/yii2-wablas ~1.0
- Update your components configuration
'components' => [ // other components here... 'wablas' => [ 'class' => \agielks\yii2\wablas\Wablas::class, 'endpoint' => 'my-wablas.com/api', 'token' => 'my-token', ], // ... ],
- Update controller
use Yii; use yii\web\Controller; class TestController extends Controller { public function actionTest() { $data = [ [ 'phone' => '6281218xxxxxx', 'message' => 'hello there', ] ]; $response = Yii::$app->wablas->build('v2')->sendMessage($data)->send()->response; if ($response->isOk) { print_r($response); // Do action } else { print_r($response); // Do action } } }