Документооборот с контрагентами

СБИС.АутентифицироватьПоСертификату

СБИС.АутентифицироватьПоСертификату

Команда «СБИС.АутентифицироватьПоСертификату» выполняет аутентификацию по сертификату и возвращает идентификатор сессии, который зашифрован в адрес этого сертификата (начало сессии обмена данными).

Адрес запроса: https://online.sbis.ru/auth/service/

Параметры запроса

  • "Сертификат": объект:
    • "ДвоичныеДанные": сертификат для аутентификации в формате X.509 с кодировкой DER, который перекодирован в Base64

Результат

Cтрока — идентификатор сессии в кодировке Base64. Идентификатор зашифрован в адрес сертификата ключа ЭП, который передан в запросе.

Комментарий

Раскодируйте строку с результатом из Base64. Полученное байтовое представление — это идентификатор сессии, зашифрованный по ГОСТ 28147-89.

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

{
   "jsonrpc": "2.0",
   "method": "СБИС.АутентифицироватьПоСертификату",
   "params": {
      "Сертификат": {
         "ДвоичныеДанные": "MIIGQDCCBe+gAwIBAgIKf2pSAwABAAAFljAIBgYqhQMCAgMwFzEVMBMGA1UEAxMMQ0EtU0JJUy1U\rRVNUMB4XDTE1MDQxMzA3NTcwMFoXDTE2MDcxMzA4MDcwMFowggHCMRgwFgYFKoUDZAESDTMyNjMy\rNTI2NjI3MzYxFjAUBgUqhQNkAxILNzQzODg4MzE3NTIxGjAYBggqhQMDgQMBARIMMDAxMTExNjU0\rMzUzMRswGQYJKoZIhvcNAQkBFgxzdkB0ZW5zb3IucnUxMTAvBgNVBAoeKAQiBDUEQQRCBD4EMgRL\rBDkAIAQeBEIEPwRABDAEMgQ4BEIENQQ7BEwxCjAIBgNVBAsTATAxMzAxBgNVBAweKgQ0BDsETwAg\rBEIENQRBBEIEPgQyBEsERQAgBDcEMAQ/BEAEPgRBBD4EMjExMC8GA1UEAx4oBCIENQRBBEIEPgQy\rBEsEOQAgBB4EQgQ/BEAEMAQyBDgEQgQ1BDsETDEVMBMGA1UEBB4MBBgEMgQwBD0EPgQyMSMwIQYD\rVQQqHhoEGAQyBDAEPQAgBBgEMgQwBD0EPgQyBDgERzELMAkGA1UEBhMCUlUxGTAXBgNVBAceEAQi\rBDUEQQRCBD4EMgRLBDkxLzAtBgNVBAgeJgAwADQAIAQgBDUEQQQ/BEMEMQQ7BDgEOgQwACAEEAQ7\r\nBEIEMAQ5MRkwFwYDVQQJHhAEIgQ1BEEEQgQ+BDIESwQ5MGMwHAYGKoUDAgITMBIGByqFAwICJAAG\rByqFAwICHgEDQwAEQDxU0UFOlrffytNIomM7XcMiXDHfAvp8RZL/hZlrm701+9pGarmotcj1eUJM\rW61aYtitkY5d6H33PJJmyZMhODOjggNsMIIDaDAZBgkqhkiG9w0BCQ8EDDAKMAgGBiqFAwICFTAO\rBgNVHQ8BAf8EBAMCBPAwcAYDVR0lBGkwZwYHKoUDAgIiGQYHKoUDAgIiGgYHKoUDAgIiBgYIKoUD\rAzoCAQIGCCqFAwM6AgEEBgcqhQMFAygBBgcqhQMFAzABBgUqhQMGBwYJKwYBBAGB6V8VBggrBgEF\rBQcDAgYIKwYBBQUHAwQwHQYDVR0gBBYwFDAIBgYqhQNkcQEwCAYGKoUDZHECMB0GA1UdDgQWBBR6\rEFTEl4PNe/+/X5K7/C6uIIMNdjBOBgNVHSMERzBFgBQNU+u+2MQtt4/N055u4m2A0sqg4qEbpBkw\rFzEVMBMGA1UEAxMMQ0EtU0JJUy1URVNUghBN8xO6wj2Irk7ginDhEuoMMEMGA1UdHwQ8MDowOKA2\roDSGMmh0dHA6Ly9jYS1zYmlzLXRlc3QvY2VydGVucm9sbC9DQS1TQklTLVRFU1QoMSkuY3JsMFsG\r\nCCsGAQUFBwEBBE8wTTBLBggrBgEFBQcwAoY/aHR0cDovL2NhLXNiaXMtdGVzdC9jZXJ0ZW5yb2xs\rL2NhLXNiaXMtdGVzdF9DQS1TQklTLVRFU1QoMSkuY3J0MCsGA1UdEAQkMCKADzIwMTUwNDEzMDc1\rNzAwWoEPMjAxNjA3MTMwNzU3MDBaMDYGBSqFA2RvBC0MKyLQmtGA0LjQv9GC0L7Qn9GA0L4gQ1NQ\rIiAo0LLQtdGA0YHQuNGPIDMuNikwggEyBgUqhQNkcASCAScwggEjDCsi0JrRgNC40L/RgtC+0J/R\rgNC+IENTUCIgKNCy0LXRgNGB0LjRjyAzLjYpDFMi0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQ\ruSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIg0LLQtdGA0YHQuNC4IDEuNQxO\rQ9C10YDRgtC40YTQuNC60LDRgiDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Y8g4oSWINCh0KQvMTIx\rLTIyNzIg0L7RgiAxMi4xMi4yMDEzDE/QodC10YDRgtC40YTQuNC60LDRgiDRgdC+0L7RgtCy0LXR\rgtGB0YLQstC40Y8g4oSWINCh0KQvMTI4LTIzNTIg0L7RgiAxNS4wNC4yMDE0MAgGBiqFAwICAwNB\r\nAHg/Kg+i5Hhd+VdsMqnmGo8MUqk8hf93uhqWCPXimJKGXRjbGOG+E83lI/uaoqCKWZV5mt53VB46\rCee3jrdH+ek="
      }
   },
   "id": 0
}
Скачать пример

