PHP curl Zendesk для обновления тикета с темой и описанием

Я хочу обновить билет zendesk методом php curl. Я хочу обновить тему и описание поля. ИЛИ Есть ли что-нибудь? Мы можем иметь свой собственный идентификатор билета и передавать его при создании билета.

Я использовал следующий код для обновления билета.

$create = json_encode(array('ticket' => array('subject' => $arr['z_subject'], 'description' => $arr['z_description'], 'requester' => array('name' => $arr['z_name'], 'email' => $arr['z_requester'],'custom_fields' => $custom_fields))), JSON_FORCE_OBJECT);

//new ticket
$data = curlWrap("/tickets.json", $create, "POST");

$ticket_id = $data->ticket->id;

$arr['z_description'] = $arr['z_description'] . " " . $ticket_id;
$arr['z_subject'] = $arr['z_subject'] . " " . $ticket_id;

print_r($arr);
echo "<br /><br />";

$create = json_encode(array('ticket' => array('subject' => $arr['z_subject'], 'description' => $arr['z_description'])));
$ticketid="/tickets/" . $ticket_id . ".json";

print $ticketid ."<br />";
//updating ticket
$data = curlWrap($ticketid, $create, "PUT");
var_dump($data);

function curlWrap($url, $json, $action)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt($ch, CURLOPT_MAXREDIRS, 10 );
    curl_setopt($ch, CURLOPT_URL, ZDURL.$url);
    curl_setopt($ch, CURLOPT_USERPWD, ZDUSER."/token:".ZDAPIKEY);

    switch($action){
        case "POST":
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
            curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
            break;
        case "GET":
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
            break;
        case "PUT":
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
            curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
            break;
        case "DELETE":
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
            break;
        default:
            break;
    }
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
    curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    $output = curl_exec($ch);
    curl_close($ch);
    $decoded = json_decode($output);
    return $decoded;
}

1 ответ

Как вы можете видеть здесь, Zendesk Core API - это не что иное, как первый комментарий, который вы опубликовали, поэтому вы не можете изменить тему. Но вы можете сделать это для описания просто так, как указано в вашем вопросе.

Если это может помочь, всякий раз, когда вы создаете билет, вы получаете сообщение обратной передачи, содержащее идентификатор и некоторую дополнительную информацию, которую вы можете увидеть здесь. Создание билетов.

Другие вопросы по тегам