【问题标题】:Updating back the http response body in Salesforce Case object更新 Salesforce 案例对象中的 http 响应正文
【发布时间】:2021-07-22 03:46:45
【问题描述】:

我正在尝试将 http 响应正文“key”值更新回 salesforce 中的案例对象。

回复:

{
    "id": "21361",
    "key": "CPT-127",
    "self": "https://demandblue.atlassian.net/rest/api/2/issue/21378"
}

代码:

public static void createCase(String id,String Description,String Subject, String CaseNumber) {
          Http http = new Http();
        HttpRequest request = new HttpRequest();
       request.setEndpoint('https://TrainingAPAC.jitterbit.cc/v1.1/caseSyncInsert?id='+id+'&Jid='+Subject+'&desc='+Description+'&caseNumber='+CaseNumber);
       request.setMethod('POST');
       request.setHeader('Content-Type', 'application/json;charset=UTF-8'); 
         HttpResponse response = http.send(request); 
        System.debug(response.getStatusCode());
        System.debug(response.getBody());
        **String key = response.getBody();**
        
 
  }

如何将键值从对 Salesforce 中的案例对象的响应中更新回来。

【问题讨论】:

    标签: http triggers salesforce case response


    【解决方案1】:

    id 是 Salesforce 案例记录 ID?以500... 开头的东西? (这样调用你的变量是非常糟糕的主意。Id 是一种类型。你在自找麻烦,你所做的就像Account integer = null; // happy debugging suckers)。调用变量caseId 什么的...

    如果标注正常并返回,您可以使用它将其保存回案例:

    if(response.getStatusCode() == 200){
        Case c = new Case(
            Id = caseId,
            Description = response.getBody()
        );
        update c;
    }
    

    这不是很好(将用 JSON 覆盖您的描述),但应该可以帮助您入门。你需要反序列化这个JSON。 大概是这样的

    Map<String, Object> m = (Map<String, Object>) JSON.deserializeUntyped(response.getBody());
    c.Key__c = m.get('key');
    

    【讨论】:

      猜你喜欢
      • 2020-11-16
      • 2018-09-17
      • 2013-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      • 2018-11-27
      相关资源
      最近更新 更多