xur / zoho-crm-php-wrapper
为 Zoho CRM API 提供的 PHP 封装库。
dev-master
2018-05-27 20:02 UTC
Requires
- doctrine/inflector: ^1.1
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- phpunit/phpunit: ^5.2
This package is not auto-updated.
Last update: 2024-10-02 05:07:17 UTC
README
这是一个用 PHP 编写的 Zoho CRM API 封装库。
它旨在覆盖整个 API(每个模块和每个方法),同时提供良好的抽象和非常易于使用的接口。
要求
- PHP :
5.5+
- 启用 PHP cURL 扩展
入门指南
该包目前处于早期开发阶段。当它足够稳定时,将提供完整的文档。
快速示例
// Create a Zoho client $zoho = new Zoho\CRM\Client('MY_ZOHO_AUTH_TOKEN'); // Use its supported modules to make easy requests... $one_lead = $zoho->leads->getById('1212717324723478324'); $many_leads = $zoho->leads->getByIds(['8734873457834574028', '3274736297894375750']); $admins = $zoho->users->getAdmins(); // ...or build them manually $response = $zoho->request('Module', 'method', ['a_parameter' => 'blablebloblu']);
摘要
生成认证令牌
[源] https://www.zoho.com/crm/help/api/using-authentication-token.html#Generate_Auth_Token
- 连接到 https://accounts.zoho.com
- 发送请求到
https://accounts.zoho.com/apiauthtoken/nb/create?SCOPE=ZohoCRM/crmapi&EMAIL_ID=[Username/EmailID]&PASSWORD=[Password]&DISPLAY_NAME=[ApplicationName]
- 预期响应
#
#Mon Apr 23 07:36:42 PDT 2018
AUTHTOKEN=8c40d6720636c6bb2eadace2d2243ed1
RESULT=TRUE
响应对象
RequestPaginator
响应
API 使用
可用模块
默认情况下,一些模块已在 src/Client.php
中启用
- 信息
- 用户
- 潜在客户
- 机会
- 通话
- 联系人
- 产品
可用方法
每个模块(除用户外)都有以下方法(《src/Api/Modules/AbstractRecordsModule.php》)
- getAll
- getById
- getMine
- search
- getBy
- getRelatedById
- exists
- insert
- insertMany
- update
- updateMany
- delete
- deleteMany
- getDeletedIds
获取所有记录
- 方法:
getAll
- 数据参数
- 代码示例
require './vendor/autoload.php'; // Create a Zoho client $zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670'); /** * @var $many_leads \Zoho\CRM\Api\RequestPaginator */ $leads = $zoho->leads->getAll(); echo '<pre>'; print_r($leads->fetch()->getContent()); echo '</pre>';
- 响应
获取特定记录
- 方法:
getById
- 数据参数: 记录 ID
- 代码示例
require './vendor/autoload.php'; // Create a Zoho client $zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670'); $lead = $zoho->leads->getById('3211639000000152457'); echo '<pre>'; print_r($lead->getContent()); echo '</pre>';
- 响应
响应 对象
插入记录
- 方法:
insert
- 数据参数: 数组
- 代码示例
require './vendor/autoload.php'; // Create a Zoho client $zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670'); $zoho->leads->insert([ 'Company' => 'TEST', 'Last Name' => 'TEST' ]);
- 响应
响应 对象
删除记录
- 方法:
delete
- 数据参数: 记录 ID
- 代码示例
require './vendor/autoload.php'; // Create a Zoho client $zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670'); $zoho->leads->delete('3211639000000152457');
- 响应
响应 对象
删除多条记录
- 方法:
deleteMany
- 数据参数: 数组
- 代码示例
require './vendor/autoload.php'; // Create a Zoho client $zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670'); $leads = $zoho->leads->deleteMany(['3211639000000152553', '3211639000000152560']); echo '<pre>'; print_r($leads); echo '</pre>';
- 响应
响应 对象
{"result":{"code":"5000","message":"Record Id(s) : 3211639000000152553;3211639000000152560,Record(s) deleted successfully"}
根据标准搜索
- 方法:
search
- 数据参数: 字符串
- 代码示例
require './vendor/autoload.php'; // Create a Zoho client $zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670'); $leads = $zoho->leads->search('((Company:TEST)OR(Last Name:TEST))'); echo '<pre>'; print_r($leads->fetch()->getContent()); echo '</pre>';
- 响应
根据特定标准搜索
- 方法:
getBy
- 数据参数: 字符串,字符串
- 代码示例
require './vendor/autoload.php'; // Create a Zoho client $zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670'); $leads = $zoho->leads->getBy('Company', 'TEST'); echo '<pre>'; print_r($leads->fetch()->getContent()); echo '</pre>';
- 响应
更新记录
- 方法:
update
- 数据参数: ID,数据
- 代码示例
require './vendor/autoload.php'; // Create a Zoho client $zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670'); $lead = $zoho->leads->update('3211639000000155006', [ 'Company' => 'TEST99' ]); echo '<pre>'; print_r($lead->getContent()); echo '</pre>';
- 响应
响应 对象
更新多条记录
- 方法:
updateMany
- 数据参数: 数据
- 代码示例
require './vendor/autoload.php'; // Create a Zoho client $zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670'); $leads = $zoho->leads->updateMany([ [ 'Id' => '3211639000000158001', 'Company' => 'Company modified' ], [ 'Id' => '3211639000000155013', 'Company' => 'Company modified 2' ] ]); echo '<pre>'; print_r($leads->getRawData()); echo '</pre>';
- 响应
响应 对象
单元测试
- 在
phpunit.xml
中设置 AUTH_TOKEN - 通过执行
./vendor/bin/phpunit
命令运行