Формат API/info для библиографических записей


НАЧАЛО >> API ИРБИС 64/128 >> Формат API/info для библиографических записей📄 Скачать в DOCX


Формат @API/info возвращает библиографическую запись в виде JSON-структуры для внешних интеграций и портальных решений. Его удобно использовать, когда клиенту нужны не HTML-фрагменты, а заранее разложенные поля: заглавие, авторы, выходные данные, классификационные индексы, ключевые слова, аннотация, сведения об экземплярах и ссылки на внешние объекты.

1. Использование

В JSON-RPC методе Search формат передается параметром $format:

$result = $api->Search(
    'IBIS',
    'A=$',
    '',
    '@API/info',
    10,
    1,
    0,
    0,
    '',
    true,
    false,
    true
);

Если последний параметр $asJson равен true, метод пытается преобразовать каждую отформатированную запись из JSON-строки в объект. Если $asJson равен false, результат форматирования возвращается как строка.

Тот же формат можно применять в других точках, где доступно форматирование ИРБИС 128 с указанием контейнера формата API, например через вызовы, которые принимают имя формата в виде @API/info.

2. Как формируется результат

Основной PHP-формат находится в modules/API/Formats/info.pft128. Он формирует служебные поля brief, examplarInfo и url, затем вызывает подформат @api_info.

Формат api_info.pft собирает XML-блок из набора отдельных PFT-файлов api_info_*.pft, а info.pft128 переносит эти блоки в JSON-поля. PFT-файлы поставляются в составе дистрибутивных данных i128f в каталоге Distr/datai/deposit и рассчитаны на библиографические записи депозитной структуры.

3. Поля JSON

Таблица 1. Поля формата API/info
Поле Источник
brief краткое библиографическое описание, сформированное внутри info.pft128
examplarInfo сведения об экземплярах из RQST::GetExemplarsInfo
title api_info_title.pft
interestingArticles api_info_interesting_articles.pft
onTabs api_info_on_tabs.pft
documentType api_info_document_type.pft
publicationCode поле записи 903
authors api_info_authors.pft
unifiedFormHeader подполе 503^a
parallelTitles api_info_parallel_titles.pft
transliteratedTitle api_info_transliterated_title.pft
imprint api_info_imprint.pft
quantitativeCharacteristics api_info_quantitative_characteristics.pft
teams api_info_teams.pft
series api_info_series.pft
misreadTitles api_info_misread_titles.pft
translationOfThePublication api_info_translation_of_the_publication.pft
parallelEditions api_info_parallel_editions.pft
braided api_info_braided.pft
placeOfPublication api_info_place_of_publication.pft
typeAndVolumeOfResource api_info_type_and_volume_of_resource.pft
systemRequirements api_info_system_requirements.pft
notes api_info_notes.pft
issn api_info_issn.pft
isbn api_info_isbn.pft
identificationNumber api_info_identification_number.pft
grnti api_info_grnti.pft
udc api_info_udc.pft
bbk api_info_bbk.pft
subjectHeadings api_info_subject_headings.pft
meshMain api_info_mesh_main.pft
meshNonMain api_info_mesh_nonmain.pft
geographicalHeadings api_info_geographical_headings.pft
descriptor api_info_descriptor.pft
keywords api_info_keywords.pft
content api_info_content.pft
annotation api_info_annotation.pft
receiptsRegistered api_info_receipts_registered.pft
thePublicationCanBeFoundIn api_info_the_publication_can_be_found_in.pft
url поле записи 951, возвращается как массив подполей

4. Ограничения