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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
api [15.02.2024 14:45]
FeLDMaRShaL
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**. 
 + 
 +Для получения самой фотографии, используется ​команда [[api#​фотографии_по_заказу_photoonline|PhotoOnline]].
  
 Метод отправки:​ **GET** Метод отправки:​ **GET**
  
-Формат запроса:​ %%OrderImages={"​dor_id":"​12345"​}&​SessionID=%%+Формат запроса:​ %%OrderImagesModern={"​dor_id":"​12345"​}&​SessionID=%%
  
-Строка запроса:​ <​code>​.../​api/?​OrderImages=%7B%22dor_id%22:​%2212345%22%7D&​SessionID=...</​code>​+Строка запроса:​ <​code>​.../​api/?​OrderImagesModern=%7B%22dor_id%22:​%2212345%22%7D&​SessionID=...</​code>​
  
 где\\ ​ где\\ ​
-//dor_id// – ID заказа;​\\  +//dor_id// – ID заказа, **обязательный параметр**;​\\  
-//​SessionID//​ - ID сессии,​ **обязательный параметр**.+//​only_photo_id//​ - в ответе будет список без картинок (0 - с фотографиями,​ 1 - без фотографий,​ **обязательный параметр**;\\  
 +//​SessionID//​ - ID клиентской или пользовательской ​сессии,​ **обязательный параметр**.
  
 Ответ **json**: Ответ **json**:
Строка 1291: Строка 1347:
 <sxh json> <sxh json>
 { {
-  "​error":​ 0, +  "​error":​0,​  
-  "img": [+  "photos":[ 
 +    { 
 +      "​dos_id":​ "​100229859",​  
 +      "​photo_id":​ "​1004",​  
 +      "​img":​ "​R0lGODlhEgAMAOZaACtTezxtnyBEaI2t0lNzlVZ1lzZbgpSz1zJYgJOx1lJ+rS1VfT5ih0p4qIipz1Bwk1Fxkz9voYanzoKkyyxUfFRzlWOLt0BxokdpjTFYfy9WfpCv1GuSvXSZw0Jlik5ukUVojFV0lkRzpEFxonGXwUx6qVZ1lkNzo0l3p46t01qFsn6hyFmEsjhdhDZcgj9jiFSAro+u0zhqnSpSeoeozmKLtzNZgExtkD1unzhdg3GXwFN/​rVZ0llN/​rl+JtWSNuUlrjn+iykxtkS5WfZKx1jZcg5Kx1Xufx5Kw1TprnVaBr3mdxUh3pzxhhjlehUpsj2OMuFeCsD5iiDdcgylRejpfhSZPeDNmmZWz11d2l////​wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/​C05FVFNDQVBFMi4wAwEAAAAh/​wtYTVAgRGF0YVhNUDw/​eHBhY2tldCBiZWdpbj0i77u/​IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjQyQjc1OThCRUJEMTFFNUFDRkVGNDdBMzUyNUUwMjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjQyQjc1OTlCRUJEMTFFNUFDRkVGNDdBMzUyNUUwMjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2NDJCNzU5NkJFQkQxMUU1QUNGRUY0N0EzNTI1RTAyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2NDJCNzU5N0JFQkQxMUU1QUNGRUY0N0EzNTI1RTAyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/​PgH//​v38+/​r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/​e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/​Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAXSAFoALAAAAAASAAwAAAd6gFZXg4SFhleCATpYjI2OjCQBgxIXUI+PPxcSg1gDKEpElwlRTANYnFhGMA0pjjElO0iMqIw1IzSMDic+B420WB09AStBOAodjqgHFhETR0kySxMRFr2nV1gbCg2mjwMNChvXDiIqCZeMCSwiDoMBHOiPHJKCh/​aDVoEAIfkEBTwAWgAsAAAAABIADAAAB3eAAlaDhIWGVoIAIFmMjY6MIACDDwtSj48vCw+DWQQZOQWXBS0ZBFmcWSZTCBWOFTYuPIyojAyajBBDTY60WRhFADdCAAYYvFaNDBQfTzNUQB8UDI2cIQYIpo8ECAYhp1YQGlWhl1kFThoQgwAe5Y8ekoKH84MCgQA7"​ 
 +    }
   ]   ]
 } }
Строка 1298: Строка 1359:
  
 где\\ ​ где\\ ​
-//​img// ​– массив ​строк картинок в Base64.+**photos** ​– массив ​объектов картинок:\\  
 +//dos_id// - ID услуги;​\\  
 +//​photo_id//​ - ID фотографии;​\\  
 +//img// – фотография услуги ​в строке ​Base64, **устаревший параметр**.
 ---- ----
-===== Фотографии по заказу. ​OrderImagesModern ​=====+===== Фотографии по заказу. ​PhotoOnline ​=====
  
-**Команда:​** %%OrderImagesModern%%+**Команда:​** %%PhotoOnline%%
  
-Обновленная команда получения ​всех картинок ​по заказу+Команда получения ​фотографии по заказу
  
 Метод отправки:​ **GET** Метод отправки:​ **GET**
  
-Формат запроса:​ %%OrderImagesModern={"dor_id":"​12345"​}&​SessionID=%%+Формат запроса:​ %%PhotoOnline={"photo_id":"​12345","​dos_id":"​1234567"​}&​SessionID=%%
  
-Строка запроса:​ <​code>​.../​api/?​OrderImagesModern=%7B%22dor_id%22:​%2212345%22%7D&​SessionID=...</​code>​+Строка запроса:​ <​code>​.../​api/?​PhotoOnline=%7B%22photo_id%22:​%2212345%22,​%22dos_id%22:​%221234567%22%7D&​SessionID=...</​code>​
  
 где\\ ​ где\\ ​
-//dor_id// – ID заказа,​ **обязательный параметр**;​\\  +//photo_id// ID фото из услуги,​ **обязательный параметр**;​\\ 
-//​SessionID//​ - ID сессии, **обязательный параметр**.+//dos_id// - ID услуги из заказа,​ **обязательный параметр**;​\\ 
 +//​SessionID//​ - сессия, **обязательный параметр**.
  
-Ответ ​**json**: +В ответ ​вернется картинка с типом заголовка
- +//​Content-Type:​ image/png//
-<sxh json> +
-+
-  "​error":​ 0, +
-  "​photos":​ [ +
-    { +
-      "​dos_id":​ "​100229859",​ +
-      "​photo_id":​ "​1004",​ +
-      "​img":​ ""​ +
-    } +
-  ] +
-+
-</​sxh>​ +
- +
-где\\  +
-**photos** – массив ​картинок:\\  +
-//dos_id// - ID услуги;\\  +
-//​photo_id//​ - ID картинки;\\  +
-//img// – фото услуги ​закодированная в Base64.+
 ---- ----
 ===== Оплата депозитом. DepositPay ===== ===== Оплата депозитом. DepositPay =====
Строка 1737: Строка 1784:
       "​comment":​ "",​       "​comment":​ "",​
       "​metro":​ "",​       "​metro":​ "",​
 +      "​district_id":"​1002",​
       "​working_days":​ "​1%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C2%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C3%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C4%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C5%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C6%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C7%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-",​       "​working_days":​ "​1%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C2%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C3%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C4%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C5%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C6%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C7%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-",​
       "​is_work_shop":​ "​0",​       "​is_work_shop":​ "​0",​
Строка 2350: Строка 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**:
Строка 3089: Строка 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.
 +----
 ====== Список команд ====== ====== Список команд ======