datenkraft/bb-freshdesk-sku-usage-collector-api-php-client

The Freshdesk SKU Usage Collector API PHP Client enables you to work with the Freshdesk SKU Usage Collector API

v1.3.8 2024-01-18 10:53 UTC

This package is auto-updated.

Last update: 2024-04-19 13:31:35 UTC


README

Introduction

The Freshdesk SKU Usage Collector API PHP Client enables you to work with the Freshdesk SKU Usage Collector API.

This PHP package is generated by an API client generator.

Prerequisites

  • PHP 8.0 or later for production

Versioning

This project uses the following versioning format:

v<APIMajorVersion>.<BaseClientMajorVersion>.<ApiIncrementalUpdateVersion>
  • APIMajorVersion: Matches the major version of the API the client is intended for.
  • BaseClientMajorVersion: Is a client specific version. Changes in this level also mean breaking changes, which differs from the classic SemVer format.
  • ApiIncrementalUpdateVersion: Increases with every release.

Installation

You can use Composer. Follow the installation instructions if you do not already have composer installed.

As described in the Versioning paragraph before, breaking changes can occur within the first two version parts, therefore it is recommended to use a require constraint as shown below to stay within 1.2 and not go to 1.3 or higher.

If you want to use the v1 API, use the client version v1.X.0, with X replaced by the highest available release number.

# Example
composer require datenkraft/bb-freshdesk-sku-usage-collector-api-php-client "~1.2.0"

In your PHP script, make sure you include the autoloader:

require 'path/to/vendor/autoload.php';

Using the library

The library can be used to communicate with the Freshdesk SKU Usage Collector Resource Server. The Client includes functionalities for every endpoint defined in the openapi.json. The Client also is auto generated with jane-php using an openapi.json file.

Creating a client

require 'path/to/vendor/autoload.php';

// Valid clientId, clientSecret and requested scopes
$clientId = '1234';
$clientSecret = 'abcd';

$config['clientId'] = $clientId;
$config['clientSecret'] = $clientSecret;

$factory = new ClientFactory($config);
$client = Client::createWithFactory($factory);

Example Endpoint: Add tickets

$ticket = (new Ticket())
    ->setTicketId(1)
    ->setStatus("open")
    ->setProduct("p1")
    ->setSource("source")
    ->setCreatedDate(new \DateTime())
    ->setLastUpdatedDate(new \DateTime())
    ->setAgentReplyCount(1)
    ->setTimesReopened(0)
    ;

$tickets = [
    $ticket,
    // tickets can be inserted in bulk
];
$response = $client->putTickets($tickets);
// $response is on success a list of Ticket models, in case of an error an exception or an ErrorResponse object as a fallback 

Licence

This repository is available under the MIT license.