...
API Gateway
The API gateway is accessible at http(s)://<DOMAIN>/api/
Логин и пароль – необходимо создать в админ панели сайта, вкладка Настройки-Админы.
...
Authentication
To use the API, you need a login and password, which can be created in the site's admin panel under the Settings - Users tab.
Protocol
The API operates over HTTP/HTTPs. Functions are passed through the URL as http://<DOMAIN>/api/<FUNCTION>/
”.
Если сайт находится на https, то необходимо обращаться к API указывая протокол https.
Например: https://<DOMAIN>/api/<FUNCTION>/
Параметры для функции можно передавать двумя способами:
...
Тип
...
Нюансы
...
Пример
...
JSON POST (рекомендуется)
...
If the site uses HTTPS, the API must be accessed via HTTPS as well.
Request Methods
Type | Details | Example |
---|---|---|
JSON POST (Recommended) | The Content-type: application/json |
field must be passed in the request header for correct data processing on the server. Parameters should be passed in the body of the request in JSON format |
|
Standard POST (Deprecated) | It is transmitted as standard according to HTTP 1.1 specifications (in the request body). The Content-type: multipart/form-data |
or Content-type: application/x-www-form-urlencoded header must be passed. | param_1=2¶m_2=4 |
Названия полей и значения необходимо передавать в кодировке All field names and values should be encoded in UTF-8. Результат так-же возвращается в кодировке Responses are also returned in UTF-8 encoding.
...
title | Важно |
---|
При использовании кодировки UTF-8 в запросах необходимо данные передавать без BOM строки.
Для ответов в кодировке UTF-8 также возвращается без BOM
...
Important Notes
- When using UTF-8 encoding in requests, data should be transmitted without the BOM line.
- Responses are similarly returned without BOM.
- It's strongly recommended to use JSON POST requests with
Content-type:application/json
...
header
.
Starting from version 3.8.0 если Вы отдаете контент через JSON POST метод в кодировке отличной от UTF-8 то необходимо это явно указать в заголовке (например, if you send content via JSON POST method in encoding other than UTF-8, it is necessary to specify it explicitly in the header (for example: "Content-type: application/json; charset=windows-1251").
Если Вам необходимо получить ответ от сервера в кодировке отличной от If you need to receive a response from the server in an encoding other than UTF-8, то также необходимо указать заголовок you should also specify the Accept-Charset с указанием нужной кодировки (см. header with the required encoding (see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.2)
Ответ всегда возвращается в формате JSON. Содержит поля:
...
Поле
...
Предназначение
...
Описание
...
status
...
Отображает статус выполненого запроса
...
Возможные значения:
“OK” - выполнение функции прошло успешно;
“UNAUTHORIZED” - требуется авторизация или не передан токен;
“AUTHORIZATION_ERROR” - ошибка при авторизации;
“EXCEPTION" - ошибка сервера;
“ERROR” - какая либо ошибка (пояснение может быть в поле response.message);
“EMPTY” - нет результатов после выполнения функции;
“UNDEFINED_FUNCTION” - вызов несуществующей функции,
“HTTP_ERROR" - HTTP ошибка (поле response.code содержит HTTP код, response.message - пояснение к коду ошибки)
...
response
...
Содержит ответ сервера в зависимости от статуса и функции
Пример JSON POST запроса.
Response Format
Responses are always in JSON format and include the following fields:
Field | Meaning | Description |
---|---|---|
status | Indicates the status of the request | Possible values:
|
response | Contains the server's response, dependent on the status and function called. |
JSON POST request example
Code Block | ||
---|---|---|
| ||
POST https://foo.bar/api/func/action Content-Type: application/json {"param_1": "value_1", "param_2": "value_2"} |
Пример формата ответа сервера на запрос:Server response example
Code Block | ||||
---|---|---|---|---|
| ||||
{ "status": "OK", "response": {"foo": "bar"} } |
...
Logs
Logs of requests and server responses are available at http://<DOMAIN>/api/logs/
, для того чтобы логи работали необходимо авторизовать в админ. панели по адресу . To access logs, authenticate in the admin panel at http://<DOMAIN>/edit/login.php
(можно использовать логин и пароль для api)
Функции using the API login and password.
...
Options:
Page Tree root DOCS:@self startDepth 3