agielks/yii2-wablas

Yii2 的 Wablas 包装器

安装: 198

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 2

开放问题: 1

类型:yii2-extension

1.1.0 2024-05-03 02:13 UTC

This package is auto-updated.

Last update: 2024-09-03 03:07:57 UTC


README

此扩展是 Wablas API 的包装器,用于 Yii 框架 2.0(需要 PHP 7.4+)。

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

目录

  1. 安装
  2. 依赖
  3. 基本用法
    1. 创建请求
    2. 创建响应
    3. 创建版本
  4. 步骤详解

安装

此软件包可在 Packagist 上找到,您可以使用 Composer 安装它。

composer require agielks/yii2-wablas ~1.0

或者将其添加到您的 composer.json 文件的 require 部分。

"agielks/yii2-wablas": "~1.0"

依赖

基本用法

wablas 组件添加到您的配置文件中

'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 $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;

创建响应

$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;

自定义版本

您可以按照以下方式创建自己的版本

  1. 创建自定义版本
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;
    }
}
  1. 注册自定义版本
'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,
        ]
    ],
],
  1. 调用自定义版本
$wablas = $this->wablas->build('custom')->sendMessage($data)->send();

发送消息示例

步骤详解用法

  1. 安装组件
composer require agielks/yii2-wablas ~1.0
  1. 更新组件配置
'components' => [
    // other components here...
    'wablas' => [
        'class' => \agielks\yii2\wablas\Wablas::class,
        'endpoint' => 'my-wablas.com/api',
        'token' => 'my-token',
    ],
    // ...
],
  1. 更新控制器
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
        }
    }
}