xur/zoho-crm-php-wrapper

为 Zoho CRM API 提供的 PHP 封装库。

dev-master 2018-05-27 20:02 UTC

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/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>';
  • 响应

RequestPaginator 对象

获取特定记录

  • 方法: 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>';
  • 响应

RequestPaginator 对象

根据特定标准搜索

  • 方法: 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>';
  • 响应

RequestPaginator 对象

更新记录

  • 方法: 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 命令运行