API реєстру
Ті самі дані, що на сайті, у форматі JSON:API (відкриється в новому вікні). Реєстрація не потрібна. Опис для програм: openapi.json (OpenAPI 3.1, файл JSON).
Адреси
GET /api/v1/registrations: перелік посвідчень і пошук.GET /api/v1/registrations/{rp}: одне посвідчення. Ідентифікатор {rp} це номер малими літерами через дефіс:ua-1234-01-01.GET /api/v1/registrations/{rp}/versions: усі картки посвідчення, найновіші першими.GET /api/v1/versions/{id}: одна картка. Ідентифікатор з 32 символів (UNID документа в реєстрі), його віддає перелік/registrations/{rp}/versionsу поліid.GET /api/v1/directories/{довідник}:names,inns,atc,manufacturers,applicants,countries.GET /api/v1/directories/{довідник}/{id}: одне значення довідника.GET /api/v1/changes: лише те, що змінилось.
Пошук і фільтри
Параметри /registrations, усі необов'язкові:
filter[q]: текст,filter[field]: де його шукати (all,name,inn,number,composition,atc).filter[state]:currentчинні,archiveархівні,anyусі. Без параметра всі.filter[manufacturer],filter[applicant],filter[country],filter[inn],filter[name],filter[atc]: ідентифікатор значення з довідника.filter[dispensing]:rxза рецептом,otcбез рецепта.filter[month]: рік і місяць початку дії, як-от202102.filter[emergency_use]=1,filter[emergency_registration]=1: екстрені переліки.fields[registrations]=number,title: лише потрібні поля.
Приклад, чинні посвідчення, картки яких почали діяти в лютому 2021 року, лише номер і назва: https://www.drlz.com.ua/api/v1/registrations?filter[state]=current&filter[month]=202102&fields[registrations]=number,title
Сторінки
page[number] і page[size], на сторінці до 100 записів. У відповіді links.next веде на наступну сторінку, meta.total показує, скільки всього.
Як стежити за змінами
Повне завантаження не потрібне щоразу. Викликайте /changes і переходьте за links.next, доки meta.has_more не стане false. Збережіть останній links.next і викликайте його наступного разу: прийде лише нове. Перший виклик без параметрів віддає весь реєстр частинами по 500 карток.
Картки, що зникли з публічної частини реєстру, перелічені в meta.removed.
Обмеження
Без ключа до 60 запитів на хвилину з однієї адреси, з ключем у заголовку X-Api-Key до 600. Заголовки X-RateLimit-Limit і X-RateLimit-Remaining показують залишок. Коли ліміт вичерпано, приходить відповідь 429 із заголовком Retry-After.
Ключ видає Державний експертний центр МОЗ України (відкриється в новому вікні) на запит.
Кожна відповідь має ETag. Надішліть його в If-None-Match, і незмінені дані не передаватимуться вдруге.
Помилки
Помилки приходять у форматі JSON:API: {"errors": [{"status": "404", "title": "Not Found", "detail": "..."}]}.