1
0
mirror of synced 2024-11-25 14:56:07 +03:00
api-client-php/README.md
2014-11-17 00:12:48 +03:00

105 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PHP-клиент для retailCRM API
PHP-клиент для работы с [retailCRM API](http://www.retailcrm.ru/docs/Разработчики/Разработчики#api).
Рекомендуем обращаться к [документации](http://retailcrm.github.io/api-client-php) по библиотеке, в частности по классу [RetailCrm\ApiClient](http://retailcrm.github.io/api-client-php/class-RetailCrm.ApiClient.html).
## Обязательные требования
* PHP версии 5.3 и выше
* PHP-расширение cURL
## Установка
1) Установите [composer](https://getcomposer.org/download/)
2) Выполните в папке проекта:
```bash
composer require retailcrm/api-client-php ~3.0.0
```
В конфиг `composer.json` вашего проекта будет добавлена библиотека `retailcrm/api-client-php`, которая установится в папку `vendor/`. При отсутствии файла конфига или папки с вендорами они будут созданы.
В случае, если до этого в вашем проекте не использовался `composer`, подключите файл автозагрузки вендоров. Для этого укажите в коде проекта:
```php
require 'path/to/vendor/autoload.php';
```
## Примеры использования
### Получение информации о заказе
```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']);
//}
}
```
### Создание заказа
```php
$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']);
//}
}
```