Создайте пользователя с помощью Freshdesk PHP API

Я реализую API Freshdesk для одного из моих проектов.

Используя PHP API freshdesk, я пытался создать нового пользователя, но я получаю внутреннюю ошибку сервера, когда запускаю код в плагине postman и использую инфраструктуру 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" => "[email protected]"));

$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);
?>

1

Решение

Я использовал тот же PHP API Freshdesk. Я думаю, что параметры, которые вы определили, неприемлемы для свежего стола. Нам нужно передать параметры так, как они определены.

Вместо прохождения user_name ты должен пройти name также вместо прохождения email_id ты должен пройти email,

Как и когда вы передаете настраиваемые поля в своем API, это означает, что он должен существовать или предопределяться в вашей учетной записи, тогда будет работать только он. потому что вы проходите мимо department является Accounts в вашем API, что означает 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" => "[email protected]"));

$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 и пароль еще раз перед отправкой запроса, являются ли оба правильными или неправильными?

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]