мета-данные страницы
  •  

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
api [16.02.2024 12:36]
Anatoly [Фотографии по заказу. OrderImagesModern]
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]]\\ ​
Строка 31: Строка 34:
 [[#​Квитанция. ReceiptOnline|Квитанция. ReceiptOnline]]\\ ​ [[#​Квитанция. ReceiptOnline|Квитанция. ReceiptOnline]]\\ ​
 [[#​Квитанция. Receipt|Квитанция. Receipt]]\\ ​ [[#​Квитанция. Receipt|Квитанция. Receipt]]\\ ​
-[[#​Подписанная квитанция. SingReceipt|Подписанная квитанция. SingReceipt]]\\  +[[#​Подписанная квитанция. SingReceipt|Подписанная квитанция. SingReceipt]]\\ 
-[[#Фотографии заказаOrderImages|Фотографии заказаOrderImages]]\\  +[[#Список фотографий по заказуOrderImagesModern|Список фотографий по заказуOrderImagesModern]]\\  
-[[#​Фотографии по заказу. ​OrderImagesModern|Фотографии по заказу. ​OrderImagesModern]]\\ +[[#​Фотографии по заказу. ​PhotoOnline|Фотографии по заказу. ​PhotoOnline]]\\
 [[#​Оплата депозитом. DepositPay|Оплата депозитом. DepositPay]]\\ ​ [[#​Оплата депозитом. DepositPay|Оплата депозитом. DepositPay]]\\ ​
 [[#​Оплата бонусом. BonusPay|Оплата бонусом. BonusPay]]\\ ​ [[#​Оплата бонусом. BonusPay|Оплата бонусом. BonusPay]]\\ ​
Строка 76: Строка 79:
 [[#​Список команд|Список команд]]\\ ​ [[#​Список команд|Список команд]]\\ ​
 </​ifauth>​ </​ifauth>​
 +----
 +==== Устаревшие команды ====
 +[[#​Фотографии заказа. OrderImages|Фотографии заказа. OrderImages]]\\ ​
 ---- ----
 ===== Описание API ===== ===== Описание API =====
Строка 107: Строка 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>​
  
Строка 119: Строка 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',​
Строка 132: Строка 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){},
Строка 1271: Строка 1324:
 Ответ будет содержать документ с соответствующим **Content-Type**:​ //​**image/​svg+xml**//​ Ответ будет содержать документ с соответствующим **Content-Type**:​ //​**image/​svg+xml**//​
 ---- ----
-===== Фотографии заказаOrderImages ​=====+===== Список фотографий по заказуOrderImagesModern ​=====
  
-**Команда:​** %%OrderImages%%+**Команда:​** %%OrderImagesModern%%
  
-Фотографии заказа.  +Команда получения списка всех картинок по заказу, **использовать ​с параметром only_photo_id=1**.
- +
-Метод отправки: **GET** +
- +
-Формат запроса: %%OrderImages={"​dor_id":"​12345"​}&​SessionID=%% +
- +
-Строка запроса: <​code>​.../​api/?​OrderImages=%7B%22dor_id%22:​%2212345%22%7D&​SessionID=...</​code>​ +
- +
-где\\  +
-//dor_id// – ID заказа;\\  +
-//​SessionID//​ - ID сессии, **обязательный ​параметр**. +
- +
-Ответ **json**: +
- +
-<sxh json> +
-+
-  "​error":​ 0, +
-  "​img":​ [ +
-  ] +
-+
-</​sxh>​ +
- +
-где\\  +
-//img// – массив строк картинок в Base64. +
----- +
-===== Фотографии по заказу. OrderImagesModern ===== +
- +
-**Команда:​** %%OrderImagesModern%%+
  
-Обновленная команда ​получения ​всех картинок по заказу. ​+Для получения самой фотографии, используется ​команда [[api#​фотографии_по_заказу_photoonline|PhotoOnline]].
  
 Метод отправки:​ **GET** Метод отправки:​ **GET**
Строка 1314: Строка 1340:
 где\\ ​ где\\ ​
 //dor_id// – ID заказа,​ **обязательный параметр**;​\\ ​ //dor_id// – ID заказа,​ **обязательный параметр**;​\\ ​
-//​only_photo_id//​ - в ответе будет список без картинок (0 - с фотографиями,​ 1 - без фотографий,​ **необязательный параметр**;​\\  +//​only_photo_id//​ - в ответе будет список без картинок (0 - с фотографиями,​ 1 - без фотографий,​ **обязательный параметр**;​\\  
-//​SessionID//​ - ID сессии,​ **обязательный параметр**.+//​SessionID//​ - ID клиентской или пользовательской ​сессии,​ **обязательный параметр**.
  
 Ответ **json**: Ответ **json**:
Строка 1336: Строка 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 =====
Строка 2352: Строка 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**:
Строка 3091: Строка 3138:
 //img64// – картинка (картинка кодирована в строку Base64). //img64// – картинка (картинка кодирована в строку Base64).
 ---- ----
 +====== Устаревшие команды ======
  
 +В данном разделе находятся уже устаревшие команды,​ но еще работающие. ​
 +
 +Через несколько лет они будут удалены.
 +
 +Для избежания поломки уже интегрированных устаревших команд,​ рекомендуется сделать переход на соответствующую актуальную команду.
 +----
 +===== Фотографии заказа. OrderImages =====
 +
 +**Команда:​** %%OrderImages%%
 +
 +Фотографии заказа. ​
 +
 +Метод отправки:​ **GET**
 +
 +Формат запроса:​ %%OrderImages={"​dor_id":"​12345"​}&​SessionID=%%
 +
 +Строка запроса:​ <​code>​.../​api/?​OrderImages=%7B%22dor_id%22:​%2212345%22%7D&​SessionID=...</​code>​
 +
 +где\\ ​
 +//dor_id// – ID заказа;​\\ ​
 +//​SessionID//​ - ID сессии,​ **обязательный параметр**.
 +
 +Ответ **json**:
 +
 +<sxh json>
 +{
 +  "​error":​ 0,
 +  "​img":​ [
 +  ]
 +}
 +</​sxh>​
 +
 +где\\ ​
 +//img// – массив строк картинок в Base64.
 +----
 ====== Список команд ====== ====== Список команд ======