hotrush / quickbooks-manager
v0.2.2
2019-12-03 19:35 UTC
Requires
- php: >=7.1
- illuminate/support: ~5|~6
- quickbooks/v3-php-sdk: ^5.0
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: ^7.5
README
- 管理不同的连接(凭据)
- 在数据库中存储令牌
- 自动刷新令牌
- 获取令牌的功能
- Webhooks 管理
- 包含 Api SDK
- 日志记录
安装
composer require hotrush/quickbooks-manager
您必须迁移数据库
php artisan migrate
您还可以发布配置文件
php artisan vendor:publish --provider="Hotrush\QuickBooksManager\QuickBooksManagerServiceProvider" --tag="config"
授权
要重定向到 OAuth 授权页面,请使用 qbm.redirect
路由,例如。
redirect(route('qbm.redirect', ['connection' => 'default']));
授权成功后,令牌将存储在数据库中并自动用于 API 请求。您可以在配置文件中更改 redirect_route
选项来配置成功的授权重定向路由。
API 请求
收到令牌后,您可以使用连接管理器发送 API 请求。要获取管理器实例,您可以使用 Laravel 的容器 解析内容 并解析为 Hotrush\QuickBooksManager\QuickBooksManager
类。
然后只需获取所需的连接并发送请求。
$invoiceToCreate = Invoice::create([...]); $manager = resolve(\Hotrush\QuickBooksManager\QuickBooksManager::class); $manager->connection('default')->Add($invoiceToCreate);
Webhooks
每个连接都有自己的 webhook 端点,例如。
/qbm/webhook/{connection?}
您还可以为每个连接定义 verifier_token
以验证通过 webhook 收到的数据(更多信息)。
Webhook 通知将触发 Laravel 的新事件。您可以轻松创建自己的 事件监听器 来处理它。
事件列表
Hotrush\QuickBooksManager\Events\EntityCreate
Hotrush\QuickBooksManager\Events\EntityUpdate
Hotrush\QuickBooksManager\Events\EntityDelete
Hotrush\QuickBooksManager\Events\EntityMerge
Hotrush\QuickBooksManager\Events\EntityVoid
每个事件都有以下参数
connection
名称realmId
entityName
- 发生变化的实体类型名称(客户、发票等)entityId
- 发生变化的实体 IDlastUpdated
- Carbon 解析的日期对象deletedId
- 被删除和合并的实体 ID(仅适用于合并事件)
令牌刷新计划
在 App\Console\Kernel
中安排刷新。 计划文档。
$schedule->command(RefreshTokensCommand::class)->everyMinute();
令牌的数据库表
现在您可以配置令牌的表名,只需更改配置文件中的 table_name
。