Use the cases method to add, find and update cases.
see full documentation: https://fusedesk.com/help/api/cases/
Source Code:
<?php
class fusedesk_api
{
public $fusedeskAppName = 'XXXXXXXX'; // Your fusedesk app name
public $fusedeskApiKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Your fusedesk api key
function _newcase($params)
{
$err = array();
$args['repid'] = (!empty($params['repid']) ? $params['repid'] : '');
$args['contactid'] = (!empty($params['contactid']) ? $params['contactid']: '');
$args['status'] = (!empty($params['status']) ? $params['status']: '');
$args['companyid'] = (!empty($params['companyid']) ? $params['companyid']: '');
$args['date_assigned'] = (!empty($params['date_assigned']) ? $params['date_assigned']: '');
$args['date_opened'] = (!empty($params['date_opened']) ? $params['date_opened']: '');
$args['companyid'] = (!empty($params['companyid']) ? $params['companyid']: '');
date_default_timezone_set('Australia/Sydney');
$args['date_updated'] = date('Y-m-d H:i:s',time());
if(!empty($params['email'])){
$args['email'] = $params['email'];
}
if(!empty($params['depid'])){
$args['depid'] = $params['depid'];
}else{
$err[] = 'depid';
}
if(!empty($params['summary'])){
$args['summary'] = $params['summary'];
}else{
$err[] = 'summary';
}
if(!empty($params['details'])){
$args['details'] = $params['details'];
}else{
$err[] = 'details';
}
if(!empty($params['openedby'])){
$args['openedby'] = $params['openedby'];
}else{
$err[] = 'openedby';
}
if(empty($err)){
$results = json_encode($this->_apicall("/cases/", $args, 'POST'));
}else{
$results = json_encode(array('error' => 'Invalid submission! Please refresh the page and try again.'));
}
return $results;
}
function _apicall( $url, $args = array(), $type = 'GET' )
{
$fullurl = 'https://'.$this->fusedeskAppName.'.fusedesk.com/api/v1'.$url;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $fullurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FuseDesk-API-Key: '.$this->fusedeskApiKey));
if($type == 'POST') {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
} else {
curl_setopt($ch, CURLOPT_URL, $fullurl.'?'.http_build_query($args));
}
$result = json_decode(curl_exec($ch));
curl_close($ch);
return $result;
}
}
?>
Sample Code:
<?php
$params['repid'] = (int) 1;
$params['depid'] = (int) 001;
$params['summary'] = 'Test API summary';
$params['details'] = 'Test API details';
$params['openedby'] = 'Juan Dela Cruz';
$payload = new fusedesk_api();
$cases = $payload->_newcase($params);
print_r($cases);
?>