Перейти до основного вмісту

Додавання нового ключа​

Запит виконується методом POST у json або urlencoded форматі.

URI: /api/v1/key

Підтримуються два типи ключів: file (файловий) та cloud (хмарний).

Параметри запиту​

Ім'яТипОбов'язковийОпис
typestringНіТип ключа:
  • file — файловий (за замовчуванням)
  • cloud — хмарний
  • Якщо параметр не передано — вважається file
    keystringТак, для fileШлях до файлу ключа. Для хмарного ключа не передається
    publisherstringТакВидавець ключа. Назва має точно збігатися з назвою АЦСК зі списку, підтримуваного SmartSign (з урахуванням регістру та лапок), наприклад КНЕДП ДПС, КНЕДП АЦСК АТ КБ "ПРИВАТБАНК".
    Для файлового ключа (type = "file") можна вказати будь-якого видавця з цього списку.
    Для хмарного ключа (type = "cloud") необхідно обрати одного з підтримуваних надавачів:
    – КНЕДП ТОВ "Вчасно Сервіс"
    – КНЕДП ТОВ "АМО ФІНТЕХ"
    – КНЕДП "eSign" ТОВ "Ілайф"
    passstringТакПароль до ключа
    commentstringНіКоментар до ключа (наприклад, ідентифікатор аптеки). Відображається в SmartSign і повертається в списку ключів (поле COMMENT)
    drfostringТак, для ІлайфРНОКПП (код ДРФО) власника ключа
    edrpoustringТак, для ІлайфКод ЄДРПОУ організації
    serialstringТак, для ІлайфСерійний номер ключа
    idstringТак, для Вчасно та АМО ФІНТЕХІдентифікатор ключа в хмарному сервісі видавця. Для Вчасно — у форматі UUID, наприклад 3f2b8c1e-7d4a-4e9b-a1c2-5d6e7f809a1b
    Увага!

    Для файлового ключа (type = "file"):

    • обов'язкові key, publisher, pass
    • поля хмарного ключа (drfo, edrpou, serial, id) можна не передавати

    Для хмарного ключа (type = "cloud"):

    • обов’язкові publisher, pass і, залежно від видавця:
      • КНЕДП "eSign" ТОВ "Ілайф" — drfo, edrpou, serial
      • КНЕДП ТОВ "Вчасно Сервіс" — id
      • КНЕДП ТОВ "АМО ФІНТЕХ" — id
    • поле key не передається і не використовується

    Приклад запиту для файлового ключа​

    Запит: /api/v1/key
    {
    "type": "file",
    "comment": "Аптека N1",
    "key": "c:\\test.dat",
    "publisher": "КНЕДП ДПС",
    "pass": "111"
    }

    Приклад запиту для хмарного ключа​

    КНЕДП "eSign" ТОВ "Ілайф"

    Запит: /api/v1/key
    {
    "type": "cloud",
    "publisher": "КНЕДП \"eSign\" ТОВ \"Ілайф\"",
    "pass": "222222",
    "drfo": "1234567890",
    "edrpou": "21032333",
    "serial": "011555"
    }

    КНЕДП ТОВ "Вчасно Сервіс"

    Запит: /api/v1/key
    {
    "type": "cloud",
    "publisher": "КНЕДП ТОВ \"Вчасно Сервіс\"",
    "pass": "222222",
    "id": "3f2b8c1e-7d4a-4e9b-a1c2-5d6e7f809a1b"
    }

    КНЕДП ТОВ "АМО ФІНТЕХ"

    Запит: /api/v1/key
    {
    "type": "cloud",
    "publisher": "КНЕДП ТОВ \"АМО ФІНТЕХ\"",
    "pass": "222222",
    "id": "AMOKEY52345634564567"
    }

    Приклад успішної відповіді​

    Відповідь: /api/v1/key
    {
    "message": "OK"
    }

    Приклад не успішної відповіді​

    Відповідь: /api/v1/key
    {
    "message": "Відсутній файл: c:\\test.dat",
    "code": "A004"
    }

    Можливі коди помилок:

    КодОпис
    A002Не заповнено пароль (pass)
    A003Невідомий видавець ключа (publisher не знайдено в списку АЦСК)
    A004Файл ключа не знайдено за шляхом key
    A005Ключ уже додано
    A006Невідомий тип ключа (type). Допустимі: file, cloud
    A007Видавець не підтримує хмарний ключ
    A008Не заповнено обов'язковий параметр хмарного ключа (drfo, edrpou, serial або id)
    A009Не заповнено шлях до файлу ключа (key)
    A010Не заповнено видавця ключа (publisher)
    A011Невалідний JSON у тілі запиту

    Список видавців​

    Для хмарних ключів (type = "cloud") підтримуються лише такі АЦСК:

    • КНЕДП ТОВ "Вчасно Сервіс"
    • КНЕДП ТОВ "АМО ФІНТЕХ"
    • КНЕДП "eSign" ТОВ "Ілайф"

    Для файлових ключів (type = "file") можна використовувати будь-якого видавця зі списку АЦСК, підтримуваного SmartSign. Назву потрібно вказувати точно, як у списку (з урахуванням регістру та лапок), інакше повертається помилка A003.