diff --git a/README.md b/README.md index 72d2023..fb67845 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # PHP-клиент для retailCRM API -PHP-клиент для работы с [retailCRM API](http://www.retailcrm.ru/docs/Разработчики/Разработчики#api). +PHP-клиент для работы с [retailCRM API](http://www.retailcrm.ru/docs/Developers/ApiVersion3). Рекомендуем обращаться к [документации](http://retailcrm.github.io/api-client-php) по библиотеке, в частности по классу [RetailCrm\ApiClient](http://retailcrm.github.io/api-client-php/class-RetailCrm.ApiClient.html). @@ -44,16 +44,16 @@ try { if ($response->isSuccessful()) { echo $response->order['totalSumm']; // или $response['order']['totalSumm']; - // или + // или // $order = $response->getOrder(); // $order['totalSumm']; } else { echo sprintf( - "Ошибка получения информации о заказа: [Статус HTTP-ответа %s] %s", + "Ошибка получения информации о заказа: [Статус HTTP-ответа %s] %s", $response->getStatusCode(), $response->getErrorMsg() ); - + // получить детализацию ошибок //if (isset($response['errors'])) { // print_r($response['errors']); @@ -91,7 +91,7 @@ if ($response->isSuccessful() && 201 === $response->getStatusCode()) { // или $response->getId(); } else { echo sprintf( - "Ошибка создания заказа: [Статус HTTP-ответа %s] %s", + "Ошибка создания заказа: [Статус HTTP-ответа %s] %s", $response->getStatusCode(), $response->getErrorMsg() ); diff --git a/README.ru.md b/README.ru.md new file mode 100644 index 0000000..fb67845 --- /dev/null +++ b/README.ru.md @@ -0,0 +1,104 @@ +# PHP-клиент для retailCRM API + +PHP-клиент для работы с [retailCRM API](http://www.retailcrm.ru/docs/Developers/ApiVersion3). + +Рекомендуем обращаться к [документации](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']); + //} +} +```