мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
api [20.02.2024 14:46] Anatoly |
api [27.04.2024 14:40] (текущий) Anatoly [Оглавление] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Api ====== | + | ====== Документация по Api ====== |
===== Api Личного кабинета версии 1.4 ===== | ===== Api Личного кабинета версии 1.4 ===== | ||
Строка 6: | Строка 6: | ||
[[#Описание API|Описание API]]\\ | [[#Описание API|Описание API]]\\ | ||
[[#Формат команд|Формат команд]]\\ | [[#Формат команд|Формат команд]]\\ | ||
+ | [[#Примеры интеграции]]\\ | ||
[[#Коды ошибок API|Коды ошибок API]]\\ | [[#Коды ошибок API|Коды ошибок API]]\\ | ||
[[#Авторизация|Авторизация]]\\ | [[#Авторизация|Авторизация]]\\ | ||
Строка 11: | Строка 12: | ||
[[#Работа с выездами|Работа с выездами]]\\ | [[#Работа с выездами|Работа с выездами]]\\ | ||
[[#Работа со статистикой ЛК|Работа со статистикой ЛК]]\\ | [[#Работа со статистикой ЛК|Работа со статистикой ЛК]]\\ | ||
+ | [[#Устаревшие команды|Устаревшие команды]]\\ | ||
+ | ---- | ||
<hidden Команды API> | <hidden Команды API> | ||
[[#Версия API. api_version|Версия API. api_version]]\\ | [[#Версия API. api_version|Версия API. api_version]]\\ | ||
Строка 32: | Строка 35: | ||
[[#Квитанция. Receipt|Квитанция. Receipt]]\\ | [[#Квитанция. Receipt|Квитанция. Receipt]]\\ | ||
[[#Подписанная квитанция. SingReceipt|Подписанная квитанция. SingReceipt]]\\ | [[#Подписанная квитанция. SingReceipt|Подписанная квитанция. SingReceipt]]\\ | ||
- | [[#Фотографии по заказу. OrderImagesModern|Фотографии по заказу. OrderImagesModern]]\\ | + | [[#Список фотографий по заказу. OrderImagesModern|Список фотографий по заказу. OrderImagesModern]]\\ |
+ | [[#Фотографии по заказу. PhotoOnline|Фотографии по заказу. PhotoOnline]]\\ | ||
[[#Оплата депозитом. DepositPay|Оплата депозитом. DepositPay]]\\ | [[#Оплата депозитом. DepositPay|Оплата депозитом. DepositPay]]\\ | ||
[[#Оплата бонусом. BonusPay|Оплата бонусом. BonusPay]]\\ | [[#Оплата бонусом. BonusPay|Оплата бонусом. BonusPay]]\\ | ||
Строка 72: | Строка 76: | ||
[[#Картинки рекламных объявлений. AdvertismentImg|Картинки рекламных объявлений. AdvertismentImg]]\\ | [[#Картинки рекламных объявлений. AdvertismentImg|Картинки рекламных объявлений. AdvertismentImg]]\\ | ||
</hidden> | </hidden> | ||
- | ---- | ||
- | ==== Устаревшие команды ==== | ||
- | [[#Фотографии заказа. OrderImages|Фотографии заказа. OrderImages]]\\ | ||
- | ---- | ||
<ifauth @programmers> | <ifauth @programmers> | ||
[[#Список команд|Список команд]]\\ | [[#Список команд|Список команд]]\\ | ||
</ifauth> | </ifauth> | ||
+ | ---- | ||
+ | ==== Устаревшие команды ==== | ||
+ | [[#Фотографии заказа. OrderImages|Фотографии заказа. OrderImages]]\\ | ||
---- | ---- | ||
===== Описание API ===== | ===== Описание API ===== | ||
Строка 110: | Строка 113: | ||
//**В ответе на запрос могут присутствовать поля, не описанные в настоящей документации. Приложению следует их игнорировать.**// | //**В ответе на запрос могут присутствовать поля, не описанные в настоящей документации. Приложению следует их игнорировать.**// | ||
+ | ---- | ||
+ | ===== Примеры интеграции ===== | ||
+ | |||
+ | **Пример запросов на php:** | ||
+ | |||
+ | <sxh php> | ||
+ | $curl = curl_init(); | ||
+ | |||
+ | curl_setopt_array($curl, [ | ||
+ | CURLOPT_URL => "//himinfo.ru/cl/{Path}/api/?command=".urlencode('{"param1": "{$param1}", "param2": "{$param2}", "param3": "{$param3}"}'), | ||
+ | CURLOPT_RETURNTRANSFER => true, | ||
+ | CURLOPT_ENCODING => "", | ||
+ | CURLOPT_MAXREDIRS => 10, | ||
+ | CURLOPT_TIMEOUT => 30, | ||
+ | CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, | ||
+ | CURLOPT_CUSTOMREQUEST => "GET", | ||
+ | CURLOPT_POSTFIELDS => "", | ||
+ | ]); | ||
+ | |||
+ | $response = curl_exec($curl); | ||
+ | $err = curl_error($curl); | ||
+ | |||
+ | curl_close($curl); | ||
+ | |||
+ | if ($err) | ||
+ | echo "cURL Error #:" . $err; | ||
+ | else | ||
+ | echo $response; | ||
+ | </sxh> | ||
+ | |||
+ | **Пример запросов на JavaScript:** | ||
+ | |||
+ | <sxh javascript> | ||
+ | const data = null; | ||
+ | |||
+ | const xhr = new XMLHttpRequest(); | ||
+ | xhr.withCredentials = true; | ||
+ | |||
+ | xhr.addEventListener("readystatechange", function () { | ||
+ | if (this.readyState === this.DONE) | ||
+ | console.log(this.responseText); | ||
+ | }); | ||
+ | |||
+ | xhr.open("GET", '//himinfo.ru/cl/{Path}/api/?command=' + encodeURIComponent('{"param1": "' + param1.val() + '", "param2": "' + param2.val() + '", "param3": "' + param3.val()+ '"}'); | ||
+ | |||
+ | xhr.send(data); | ||
+ | </sxh> | ||
- | **Пример запросов jQuery.** | + | **Пример запросов на jQuery:** |
- | Функция encodeURIComponent выполняется для всех значений параметров команды: | + | Функция __encodeURIComponent__ выполняется для всех значений параметров команды: |
<sxh javascript> | <sxh javascript> | ||
- | '//www.himinfo.ru/cl/{Path}/api/?command=' + encodeURIComponent('{"param1": "' + param1.val() + '", "param2": "' + param2.val() + '", "param3": "' + param3.val()+ '"}'), | + | '//himinfo.ru/cl/{Path}/api/?command=' + encodeURIComponent('{"param1": "' + param1.val() + '", "param2": "' + param2.val() + '", "param3": "' + param3.val()+ '"}'), |
</sxh> | </sxh> | ||
Строка 122: | Строка 172: | ||
<sxh javascript> | <sxh javascript> | ||
$.ajax({ | $.ajax({ | ||
- | 'url': '//www.himinfo.ru/cl/{Path}/api/', | + | 'url': '//himinfo.ru/cl/{Path}/api/', |
'data': {'command': '{"param1": "' + param1.val() + '", "param2": "' + param2.val() + '", "param3": "' + param3.val() + '"}'}, | 'data': {'command': '{"param1": "' + param1.val() + '", "param2": "' + param2.val() + '", "param3": "' + param3.val() + '"}'}, | ||
'dataType': 'jsonp', | 'dataType': 'jsonp', | ||
Строка 135: | Строка 185: | ||
<sxh javascript> | <sxh javascript> | ||
$.ajax({ | $.ajax({ | ||
- | 'url': '//www.himinfo.ru/cl/{Path}/api/?command=' + encodeURIComponent('{"param1": "' + param1.val() + '", "param2": "' + email.val() + '", "param1": "' + name.val()+ '"}'), | + | 'url': '//himinfo.ru/cl/{Path}/api/?command=' + encodeURIComponent('{"param1": "' + param1.val() + '", "param2": "' + email.val() + '", "param1": "' + name.val()+ '"}'), |
'dataType': 'jsonp', | 'dataType': 'jsonp', | ||
'success': function(response, ioArgs){}, | 'success': function(response, ioArgs){}, | ||
Строка 1274: | Строка 1324: | ||
Ответ будет содержать документ с соответствующим **Content-Type**: //**image/svg+xml**// | Ответ будет содержать документ с соответствующим **Content-Type**: //**image/svg+xml**// | ||
---- | ---- | ||
- | ===== Фотографии по заказу. OrderImagesModern ===== | + | ===== Список фотографий по заказу. OrderImagesModern ===== |
**Команда:** %%OrderImagesModern%% | **Команда:** %%OrderImagesModern%% | ||
- | Обновленная команда получения всех картинок по заказу. | + | Команда получения списка всех картинок по заказу, **использовать с параметром only_photo_id=1**. |
+ | |||
+ | Для получения самой фотографии, используется команда [[api#фотографии_по_заказу_photoonline|PhotoOnline]]. | ||
Метод отправки: **GET** | Метод отправки: **GET** | ||
Строка 1288: | Строка 1340: | ||
где\\ | где\\ | ||
//dor_id// – ID заказа, **обязательный параметр**;\\ | //dor_id// – ID заказа, **обязательный параметр**;\\ | ||
- | //only_photo_id// - в ответе будет список без картинок (0 - с фотографиями, 1 - без фотографий, **необязательный параметр**;\\ | + | //only_photo_id// - в ответе будет список без картинок (0 - с фотографиями, 1 - без фотографий, **обязательный параметр**;\\ |
- | //SessionID// - ID сессии, **обязательный параметр**. | + | //SessionID// - ID клиентской или пользовательской сессии, **обязательный параметр**. |
Ответ **json**: | Ответ **json**: | ||
Строка 1310: | Строка 1362: | ||
//dos_id// - ID услуги;\\ | //dos_id// - ID услуги;\\ | ||
//photo_id// - ID фотографии;\\ | //photo_id// - ID фотографии;\\ | ||
- | //img// – фотография услуги в строке Base64. | + | //img// – фотография услуги в строке Base64, **устаревший параметр**. |
+ | ---- | ||
+ | ===== Фотографии по заказу. PhotoOnline ===== | ||
+ | |||
+ | **Команда:** %%PhotoOnline%% | ||
+ | |||
+ | Команда получения фотографии по заказу | ||
+ | |||
+ | Метод отправки: **GET** | ||
+ | |||
+ | Формат запроса: %%PhotoOnline={"photo_id":"12345","dos_id":"1234567"}&SessionID=%% | ||
+ | |||
+ | Строка запроса: <code>.../api/?PhotoOnline=%7B%22photo_id%22:%2212345%22,%22dos_id%22:%221234567%22%7D&SessionID=...</code> | ||
+ | |||
+ | где\\ | ||
+ | //photo_id// - ID фото из услуги, **обязательный параметр**;\\ | ||
+ | //dos_id// - ID услуги из заказа, **обязательный параметр**;\\ | ||
+ | //SessionID// - сессия, **обязательный параметр**. | ||
+ | |||
+ | В ответ вернется картинка с типом заголовка: | ||
+ | //Content-Type: image/png// | ||
---- | ---- | ||
===== Оплата депозитом. DepositPay ===== | ===== Оплата депозитом. DepositPay ===== | ||
Строка 2326: | Строка 2398: | ||
Заголовок запроса (Header): не требуется. | Заголовок запроса (Header): не требуется. | ||
- | Формат запроса: %%PromoCodeActivate={"PromoCode":"123"}&SessionID=...%% | + | Формат запроса: %%PromoCodeActivate={"PromoCode":"123", "dor_id":"12345"}&SessionID=...%% |
где\\ | где\\ | ||
- | //PromoCode// - активируемый промо-код. | + | //PromoCode// - активируемый промо-код, **обязательный параметр**;\\ |
+ | //dor_id// – ID заказа (для проверки кол-ва заказов клиента), **необязательный параметр**.\\ | ||
- | Строка запроса: <code>.../api/?PromoCodeActivate=%7B%22PromoCode%22%3A%22123%22%7D&SessionID=...</code> | + | Строка запроса: <code>.../api/?PromoCodeActivate=%7B%22PromoCode%22%3A%22123%22%7D&%7B%22dor_id%22%3A%2212345%22%7D&SessionID=...</code> |
Ответ **json**: | Ответ **json**: | ||
Строка 3072: | Строка 3145: | ||
Для избежания поломки уже интегрированных устаревших команд, рекомендуется сделать переход на соответствующую актуальную команду. | Для избежания поломки уже интегрированных устаревших команд, рекомендуется сделать переход на соответствующую актуальную команду. | ||
- | |||
---- | ---- | ||
- | |||
===== Фотографии заказа. OrderImages ===== | ===== Фотографии заказа. OrderImages ===== | ||