christiaan / zohocrmclient
0.9.4
2017-06-22 12:15 UTC
Requires
- php: >=5.3.3
- kriswallsmith/buzz: ~0.10
- psr/log: ~1.0.0
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2021-01-06 07:52:18 UTC
README
提供对Zoho Rest API的清晰易读的PHP API。
用法
use Christiaan\ZohoCRMClient\ZohoCRMClient; $client = new ZohoCRMClient('Leads', 'yourAuthKey'); $records = $client->getRecords() ->selectColumns('First Name', 'Last Name', 'Email') ->sortBy('Last Name')->sortAsc() ->since(date_create('last week')) ->request(); echo 'Content: ' . print_r($records, true) . PHP_EOL;
启用日志记录
您可以在创建客户端后添加以下行来启用日志记录
$client->setLogger($myPsrLogger);
日志记录器应实现PSR LoggerInterface
。如果正在使用的传输实现LoggerAwareInterface
,则此调用将同时设置传输的日志记录器。内置传输支持此功能。
选择不同的Zoho领域
默认情况下,ZohoCRMClient将连接到crm.zoho.com
上的API。如果您希望连接到不同的API,可以在构造函数中将TLD作为第三个参数提供。例如,位于EU领域的客户应按如下方式实例化客户端
$client = new ZohoCRMClient('Leads', 'yourAuthKey', 'eu');
使用自定义传输
如果愿意,您可以为ZohoCRMClient提供自定义传输类,如下所示
$buzzTransport = new BuzzTransport( new \Buzz\Browser(new \Buzz\Client\Curl()), 'https://crm.zoho.com/crm/private/xml/' ); $buzzTransport->setLogger($logger); $transport = new XmlDataTransportDecorator( new AuthenticationTokenTransportDecorator( 'yourAuthKey', $buzzTransport ) ); $client = new ZohoCRMClient('Leads', $transport);
已实现的调用
目前仅支持以下调用
添加新调用相对容易,请查看Request目录中的一个类以获取示例。在Request类创建后,可能需要在XmlDataTransportDecorator类中更改响应XML的解析。
更多示例
insertRecords()
use Christiaan\ZohoCRMClient\ZohoCRMClient; $client = new ZohoCRMClient('Contacts', 'yourAuthKey'); $records = $client ->insertRecords() ->addRecord([ 'Email' => 'john@example.com', 'First Name' => 'John' ]) ->request();
您可以选择在request()
之前将onDuplicateUpdate()
或onDuplicateError()
添加到链中,以指示Zoho在重复记录上更新或失败。重复检查取决于目标模块,请参阅Zoho文档中的列表。
数组$records
将包含您尝试创建的每个记录的条目,成功时将包含新记录(或更新的记录)的ID。
updateRecords()
use Christiaan\ZohoCRMClient\ZohoCRMClient; $client = new ZohoCRMClient('Contacts', 'yourAuthKey'); $records = $client ->updateRecords() ->addRecord([ 'Id' => '(ID returned from insert, search, ...)' 'Last Name' => 'Smith' ]) ->request();
在更新多个记录时,需要指定每条记录的ID。或者,如果只更新单个记录,您也可以调用id()
来设置ID。按记录设置ID在两种情况下都适用。
searchResults()
use Christiaan\ZohoCRMClient\ZohoCRMClient; $client = new ZohoCRMClient('Contacts', 'yourAuthKey'); $records = $client ->searchRecords() ->criteria('Email:john@example.com') ->request();
有关如何编写准则的完整说明,请参阅Zoho文档。