PHP code example of keystore-api / keystore-client-php
1. Go to this page and download the library: Download keystore-api/keystore-client-php 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/ */
keystore-api / keystore-client-php example snippets
$key = '<secret>';
$baseUrl = 'https://<domain>';
// Создание объекта аутентификации
$auth = new AuthApiKey($key);
// Создание HTTP клиента
$client = new HttpGuzzleClient($baseUrl);
// Создание HTTP провайдера данных
$provider = new HttpApiProvider($httpClient, $auth);
// Создание сервиса
$service = new KeystoreClient($provider);
...
$params = new ProductSearchParams();
$params
->setCategoryId(1)
->setOnlyInStock(true) // Только товары в наличие
->setPage(2) // Установка страницы (пагинация)
->setPerPage(100);
$service = KeystoreClientFactory::create($baseUrl, $key);
$result = $service->productList($params);
...
$service = KeystoreClientFactory::create($baseUrl, $key);
$params = new ProductSearchParams();
$params
->setOnlyInStock(true)
->setOnlyExclusive(true)
->setPerPage(500);
$currentPage = 1;
$allItems = [];
do {
$params->setPage($currentPage);
$result = $service->productList($params);
$meta = $result->getMeta();
// Добавляем продукты с текущей страницы в общий список
$allItems = array_merge($allItems, $result->getItems());
$currentPage++;
// Если это не последний запрос, добавляем задержку в 0.5 секунды перед следующим запросом
if ($currentPage <= $meta->getPageCount()) {
usleep(500000);
}
} while ($currentPage <= $meta->getPageCount());
...
$params = new OrderCreateParams(1, 5);
// Создание заказа и получение информации о нем
// В ответ возвращается один из объектов:
// OrderCreatedInterface - если заказ создан, но не обработан (имеет статус PENDING)
// OrderDetailInterface - если заказ создан и обработан (имеет статус OK)
$service = KeystoreClientFactory::create($baseUrl, $key);
$result = $service->awaitOrderCreate($params);
// Создание своего HTTP клиента
class MyHTTPClient implements HttpClientInterface
{
...
}
$httpClient = new MyHTTPClient();
// Создание сервиса
$service = KeystoreClientFactory::http($httpClient, $auth);
// Создание своего провайдера
class MyProvider implements ApiProviderInterface
{
...
}
$provider = new MyProvider();
// Создание сервиса
$service = new KeystoreClient($provider);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.