мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
api [21.02.2024 13:36] Anatoly [Фотографии по заказу. PhotoOnline] |
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){}, | ||
Строка 1293: | Строка 1341: | ||
//dor_id// – ID заказа, **обязательный параметр**;\\ | //dor_id// – ID заказа, **обязательный параметр**;\\ | ||
//only_photo_id// - в ответе будет список без картинок (0 - с фотографиями, 1 - без фотографий, **обязательный параметр**;\\ | //only_photo_id// - в ответе будет список без картинок (0 - с фотографиями, 1 - без фотографий, **обязательный параметр**;\\ | ||
- | //SessionID// - ID сессии, **обязательный параметр**. | + | //SessionID// - ID клиентской или пользовательской сессии, **обязательный параметр**. |
Ответ **json**: | Ответ **json**: | ||
Строка 1333: | Строка 1381: | ||
//SessionID// - сессия, **обязательный параметр**. | //SessionID// - сессия, **обязательный параметр**. | ||
- | В ответ вернется картинка с заголовком: | + | В ответ вернется картинка с типом заголовка: |
//Content-Type: image/png// | //Content-Type: image/png// | ||
---- | ---- | ||
Строка 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**: |