bklein01 / suitecrmclient
这是 SuiteCRM 使用的免费客户端库的一个分支,用于抽象各种 API 使用,以实现更简单的集成。由 PortoSpire 提供
Requires
- php: 8.1.*
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- phpunit/phpunit: ^8.4
Suggests
- laminas/laminas-log: A psr-3 log-implementation provider
This package is auto-updated.
Last update: 2024-09-15 22:52:26 UTC
README
SuiteCRM 客户端库
一个用于 SuiteCRM 的免费(LGPL3)客户端库,用于抽象各种 API 使用,以实现更简单的集成。
介绍
此包提供 SuiteCRM 客户端,用于抽象 API 调用和表单提交,以从 SuiteCRM 实例提供和接收数据。它根据需要使用人员表单活动以及 V8 和 rest API。
设置
将其添加到项目的 composer.json 中
composer require portospire/suitecrmclient
使用
此包旨在支持 Laminas Mezzio 和 Laminas MVC,同时也可作为独立库使用。
获取 SuiteCRM 实例中 Web 活动列表的示例
$SuiteCRMClient->setServerDomain($server_domain); $SuiteCRMClient->setClientId($client_id); $SuiteCRMClient->setClientSecret($client_secret); $filter = new \PortoSpire\SuiteCRMClient\Model\Filter(['campaign_type' => 'Web']); $json = $SuiteCRMClient->getCampaigns([], ['size' => 20, 'number' => 1], 'name', $filter); // 这将包含结果的 JSON $campaignsFull = $SuiteCRMClient->convertJsonToGenerics($json); // 将 JSON 转换为 PHP 对象
将潜在客户提交到 SuiteCRM 实例中的 Web 到潜在客户表单的示例:(如果您有自定义字段,可以扩展提供的模型(Model/WebToLead 等))
$values = (array) $WebToLead; // 期望是一个键=>值对的数组,其中键与 web-to-lead 表单的不同字段匹配 $SuiteCRMClient->setServerDomain($server_domain); $SuiteCRMClient->setClientId($client_id); $SuiteCRMClient->setClientSecret($client_secret); $SuiteCRMClient->submitWebToLead($values, $campaign_id); // 这必须与 SuiteCRM 中 web-to-lead 表单关联的活动的 ID 匹配
Mezzio
将 ConfigProvider 类添加到配置聚合器中(通常位于 config/config.php)
$aggregator = new ConfigAggregator([ ... \PortoSpire\SuiteCRMClient\ConfigProvider::class, ... 然后根据您的用例,在 handlers/middleware 中使用客户端。
Laminas MVC
除了将 composer.json 中的依赖项添加到项目中外,无需进行其他步骤即可开始使用 Laminas MVC 中的库。
独立
除了将 composer.json 中的依赖项添加到项目中外,无需进行其他步骤即可开始使用库。