Default REST client implementation.

author Tomasz Sawicki (https://github.com/Furgas)
package Common\REST

 Methods

Deletes object from server by sending DELETE request.

delete(string $controller, array $parameters) 

see \global\kyRESTClientInterface::delete()

Parameters

$controller

string

Kayako controller to call.

$parameters

array

List of additional parameters (like object identifiers or search parameters).

Sends GET request to the server and returns parsed data.

get(string $controller, array $parameters) : array

see \global\kyRESTClientInterface::get()

Parameters

$controller

string

Kayako controller to call.

$parameters

array

Optional. List of additional parameters (like object identifiers or search parameters).

Returns

arrayXML parsed to array in @see ky_xml_to_array() style.

Creates object on the server by sending POST request and returns its data.

post(string $controller, array $parameters, array $data, array $files) : array

Format of $files parameter:

array(
    '' =>
        array('file_name' => '', 'contents' => ''),
    ...repeat...
)

see \global\kyRESTClientInterface::post()

Parameters

$controller

string

Kayako controller to call.

$parameters

array

Optional. List of additional parameters (like object identifiers or search parameters).

$data

array

Optional. Data array with parameter name as key and parameter value as value.

$files

array

Optional. Array of files.

Returns

arrayXML parsed to array in @see ky_xml_to_array() style.

Updates object on the server by sending PUT request and returns its new data.

put(string $controller, array $parameters, array $data, array $files) : array

Format of $files parameter:

array(
    '' =>
        array('file_name' => '', 'contents' => ''),
    ...repeat...
)

see \global\kyRESTClientInterface::put()

Parameters

$controller

string

Kayako controller to call.

$parameters

array

Optional. List of additional parameters (like object identifiers or search parameters).

$data

array

Optional. Data array with parameter name as key and parameter value as value.

$files

array

Optional. Array of files in form of: array('' => array('file_name' => '', 'contents' => ''), ...).

Returns

arrayXML parsed to array in @see ky_xml_to_array() style.

Injects library configuration.

setConfig(\kyConfig $config) 

see \global\kyRESTClientInterface::setConfig()

Parameters

$config

\kyConfig

Library configuration.

Sends the request to Kayako server and returns parsed response.

processRequest(string $controller, string $method, array $parameters, array $data, array $files) : array

Parameters

$controller

string

Kayako controller to call. Null to use default controller defined for object.

$method

string

HTTP verb.

$parameters

array

Optional. List of additional parameters (like object identifiers or search parameters).

$data

array

Optional. Data array with parameter name as key and parameter value as value.

$files

array

Optional. Array of files in form of: array('' => array('file_name' => '', 'contents' => ''), ...).

Exceptions

\kyException

Returns

array

Builds and returns POST/PUT request body.

buildPostBody(array $data, array $files, array $headers) : string

If files are provided the result is encoded using multipart/form-data otherwise application/x-www-form-urlencoded is used. Part of code are taken from https://github.com/fictivekin/Resty.php.

Parameters

$data

array

Data array with parameter name as key and parameter value as value.

$files

array

Optional. Array of files in form of: array('' => array('file_name' => '', 'contents' => ''), ...).

$headers

array

Optional. Placeholder for headers.

Returns

string

Prepares URL (and returns it) and POST data (updates it via reference).

getRequestData(string $controller, string $method, array $parameters, array $data) : string

Parameters

$controller

string

Kayako controller to call. Null to use default controller defined for object.

$method

string

HTTP verb.

$parameters

array

List of additional parameters (like object identifiers or search parameters).

$data

array

Placeholder for POST/PUT data.

Returns

string

 Properties

 

Library configuration.

$config : \kyConfig

 Constants

 

HTTP verb - DELETE.

METHOD_DELETE : string
Inherited

For deleting objects.

inherited_from \kyRESTClientInterface::METHOD_DELETE
 

HTTP verb - GET.

METHOD_GET : string
Inherited

For getting objects.

inherited_from \kyRESTClientInterface::METHOD_GET
 

HTTP verb - POST.

METHOD_POST : string
Inherited

For creating object.

inherited_from \kyRESTClientInterface::METHOD_POST
 

HTTP verb - PUT.

METHOD_PUT : string
Inherited

For updating objects.

inherited_from \kyRESTClientInterface::METHOD_PUT