rams007/zohobooksapi
Composer 安装命令:
composer require rams007/zohobooksapi
包简介
Zoho Books API v3 - PHP SDK
关键字:
README 文档
README
Zoho Books API v3 - PHP SDK
This Library is a SDK in PHP that simplifies the usage of the Zoho Books Api version 3 (https://www.zoho.com/books/api/v3/) It provides both an interface to ease the interaction with the APIs without bothering with the actual REST request, while packaging the various responses using very simple Model classes that can be then uses with any other library or framework.
Installation
composer require webleit/zohobooksapi
Usage
In order to use the library, just require the composer autoload file, and then fire up the library itself. In order for the library to work, you need to be authenticated with the zoho apis.
Online Mode
require './vendor/autoload.php'; // setup the generic zoho oath client $oAuthClient = new \Weble\ZohoClient\OAuthClient('[CLIENT_ID]', '[CLIENT_SECRET]'); $oAuthClient->setRefreshToken('[REFRESH_TOKEN]'); $oAuthClient->setRegion(\Weble\ZohoClient\Enums\Region::us()); $oAuthClient->useCache($yourPSR6CachePool); // setup the zoho books client $client = new \Webleit\ZohoBooksApi\Client($oAuthClient); $client->setOrganizationId('[YOUR_ORGANIZATION_ID]'); // Create the main class $zohoBooks = new \Webleit\ZohoBooksApi\ZohoBooks($client);
Offline Mode
This one is preferred when you need to autonomously renew the access token yourself. Used in all the "machine to machine" communication, and it's the best way when you are using the apis to, for example, sync with a 3rd party application, like your ERP or Ecommerce website. See https://github.com/Weble/ZohoClient#example-usage-offline-mode for more details on this.
require './vendor/autoload.php'; // setup the generic zoho oath client $oAuthClient = new \Weble\ZohoClient\OAuthClient('[CLIENT_ID]', '[CLIENT_SECRET]'); $oAuthClient->setRefreshToken('[REFRESH_TOKEN]'); $oAuthClient->setRegion(\Weble\ZohoClient\Enums\Region::us()); $oAuthClient->useCache($yourPSR6CachePool); $oAuthClient->offlineMode(); // Access Token $accessToken = $oAuthClient->getAccessToken(); $isExpired = $oAuthClient->accessTokenExpired(); // setup the zoho books client $client = new \Webleit\ZohoBooksApi\Client($oAuthClient); $client->setOrganizationId('[YOUR_ORGANIZATION_ID]'); // Create the main class $zohoBooks = new \Webleit\ZohoBooksApi\ZohoBooks($client);
API calls
To call any Api, just use the same name reported in the api docs. You can get the list of supported apis using the getAvailableModules() method
$zohoBooks->getAvailableModules();
You can, for example, get the list of invoices by using:
$invoices = $zohoBooks->invoices->getList();
or the list of contacts
$contacts = $zohoBooks->contacts->getList();
List calls
To get a list of resources from a module, use the getList() method
$invoices = $zohoBooks->invoices->getList();
It's possible to pass through some parameters to filter the result (see the zoho books api docs for some examples)
$invoices = $zohoBooks->invoices->getList(['status' => 'unpaid']);
In order to navigate the pages, just use the "page" and "per_page" parameters in the getList call
$invoices = $zohoBooks->invoices->getList(['status' => 'unpaid', 'page' => 3, 'per_page' => 200]);
Return Types
Any "list" api call returns a Collection object, which is taken for Laravel Collection package. You can therefore use the result as Collection, which allows mapping, reducing, serializing, etc
$invoices = $zohoBooks->invoices->getList(); $data = $invoices->toArray(); $json = $invoices->toJson(); // After fetch filtering in php $filtered = $invoices->where('total', '>', 200); // Grouping $filtered = $invoices->groupBy('customer_id');
Any "resource" api call returns a Model object of a class dedicated to the single resource you're fetching. For example, calling
$invoice = $zohoBooks->invoices->get('idoftheinvoice'); $id = $invoice->getId(); $data = $invoice->toArray(); $total = $invoice->total;
will return a \Webleit\ZohoBooksApi\Models\Invoice object, which is Arrayable and Jsonable, and that can be therefore used in many ways.
Zoho Books token expiration notes
- Each access token is valid for only an hour and used only for the operations defined in the scope.
- Refresh token does not expire. Use it to refresh access tokens when they expire.
- You can only generate a maximum of five refresh tokens in a minute.
Contributing
Finding bugs, sending pull requests or improving the docs - any contribution is welcome and highly appreciated
Versioning
Semantic Versioning Specification (SemVer) is used.
Copyright and License
Copyright Weble Srl under the MIT license.
rams007/zohobooksapi 适用场景与选型建议
rams007/zohobooksapi 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 80 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 05 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「api」 「Zoho」 「books」 「zohobooks」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 rams007/zohobooksapi 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 rams007/zohobooksapi 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 rams007/zohobooksapi 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
This package contains code to help you copy ZohoCRM records directly into your database.
A PSR-7 compatible library for making CRUD API endpoints
Zoho Sign v1 API PHP Wrapper - PHP 7.4 Ready
Book library
A class to consume Zoho's Creator and Reports API.
Zoho OAuth 2.0 Client Provider for The PHP League OAuth2-Client
统计信息
- 总下载量: 80
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 22
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-05-01