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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
api [28.02.2024 13:57]
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]]\\ ​
 [[#​Авторизация|Авторизация]]\\ ​ [[#​Авторизация|Авторизация]]\\ ​
Строка 112: Строка 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>​
  
Строка 124: Строка 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',​
Строка 137: Строка 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){},
Строка 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**: