crazybee47/laravel-bitrix24

Laravel 对 OAuth2 Bitrix24 Rest API 应用程序的包装

1.0.14 2024-05-21 17:25 UTC

This package is auto-updated.

Last update: 2024-09-21 18:19:52 UTC


README

Laravel 对 OAuth2 Bitrix24 Rest API 的包装,用于在 Laravel + Bitrix24 上快速启动新应用程序。

库中实现了一些用于与 API 交互的方法,它们将逐步添加。

如果您需要更多方法,可以扩展 BitrixService 并使用 getApiClient 方法或 loadRecords 方法(用于从列表中检索所有项目)来发送 API 请求。

示例

class ExtendedBitrixService extends \Crazybee47\Laravel\Bitrix24\BitrixService {

    public function getContact(int $id): array {
        return $this->getApiClient()
            ->call('crm.contact.get', ['ID' => $id])
            ->getResponseData()
            ->getResult();
    }
    
    public function getContactList(array $filters = []): array {
        return $this->loadRecords('crm.contact.list', $filters);
    }
}

安装

配置

这些凭证应放置在应用程序的 config/services.php 配置文件中

'bitrix' => [
    'host' => 'https://example.bitrix24.ru',
    'client_id' => env('BITRIX_CLIENT_ID'),
    'client_secret' => env('BITRIX_CLIENT_SECRET'),
    'scopes' => explode(',', env('BITRIX_SCOPES', 'crm')),//crm,bizproc,telephony
]

bitrix/* 模式添加到除了列表之外的 VerifyCsrfToken 中间件列表中。

class VerifyCsrfToken extends Middleware
{
    protected $except = [
        'bitrix/*',
    ];
}

设置 Bitrix24 Rest API 应用程序

  • 处理器路径:{APP_URL}/bitrix/oauth/callback
  • 安装处理器路径:{APP_URL}/bitrix/install

默认情况下,授权数据在应用程序安装时保存。还可以手动将特定的 Bitrix24 用户授权到应用程序中。为此,您需要将用户引导到链接:{APP_URL}/bitrix/oauth/redirect

为 Bitrix24 设置应用程序动作

如果您需要在 Bitrix24 中安装 Webhook 或应用程序动作以供业务流程使用,当应用程序安装到 Bitrix24 时,您可以监听事件:Crazybee47\Laravel\Bitrix24\Events\OnAppInstalled。为此,在您的 EventServiceProvider 中注册其处理器。

示例

protected $listen = [
    \Crazybee47\Laravel\Bitrix24\Events\OnAppInstall::class => [
        'App\Listeners\RegisterBitrixWebhooks@handle'
    ],
];