PHP code example of furious-squad / furious-api-sdk

1. Go to this page and download the library: Download furious-squad/furious-api-sdk library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

furious-squad / furious-api-sdk example snippets


use Furious\FuriousApiSdk\FuriousApiSdk;
use Furious\FuriousApiSdk\Model\Config;

$config = new Config("https://<my instance url>");
$sdk = new FuriousApiSdk($config, [
  'timeout' => 5
]);

$sdk->authenticate([
  'username' => 'myAPIUsername',
  'password' => 'myAPIPassword'
]);

use Furious\FuriousApiSdk\Resource\Absence;

$absence = $sdk->getResource(Absence::class);

$results = $absence->search(['pseudo']);

use Furious\FuriousApiSdk\Query\Filter\Equal;

$results = $absence->search(
  ['pseudo', 'status', 'start_date'],
  [ Equal::set('pseudo', 'john.doe') ]
);

use Furious\FuriousApiSdk\Query\Order\OrderAsc;

$results = $absence->search(
  ['pseudo', 'status', 'start_date'],
  [ Equal::set('pseudo', 'john.doe') ],
  [ OrderAsc::field('start_date') ]
);

$response = $absence->create([
  'pseudo'     => 'john.doe',
  'start_date' => '2025-01-01',
  'end_date'   => '2025-01-05',
  'entity'     => 'entity_1',
  'half_day'   => '0',
  'type'       => 'home_office'
]);

$updateResponse = $absence->update([
  'id'         => $absenceId,
  'pseudo'     => 'jane.doe',
  'start_date' => '2025-01-02',
  'end_date'   => '2025-01-06'
]);


use Furious\FuriousApiSdk\Resource\Contract;

$contract = $sdk->getResource(Contract::class);

$response = $contract->create([
  'name'               => 'Example Company',
  'date_limit'         => '2025-07-03',
  'client_company_id'  => 12345,
  'project_id'         => 12345,
  'content'            => 'Example content',
  'prevenance'         => 123,
  'tacite_reconduction'=> 456,
  'entity'             => 'entity_3',
  'custom_fields'      => [
    [ 'name' => 'custom_field_1', 'value' => 'value_1' ],
    [ 'name' => 'custom_field_2', 'value' => 'value_2' ]
  ]
]);

use Furious\FuriousApiSdk\Query\Filter\IsNull;

$results = $absence->search(
  ['id', 'pseudo', 'end_date'],
  [ IsNull::set('end_date') ]
);

$gql = $absence->buildSearchString(
  ['pseudo', 'start_date'],
  [ Equal::set('pseudo', 'jane.doe') ],
  [ OrderAsc::field('start_date') ]
);

echo $gql;

$response = $absence->create([
  [
    'pseudo'     => 'john.doe',
    'start_date' => '2025-09-01',
    'end_date'   => '2025-09-05',
    'entity'     => 'entity_1',
    'half_day'   => '0',
    'type'       => 'home_office'
  ],
  [
    'pseudo'     => 'jane.doe',
    'start_date' => '2025-10-01',
    'end_date'   => '2025-10-05',
    'entity'     => 'entity_2',
    'half_day'   => '0',
    'type'       => 'home_office'
  ]
]);