# Введение


Сервис **SIGEX** предоставляет публичный *API* по протоколу *HTTPS* на двух портах:
- `443` - аутентификация пользователей;
- `10443` - аутентификация информационных систем.

Отличия описаны в разделе [Аутентификация и контроль доступа](/kk/support/developers/auth-and-access-control/index.md).

Статья [Аутентификация по цифровым сертификатам](/kk/blog/authentication/) описывает процесс интеграции аутентификации в информационные системы.


## Отправка запросов и интерпретация ответов {#requests-responses}
Кроме тех случаев, когда это явно указано, запросы сервису следует отправлять в формате **JSON** (с указанием типа содержимого `application/json` в заголовке `Content-Type`), сервис должен вернуть *HTTP* код **200** и ответ в виде **JSON** строки. Другой код *HTTP* свидетельствует о *серьезной проблеме* при обработке запроса, в этом случае нет смысла пробовать анализировать ответ.

Строки в **JSON** ответах сервиса всегда обрабатываются таким образом, чтобы **JSON** можно было безопасно встраивать в *HTML* в тег `<script>`. Для этого символы `'<'`, `'>'`, `'&'`, `U+2028` и `U+2029` заменяются на `'\u003c'`, `'\u003e'`, `'\u0026'`, `'\u2028'` и `'\u2029'` соответственно. Это не должно вызывать каких-либо неожиданных эффектов, так как по [RFC 8259](https://tools.ietf.org/html/rfc8259#section-7) любые символы в строках могут быть экранированы.

## Сообщения об ошибках {#error-messages-overview}
При возникновении ошибок все методы *API* возвращают сообщение об ошибке следующего формата:
```json
{
  "message": "Request processing error",
  "requestID": 1570108542768139099
}
```

- `message` - текст сообщения об ошибке на английском языке;
- `requestID` - идентификатор запроса.

## Перечень возможных сообщений об ошибках {#error-messages}
Реестр сообщений об ошибках и других специфических строк доступен на странице [Известные строки](/kk/support/developers/known-strings/index.md).

## Известные OIDы применяемые в НУЦ РК {#known-oids}
Реестр OID и других специфических строк доступен на странице [Известные строки](/kk/support/developers/known-strings/index.md).

## Поддерживаемые УЦ {#supported-cas}
На данный момент мы поддерживаем цифровые подписи сформированные с помощью ключей ЭЦП выпущенных следующими удостоверяющими центрами:
- **НУЦ РК** Национальный удостоверяющий центр Республики Казахстан
- **BTSD CA** Удостоверяющий центр АО «BTS Digital»
- **УЦ НПК** РГП «Казахстанский Центр Межбанковских Расчетов Национального Банка Республики Казахстан»

Все поддерживаемые удостоверяющие центры аккредитованы в соответствии с требованиями Закона РК и присутствуют в соответствующем реестре публикуемом КУЦ РК: https://root.gov.kz/centers/

Нами реализована возможность **регистрации под одним документом цифровых подписей сформированных ключами ЭЦП выпущенными разными УЦ**, то есть, к примеру, с одной стороны договор может быть подписан ключами ЭЦП выпущенными НУЦ РК, а с другой стороны ключами ЭЦП выпущенными УЦ НПК.

