2016-11-29 80 views
1

中的Freshdesk API新用户这是我的代码:创建使用PHP

 $contact_data = json_encode(array(
      "name" => "Jimmy Jimmy", 
      "email" => "[email protected]", 
      "phone" => "555-555-555", 
      "mobile" => "312-312-213" 
     )); 

     $url = $domain."api/v2/contacts"; 
     $ch = curl_init($url); 
     $header[] = "Content-type: application/json"; 
     curl_setopt($ch, CURLOPT_POST, true); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
     curl_setopt($ch, CURLOPT_HEADER, true); 
     curl_setopt($ch, CURLOPT_USERPWD, "$apiKey"); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $contact_data); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     $server_output = curl_exec($ch); 
     $info = curl_getinfo($ch); 
     $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); 
     $headers = substr($server_output, 0, $header_size); 
     $response = substr($server_output, $header_size); 
     if($info['http_code'] == 201) { 
      echo "Contact created successfully, the response is given below \n"; 
      echo "Response Headers are \n"; 
      echo $headers."\n"; 
      echo "Response Body \n"; 
      echo "$response \n"; 
     } else { 
      if($info['http_code'] == 404) { 
       echo "Error, Please check the end point \n"; 
      } else { 
       echo "Error, HTTP Status Code : " . $info['http_code'] . "\n"; 
       echo "Headers are ".$headers."\n"; 
       echo "Response is ".$response; 
      } 
     } 
     curl_close($ch); 

当我执行这段代码,我收到此错误消息:提及

Response is {"description":"Validation failed","errors":[{"field":"last_name","message":"It should be a/an String","code":"missing_field"},{"field":"life_cycle_status","message":"It should be a/an String","code":"missing_field"}]} 

文档什么这些字段:last_name & life_cycle_status在新鲜工作台中创建新联系人。任何想法我做错了什么? THX

[更新]

$contact_data = json_encode(array(
      "name" => "Jimmy Jimmy", 
      "email" => "[email protected]", 
      "phone" => "555-555-555", 
      "mobile" => "312-312-213" 
      "life_cycle_status" => "asdasdsa", 
      "last_name" =>"dasdasdad" 
     )); 

有了这些新的项目,我得到这个消息的错误:

Response is {"description":"Validation failed","errors":[{"field":"life_cycle_status","message":"Unexpected/invalid field in request","code":"invalid_field"},{"field":"last_name","message":"Unexpected/invalid field in request","code":"invalid_field"}]} 

回答

1

这些字段不是默认的的Freshdesk联系实体但是,很可能在后端需要定义(检查管理员>中的Freshdesk的后端客户字段)

这意味着我们必须将其定义为custom_fields如Freshdesk API文档here中所示。

这意味着你的POST阵列会是这个样子

$contact_data = json_encode(array(
    'name' => 'Jimmy Jimmy', 
    'email' => '[email protected]', 
    'custom_fields' => [ 
     // put all your custom fields here 
     'last_name' => 'Jimmy', 
     'life_cycle_status' => 'value' 
    ] 
)); 
1

那么你已经有答案了 - 你没看该错误信息是吗?

响应:

{ 
    "description": "Validation failed", 
    "errors":[ 
     { 
     "field":"last_name", 
     "message":"It should be a/an String", 
     "code":"missing_field" 
     }, 
     { 
     "field":"life_cycle_status", 
     "message":"It should be a/an String", 
     "code":"missing_field" 
     } 
    ] 
} 

含义:

last_namelife_cycle_status都需要一个String并不能为空。

+0

你可以检查我的帖子吗?我更新了它 –