processfast / yii2-suitecrm-rest-api-client
SuiteCRM / SugarCRM 6.x REST API 包装类
dev-master
2022-03-06 21:54 UTC
Requires
- php: >=5.6.19 <7.5
- yiisoft/yii2-httpclient: <=2.0.4
This package is auto-updated.
Last update: 2024-09-07 03:08:02 UTC
README
此扩展为 Yii2 框架提供了 AWS SDK 3 集成
内容
- 关于
- 安装
- Yii2 配置
- 使用示例
- 注意
- get_note_attachment() 示例
- set_note_attachment() 示例
1. 关于
- PHP 包装类,用于与 SugarCRM REST API 交互
- 创建、读取和更新功能
- 关于 SuiteCRM 的更多信息: https://suitecrm.com/
- 关于 SugarCRM 的更多信息: http://www.sugarcrm.com/
- API 文档: http://developers.sugarcrm.com/
- 设计用于与 SuiteCRM / SugarCRM v.6 配合使用
2. 安装
安装此扩展的首选方式是通过 composer。
运行以下命令:
php composer.phar require --prefer-dist processfast/yii2-suitecrm-rest-api-client "*"
或者将以下内容添加到您的 composer.json
文件的 require 部分:
"processfast/yii2-suitecrm-rest-api-client": "*"
3. Yii2 配置
要使用此扩展,只需在您的应用程序配置中添加以下代码:
return [ //.... 'components' => [ 'suitecrm' => [ 'class' => 'processfast\suitecrm\SuiteCrmRestApi', 'rest_url' => 'https://mysuitecrm.com/service/v2/rest.php', 'username' => 'your-crm-username', 'password' => 'your-crm-password' ], ], ];
4. 使用示例
$suiteCrm = Yii::$app->suitecrm; $suiteCrm->connect(); $error = $suiteCrm->get_error(); if($error !== FALSE) { return $error['name']; } $results = $suiteCrm->get_with_related("Accounts", array("Accounts" => array('id','name'), "Cases" => array('id','status'))); $suiteCrm->print_results($results);
示例代码片段
- 5. 注意
is_valid_id()
函数可能需要根据不同的 SugarCRM 版本进行修改。
SugarCRM 的不同版本有不同的 ID 格式。
6. get_note_attachment() 示例
$suiteCrm = Yii::$app->suitecrm;
$suiteCrm->connect();
$result = $suiteCrm->get_note_attachment($note_id);
$filename = $result['note_attachment']['filename'];
$file = $result['note_attachment']['file'];
$file = base64_decode($file);
header("Cache-Control: no-cache private");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename='.$filename);
header("Content-Type: application/vnd.ms-excel");
header("Content-Transfer-Encoding: binary");
header('Content-Length: '. strlen($file));
echo $file;
exit;
此示例输出笔记附件的内容,给定笔记 ID。假设 $note_id 包含要修改的笔记的 ID。
6. set_note_attachment() 示例
此示例说明如何从 HTML 表单设置笔记的附件。假设 $note_id 包含要修改的笔记的 ID。
<form method="post" action="example.php" enctype="multipart/form-data">
<input name="note_file" type="file" />
<input type="submit" value="Go" />
</form>
HTML 代码
$suiteCrm = Yii::$app->suitecrm;
$suiteCrm->connect();
if ($_FILES["note_file"]["error"] > 0) {
// Error: $_FILES["file"]["error"]
} else if(isset($_FILES['note_file']['tmp_name']) && $_FILES['note_file']['tmp_name']!="") {
$handle = fopen($_FILES['note_file']['tmp_name'], "rb");
$filename = $_FILES['note_file']['name'];
$contents = fread($handle, filesize($_FILES['note_file']['tmp_name']));
$binary = base64_encode($contents);
$file_results = $sugar->set_note_attachment($note_id,$binary,$filename);
}
PHP 代码(example.php)
7. get_available_modules() 示例
HTML 代码
$suiteCrm = Yii::$app->suitecrm;
$modules = $suiteCrm->get_available_modules();
此示例说明如何获取 SuiteCRM/SugarCRM 中的可用模块。所有模块。这是一个非常有用的函数,用于构建未来的 SuiteCRM/SugarCRM 插件。