crazybee47 / laravel-bitrix24
Laravel 对 OAuth2 Bitrix24 Rest API 应用程序的包装
1.0.14
2024-05-21 17:25 UTC
Requires
- php: ^8.1|8.2|8.3
- guzzlehttp/guzzle: ^7.5
- illuminate/contracts: ^9.0|^10.0|^11.0
- illuminate/http: ^9.0|^10.0|^11.0
- illuminate/support: ^9.0|^10.0|^11.0
- mesilov/bitrix24-php-sdk: 2.0-beta.2
- symfony/event-dispatcher: ^6.2|^7.0
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' ], ];