mctekk/zohocrm

用于与 Zoho CRM API 交互的包装器

0.1.1 2020-06-07 02:45 UTC

This package is auto-updated.

Last update: 2024-09-08 02:30:50 UTC


README

Zoho CRM 库是 Zoho API 的简单包装

在 MC,我们与 Zoho 的工作很多,我们发现自己一遍又一遍地重复相同的模式,因此我们构建了这个库。

安装

使用 composer,执行以下命令以将需求添加到您的 composer.json

$ composer require mctekk/zohocrm:^0.1

让我们开始吧

Zoho API V2 已经改变了它们处理连接到 API 的方式,现在它使用 OAuth 而不是仅使用简单的私钥和公钥。因此,为了使此包与您的应用程序一起工作,您必须执行以下操作

待办事项 在未来的版本中,我们将直接作为 PHP 脚本添加 refresh_token 生成器

<?php

use Zoho\CRM\ZohoClient;

$ZohoClient = new ZohoClient(); // Make the connection to zoho api
$ZohoClient->setAuthRefreshToken(getenv('ZOHO_AUTH_REFRESH_TOKEN'));
$ZohoClient->setZohoClientId(getenv('ZOHO_CLIENT_ID'));
$ZohoClient->setZohoClientSecret(getenv('ZOHO_CLIENT_SECRET'));
$refresh = $ZohoClient->generateAccessTokenByRefreshToken();
//or with redis $ZohoClient->manageAccessTokenRedis($redis);

$this->zohoClient->setModule('Leads');

$lead = new Lead();

$leadRequest = [
	'First_Name' => 'Test',
	'Last_Name' => 'Zoho',
	'Phone' => '000000000',
	'Email' => 'testzoho@mctekk.com'
];

$response = $this->zohoClient->insertRecords(
	$leadRequest,
	['wfTrigger' => 'true']
);

$response->getResponseData();

上述 $request 数组的值可以从 POST 中获取,如果您在着陆页中使用表单 :D,只需确保数组中所有键(HTML 字段的名称)都是实体 Lead 的有效属性,默认属性可以在文档 此处 找到,或者确保这些属性存在于您的账户中,如果您在 Zoho 上自定义了 Lead;以下约定如下

  • 字段名称不是 CamelCase。
  • 带空格的字段名称,空格由下划线替换。
  • 需要从数组中清除(unset)所有不属于实体的值,如果您不想这样做,可以创建另一个干净的数组。

使用 .eu 域(即您的 CRM URL 为 crm.zoho.eu,而不是 crm.zoho.com)的用户应在实例化 ZohoClient 后调用 setEuDomain(),例如

$ZohoClient = new ZohoClient(); // Make the connection to zoho api
$ZohoClient->setAuthRefreshToken(getenv('ZOHO_AUTH_REFRESH_TOKEN'));
$ZohoClient->setZohoClientId(getenv('ZOHO_CLIENT_ID'));
$ZohoClient->setZohoClientSecret(getenv('ZOHO_CLIENT_SECRET'));
$refresh = $ZohoClient->generateAccessTokenByRefreshToken();
$ZohoClient->setEuDomain();
$ZohoClient->setModule('Leads'); // Set the module