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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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]]\\ ​
Строка 71: Строка 75:
 [[#​Рекламные объявления. Advertisment|Рекламные объявления. Advertisment]]\\ ​ [[#​Рекламные объявления. Advertisment|Рекламные объявления. Advertisment]]\\ ​
 [[#​Картинки рекламных объявлений. AdvertismentImg|Картинки рекламных объявлений. AdvertismentImg]]\\ ​ [[#​Картинки рекламных объявлений. AdvertismentImg|Картинки рекламных объявлений. AdvertismentImg]]\\ ​
----- 
-==== Устаревшие команды ==== 
-[[#​Фотографии заказа. OrderImages|Фотографии заказа. OrderImages]]\\ ​ 
----- 
 </​hidden>​ </​hidden>​
 <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 =====