2015-09-12 1 views
1

Je veux mettre à jour le billet zendesk par la méthode php curl je veux mettre à jour le sujet et le champ de description. OU Y at-il quelque chose Nous pouvons avoir notre propre identifiant de ticket et le transmettre lors de la création d'un ticket. J'utilisais le code suivant pour mettre à jour le ticket.PHP curl Zendesk pour mettre à jour le billet avec le sujet et la description

$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; 
} 

Répondre

0

Comme vous pouvez le voir ici, Zendesk Core API le sujet est rien, mais le premier commentaire que vous avez posté, donc, vous ne pouvez pas changer le sujet. Mais vous pouvez le faire pour la description juste en faisant comme mentionné sur votre question. Si cela peut vous aider, lorsque vous créez un ticket, vous recevez un message de publication contenant l'identifiant et quelques informations supplémentaires, comme vous pouvez le voir ici Creating tickets.