php-lokalise-api
php-lokalise-api copied to clipboard
Lokalise API v2 PHP library.
Lokalise API v2 official PHP library
Client library for Lokalise API 2.0, written with PHP. Full API reference.
Changelog is located here.
Getting started
- PHP 7.4.x or greater is required
- Install LokaliseApiClient using Composer (recommended) or manually
Composer installation
- Get Composer
- Require LokaliseApiClient with
php composer.phar require lokalise/php-lokalise-api - Add the following to your application's main PHP file:
require 'vendor/autoload.php';
Construct LokaliseApiClient
Create and grab your API token at Lokalise profile
$client = new \Lokalise\LokaliseApiClient($apiToken);
Request
Comments
Contributors
Files
Keys
Languages
Payment Cards
Projects
Queued Processes
Screenshots
Snapshots
Tasks
Teams
Team Users
Team User Groups
Translations
Translation Providers
Orders
Webhooks
Branches
Response
/** @var \Lokalise\LokaliseApiResponse $response */
$response = $client->languages->listSystem();
$response->
headers // Associative array of Lokalise headers received
getContent() // Return response data as associative array
__toArray() // getContent() alias. Return response data as associative array
__toString() // Return JSON encoded response data
getTotalCount() // Return total count of filtered items in List methods
getPageCount() // Return count of pages in List methods (based on limit parameter)
getPaginationLimit() // Return pagination limit used in the request
getPaginationPage() // Return current page of the request
Utils
\Lokalise\Utils::
base64FileEncode($filePath) // Get base64 encoded contents with leading mime type
Exceptions and errors
\Lokalise\Exceptions\LokaliseApiException // Exception throws when Lokalise API can't be reached using Guzzle
\Lokalise\Exceptions\LokaliseResponseException // Exception throws when Lokalise API responded with a single error
Best practice
$client = new \Lokalise\LokaliseApiClient($apiToken);
try {
$language = $client->languages->retrieve($projectId, $languageId)->getContent();
} catch (\Lokalise\Exceptions\LokaliseApiException $e) {
// try again later or break
} catch (\Lokalise\Exceptions\LokaliseResponseException $e) {
// Request cannot be completed. More details in {$e->getCode()} and {$e->getMessage()}
// break
}
Rate limits
Access to all endpoints is limited to 6 requests per second from 14 September, 2021. This limit is applied per API token and per IP address. If you exceed the limit, a 429 HTTP status code will be returned and the corresponding exception will be raised that you should handle properly. To handle such errors, we recommend an exponential backoff mechanism with a limited number of retries.
Only one concurrent request per token is allowed.