Інформація для розробників

Вивантаження даних ЦНАП до репозиторія

Для вивантаження замовлених послуг до репозиторія, ЦНАП має створити ендпоінт, за яким еРепозиторій може отримувати актуальну інформацію за певний період часу. Схема запиту та відповіді описана в документації. Кожен постачальник має строго дотримуватися схеми. Доступ до такого ендпоінту має бути обмеженим Basic Auth.
Приклад:
Ціль
Зібрати дані з 1 грудня 2019 року по 10 грудня 2019 року (включно)
Базовий URL ендпоінту ЦНАП
https://some_asc.gov.ua/appeals/
Логін та пароль (BasicAuth)
erepository, pa$$word
1. Ми робимо запит на URL https://some_asc.gov.ua/appeals/?start_date=2019-12-01&end_date=2019-12-10:
start_date = 2019-12-01 - перший день обраного діапазону у форматі "YYYY-MM-DD";
end_date = 2019-12-10 - останній день обраного діапазону у форматі "YYYY-MM-DD".
Додаємо HTTP-заголовок Authorization: Basic ZXJlcG9zaXRvcnk6cGEkJHdvcmQ=, де "ZXJlcG9zaXRvcnk6cGEkJHdvcmQ=" - результат кодування "erepository:pa$$word" у Base64
ЦНАП отримує всі створені або оновлені заяви в обраний період та серіалізує їх згідно з схемою. Наприклад, послуга, що була зареєстрована 1 листопада, а надана 5 грудня має входити до даного переліку.
Сервер повертає дані клієнту:
{
    "success": true,
    "next_page": "https://some_asc.gov.ua/appeals/?start_date=2019-12-01&end_date=2019-12-10&page=2",
    "entries": [
        {
        "appealId": "414060",
        "cnapCode": "123",
        "serviceCode": "00001",
        "appealRegDateTime": "2019-12-03T15:13:25.130Z",
        "appealStatus": "успішно надано",
        "answerReceiveDateTime": "2019-12-09T15:13:25.130Z",
        "applicantType": "фізична",
        "paymentAmount": "1092.5",
        "applicantGender": "жіноча",
        "applicantSocialStatus": "Безробітний",
        "applicantPhone": "+380987654321"
        },
        {...},
        {...}
    ]
}
                                
Якщо провайдер підтримує пагінацію - повний URL наступної сторінки має бути вказаний у next_page. При зверненні за цією адресою, клієнт має отримати наступну частину набору даних, серіалізовану ідентичним чином.
еРепозиторій зберігає дані до власне репозиторія.