# HTML-файлы

## Получить HTML файл

> Получает HTML файл, хранящийся в Firebase, используя зашифрованный токен, передаваемый как параметр запроса.\
> \### Параметр запроса\
> \- \*\*token\*\* \*(string, обязательный)\*: Зашифрованный токен, представляющий пользователя, сессию и имя файла. Этот токен используется для поиска и расшифровки соответствующего HTML файла.\
> \### Ответ (HTTP 200)\
> При успешном выполнении возвращает содержимое HTML файла с \`Content-Type\` \`text/html\`.\
> \`\`\`html \<html>\<body>\<h1>Пример HTML\</h1>\</body>\</html> \`\`\`\
> \### Обработка ошибок\
> \- \*\*400 Bad Request\*\*: Возвращается, если параметр \`token\` отсутствует или пуст.\
> \- \*\*404 Not Found\*\*: Возвращается, если HTML файл не может быть получен (например, неверный токен или файл не найден).\
> \- \*\*500 Internal Server Error\*\*: Возвращается при возникновении непредвиденной ошибки на сервере.\
> \### Безопасность\
> Для этого эндпоинта аутентификация не требуется.<br>

````json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[],"paths":{"/helper/html-files/":{"get":{"operationId":"helper_html-files_list","summary":"Получить HTML файл","description":"Получает HTML файл, хранящийся в Firebase, используя зашифрованный токен, передаваемый как параметр запроса.\n### Параметр запроса\n- **token** *(string, обязательный)*: Зашифрованный токен, представляющий пользователя, сессию и имя файла. Этот токен используется для поиска и расшифровки соответствующего HTML файла.\n### Ответ (HTTP 200)\nПри успешном выполнении возвращает содержимое HTML файла с `Content-Type` `text/html`.\n```html <html><body><h1>Пример HTML</h1></body></html> ```\n### Обработка ошибок\n- **400 Bad Request**: Возвращается, если параметр `token` отсутствует или пуст.\n- **404 Not Found**: Возвращается, если HTML файл не может быть получен (например, неверный токен или файл не найден).\n- **500 Internal Server Error**: Возвращается при возникновении непредвиденной ошибки на сервере.\n### Безопасность\nДля этого эндпоинта аутентификация не требуется.\n","parameters":[{"schema":{"type":"string"},"name":"token","in":"query","description":"Зашифрованный токен для получения HTML файла.","required":true}],"responses":{"200":{"description":"HTML файл успешно получен.","content":{"application/json":{"schema":{"description":"Содержимое HTML файла.","type":"string"}}}},"400":{"description":"Неверный запрос - возвращается, если параметр `token` отсутствует или пуст. Убедитесь, что токен указан в строке запроса.\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Сообщение об ошибке, указывающее, что токен обязателен.","type":"string"}}}}}},"404":{"description":"Не найдено - возвращается, если HTML файл не может быть получен. Это может быть связано с неверным токеном или отсутствием файла.\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Сообщение об ошибке, указывающее, что HTML файл не может быть найден.\n","type":"string"}}}}}},"500":{"description":"Внутренняя ошибка сервера - возвращается при возникновении непредвиденной ошибки на сервере. Проверьте детали ошибки для получения дополнительной информации.\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Подробное сообщение об ошибке, описывающее сбой на стороне сервера.","type":"string"}}}}}}},"tags":["helper"]}}}}
````

## Загрузить HTML файл

> Загружает HTML файл в Firebase для определенной сессии. Файл должен быть предоставлен как form-data с ключом \`html\_file\` и иметь content type 'text/html'. Дополнительно, \`session\_id\` должен быть включен в form-data для ассоциации файла с сессией.\
> \### Form Data\
> \- \*\*html\_file\*\* \*(file, обязательный)\*: HTML файл для загрузки. Только файлы с content type 'text/html' принимаются.\
> \- \*\*session\_id\*\* \*(string, обязательный)\*: ID сессии, связанный с загружаемым HTML файлом.\
> \### Ответ (HTTP 201)\
> При успешном выполнении возвращает JSON объект содержащий:\
> \- \*\*message\*\* \*(string)\*: Сообщение подтверждающее успешную загрузку файла.\
> \- \*\*token\*\* \*(string)\*: Зашифрованный токен, представляющий информацию о файле и сессии.\
> \### Обработка ошибок\
> \- \*\*400 Bad Request\*\*: Возвращается, если обязательные поля отсутствуют (например, файл или ID сессии не предоставлены), если тип файла не 'text/html', или если UID администратора неверен.\
> \- \*\*404 Not Found\*\*: Возвращается, если ID сессии не существует в Firestore.\
> \- \*\*422 Unprocessable Entity\*\*: Возвращается, если обработка HTML файла (например, шифрование) не удалась.\
> \- \*\*500 Internal Server Error\*\*: Возвращается при возникновении непредвиденной ошибки на сервере.\
> \### Безопасность\
> В заголовке \`Authorization\` должен быть предоставлен валидный API-KEY токен.<br>

```json
{"openapi":"3.1.1","info":{"title":"AIKYNETIX WEB API","version":"v2"},"servers":[{"url":"https://api.aikynetix.app"}],"security":[{"Bearer":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","description":"Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>"},"ApiKeyAuth":{"type":"apiKey","name":"API-KEY","in":"header","description":"Укажите ваш API-ключ в заголовке: API-KEY: <api_key>"}}},"paths":{"/helper/html-files/":{"post":{"operationId":"helper_html-files_create","summary":"Загрузить HTML файл","description":"Загружает HTML файл в Firebase для определенной сессии. Файл должен быть предоставлен как form-data с ключом `html_file` и иметь content type 'text/html'. Дополнительно, `session_id` должен быть включен в form-data для ассоциации файла с сессией.\n### Form Data\n- **html_file** *(file, обязательный)*: HTML файл для загрузки. Только файлы с content type 'text/html' принимаются.\n- **session_id** *(string, обязательный)*: ID сессии, связанный с загружаемым HTML файлом.\n### Ответ (HTTP 201)\nПри успешном выполнении возвращает JSON объект содержащий:\n- **message** *(string)*: Сообщение подтверждающее успешную загрузку файла.\n- **token** *(string)*: Зашифрованный токен, представляющий информацию о файле и сессии.\n### Обработка ошибок\n- **400 Bad Request**: Возвращается, если обязательные поля отсутствуют (например, файл или ID сессии не предоставлены), если тип файла не 'text/html', или если UID администратора неверен.\n- **404 Not Found**: Возвращается, если ID сессии не существует в Firestore.\n- **422 Unprocessable Entity**: Возвращается, если обработка HTML файла (например, шифрование) не удалась.\n- **500 Internal Server Error**: Возвращается при возникновении непредвиденной ошибки на сервере.\n### Безопасность\nВ заголовке `Authorization` должен быть предоставлен валидный API-KEY токен.\n","responses":{"201":{"description":"Файл успешно загружен.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"description":"Сообщение подтверждения.","type":"string"},"token":{"description":"Зашифрованный токен, представляющий информацию о файле и сессии.","type":"string"}}}}}},"400":{"description":"Неверный запрос - возвращается, если обязательные поля отсутствуют (например, файл не предоставлен, ID сессии отсутствует), если тип файла неверен (только HTML файлы разрешены), или если UID администратора неверен.\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Подробное сообщение об ошибке, объясняющее неверный запрос.","type":"string"}}}}}},"404":{"description":"Не найдено - возвращается, если ID сессии не существует в Firestore.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Сообщение об ошибке, указывающее, что ID сессии не найден.","type":"string"}}}}}},"422":{"description":"Необрабатываемый объект - возвращается, если обработка HTML файла (например, шифрование) не удалась.\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Подробное сообщение об ошибке, описывающее сбой при обработке.","type":"string"}}}}}},"500":{"description":"Внутренняя ошибка сервера - возвращается при возникновении непредвиденной ошибки на сервере.\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"Подробное сообщение об ошибке, указывающее на сбой на стороне сервера.","type":"string"}}}}}}},"tags":["helper"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"html_file":{"type":"string","description":"HTML файл для загрузки. Должен иметь content type 'text/html'."},"session_id":{"type":"string","description":"ID сессии для ассоциации с загружаемым HTML файлом."}},"required":["html_file","session_id"]}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aikynetix.app/ru/api-documentation/developer-resources-and-api-reference/api-reference/html-files.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
