Russian
Общие правила формирования запросов
Требования к запросам в рамках API

Заголовки

Все передаваемые от Cardsmobile запросы будут содержать заголовок x-cm-consumer-language в формате ISO 639-1 (двухбуквенный код языка). Значение этого заголовка используется для выбора нужного языка при передаче сообщения от эмитента пользователю. В случае необходимости передачи сообщения от эмитента к пользователю, заголовки ответного сообщения должны содержать значение, соответствующее языку сообщения.
Любой HTTP-запрос в рамках API должен содержать заголовок:
1
Content-Type: application/json; charset=utf-8;
Copied!

Требования к кодировкам

Двоичные данные в запросах (например, криптограммы, значения хеш-функций) передаются в виде hex-строк. Как в запросах, так и в ответах используется кодировка UTF-8.

Требования к телу запросов

Тело HTTP-сообщений должно соответствовать требованиям, указанным в описании соответствующего запроса. В случае ошибки необходимо вернуть JSON-объект ErrorDescription.

Требования к статусам HTTP

Коды HTTP-ответов:
Код
Назначение
200
Возвращается в случае успешного выполнения запроса к API
422
Возвращается в случае любой ошибки выполнения запроса

Шифрование данных

Чувствительные данные подвергаются шифрованию при передаче. Используемые алгоритмы шифрования:
  • AES / CBC / PKCS7Padding — шифрование данных одноразовым случайным ключом (Random Generated Key — RGK) на основе инициализационного вектора (Initialisation Vector — IV). Размер ключа — 128 бит.
  • RSA / ECB / OAEPWithSHA512AndMGF1Padding — шифрование использованного RGK открытым ключом получателя. Размер ключа — 2048 бит.
Используется следующий принцип шифрования. Сторона, отправляющая данные:
  1. 1.
    Формирует RGK и IV, используя алгоритм AES.
  2. 2.
    Шифрует отправляемые данные, используя RGK.
  3. 3.
    Шифрует RGK открытым ключом получателя сообщения, используя алгоритм RSA.
  4. 4.
    Формирует хеш открытого ключа получателя, используя алгоритм SHA-1.
  5. 5.
    Полученные значения формируют объект EncryptedPayload, отправляемый получателю.