|
Lines 48-74
C4::ILS-DI::Services - ILS-DI Services
Link Here
|
| 48 |
=head1 DESCRIPTION |
48 |
=head1 DESCRIPTION |
| 49 |
|
49 |
|
| 50 |
Each function in this module represents an ILS-DI service. |
50 |
Each function in this module represents an ILS-DI service. |
| 51 |
They all takes a CGI instance as argument and most of them return a |
51 |
They all takes a CGI instance as argument and most of them return a |
| 52 |
hashref that will be printed by XML::Simple in opac/ilsdi.pl |
52 |
hashref that will be printed by XML::Simple in opac/ilsdi.pl |
| 53 |
|
53 |
|
| 54 |
=head1 SYNOPSIS |
54 |
=head1 SYNOPSIS |
| 55 |
|
55 |
|
| 56 |
use C4::ILSDI::Services; |
56 |
use C4::ILSDI::Services; |
| 57 |
use XML::Simple; |
57 |
use XML::Simple; |
| 58 |
use CGI qw ( -utf8 ); |
58 |
use CGI qw ( -utf8 ); |
| 59 |
|
59 |
|
| 60 |
my $cgi = new CGI; |
60 |
my $cgi = new CGI; |
| 61 |
|
61 |
|
| 62 |
$out = LookupPatron($cgi); |
62 |
$out = LookupPatron($cgi); |
| 63 |
|
63 |
|
| 64 |
print CGI::header('text/xml'); |
64 |
print CGI::header('text/xml'); |
| 65 |
print XMLout($out, |
65 |
print XMLout($out, |
| 66 |
noattr => 1, |
66 |
noattr => 1, |
| 67 |
noescape => 1, |
67 |
noescape => 1, |
| 68 |
nosort => 1, |
68 |
nosort => 1, |
| 69 |
xmldecl => '<?xml version="1.0" encoding="UTF-8" ?>', |
69 |
xmldecl => '<?xml version="1.0" encoding="UTF-8" ?>', |
| 70 |
RootName => 'LookupPatron', |
70 |
RootName => 'LookupPatron', |
| 71 |
SuppressEmpty => 1); |
71 |
SuppressEmpty => 1); |
| 72 |
|
72 |
|
| 73 |
=cut |
73 |
=cut |
| 74 |
|
74 |
|
|
Lines 76-82
hashref that will be printed by XML::Simple in opac/ilsdi.pl
Link Here
|
| 76 |
|
76 |
|
| 77 |
=head2 GetAvailability |
77 |
=head2 GetAvailability |
| 78 |
|
78 |
|
| 79 |
Given a set of biblionumbers or itemnumbers, returns a list with |
79 |
Given a set of biblionumbers or itemnumbers, returns a list with |
| 80 |
availability of the items associated with the identifiers. |
80 |
availability of the items associated with the identifiers. |
| 81 |
|
81 |
|
| 82 |
Parameters: |
82 |
Parameters: |
|
Lines 84-92
Parameters:
Link Here
|
| 84 |
=head3 id (Required) |
84 |
=head3 id (Required) |
| 85 |
|
85 |
|
| 86 |
list of either biblionumbers or itemnumbers |
86 |
list of either biblionumbers or itemnumbers |
|
|
87 |
|
| 87 |
=head3 id_type (Required) |
88 |
=head3 id_type (Required) |
| 88 |
|
89 |
|
| 89 |
defines the type of record identifier being used in the request, |
90 |
defines the type of record identifier being used in the request, |
| 90 |
possible values: |
91 |
possible values: |
| 91 |
|
92 |
|
| 92 |
- bib |
93 |
- bib |
|
Lines 94-100
possible values:
Link Here
|
| 94 |
|
95 |
|
| 95 |
=head3 return_type (Optional) |
96 |
=head3 return_type (Optional) |
| 96 |
|
97 |
|
| 97 |
requests a particular level of detail in reporting availability, |
98 |
requests a particular level of detail in reporting availability, |
| 98 |
possible values: |
99 |
possible values: |
| 99 |
|
100 |
|
| 100 |
- bib |
101 |
- bib |
|
Lines 102-109
possible values:
Link Here
|
| 102 |
|
103 |
|
| 103 |
=head3 return_fmt (Optional) |
104 |
=head3 return_fmt (Optional) |
| 104 |
|
105 |
|
| 105 |
requests a particular format or set of formats in reporting |
106 |
requests a particular format or set of formats in reporting |
| 106 |
availability |
107 |
availability |
| 107 |
|
108 |
|
| 108 |
=cut |
109 |
=cut |
| 109 |
|
110 |
|
|
Lines 171-183
sub GetAvailability {
Link Here
|
| 171 |
|
172 |
|
| 172 |
=head2 GetRecords |
173 |
=head2 GetRecords |
| 173 |
|
174 |
|
| 174 |
Given a list of biblionumbers, returns a list of record objects that |
175 |
Given a list of biblionumbers, returns a list of record objects that |
| 175 |
contain bibliographic information, as well as associated holdings and item |
176 |
contain bibliographic information, as well as associated holdings and item |
| 176 |
information. The caller may request a specific metadata schema for the |
177 |
information. The caller may request a specific metadata schema for the |
| 177 |
record objects to be returned. |
178 |
record objects to be returned. |
| 178 |
|
179 |
|
| 179 |
This function behaves similarly to HarvestBibliographicRecords and |
180 |
This function behaves similarly to HarvestBibliographicRecords and |
| 180 |
HarvestExpandedRecords in Data Aggregation, but allows quick, real time |
181 |
HarvestExpandedRecords in Data Aggregation, but allows quick, real time |
| 181 |
lookup by bibliographic identifier. |
182 |
lookup by bibliographic identifier. |
| 182 |
|
183 |
|
| 183 |
You can use OAI-PMH ListRecords instead of this service. |
184 |
You can use OAI-PMH ListRecords instead of this service. |
|
Lines 185-195
You can use OAI-PMH ListRecords instead of this service.
Link Here
|
| 185 |
Parameters: |
186 |
Parameters: |
| 186 |
|
187 |
|
| 187 |
- id (Required) |
188 |
- id (Required) |
| 188 |
list of system record identifiers |
189 |
list of system record identifiers |
| 189 |
- id_type (Optional) |
190 |
- id_type (Optional) |
| 190 |
Defines the metadata schema in which the records are returned, |
191 |
Defines the metadata schema in which the records are returned, |
| 191 |
possible values: |
192 |
possible values: |
| 192 |
- MARCXML |
193 |
- MARCXML |
| 193 |
|
194 |
|
| 194 |
=cut |
195 |
=cut |
| 195 |
|
196 |
|
|
Lines 253-260
sub GetRecords {
Link Here
|
| 253 |
|
254 |
|
| 254 |
=head2 GetAuthorityRecords |
255 |
=head2 GetAuthorityRecords |
| 255 |
|
256 |
|
| 256 |
Given a list of authority record identifiers, returns a list of record |
257 |
Given a list of authority record identifiers, returns a list of record |
| 257 |
objects that contain the authority records. The function user may request |
258 |
objects that contain the authority records. The function user may request |
| 258 |
a specific metadata schema for the record objects. |
259 |
a specific metadata schema for the record objects. |
| 259 |
|
260 |
|
| 260 |
Parameters: |
261 |
Parameters: |
|
Lines 294-307
Looks up a patron in the ILS by an identifier, and returns the borrowernumber.
Link Here
|
| 294 |
Parameters: |
295 |
Parameters: |
| 295 |
|
296 |
|
| 296 |
- id (Required) |
297 |
- id (Required) |
| 297 |
an identifier used to look up the patron in Koha |
298 |
an identifier used to look up the patron in Koha |
| 298 |
- id_type (Optional) |
299 |
- id_type (Optional) |
| 299 |
the type of the identifier, possible values: |
300 |
the type of the identifier, possible values: |
| 300 |
- cardnumber |
301 |
- cardnumber |
| 301 |
- userid |
302 |
- userid |
| 302 |
- email |
303 |
- email |
| 303 |
- borrowernumber |
304 |
- borrowernumber |
| 304 |
- firstname |
305 |
- firstname |
| 305 |
- surname |
306 |
- surname |
| 306 |
|
307 |
|
| 307 |
=cut |
308 |
=cut |
|
Lines 312-328
sub LookupPatron {
Link Here
|
| 312 |
my $patrons; |
313 |
my $patrons; |
| 313 |
|
314 |
|
| 314 |
if(!$cgi->param('id')) { |
315 |
if(!$cgi->param('id')) { |
| 315 |
return { message => 'PatronNotFound' }; |
316 |
return { message => 'PatronNotFound' }; |
| 316 |
} |
317 |
} |
| 317 |
|
318 |
|
| 318 |
if($cgi->param('id_type')) { |
319 |
if($cgi->param('id_type')) { |
| 319 |
$patrons = Koha::Patrons->search( { $cgi->param('id_type') => $cgi->param('id') } ); |
320 |
$patrons = Koha::Patrons->search( { $cgi->param('id_type') => $cgi->param('id') } ); |
| 320 |
} else { |
321 |
} else { |
| 321 |
foreach my $id_type ('cardnumber', 'userid', 'email', 'borrowernumber', |
322 |
foreach my $id_type ('cardnumber', 'userid', 'email', 'borrowernumber', |
| 322 |
'surname', 'firstname') { |
323 |
'surname', 'firstname') { |
| 323 |
$patrons = Koha::Patrons->search( { $id_type => $cgi->param('id') } ); |
324 |
$patrons = Koha::Patrons->search( { $id_type => $cgi->param('id') } ); |
| 324 |
last if($patrons->count); |
325 |
last if($patrons->count); |
| 325 |
} |
326 |
} |
| 326 |
} |
327 |
} |
| 327 |
unless ( $patrons->count ) { |
328 |
unless ( $patrons->count ) { |
| 328 |
return { message => 'PatronNotFound' }; |
329 |
return { message => 'PatronNotFound' }; |
|
Lines 333-339
sub LookupPatron {
Link Here
|
| 333 |
|
334 |
|
| 334 |
=head2 AuthenticatePatron |
335 |
=head2 AuthenticatePatron |
| 335 |
|
336 |
|
| 336 |
Authenticates a user's login credentials and returns the identifier for |
337 |
Authenticates a user's login credentials and returns the identifier for |
| 337 |
the patron. |
338 |
the patron. |
| 338 |
|
339 |
|
| 339 |
Parameters: |
340 |
Parameters: |
|
Lines 362-383
sub AuthenticatePatron {
Link Here
|
| 362 |
|
363 |
|
| 363 |
=head2 GetPatronInfo |
364 |
=head2 GetPatronInfo |
| 364 |
|
365 |
|
| 365 |
Returns specified information about the patron, based on options in the |
366 |
Returns specified information about the patron, based on options in the |
| 366 |
request. This function can optionally return patron's contact information, |
367 |
request. This function can optionally return patron's contact information, |
| 367 |
fine information, hold request information, and loan information. |
368 |
fine information, hold request information, and loan information. |
| 368 |
|
369 |
|
| 369 |
Parameters: |
370 |
Parameters: |
| 370 |
|
371 |
|
| 371 |
- patron_id (Required) |
372 |
- patron_id (Required) |
| 372 |
the borrowernumber |
373 |
the borrowernumber |
| 373 |
- show_contact (Optional, default 1) |
374 |
- show_contact (Optional, default 1) |
| 374 |
whether or not to return patron's contact information in the response |
375 |
whether or not to return patron's contact information in the response |
| 375 |
- show_fines (Optional, default 0) |
376 |
- show_fines (Optional, default 0) |
| 376 |
whether or not to return fine information in the response |
377 |
whether or not to return fine information in the response |
| 377 |
- show_holds (Optional, default 0) |
378 |
- show_holds (Optional, default 0) |
| 378 |
whether or not to return hold request information in the response |
379 |
whether or not to return hold request information in the response |
| 379 |
- show_loans (Optional, default 0) |
380 |
- show_loans (Optional, default 0) |
| 380 |
whether or not to return loan information request information in the response |
381 |
whether or not to return loan information request information in the response |
| 381 |
|
382 |
|
| 382 |
=cut |
383 |
=cut |
| 383 |
|
384 |
|
|
Lines 484-490
Returns a patron's status information.
Link Here
|
| 484 |
Parameters: |
485 |
Parameters: |
| 485 |
|
486 |
|
| 486 |
- patron_id (Required) |
487 |
- patron_id (Required) |
| 487 |
the borrower ID |
488 |
the borrower ID |
| 488 |
|
489 |
|
| 489 |
=cut |
490 |
=cut |
| 490 |
|
491 |
|
|
Lines 506-520
sub GetPatronStatus {
Link Here
|
| 506 |
|
507 |
|
| 507 |
=head2 GetServices |
508 |
=head2 GetServices |
| 508 |
|
509 |
|
| 509 |
Returns information about the services available on a particular item for |
510 |
Returns information about the services available on a particular item for |
| 510 |
a particular patron. |
511 |
a particular patron. |
| 511 |
|
512 |
|
| 512 |
Parameters: |
513 |
Parameters: |
| 513 |
|
514 |
|
| 514 |
- patron_id (Required) |
515 |
- patron_id (Required) |
| 515 |
a borrowernumber |
516 |
a borrowernumber |
| 516 |
- item_id (Required) |
517 |
- item_id (Required) |
| 517 |
an itemnumber |
518 |
an itemnumber |
| 518 |
|
519 |
|
| 519 |
=cut |
520 |
=cut |
| 520 |
|
521 |
|
|
Lines 583-593
Extends the due date for a borrower's existing issue.
Link Here
|
| 583 |
Parameters: |
584 |
Parameters: |
| 584 |
|
585 |
|
| 585 |
- patron_id (Required) |
586 |
- patron_id (Required) |
| 586 |
a borrowernumber |
587 |
a borrowernumber |
| 587 |
- item_id (Required) |
588 |
- item_id (Required) |
| 588 |
an itemnumber |
589 |
an itemnumber |
| 589 |
- desired_due_date (Required) |
590 |
- desired_due_date (Required) |
| 590 |
the date the patron would like the item returned by |
591 |
the date the patron would like the item returned by |
| 591 |
|
592 |
|
| 592 |
=cut |
593 |
=cut |
| 593 |
|
594 |
|
|
Lines 627-643
Creates, for a borrower, a biblio-level hold reserve.
Link Here
|
| 627 |
Parameters: |
628 |
Parameters: |
| 628 |
|
629 |
|
| 629 |
- patron_id (Required) |
630 |
- patron_id (Required) |
| 630 |
a borrowernumber |
631 |
a borrowernumber |
| 631 |
- bib_id (Required) |
632 |
- bib_id (Required) |
| 632 |
a biblionumber |
633 |
a biblionumber |
| 633 |
- request_location (Required) |
634 |
- request_location (Required) |
| 634 |
IP address where the end user request is being placed |
635 |
IP address where the end user request is being placed |
| 635 |
- pickup_location (Optional) |
636 |
- pickup_location (Optional) |
| 636 |
a branch code indicating the location to which to deliver the item for pickup |
637 |
a branch code indicating the location to which to deliver the item for pickup |
| 637 |
- needed_before_date (Optional) |
638 |
- needed_before_date (Optional) |
| 638 |
date after which hold request is no longer needed |
639 |
date after which hold request is no longer needed |
| 639 |
- pickup_expiry_date (Optional) |
640 |
- pickup_expiry_date (Optional) |
| 640 |
date after which item returned to shelf if item is not picked up |
641 |
date after which item returned to shelf if item is not picked up |
| 641 |
|
642 |
|
| 642 |
=cut |
643 |
=cut |
| 643 |
|
644 |
|
|
Lines 689-711
sub HoldTitle {
Link Here
|
| 689 |
|
690 |
|
| 690 |
=head2 HoldItem |
691 |
=head2 HoldItem |
| 691 |
|
692 |
|
| 692 |
Creates, for a borrower, an item-level hold request on a specific item of |
693 |
Creates, for a borrower, an item-level hold request on a specific item of |
| 693 |
a bibliographic record in Koha. |
694 |
a bibliographic record in Koha. |
| 694 |
|
695 |
|
| 695 |
Parameters: |
696 |
Parameters: |
| 696 |
|
697 |
|
| 697 |
- patron_id (Required) |
698 |
- patron_id (Required) |
| 698 |
a borrowernumber |
699 |
a borrowernumber |
| 699 |
- bib_id (Required) |
700 |
- bib_id (Required) |
| 700 |
a biblionumber |
701 |
a biblionumber |
| 701 |
- item_id (Required) |
702 |
- item_id (Required) |
| 702 |
an itemnumber |
703 |
an itemnumber |
| 703 |
- pickup_location (Optional) |
704 |
- pickup_location (Optional) |
| 704 |
a branch code indicating the location to which to deliver the item for pickup |
705 |
a branch code indicating the location to which to deliver the item for pickup |
| 705 |
- needed_before_date (Optional) |
706 |
- needed_before_date (Optional) |
| 706 |
date after which hold request is no longer needed |
707 |
date after which hold request is no longer needed |
| 707 |
- pickup_expiry_date (Optional) |
708 |
- pickup_expiry_date (Optional) |
| 708 |
date after which item returned to shelf if item is not picked up |
709 |
date after which item returned to shelf if item is not picked up |
| 709 |
|
710 |
|
| 710 |
=cut |
711 |
=cut |
| 711 |
|
712 |
|
| 712 |
- |
|
|