hotrush/quickbooks-manager

v0.2.2 2019-12-03 19:35 UTC

This package is auto-updated.

Last update: 2024-08-29 05:07:02 UTC


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 - 发生变化的实体 ID
  • lastUpdated - Carbon 解析的日期对象
  • deletedId - 被删除和合并的实体 ID(仅适用于合并事件)

令牌刷新计划

App\Console\Kernel 中安排刷新。 计划文档

$schedule->command(RefreshTokensCommand::class)->everyMinute();

令牌的数据库表

现在您可以配置令牌的表名,只需更改配置文件中的 table_name