Difference between revisions of "API:priv:submit-run"
From EjudgeWiki
(Created page with "Навигация: Главная страница/Система ejudge/Использование/API/API:priv:submit-run|submit-run (приви...") |
(...) |
||
Line 1: | Line 1: | ||
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[API]]/[[API:priv:submit-run|submit-run (привилегированный)]] | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[API]]/[[API:priv:submit-run|submit-run (привилегированный)]] | ||
+ | |||
+ | Запрос отправляет на проверку файл с исходным кодом. | ||
+ | |||
+ | Уровень доступа: администратор в контесте (аутентификация с | ||
+ | помощью API key или EJSID/session_id). | ||
+ | |||
+ | Method: POST | ||
+ | |||
+ | Content-type: multipart/form-data | ||
+ | |||
+ | Параметры: | ||
+ | * <code>action</code> (string) — строка <code>submit-run</code>. | ||
+ | * <code>sender_user_login</code> (string, optional) — логин пользователя, от имени которого выполняется посылка. | ||
+ | * <code>sender_user_id</code> (int, optional) — user id пользователя (если не задан sender_user_login). | ||
+ | * <code>sender_ip</code> (string, optional) — IP-адрес отправителя. | ||
+ | * <code>sender_ssl_flag</code> (int, optional) — 1, если протокол HTTPS; 0, если HTTP. | ||
+ | * <code>problem_uuid</code> (uuid, *) — UUID задачи, если присутствует, то поиск задачи выполняется по UUID. | ||
+ | * <code>problem_name</code> (string, *) — либо short_name задачи, либо internal_name задачи. | ||
+ | * <code>problem</code> (int, *) — id задачи. | ||
+ | * <code>variant</code> (int, optional) — вариант задачи. | ||
+ | * <code>language_name</code> (string, **) — короткое имя (short_name) языка программирования. | ||
+ | * <code>lang_id</code> (int, **) — либо id (int) языка программирования. | ||
+ | * <code>eoln_type</code> (int, optional) — тип преобразования концов строк. | ||
+ | * <code>is_visible</code> (int, optional) — если значение > 0, посылка не будет "невидимой". | ||
+ | * <code>file</code> (string, ***) — исходный код программы. | ||
+ | * <code>text_form</code> (string, ***) — исходный код программы (альтернатива для file). | ||
+ | * <code>not_ok_is_cf</code> (int, optional) — если значение положительно, любой не-OK вердикт по этой посылке будет рассматриваться как Check Failed. | ||
+ | * <code>rejudge_flag</code> (int, optional) — если значение положительно, | ||
+ | посылка будет тестироваться с пониженным приоритетом, как при перетестировании. | ||
+ | |||
+ | Из параметров <code>problem_uuid</code>, <code>problem_name</code>, <code>problem</code> должен быть указан только один. | ||
+ | |||
+ | Из параметров <code>language_name</code>, <code>lang_id</code> должен быть | ||
+ | указан только один. | ||
+ | |||
+ | Из параметров <code>file</code>, <code>text_form</code> должет быть | ||
+ | указан только один. | ||
+ | |||
+ | Response content type: application/json | ||
+ | |||
+ | В случае ошибки возвращается JSON: | ||
+ | |||
+ | { | ||
+ | "ok": false, | ||
+ | "server_time": UNIX-TIMESTAMP, | ||
+ | "action": "submit-run-input", | ||
+ | "error": { | ||
+ | "num": ERROR-CODE, | ||
+ | "symbol": ERROR-SYMBOL, | ||
+ | "message": ERROR-MESSAGE | ||
+ | } | ||
+ | } | ||
+ | |||
+ | В случае успеха возвращается JSON: | ||
+ | |||
+ | { | ||
+ | "ok": true, | ||
+ | "result": { | ||
+ | "run_id": ID, | ||
+ | "run_uuid": UUID | ||
+ | } | ||
+ | } |
Revision as of 10:26, 29 December 2022
Навигация: Главная страница/Система ejudge/Использование/API/submit-run (привилегированный)
Запрос отправляет на проверку файл с исходным кодом.
Уровень доступа: администратор в контесте (аутентификация с помощью API key или EJSID/session_id).
Method: POST
Content-type: multipart/form-data
Параметры:
action
(string) — строкаsubmit-run
.sender_user_login
(string, optional) — логин пользователя, от имени которого выполняется посылка.sender_user_id
(int, optional) — user id пользователя (если не задан sender_user_login).sender_ip
(string, optional) — IP-адрес отправителя.sender_ssl_flag
(int, optional) — 1, если протокол HTTPS; 0, если HTTP.problem_uuid
(uuid, *) — UUID задачи, если присутствует, то поиск задачи выполняется по UUID.problem_name
(string, *) — либо short_name задачи, либо internal_name задачи.problem
(int, *) — id задачи.variant
(int, optional) — вариант задачи.language_name
(string, **) — короткое имя (short_name) языка программирования.lang_id
(int, **) — либо id (int) языка программирования.eoln_type
(int, optional) — тип преобразования концов строк.is_visible
(int, optional) — если значение > 0, посылка не будет "невидимой".file
(string, ***) — исходный код программы.text_form
(string, ***) — исходный код программы (альтернатива для file).not_ok_is_cf
(int, optional) — если значение положительно, любой не-OK вердикт по этой посылке будет рассматриваться как Check Failed.rejudge_flag
(int, optional) — если значение положительно,
посылка будет тестироваться с пониженным приоритетом, как при перетестировании.
Из параметров problem_uuid
, problem_name
, problem
должен быть указан только один.
Из параметров language_name
, lang_id
должен быть
указан только один.
Из параметров file
, text_form
должет быть
указан только один.
Response content type: application/json
В случае ошибки возвращается JSON:
{ "ok": false, "server_time": UNIX-TIMESTAMP, "action": "submit-run-input", "error": { "num": ERROR-CODE, "symbol": ERROR-SYMBOL, "message": ERROR-MESSAGE } }
В случае успеха возвращается JSON:
{ "ok": true, "result": { "run_id": ID, "run_uuid": UUID } }