我正在为我的一个项目实现 freshdesk API。
使用 freshdesk PHP API,我尝试创建新用户,但是当我在邮递员插件中运行代码并且我为我的项目使用 SLIM 框架时,我遇到了内部服务器错误。
请检查我的以下代码,并提前表示感谢!
.PHP:
<?php
$api_key = "MY_API_KEY";
$password = "xyz123M";
$mydomain = "MY_DOMAIN";
$custom_fields = array(
"department" => "Accounts"
);
$contact_data = json_encode(array(
"user_name" => "Sri Jitthu",
"email_id" => "srij@mydomain.com"
));
$url = "https://$mydomain.freshdesk.com/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, "$api_key:$password");
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);
?>
我使用了相同的 freshdesk PHP API。我认为您定义的参数是新鲜办公桌无法接受的。我们需要传递定义的参数。
与其传递user_name
不如传递name
而不是传递email_id
不如传递email
。
以及当您在 API 中传递自定义字段时意味着您的帐户中应该存在或预定义,那么只有它才能工作。 例如,您要传递department
API 中Accounts
,这意味着Accounts
应该在您的 Freshdesk 帐户中预定义。
检查下面的代码并尝试。希望对您有所帮助。
.PHP:
<?php
$api_key = "YOUR_API_KEY";
$password = "xyz";
$yourdomain = "YOUR_DOMAIN";
$custom_fields = array(
"department" => "Accounts"
);
$contact_data = json_encode(array(
"name" => "Sri Jitthu",
"email" => "srij@mydomain.com"
));
$url = "https://$yourdomain.freshdesk.com/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, "$api_key:$password");
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);
?>
在发送请求之前,还要再次检查您的 API 密钥和密码,两者是否正确?