При вызове метода API вернулась фатальная HTTP-ошибка 401 «Unauthorized» с сообщением «Not authorized».
Причина №1. Не указан идентификатор сессии (X-SBISSessionID) в HTTP-заголовке запроса
- Пройдите аутентификацию для получения нового идентификатора.
- Укажите правильный идентификатор сессии как значение заголовка HTTP-пакета «X-SBISSessionID».
Пример неверного запроса (идентификатор сессии отсутствует)
POST https://online.sbis.ru/service/&srv=1 HTTP/1.1
Content-Type: application/json; charset=utf-8
{
"jsonrpc": "2.0",
"method": "СБИС.ПрочитатьДокумент",
"params": {
"Документ": {
"Идентификатор": "e1756445-f1be-4562-b5cf-4549968b5f4f"
}
},
"id": 0
}
Пример ответа
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"jsonrpc": "2.0",
"error": "Not authorized.",
"id": -1
}
Причина №2. Идентификатор сессии (X-SBISSessionID) в HTTP-заголовке запроса устарел
Идентификатор может устареть из-за большого периода неактивности (отсутствия вызовов) или после окончания регламентных работ на сайте СБИС.
- Пройдите аутентификацию для получения нового идентификатора.
- Укажите правильный идентификатор сессии как значение заголовка HTTP-пакета «X-SBISSessionID».
Пример неверного запроса
Ошибка — в указании кодировки UTF-8. При этом, в JSON части запроса используется кодировка Win-1251. По тексту запроса это невозможно определить.
POST https://online.sbis.ru/service/?srv=1 HTTP/1.1
Content-Type: application/json; charset= utf-8
Accept: */*, application/json-rpcD
X-SBISSessionID: 0005281a-0005281b-00ba-3beb110a20594e21
{
"jsonrpc": "2.0",
"method": "СБИС.СписокСлужебныхЭтапов",
"params": {
"Фильтр": {}
},
"id": 0
}
Пример ответа
POST https://online.sbis.ru/service/?srv=1 HTTP/1.1
Content-Type: application/json; charset= utf-8
Accept: */*, application/json-rpcD
X-SBISSessionID: 0005281a-0005281b-00ba-3beb110a20594e21
{
"jsonrpc": "2.0",
"method": "СБИС.СписокСлужебныхЭтапов",
"params": {
"Фильтр": {}
},
"id": 0
}
Причина №3. В запросе указан неверный адрес
Такое случается, если при выполнении аутентификации указан адрес https://online.sbis.ru/service/?srv=1 вместо https://online.sbis.ru/auth/service/. Часто происходит при выполнении команд «СБИС.Аутентифицировать», «СБИС.АутентифицироватьПоСертификату», «СБИС.Выход», «СБИС.СписокСертификатовДляАутентификации» и других.
Укажите правильный адрес в запросе.
Пример ответа на неправильный запрос
Указан неправильный адреса сервера (https://online.sbis.ru/service/?srv=1 вместо https://online.sbis.ru/auth/service/)
HTTP/1.1 401 Unauthorized
Server: nginx/1.4.4
Date: Fri, 11 Apr 2014 09:42:14 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=30
Cache-Control: must-revalidate, max-age=0
X-Path: internal;
X-QACheck: true
34
{
"jsonrpc": "2.0",
"error": "Not authorized.",
"id": -1
}