3.6 KiB
3.6 KiB
PHP-клиент для retailCRM API
PHP-клиент для работы с retailCRM API.
Рекомендуем обращаться к документации по библиотеке, в частности по классу RetailCrm\ApiClient.
Обязательные требования
- PHP версии 5.3 и выше
- PHP-расширение cURL
Установка
-
Установите composer
-
Выполните в папке проекта:
composer require retailcrm/api-client-php ~3.0.0
В конфиг composer.json
вашего проекта будет добавлена библиотека retailcrm/api-client-php
, которая установится в папку vendor/
. При отсутствии файла конфига или папки с вендорами они будут созданы.
В случае, если до этого в вашем проекте не использовался composer
, подключите файл автозагрузки вендоров. Для этого укажите в коде проекта:
require 'path/to/vendor/autoload.php';
Примеры использования
Получение информации о заказе
$client = new \RetailCrm\ApiClient(
'https://demo.retailcrm.ru',
'T9DMPvuNt7FQJMszHUdG8Fkt6xHsqngH'
);
try {
$response = $client->ordersGet('M-2342');
} catch (\RetailCrm\Exception\CurlException $e) {
echo "Сетевые проблемы. Ошибка подключения к retailCRM: " . $e->getMessage();
}
if ($response->isSuccessful()) {
echo $response->order['totalSumm'];
// или $response['order']['totalSumm'];
// или
// $order = $response->getOrder();
// $order['totalSumm'];
} else {
echo sprintf(
"Ошибка получения информации о заказа: [Статус HTTP-ответа %s] %s",
$response->getStatusCode(),
$response->getErrorMsg()
);
// получить детализацию ошибок
//if (isset($response['errors'])) {
// print_r($response['errors']);
//}
}
Создание заказа
$client = new \RetailCrm\ApiClient(
'https://demo.retailcrm.ru',
'T9DMPvuNt7FQJMszHUdG8Fkt6xHsqngH'
);
try {
$response = $client->ordersCreate(array(
'externalId' => 'some-shop-order-id',
'firstName' => 'Vasily',
'lastName' => 'Pupkin',
'items' => array(
//...
),
'delivery' => array(
'code' => 'russian-post',
)
));
} catch (\RetailCrm\Exception\CurlException $e) {
echo "Сетевые проблемы. Ошибка подключения к retailCRM: " . $e->getMessage();
}
if ($response->isSuccessful() && 201 === $response->getStatusCode()) {
echo 'Заказ успешно создан. ID заказа в retailCRM = ' . $response->id;
// или $response['id'];
// или $response->getId();
} else {
echo sprintf(
"Ошибка создания заказа: [Статус HTTP-ответа %s] %s",
$response->getStatusCode(),
$response->getErrorMsg()
);
// получить детализацию ошибок
//if (isset($response['errors'])) {
// print_r($response['errors']);
//}
}