agencedoit / zohoconnector
Zoho Creator API 连接器 for Laravel
README
目录
通用
Laravel 包用于管理 Zoho Creator API 的连接
需求
要使用此服务并与 Zoho API 交互,您需要在 Zoho API 控制台 获取一个 client_id 和一个 client_secret。
- 点击右上角的 "添加客户端"。
- 使用 "基于服务器的应用程序"。
- 填写信息
- 客户端名称:您的应用名称
- 主页 URL:您的应用 URL
- 授权重定向 URI:--APP_URL--/zoho/request-code-response <= 重要
您将获得所需的 client_id 和 client_secret。
PHP 必须安装 zip 扩展。对于 Linux 系统,只需使用正确的 php 版本输入。
sudo apt-get install php8.2-zip
基础
创建者
要与 Zoho Creator 交互,所有操作都基于报表。
Zoho API 文档可在 这里 查找。
Zoho API 的版本是 v2.1。
CRM
即将推出。
配置
环境变量
标识符 | 必需 | 描述 | 可用值 | 注释 |
---|---|---|---|---|
ZOHO_ACCOUNT_DOMAIN | 否 | 您的 Zoho 账户注册的 Zoho 域名 | eu, com, jp, in, com.au ... | 默认值:eu |
ZOHO_CLIENT_ID | 是 | 来自 https://api-console.zoho 的客户端 ID。 | - | 默认值:1000.8cb99dxxxxxxxxxxxxx9be93 |
ZOHO_CLIENT_SECRET | 是 | 来自 https://api-console.zoho 的客户端密钥。 | - | 默认值:9b8xxxxxxxxxxxxxxxf |
ZOHO_SCOPE | 否 | 客户端的作用域 | ZohoCreator.report.ALL, ZohoCreator.report.READ,ZohoCreator.bulk.CREATE ... 请参阅 API 文档 | 默认值:ZohoCreator.report.READ |
ZOHO_USER | 是 | 您的 Zoho 用户名 | - | 默认值:jason18 |
ZOHO_APP_NAME | 是 | 您的 Zoho 应用标识符 | - | 默认值:zylker-store |
ZOHO_TOKENS_TABLE | 否 | 令牌表名称 | - | 默认值:zoho_connector_tokens |
----------- | -- | -------- | ------ | ---- |
ZOHO_BULK_DOWNLOAD_PATH | 否 | 批量文件加载的路径 | - | 默认值:storage_path("zohoconnector") |
ZOHO_BULKS_TABLE | 否 | 批量处理表名称 | - | 默认值:zoho_connector_bulk_history |
ZOHO_BULK_QUEUE | 否 | 批量处理的队列名称 | - | 默认值:default |
初始化
- 请确保已设置 APP_URL 环境变量。
- 从 ZOHO 获取 client_id 和 client_secret => 需求。
- 按照 环境变量 中的说明填写。
- 在开发环境中,您可以在 --APP_URL--/zoho/test 上检查所有环境是否已准备就绪。然后点击 "请求代码页面" 链接以在开发环境中激活。
- 如果服务已就绪,您现在可以 使用此服务。
您可以使用/zoho/reset-tokens路由或通过点击/zoho/test页面上的重置按钮来重置服务。
在生产环境上
/zoho/test页面不可用。
转到/zoho/request-code以激活服务(显然一旦参数设置)。
/zoho/reset-tokens也不可用。要重置令牌,截断ZOHO_TOKENS_TABLE。
使用方法
基本示例
use ZohoCreatorApi;
public static function test() {
return ZohoCreatorApi::get("my_report");
}
可用函数
从报表获取
ZohoCreatorApi::get(<report_name>,<criterias>="",&<cursor>="");
将找到的记录作为数组返回。
此函数有1000条记录的限制。如果记录数更多,则cursor变量将被填充。
查看ZohoCreatorApi::getAll()代码函数,了解如何处理游标和循环。
从报表获取所有
ZohoCreatorApi::getAll(<report_name>,<criterias>="");
将找到的记录作为数组返回。
此函数可能非常长。查看函数以了解谁在使用它。
按 ID 获取
ZohoCreatorApi::getByID(<report_name>,<object_id>);
将找到的记录作为数组返回。
field_config设置为"all"。
创建
ZohoCreatorApi::create(<form_name>,<attributes>,<additional_fields>=[]);
使用给定的属性在表单中添加记录。
更新
ZohoCreatorApi::update(<report_name>,<id>,<attributes>,<additional_fields>=[]);
使用给定的属性更新记录。
批量操作
使用Zoho获取信息的批量操作是一个3步骤的过程。
- 创建批量
- 读取状态。
- 下载结果。此功能在此包中可用,或通过逐步过程或完全自动化使用Laravel Jobs。
自动管理
整个批量过程在一个函数中。结果是JSON文件。此函数需要PHP的zip扩展。
- zip扩展 of PHP。
- Laravel的队列处理器
php artisan queue:work
附加选项:--tries=3 > 失败时多次尝试 --queue=secondary > 选择您的队列。别忘了更改ZOHO_BULK_QUEUE环境变量。
只需使用该函数
ZohoCreatorApi::getWithBulk(<report_name>, <call_back_url>, <criterias>="")
这会启动一个Laravel任务,并通过参数json_location发送到callback_url,该参数是下载、提取、转换报告数据的JSON位置。下载的ZIP文件和提取的CSV文件在处理过程中被删除以优化存储。
创建批量
ZohoCreatorApi::createBulk(<report_name>,<criterias>="");
创建批量请求。
读取批量信息
ZohoCreatorApi::readBulk(<report_name>,<bulk_id>="");
将批量请求信息作为数组返回。
下载批量
ZohoCreatorApi::downloadBulk(<report_name>,<bulk_id>="");
在ZOHO_BULK_DOWNLOAD_PATH下载批量请求结果。
待办事项
- 创建测试函数。
- 完整的注释。
- 添加删除函数。
- 查看过滤器简化器。