如何通过SugarCRM v10 API创建CommentLog日志条目
SugarCRM v10 API 新增Case关联CommentLog条目实现方案
核心调用逻辑说明
SugarCRM的CommentLog属于绑定父模块的附属资源,不可直接向CommentLog模块根路由传入父ID创建记录,你之前调用的路由格式不符合官方规则。
两种可行实现方案
方案1:使用addComment专属接口(推荐)
这是官方封装的评论专用操作接口,调用规则如下:
- 请求方法:
POST - 请求路由:
$url/rest/v10/Cases/$CaseId/comment注意:父模块名
Cases首字母需和后台配置的模块名保持一致,替换为其他模块名即可实现对不同模块的评论新增,$CaseId为你要绑定的目标工单ID - 必带请求头:
OAuth-Token:鉴权后获取的访问令牌Content-Type:application/json
- 请求体JSON示例:
{ "comment": "需要新增的评论内容", "attachments": [] }
如需携带附件,在attachments数组中传入对应附件的GUID即可,调用成功会返回200状态码及完整的CommentLog条目数据。
方案2:直接创建CommentLog记录
如果需要自定义更多评论字段,可直接向CommentLog模块基础路由提交创建请求,需明确指定父模块关联关系:
- 请求方法:
POST - 请求路由:
$url/rest/v10/CommentLog - 请求体JSON示例:
{ "parent_type": "Cases", "parent_id": "目标工单ID", "entry": "评论内容", "created_by_name": "评论发布人用户名" }
PHP rest-php-client 调用示例
<?php require_once 'vendor/autoload.php'; // 初始化客户端 $sugarClient = new \SugarCRM\Rest\Client([ 'baseUrl' => '你的SugarCRM站点根地址', 'username' => '登录账号', 'password' => '登录密码', 'platform' => 'api', ]); // 鉴权登录 $sugarClient->login(); // 新增评论 $caseId = '目标工单的实际ID'; $commentData = [ 'comment' => 'PHP客户端新增的测试评论' ]; $response = $sugarClient->post("Cases/{$caseId}/comment", $commentData); // 打印返回结果验证 print_r($response); ?>
常见失败排查项
- 检查接口路由的模块名大小写,SugarCRM API路由对模块名大小写敏感
- 确认当前鉴权账号拥有Cases模块的编辑权限、CommentLog模块的创建权限
- 检查POST请求体的JSON格式是否合法,无语法错误
内容的提问来源于stack exchange,提问作者Nelson
相关产品推荐
相关产品推荐

