This extension is wrapper of Wablas API for Yii framework 2.0 (requires PHP 7.4+).
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"
- PHP 7.4+
- yiisoft/yii2
- yiisoft/yii2-httpclient
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
],
],
$data = [
[
'phone' => '6281218xxxxxx',
'message' => 'hello there',
]
];
/** @var \agielks\yii2\wablas\versions\V2 $wablas */
$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;
$data = [
[
'phone' => '6281218xxxxxx',
'message' => 'hello there',
]
];
/** @var \agielks\yii2\wablas\versions\V2 $wablas */
$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;
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();
- 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
}
}
}