APIs and protocols supported by Koha

From Koha Wiki
Jump to navigation Jump to search

RESTful web service calls

REST API

This is a relatively new API in Koha. It is being actively developed and expanded.

Koha /svc/ HTTP API

This is an older API. It is maintained, but does not get expanded. Eventually it will probably get deprecated.

Reports web service

Any saved SQL report can be set to internal or public to be available in JSON format with and without authentication.

A public report is accessible via a URL that looks like this:

http://MYOPAC/cgi-bin/koha/svc/report?id=REPORTID

An internal report requires authentication and is available from the intranet base URL.

Patrons, circulation, payment etc

SIP2

ILS-DI

See ILS-DI.

E-Payment

Bug 19173 makes OPAC online payments pluggable for easier integration with other and local payment methods.

Example: Plugin for Paypal

Bibliographic data

Z39.50

Support for Z39.50 is provided by Zebra for installations using it. For Elasticsearch and other advanced usage there is a standalone Z39.50/SRU Responder (starting with Koha 19.11). See the page Setting up the Z39.50 and SRU Server for more information.

Server

Koha can act as a Z39.50 server.

Client

Koha can also be used as a client to retrieve both bibliographic and authority records from other Z39.50 servers. This is often referred to as copy cataloguing.

SRU

Server

Koha can act as a SRU server via Zebra for installations using it. For Elasticsearch and other advanced usage there is a standalone Z39.50/SRU Responder (starting with Koha 19.11). See the page Setting up the Z39.50 and SRU Server for more information.

Client

Koha can also be used as a client to retrieve bibliographic records from other SRU servers.

OAI-PMH

Data Provider

Koha can be set up as a Data Provider (server) by enabling the OAI-PMH system preference.

Service Provider

Koha can currently not act as a Service Provider (client), but Bug 10662 - Build OAI-PMH Harvesting Client aims to change this, in order to make it possible to have Koha ingest/update records via OAI-PMH.

unAPI

OpenSearch

Koha can output search results in OpenSearch format, but not consume and display OpenSearch data from other sources.

RSS

RSS feeds are provided with different information:

  • Search results
  • News items
  • Lists
  • ...

Authentication

LDAP

CAS

Shibboleth

Mozilla Persona [removed]

SSL Client Certificate

OAuth2

The OAuth2 protocol is used to integrate Koha with other systems in different ways.

External identity providers

Koha provides configuration options OpenID connect to grant access to patrons (cookie based).

Koha as an identity provider

An internal OAuth2 server is implemented. It currently implements the following grant flows:

  • Client credentials
Client credentials grant

The client credentials grant is implemented.

This basic flow is intended to be used with confidential clients (i.e. external systems we trust) and always under secure connections (HTTPS). In order to use it, you need to explicitly enable it using the RESTOAuth2ClientCredentials system preference. Once it is enabled you will be able to manage API keys (client_id and client_secret pairs) on a per-patron basis using the staff interface. The implementation from bug 20612 doesn't provide a way to limit the scope of this tokens (i.e. specify the permissions the API key grants the consumer).

Acquisitions

EDIFACT

  • quotes
  • orders
  • invoices
  • responses

See also