用于Zoho API的PHP包装器

dev-master 2016-07-07 20:54 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:09:29 UTC


README

支持Laravel 5.*的Zoho PHP包装器

包正在开发中,并非所有方法都有文档

安装

要安装此包,您必须修改您的composer.json文件并运行composer update

"require": {
    "mjmarianetti/zoho": "dev-master"
  }

或者您可以直接运行composer require mjmarianetti/zoho-php

Laravel

打开config/app.php并注册所需的service provider

'providers' => [
  ...
  Mjmarianetti\Zoho\ZohoServiceProvider::class

]

然后您应该发布配置文件

php artisan vendor:publish --provider="Mjmarianetti\Zoho\ZohoServiceProvider"

配置

您可以在.env文件中配置提供的选项。

ZOHO_SCOPE=crmapi
ZOHO_AUTHTOKEN=<INSERT-YOUR-TOKEN-HERE>
ZOHO_FORMAT=json

默认选项如下

ZOHO_SCOPE=crmapi
ZOHO_FORMAT=json

使用方法

初始化

ZohoClient包含到您的项目/文件中

use Mjmarianetti\Zoho\ZohoClient;

如果您使用Laravel,则可以将其作为依赖项注入

public function test(ZohoClient $client)
{

或者如果您将其作为独立库或与其他框架一起使用,您必须提供默认配置,如下所示

$config = [
  'authtoken' => 'YOUR-TOKEN',
  'scope' => 'crmapi',
  'format' => 'json', // or xml
  'baseurl' => 'https://crm.zoho.com/crm/private/'
];

$client = new ZohoClient($config);

方法

初始化后,您可以调用API。

所有这些方法都遵循相同的模式,其中$resource是您要调用的模块,而$params是您要使用的所有参数。

返回的响应通常遵循以下模式

$result = $client->getRecords(RESOURCE,$params);

$result->response->nodata;
$result->response->result->FL
$result->response->result->RESOURCE->row

可用的$resource值

API格式 --> https://www.zoho.com/crm/help/api/modules-fields.html

getRecords

https://www.zoho.com/crm/help/api/getrecords.html

$client->getRecords($resource, $params = [])

getRecordsById

https://www.zoho.com/crm/help/api/getrecordbyid.html

$params应包含ididlist值。

$client->getRecordsById($resource, $params = [])

注意:idlist应该是用分号分隔的唯一ID集合,最多100个值

getMyRecords

https://www.zoho.com/crm/help/api/getmyrecords.html

$client->getMyRecords($resource, $params = [])

getDeletedRecordIds

https://www.zoho.com/crm/help/api/getdeletedrecordids.html

$client->getDeletedRecordIds($resource, $params = [])

//response->result->DeletedIDs;

getSearchRecordsByPDC

https://www.zoho.com/crm/help/api/getsearchrecordsbypdc.html

$client->getSearchRecordsByPDC($resource, $params = [])

deleteRecords

https://www.zoho.com/crm/help/api/deleterecords.html

  $client->deleteRecords($resource, $params = [])

getRelatedRecords

https://www.zoho.com/crm/help/api/getrelatedrecords.html

$client->getRelatedRecords($resource, $params = [])

getFields

https://www.zoho.com/crm/help/api/getfields.html

$client->getFields($resource, $params = [])

getUsers

https://www.zoho.com/crm/help/api/getusers.html

$client->getUsers($resource, $params = [])

delink

https://www.zoho.com/crm/help/api/delink.html

$client->delink($resource, $params = [])

downloadFile

https://www.zoho.com/crm/help/api/downloadfile.html

$client->downloadFile($resource, $params = [])

deleteFile

https://www.zoho.com/crm/help/api/deletefile.html

$client->deleteFile($resource, $params = [])

downloadPhoto

https://www.zoho.com/crm/help/api/downloadphoto.html

$client->downloadPhoto($resource, $params = [])

deletePhoto

https://www.zoho.com/crm/help/api/deletephoto.html

$client->deletePhoto($resource, $params = [])

getModules

https://www.zoho.com/crm/help/api/getmodules.html

$client->getModules($resource, $params = [])

searchRecords

https://www.zoho.com/crm/help/api/searchrecords.html

$client->searchRecords($resource, $params = [])

迭代器

如果您想使用迭代器来遍历接收到的数据,您可以使用它如下

use Mjmarianetti\Zoho\Helpers\ZohoResponseIterator;
use Mjmarianetti\Zoho\ZohoClient;

...
$response = $zc->getRecords('Accounts', []);

$it = new ZohoResponseIterator((array) $response->response->result->Accounts->row);
foreach ($it as $key => $value) {
    //$value->val and $value->content;      
}

目前,您应该检查$response->response->result->Resource->row是否不为空