loco / loco
Loco SDK for PHP, including REST API client
Installs: 421 832
Dependents: 2
Suggesters: 0
Security: 0
Stars: 17
Watchers: 4
Forks: 7
Open Issues: 0
Requires
- php: ^7.1.3|^8.0
- ext-json: *
- ext-zip: *
- guzzlehttp/guzzle-services: ^1.1
- guzzlehttp/psr7: ^1.8|^2.1
- symfony/console: ~4.0|~5.0|^6.0|^7.0
Requires (Dev)
- loco/swizzle: @dev
- phpunit/phpunit: ~7.0|~8.0|~9.0
- symfony/translation: ~4.0|~5.0|^6.0|^7.0
This package is auto-updated.
Last update: 2024-09-20 11:42:21 UTC
README
Installation
Installation is via Composer.
Add the latest stable version of loco/loco to your project's composer.json
file as follows:
"require": { "loco/loco": "^2.0" }
REST API Client
The SDK includes a REST client for the Loco API.
Client usage
The client is built on Guzzle. Basic usage is to construct with your API key and call the endpoint methods directly. The following example simply verifies your credentials:
$client = Loco\Http\ApiClient::factory(['key' => 'your_api_key']); $result = $client->authVerify(); printf("Authenticated as '%s'\n", $result['user']['name']);
See the example directory for more.
Advanced options
Additionally the ApiClient::factory
method can take any arguments accepted by Guzzle's client constructor.
See Request Options and Handlers and Middleware for full details.
Command Line Client
A Console interface supporting all methods of the Loco API is at bin/console
. Just run it to see all the available options.
The console reads from config.json, but you can override your API key from the command line. Run the following to verify your credentials:
bin/console loco:auth:verify -v -k <your_api_key>
Documentation
- Check the Loco API documentation for full details on each endpoint.
- See the example directory for more working code examples.
Breaking changes in v2.0
Updating from Guzzle 3 to Guzzle 6 brought some necessary breaking changes with it. If you're upgrading from 1.0.18, please note the following:
- The structure of
config.json
has changed. Note in particular a single root object containing your values as per the example config. - The version number of the SDK is no longer synced to the version of the API. Each release will however be built against the latest version of the live service.