Введение
Quick Resto Back Office представляет собой сервер, клиенты которого передают на сервер запросы в формате JSON по протоколу HTTPS, используя методы GET и POST. Базовым URL сервера является https://{имя клиентского слоя}.quickresto.ru/platform/online/. Сервер отвечает также в формате JSON, используя коды состояния HTTP как коды ответа сервера:
Код состояния | Значение |
---|---|
200 | Запрос выполнен успешно, дополнительная информация о результате выполнения запроса содержится в теле ответа |
400 | Ошибка на стороне клиента, дополнительная информация об ошибке содержится в теле ответа |
401 | Ошибка аутентификации, клиент предоставил неверные логин или пароль (см. раздел "Аутентификация"), дополнительные данные об ошибке не предоставляются |
любой другой код, отсутствие ответа в течение таймаута | Сервер недоступен или по каким-то причинам не может выполнить данный запрос, фатальная ошибка |
Примеры:
-
Запрос выполнен успешно
test@test:~$ curl -i -X GET -H "Content-Type:application/json" -u test:test http://test.quickresto.ru/platform/online/api/list?moduleName=front.terminals.ipad HTTP/1.1 200 OK Server: nginx/1.4.6 (Ubuntu) Date: Mon, 08 Feb 2016 08:26:05 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Set-Cookie: JSESSIONID=F24B9F2F9247BDB3D0E3EB01E35E45B2; Path=/; HttpOnly []
-
Ошибка на стороне клиента - модуль не найден
test@test:~$ curl -i -X GET -H "Content-Type:application/json" -u test:test http://test.quickresto.ru/platform/online/api/list?moduleName=front.terminals.ipads HTTP/1.1 400 Bad Request Server: nginx/1.4.6 (Ubuntu) Date: Mon, 08 Feb 2016 08:28:04 GMT Content-Length: 98 Connection: keep-alive Set-Cookie: JSESSIONID=F60D5B0A03C7785F902D719F17AA4284; Path=/; HttpOnly {"errorCode":"moduleNotFound","errorDescription":"Module not found by name front.terminals.ipads"}
-
Ошибка аутентификации - клиент не предоставил логин или пароль
test@test:~$ curl -i -X GET -H "Content-Type:application/json" http://test.quickresto.ru/platform/online/api/list?moduleName=front.terminals.ipads HTTP/1.1 401 Unauthorized Server: nginx/1.4.6 (Ubuntu) Date: Mon, 08 Feb 2016 08:28:30 GMT Content-Type: text/html;charset=utf-8 Content-Length: 1061 Connection: keep-alive Set-Cookie: JSESSIONID=A562DB459C0C61C1A7C810BABF6BAC91; Path=/; HttpOnly WWW-Authenticate: Basic realm="Spring Security Application" Content-Language: en <html><head><title>Apache Tomcat/7.0.63 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 401 - Full authentication is required to access this resource</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>Full authentication is required to access this resource</u></p><p><b>description</b> <u>This request requires HTTP authentication.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.63</h3></body></html>