НАЧАЛО >> API ИРБИС 64/128 >> Формат API/info для библиографических записей📄 Скачать в DOCX
Формат @API/info возвращает библиографическую запись в виде JSON-структуры для внешних интеграций и портальных решений. Его удобно использовать, когда клиенту нужны не HTML-фрагменты, а заранее разложенные поля: заглавие, авторы, выходные данные, классификационные индексы, ключевые слова, аннотация, сведения об экземплярах и ссылки на внешние объекты.
В 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.
Основной 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 и рассчитаны на библиографические записи депозитной структуры.
| Поле | Источник |
|---|---|
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, возвращается как массив подполей |
Search, для получения объектов вместо строк нужно передавать $asJson = true;