Пример ответа (успех)

{
   "jsonrpc": "2.0",
   "result": "MIIBYwYJKoZIhvcNAQcDoIIBVDCCAVACAQAxgfUwgfICAQAwJTAXMRUwEwYDVQQDEwxDQS1TQklTLVRFU1QCCn9qUgMAAQAABZYwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEEgacwgaQwKAQgQuAUHdpfjODY75hi7P8mSiwm4S9D4z33H8h4TYSoVbUEBGrMX5GgeAYHKoUDAgIfAaBjMBwGBiqFAwICEzASBgcqhQMCAiQABgcqhQMCAh4BA0MABEAOHiDLTeQwF6ftet3M/lRaWu+URgR/RX7ckuz/1JfZeknjbNzRqVpa0HAjBBpcDFi/jChTRvMcjxlov0laI4SgBAg95YHmsFapLzBTBgkqhkiG9w0BBwEwHQYGKoUDAgIVMBMECBCjEelVtBygBgcqhQMCAh8BgCdX4Mfu1QgNgyLavyP5yaMcvWfxQZb0nutV/881ZHLUijrEXX9G0S4=",
   "id": 0
}
Скачать пример

Общая фатальная ошибка аутентификации

Код ответа 500, classid {00000000-0000-0000-0000-1FA000001000}. Ошибка означает, что сервис не может аутентифицировать пользователя. Текст ошибки описан в поле message. В этом случае внешнее приложение должно прекратить попытки аутентификации до устранения проблемы на стороне клиента.

{
  "jsonrpc": "2.0",
  "error": {
    "code": -32000,
    "message": "Проверьте правильность ввода логина и пароля!",
    "details": "Проверьте правильность ввода логина и пароля!",
    "data": {
      "classid": "{00000000-0000-0000-0000-1FA000001000}",
      "addinfo": null
    }
  },
  "id": 0
}
Скачать пример

Фатальная ошибка передачи входных параметров

Код ответа 500, classid {00000000-0000-0000-0000-1FA000001001}. Означает, что не переданы нужные параметры или часть обязательных параметров пустая.

{
  "jsonrpc": "2.0",
  "error": {
    "code": -32000,
    "message": "Ошибка аутентификации. Пустое значение поля Логин!",
    "details": "Ошибка аутентификации. Пустое значение поля Логин!",
    "data": {
      "classid": "{00000000-0000-0000-0000-1FA000001001}",
      "addinfo": null
    }
  },
  "id": 0
}
Скачать пример

Подтверждение аутентификации через смс

Код ответа 500, classid {00000000-0000-0000-0000-1FA000001002}.

В data.addinfo приходит информация для подтверждения входа:

  • телефон — замаскированный телефонный номер, на который будет отправлено смс-подтверждение,
  • идентификатор — временный индентификатор со сроком действия 5 минут, подтвердите его кодом из смс,
  • МетодОтправкиКодаПодтверждения — метод для отправки смс-подтверждения,
  • МетодПроверкиКодаИсключения — метод для подтверждения идентификатора кодом,
  • ИдентификаторСессии — временный идентификатор сессии.
{
  "jsonrpc": "2.0",
  "error": {
    "code": -32000,
        "message": "Требуется подтверждение действия",
        "details": "Требуется подтверждение действия",
        "data": {
      classid": "{00000000-0000-0000-0000-1FA000001002}",
         "addinfo": { 
           "Сообщение": "Для входа введите полученный код подтверждения.",
               "Телефон": "8(915)984-**-**",
               "Идентификатор": "dbef1dbb-1501-4f57-8783-0fc3f9c3b98d",
               "МетодОтправкиКодаПодтверждения": "СБИС.ОтправитьКодАутентификации",
               "МетодПроверкиКодаИсключения": "СБИС.ПодтвердитьВход",
               "ИдентификаторСессии": "00547bc6-0056d4a1-0bba-9a2cd69d2d804886"}
       }
  },
  "id": 0
}
Скачать пример

Фатальная ошибка «Слишком много вызовов»

Код ответа 429, classid {00000000-0000-0000-0000-1FA000000000}. Ошибка возникает, если система делает больше 300 вызовов в минуту.

{
  "jsonrpc": "2.0",
  "error": {
    "code": -32000,
    "message": "Предупреждение! Метод вызывается слишком часто и будет заблокирован на 600 секунд",
    "details": "Предупреждение! Метод вызывается слишком часто и будет заблокирован на 600 секунд",
    "data": {
      "classid": "{00000000-0000-0000-0000-1FA000001000}",
      "addinfo": null
    }
  },
  "id": 0
}
Скачать пример