onesky / api-library-php5

PHP5 library for OneSky API
MIT License
19 stars 12 forks source link

Build Status Code Coverage

Onesky PHP5 API Library

PHP5 library for OneSky API

Requirements

Installation

Install the latest version with composer require onesky/api-library-php5

How to use

Create instance

use Onesky\Api\Client;

$client = new Client();

Set API key and secret

$client->setApiKey('<api-key>')->setSecret('<api-secret>');

Way to make request

// resource   => name of resource in camelcase with 's' tailing such as 'projectTypes', 'quotations', 'importTasks'
// action     => action to take such as 'list', 'show', 'upload', 'export'
// parameters => parameters passed in the request including URL param such as 'project_id', 'files', 'locale'
$client->{resource}('{action}', array({parameters}));

Sample request and get response in array

// list project groups
$response = $client->projectTypes('list');
$response = json_decode($response, true);

// show a project
$response = $client->projects('show', array('project_id' => 999));
$response = json_decode($response, true);

// upload file
$response = $client->files('upload', array(
    'project_id'  => 999,
    'file'        => 'path/to/string.yml',
    'file_format' => 'YAML',
    'locale'      => 'fr'
));
$response = json_decode($response, true);

// export translation
$response = $client->translations('export', array(
    'project_id' => 999,
    'locale'     => 'ja',
    'source_file_name' => 'string.yml'
));
file_put_contents('path/to/file', $response);

// create order
$response = $client->orders('create', array(
    'project_id' => 999,
    'files'      => 'string.yml',
    'to_locale'  => 'de'
));
$response = json_decode($response, true);

How to contribute

Or pick one of the issues and create a PR to solve it.

How to run tests

Note: need to install dependencies using composer to have phpunit.

vendor/bin/phpunit