Request / Query Parameters Documentation

В этом разделе описано, как сейчас передавать параметры в API SharkEyes и как это будет выглядеть после обновления. Сейчас основными параметрами в query являются ip и chat_id. В будущем ip будет определяться автоматически на сервере, а chat_id перейдёт в JSON — это более безопасный и удобный способ передачи данных.

Текущая реализация

Параметры передаются в строке запроса (query).

Поддерживаются ip — IP клиента (если не передан — запрос блокируется обязательно). chat_id — Telegram chat id (используется для уведомлений не обязательно).

Пример запроса

POST /check?ip=123.4.567.89&chat_id=123456789

Примечание Eсли ip не передан, возвращается ошибка (no IP detected).

Будущая реализация

Формат: Параметры передаются в JSON-теле запроса (Content-Type: application/json)..

Изменения: ip убирается из query (определяется автоматически сервером). chat_id переносится в JSON.

Пример запроса

POST /check Content-Type: application/json { "chat_id": "123456789", "user_agent": "Mozilla/5.0", "headers": { "accept-language": "en-US" }, "flags": { "post_only": true, "suspicious_user_agent": true } }

Почему JSON безопаснее

Query-параметры видны в URL, логах и реферерах, поэтому данные могут утекать.v

Tело запроса (application/json) не отображается в адресной строке и реферерах.

JSON позволяет передавать вложенные структуры (заголовки, флаги) в более удобном и чистом виде.