Проект

Общее

Профиль

Руководство пользователя » История » Версия 13

Rustam Usmanov, 27.04.2015 17:31

1 1 Rustam Usmanov
h1. Руководство пользователя
2 2 Rustam Usmanov
3 13 Rustam Usmanov
h2. Поиск и извлечение записей
4
5
Поиск и извлечение записей осуществляются по протоколу "SRU 2.0":http://www.loc.gov/standards/sru/sru-2-0.html. Поддерживаются:
6
* Язык запросов "PQF":http://www.indexdata.com/yaz/doc/tools.html#PQF (queryType=pqf) - для работы со всеми БД Руслан.
7
* Язык запросов CQL - только в части работы с результирующим множеством (query=cql.resultSetId=default).
8
* Одновременное использование нескольких результирующих множеств. Создание и удаление результирующих множеств осуществляется сервисом автоматически. При отсутствии в запросе на поиск параметра resultSetTTL создается результирующее множество с именем ??default??. В противном случае создается результирующее множество с уникальным именем.
9
* Значения ??string?? и ??xml?? параметра recordXMLEscaping.
10
* Ответные сообщения в форматах XML и JSON. Запрос того или иного формата осуществляется при помощи заголовка HTTP Accept - соотв. поддерживаются значения ??application/xml??, ??application/json??.
11
* Извлечение записей в схеме OPAC - для этого следует использовать заголовок HTTP Accept со значением ??application/opac+xml?? либо ??application/opac+json??.
12
13 3 Rustam Usmanov
h2. Заказ документа (бронирование, заказ копии)
14 1 Rustam Usmanov
15 5 Rustam Usmanov
Заказ документа осуществляется в соответствии с NISO Circulation Interchange Protocol (NCIP) v. 2.0.2. Запрос отправляется методом POST по адресу "ncip" относительно корневого URL Web-сервисов (например, http://testbed.ruslan.ru:8080/rrs-web/ncip).
16 3 Rustam Usmanov
17 6 Rustam Usmanov
h3. Входные параметры (обязательные)
18 7 Rustam Usmanov
19 6 Rustam Usmanov
* Идентификатор пользователя, от имени которого осуществляется заказ - UserId/UserIdentifierValue.
20
* Идентификатор библиографической записи, описывающей объект заказа - BibliographicId/BibliographicRecordId/BibliographicRecordIdentifier.
21 1 Rustam Usmanov
* Идентификатор заказываемой услуги - RequestType. Значения: ??Hold?? - бронирование, ??Non-returnable Copy?? - копия.
22 7 Rustam Usmanov
* Область применения запроса - RequestScopeType. Значения: ??Bibliographic Item?? - любой экземпляр, ??Item?? - конкретный экземпляр.
23 6 Rustam Usmanov
* Идентификатор места выдачи заказа - PickupLocation.
24
* Идентификатор домашней организации пользователя - UserId/AgencyId.
25
* Идентификатор организации-держателя заказываемого документа - BibliographicId/BibliographicRecordId/AgencyId
26
27 8 Rustam Usmanov
h3. Выходные параметры (обязательные)
28
29
* Идентификатор пользователя, от имени которого осуществляется заказ - UserId/UserIdentifierValue.
30
* Идентификатор заказываемой услуги - RequestType. Значения: ??Hold?? - бронирование, ??Non-returnable Copy?? - копия.
31
* Область применения запроса - RequestScopeType. Значения: ??Bibliographic Item?? - любой экземпляр, ??Item?? - конкретный экземпляр.
32
* Идентификатор заказа - RequestId/RequestIdentifierValue. Является ключом записи на заказ в БД заказов.
33
* Идентификатор домашней организации пользователя - UserId/AgencyId.
34
* Сведения о проблемах возникших в процессе обработки запроса - Problem.
35
36 9 Rustam Usmanov
Запрос XML:
37 1 Rustam Usmanov
<pre><code class="xml">
38
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
39
<ns1:NCIPMessage xmlns:ns1="http://www.niso.org/2008/ncip">
40
  <ns1:RequestItem>
41
    <ns1:UserId>
42
      <ns1:AgencyId>19013582</ns1:AgencyId>
43
      <ns1:UserIdentifierValue>sip</ns1:UserIdentifierValue>
44
    </ns1:UserId>
45
    <ns1:BibliographicId>
46
      <ns1:BibliographicRecordId>
47
        <ns1:BibliographicRecordIdentifier>RU\SPSTU\books\241</ns1:BibliographicRecordIdentifier>
48
        <ns1:AgencyId>19013582</ns1:AgencyId>
49
      </ns1:BibliographicRecordId>
50
    </ns1:BibliographicId>
51
    <ns1:RequestType ns1:Scheme="http://www.niso.org/ncip/v1_0/imp1/schemes/requesttype/requesttype.scm">Hold</ns1:RequestType>
52
    <ns1:RequestScopeType ns1:Scheme="http://www.niso.org/ncip/v1_0/imp1/schemes/requestscopetype/requestscopetype.scm">Bibliographic Item</ns1:RequestScopeType>
53
    <ns1:PickupLocation>СПбГПУ/ОНЛ/АбонОНЛ</ns1:PickupLocation>
54
  </ns1:RequestItem>
55 3 Rustam Usmanov
</ns1:NCIPMessage>
56
</code></pre>
57 1 Rustam Usmanov
58 9 Rustam Usmanov
Запрос JSON:
59
<pre><code class="json">
60
{
61
    "RequestItem": {
62
        "UserId": {
63
            "AgencyId": {
64
                "value": "19013582"
65
            },
66
            "UserIdentifierValue": "002"
67
        },
68
        "BibliographicId": {
69
            "BibliographicRecordId": {
70
                "BibliographicRecordIdentifier": "RU\\SPSTU\\books\\241",
71
                "AgencyId": {
72
                    "value": "19013582"
73
                }
74
            }
75
        },
76
        "RequestType": {
77
            "value": "Hold",
78
            "Scheme": "http://www.niso.org/ncip/v1_0/imp1/schemes/requesttype/requesttype.scm"
79
        },
80
        "RequestScopeType": {
81
            "value": "Bibliographic Item",
82
            "Scheme": "http://www.niso.org/ncip/v1_0/imp1/schemes/requestscopetype/requestscopetype.scm"
83
        },
84
        "PickupLocation": {
85
            "value": "СПбГПУ/ОНЛ/АбонОНЛ"
86
        }
87
    }
88
}
89
</code></pre>
90
91
Ответ XML (неуспешное завершение):
92 3 Rustam Usmanov
<pre><code class="xml">
93
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
94
<ns1:NCIPMessage xmlns:ns1="http://www.niso.org/2008/ncip">
95
  <ns1:RequestItemResponse>
96
    <ns1:Problem>
97
      <ns1:ProblemType>Diagnostic [220] Additional Info : </ns1:ProblemType>
98 1 Rustam Usmanov
      <ns1:ProblemDetail>220: </ns1:ProblemDetail>
99 4 Rustam Usmanov
    </ns1:Problem>
100
  </ns1:RequestItemResponse>
101 1 Rustam Usmanov
</ns1:NCIPMessage>
102
</code></pre>
103
104 9 Rustam Usmanov
Ответ JSON (неуспешное завершение):
105
<pre><code class="json">
106
{
107
    "RequestItemResponse": {
108
        "Problem": {
109
            "ProblemType": {
110
                "value": "Diagnostic [220] Additional Info : "
111
            },
112
            "ProblemDetail": "220: "
113
        }
114
    }
115
}
116
</code></pre>
117
118 11 Rustam Usmanov
Ответ XML (успешное завершение):
119 4 Rustam Usmanov
<pre><code class="xml">
120
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
121
<ns1:NCIPMessage xmlns:ns1="http://www.niso.org/2008/ncip">
122
  <ns1:RequestItemResponse>
123
    <ns1:UserId>
124
      <ns1:AgencyId>19013582</ns1:AgencyId>
125
      <ns1:UserIdentifierValue>sip</ns1:UserIdentifierValue>
126
    </ns1:UserId>
127
    <ns1:RequestType ns1:Scheme="http://www.niso.org/ncip/v1_0/imp1/schemes/requesttype/requesttype.scm">Hold</ns1:RequestType>
128
    <ns1:RequestScopeType ns1:Scheme="http://www.niso.org/ncip/v1_0/imp1/schemes/requestscopetype/requestscopetype.scm">Bibliographic Item</ns1:RequestScopeType>
129
    <ns1:RequestId>
130
      <ns1:RequestIdentifierValue>302</ns1:RequestIdentifierValue>
131 1 Rustam Usmanov
    </ns1:RequestId>
132
  </ns1:RequestItemResponse>
133
</ns1:NCIPMessage>
134 9 Rustam Usmanov
</code></pre>
135
136
Ответ JSON (успешное завершение):
137
<pre><code class="json">
138
{
139
    "RequestItemResponse": {
140
        "UserId": {
141
            "AgencyId": {
142
                "value": "19013582"
143
            },
144
            "UserIdentifierValue": "002"
145
        },
146
        "RequestType": {
147
            "value": "Hold",
148
            "Scheme": "http://www.niso.org/ncip/v1_0/imp1/schemes/requesttype/requesttype.scm"
149
        },
150
        "RequestScopeType": {
151
            "value": "Bibliographic Item",
152
            "Scheme": "http://www.niso.org/ncip/v1_0/imp1/schemes/requestscopetype/requestscopetype.scm"
153
        },
154
        "RequestId": {
155
            "RequestIdentifierValue": "373"
156
        }
157
    }
158
}
159 1 Rustam Usmanov
</code></pre>