3. Funktionen im Detail
Kapitel hinzufügen

3.1 RPC-Kategorie debug
Abschnitt hinzufügen

Die RPCs der Kategorie „Debug“ dienen dem Testen der Schnittstelle, insbesondere zum Zwecke der
Entwicklung und Implementierung neuer oder angepasster Clients. Sie bewirken triviale Reaktionen
und haben so keinerlei konstruktiven Wert.

3.1.1 debug.fault

Die Funktion dient Test- und Debugging-Zwecken.
Mit ihrer Hilfe lässt sich ein Fehler auf Protokollebene simulieren, mit dessen Hilfe die
Fehlerbehandlung des Clients getestet werden kann.
Der einzige Parameter vom Typ boolean bestimmt, ob der Rückgabewert ein XMLRPC-Fault oder ein
freundliches Grußwort sein soll.

Parameter: <bool>
Response: <xmlrpc fault> / <string>

3.1.2 debug.echo

Diese Funktion dient Test- und Debugging-Zwecken. Mit ihrer Hilfe lässt sich das Auslesen von Daten als Rückantwort testen. Eine Echo-Funktion gibt exakt den im Request übergebenen String zurück („Hallo“).

Parameter: (string)
Response: (string)

3.1.3 debug.reciprocal

Zu Testzwecken Reziprokwert des Parameters („1/x-Funktion“). Parameter und Response sind im Format integer.

Parameter: (int)
Response: (int)

Diese Funktion dient Test- und Debugging-Zwecken. Die Werte werden hintereinander durch Komma getrennt übergeben („Aufsummierung“).

Parameter: (int), (int)
Response: (int)

3.1.4 debug.sum

Summiert die verfügbaren Parameter und die Rückantwort auf.

Summe der Parameter („Aufsummierung“)
Parameter: (int), (int)
Response: (int)

3.2 RPC-Kategorie „service“
Abschnitt hinzufügen

Die RPCs der Kategorie „service“ realisieren generelle Funktionen, die unabhängig von speziellen
Objekten wie Aufträgen oder Chargen sind.

3.2.1 service.license

Die Funktion dient der Abfrage der eindeutigen Identifikationsnummer der im MyBib-System aktiv genutzten Lizenz. Damit wird eine Möglichkeit zur eindeutigen Identifikation eines Systems geboten. Das ist erforderlich, da die URL des Systems unter Umständen keine eindeutige
Identifikation zulässt, so z.B: bei relativen URLs.

Parameter: Keine

Response: <single string value>

Request:

<?xml version="1.0"?>
<methodCall>
<methodName>service.license</methodName>
<params>
</params>
</methodCall>

Response:

<?xml version="1.0" ?>
<methodResponse>
<params>
<param>
<value><string>005959-32-oha-1-200-105-2023_2023-01-31</string></value>
</param>
</params>
</methodResponse>

3.2.2 service.noop

Die Funktion bewirkt keine Operation auf dem System.
Neben dem Testcharakter kann die Funktion genutzt werden, um den Timeout einer bestehenden
Session zu verhindern.
Voraussetzung zur Nutzung ist eine valide Session.

Parameter: <session-ID>
Response: <single string value>

3.2.3 service.register

Mit dieser Funktion wird ein Client beim MyBib eDoc-Server registriert. Dabei muss der Peer neben der eindeutigen Kennung (Lizenznummer eines BCS-2 Scanclients, Nutzerkennung eines Peers in MyBib eDoc) und dem Passwort, die vorher in Peer hinterlegt wurden, zusätzlich einen eindeutigen Identifier übergeben. Die ID wird nach erfolgreicher Registrierung in MyBib eDoc gespeichert und ist danach immer Bestandteil jedes Funktionsaufrufs.

Welche ID übergeben wird, bestimmt der Client selbst, typischerweise ist es die MAC-Adresse der Netzwerkkarte oder die System-ID eines Rechners. Letztendlich kann auch eine beliebige Kennung (String) gewählt werden. Voraussetzung ist aber, das sie eindeutig sein muss. Bei Verwendung bei einem zweiten Client wird eine entsprechende XMLRPC-Fehlermeldung (ERR_XMLRPC_REGISTER_PARAMETER_MISMATCH) als Rückantwort übergeben.

Der Response eines Clients, der sich registrieren will, muss mindestens die im Abschnitt davor bereits erwähnte Nutzerkennung (register_user) das Passwort (register_pwd) und die eindeutige ID (register_mac) übergeben. Die anderen Parameter dagegen sind optional bzw. nur im Falle einer Peer-To-Peer-Kommunikation eventuell notwendig (beispielsweise zwischen MyBib eDoc und einem Medea-System).

Bei BCS-2 wird die Lizenznummer sowohl im Feld Lizenz-Kennung (register_client_license_id), als auch im Feld eindeutige ID (register_mac) übergeben. Zusätzlich wird noch die System-ID und das in MyBib eDoc hinterlegte Passwort übermittelt.

Parameter:

register_struct

register_client_license_id (string) || eindeutige Lizenz-Kennung
register_name (string) ||
register_user (string) 
register_pwd (string) || Nutzer-Passwort
register_system_id (string) || eindeutige Kennung des Client-Rechners
register_mac (string) ||
register_domain (string) || Nummer/Name der MyBib eDoc Domäne
register_inst (string) ||
register_institution (string) ||
register_lang (string) || verwendete Sprache des Client (GERMAN oder ENGLISH)
register_language (string) ||
register_mode (string) || optionale Angabe zum Registriermodus
register_local_type (string) || optionale Angabe zum Clienttyp
register_local_user (string)
register_local_domain (string) || optionale Angabe zur Domäne des Clients
register_local_inst (string) ||
register_local_institution (string) ||
register_local_url (string) || optionale Angabe zur URL des Clients
register_timezone (string) || optionale Angabe zur Zeitzone des Clients
scc_timezone (string) ||
register_identification (string) || optionale Angabe zur Clientidentifikation
scc_identification (string) ||
scc_mac (string) || optionale Angabe zur Mac-Adresse des Clients
register_hostname (string) || optionale Angabe zum Hostname des Clients
scc_hostname (string) ||
register_opsystem (string) || optionale Angabe zum Betriebssystem
scc_opsystem (string) ||
register_system (string) || optionale Angabe zum System (Prozessor, Speichergröße, )
scc_system (string) ||
register_scanner (string) || optionale Angabe zum Scanner (Seriennummer des Scanners)
scc_scanner (string) ||
register_version (string) || optionale Angabe zur Version der Scanclient-Software
scc_version (string) ||
register_customer (string) || Kunde (aus der Scanclient-Lizenz-Information)
scc_customer (string) ||
register_company (string) || Firma (aus der Scanclient-Lizenz-Information)
scc_company (string) ||
register_licdate (string) || Ablaufdatum der Scanclient-Lizenz
scc_licdate (string) ||
register_licmod (string) || optionale Angabe: lizensierte Module des Scanclients
scc_licmod (string) ||
register_licscanner (string) || optionale Angabe zur Scanner-Seriennummer
scc_licscanner (string) || register_peer_comment (string) || optionaler
Kommentar des Peersystems
scc_peer_comment (string) ||
register_iprange (string) || optionale Angabe des IP-Adressen Bereichs

Response Erfolgsfall:

struct
status (boolean)
XMLRPC_struct
technical (string)
message (string)

Response Fehlerfall:

struct
status (boolean)
ERROR_struct
technical (string)
message (string)

Mögliche Fehler:

ERR_XMLRPC_REGISTER_CLIENT
ERR_XMLRPC_REGISTER_PARAMETER_MISMATCH
ERR_XMLRPC_REGISTER_CLIENT_IMPORT
ERR_XMLRPC_REGISTER_CORRUPT_PEER_CONFIG
ERR_XMLRPC_REGISTER_WITHOUT_DATA
ERR_XMLRPC_INTERNAL_ERROR

3.2.4 service.login

Diese Funktion meldet den Client für eine Folge von Operationen am MyBib eDoc-Server an und gibt im Erfolgsfall eine Session-ID (session_id) und die Protokoll-Version der RPC-Schnittstelle zurück. Die Session-ID muss als erster Parameter in allen weiteren Funktionen verwendet werden.

Voraussetzung für das erfolgreiche Anmelden an dem Server ist die vorherige Registrierung des
Clients. Die in den Parametern „login_system_id (login_mac)“ und „login_name (login_user)“ übermittelte
eindeutige System-Kennung des Client-Systems dient zur Verifikation der Registrierung.
MyBib eDoc-seitig wird für den Scan-Client eine Session angelegt; analog zu den Sessions in der Web-
Oberfläche. Auch hier gilt, dass im Falle der Verwendung nicht eindeutiger IDs, also IDs, die bereits registriert wurden, es zu einer Fehlermeldung kommt (ERR_XMLRPC_LOGIN_PARAMETER_MISMATCH)

Request:

struct
login_name (string) || Nutzerkennung des Clients (entspricht dem register_user der Registrierung)
login_user (string) ||
login_client_license_id (string) ||
login_password (string) || Kennwort des Scanclients
login_pass (string) ||
login_pwd (string) || Passwort des Clients
login_mac (string) || eindeutige System-ID des Client-Systems
login_system_id (string) ||
login_domain (string) || Nummer/Name der MyBib eDoc Domain
login_inst (string) ||
login_institution (string) || 
login_lang (string) || Verwendete Clientsprache (möglich GERMAN und ENGLISH)
login_language (string) ||
login_interface (string) || Interface Version des Clients

Response Erfolgsfall:

struct
status (boolean)
session_struct
session_id (string) Session-ID für folgende Aufrufe
xmlrpc_interface (string) Protokollversion des XMLRPC-Servers

Response Fehlerfall:

struct
status (boolean)
ERROR_struct
technical (string)
message (string)

Fehler:

ERR_XMLRPC_LOGIN
ERR_XMLRPC_LOGIN_WRONG_NAME_PWD
ERR_XMLRPC_LOGIN_NO_NAME_PWD_ID
ERR_XMLRPC_LOGIN_NO_NAME_PWD_MAC
ERR_XMLRPC_LOGIN_PARAMETER_MISMATCH
ERR_XMLRPC_LOGIN_WRONG_INSTITUTION
ERR_XMLRPC_LOGIN_NOT_REGISTERED
ERR_XMLRPC_LOGIN_CORRUPT_PEER_CONFIG
ERR_XMLRPC_LOGIN_NO_DOMAIN_NOT_ALLOWED

3.2.5 service.logout

Diese Funktion beendet die durch den einzigen übergebenen Parameter benannte Session wieder.

Request:

session_id (string) || Session-ID, die durch service.login generiert wurde.

Response Erfolgsfall:

struct
status (boolean)
XMLRPC_struct
technical (string)
message (string)

Response Fehlerfall:

struct
status (boolean)
ERROR_struct
technical (string)
message (string)

Fehler:

ERR_XMLRPC_LOGOUT
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_INVALID_SESSION
ERR_XMLRPC_LOGOUT_PARAMETER_MISMATCH

3.2.6 service.testconnection

Diese Funktion testet die grundsätzliche Erreichbarkeit des Ziel-Servers. Es wird eine Zeichenkette der Art „Hello, nice to meet you!“ zurückgegeben.

Parameter:

Response:
struct
  status     (boolean)
  hello_msg  (string)

3.2.7 service.getuserlist

Parameter:

session_id (string) Session-ID, die durch service.login generiert wurde.

Response Erfolgsfall:

struct
  status       (boolean)
  user_struct
   user_count  (int) (Anzahl valider user für den client )
   array       (array) (Namen der validen user)

Response Fehlerfall:

struct
  status    (boolean)
  ERROR_struct
  technical  (string)
  message    (string)

Fehler:

ERR_XMLRPC_GETUSERLIST
ERR_XMLRPC_GETUSERLIST_PARAMETER_MISMATCH
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_ORSCAN
ERR_XMLRPC_RETRIEVE_USERLIST

3.2.8 service.checkuser

Parameter:

session_id    (string)   Session-ID, die durch service.login generiert wurde
user          (string)   Zu authentifizierender Nutzer
pass          (string)   Passwort des Nutzers

Response Erfolgsfall:

struct 
  status     (boolean)
  user_struct
    user_id (int) Datenbankid des Benutzers

Response Fehlerfall:

struct
  status        (boolean)
  ERROR_struct
    technical   (string)
    message     (string)

Fehler:

ERR_XMLRPC_CHECKUSER
ERR_XMLRPC_CHECKUSER_PARAMETER_MISMATCH
ERR_XMLRPC_CHECKUSER_FAILED
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_ORSCAN

3.3 RPC-Kategorie „order“
Abschnitt hinzufügen

3.3.1 order.getdata

Diese Funktion dient zur Abfrage aller für den Upload/Download relevanten Parameter zur jeweiligen
Bestellung. Als Rückgabewert wird von MyBib eDoc bei dieser Funktion unter anderem der Ablageort der Scans und das Dateiformat übermittelt. Welche Formate von MyBib eDoc übergeben werden, ist in den Formateinstellungen definiert.

Parameter:

session_id          (string)     Aktuelle Session des Clients auf dem Server
order_nr            (string)     Auftragskennung auf dem MyBib eDoc-Server
mode                (string)     Modus (UPLOAD, DOWNLOAD)
user                (string)     Nutzer des Clients (optional)
pass                (string)     Passwort des Client-Nutzers (optional)

Rückgabe im Erfolgsfall:

Die Rückgabe dieser Funktion ist abhängig vom gewählten Aktionsmodus. So werden für UPLOAD- und
DOWNLOAD-Modus unterschiedliche Daten in protokoll_struct bzw. format_struct in Abhängigkeit der
entsprechenden Einstellungen auf dem MyBib eDoc-Server bereitgestellt.

Modus UPLOAD

protocol_struct: Alle für den Upload von Scans benötigten Daten in Abhängigkeit des auf dem Server
eingestellten Transferprotokolls für den entsprechenden Client.
format_struct: Die gewünschten Upload-Formate (ORIGINALS,THUMBNAILS,PREVIEWS,PDF), sowie
deren Namensschablone als Array
order_struct: Auftragsspezifische Daten für den Client

Modus DOWNLOAD

protocol_struct: Alle für den Download von Scans benötigten Daten in Abhängigkeit des
Transferprotokolls für den entsprechenden Client.
format_struct: Die herunterzuladenden Dateien als Array
order_struct: Auftragsspezifische Daten für den Client

Fehler:

ERR_XMLRPC_GETDATA
ERR_XMLRPC_GETDATA_PARAMETER_MISMATCH
ERR_XMLRPC_GETDATA_NO_TARGET
ERR_XMLRPC_GETDATA_NO_DATADIR
ERR_XMLRPC_GETDATA_NO_FILENAMETEMPLATE
ERR_XMLRPC_GETDATA_NO_FILECOUNTER
ERR_XMLRPC_GETDATA_MISSING_SCANDIR
ERR_XMLRPC_GETDATA_MISSING_FILE
ERR_XMLRPC_GETDATA_NO_DATADIR
ERR_XMLRPC_GETDATA_NO_FILENAMETEMPLATE
ERR_XMLRPC_GETDATA_MISSING_SCANDIR
ERR_XMLRPC_GETDATA_MISSING_FILE
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_NO_SERVICE_DATA
ERR_XMLRPC_LOCK_ORDER
ERR_XMLRPC_PEER_NOT_FOUND
ERR_XMLRPC_PEER_REQUEST
ERR_XMLRPC_GET_FOLDERINDEX
ERR_XMLRPC_MOVE_TMP_FILE
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_NO_ORDER_DATA
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_AUTHENTICATION_FAILED_USER
ERR_XMLRPC_AUTHENTICATION_CHECKRIGHTS
ERR_XMLRPC_AUTHENTICATION_FAILED_NODOMAIN
ERR_XMLRPC_AUTHENTICATION_FAILED

3.3.2 order.notifyupload

Die Funktion „order.notifyupload“ dient zur Benachrichtung des Servers über einen erfolgreichen Dateiupload. Aufgrund dieser Meldung wird die weitere Verarbeitung des Auftrags auf dem Server
veranlasst.

Parameter

session_id          (string)     Aktuelle Session des Clients auf dem Server
order_nr            (string)     Auftragskennung auf dem MyBib eDoc-Server
status_code         (boolean)    Ergebnis Upload der angeforderten Dateien
scan_code           (string)     Anzahl der hochgeladenen Scans (nicht Dateien)
error_code          (string)     Fehlerbeschreibung bei fehlerhaftem Upload
upload_code         (string)    
journal_struct      (string)
user                (string)     Nutzer des Clients (optional)
pass                (string)     Passwort des Client-Nutzers (optional)
reworking_struct    (struct)     Nachbearbeitungskennzeichen
   reworking_code   (string)     NBK-Code aus NBK-Liste in MyBib eDoc
   reworking_text   (string)     NBK-Text

Response Erfolgsfall:

struct
status (boolean)
XMLRPC_struct
technical (string)
message (string)

Response Fehlerfall:

struct
status (boolean)
ERROR_struct
technical (string)
message (string)
3.3.2.1 Fehler
ERR_XMLRPC_UPLOAD
ERR_XMLRPC_NOTIFYUPLOAD_PARAMETER_MISMATCH
ERR_XMLRPC_ERROR_UPLOAD
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_DELETE_OK
ERR_XMLRPC_NO_SERVICE_DATA
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_NO_ORDER_DATA
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE
ERR_XMLRPC_AUTHENTICATION_FAILED_USER
ERR_XMLRPC_AUTHENTICATION_CHECKRIGHTS
ERR_XMLRPC_AUTHENTICATION_FAILED_NODOMAIN
ERR_XMLRPC_AUTHENTICATION_FAILED
ERR_XMLRPC_CHANGE_STAGE_ORDER_RESE
ERR_XMLRPC_WRONG_ORDER_STAGE
ERR_XMLRPC_WRONG_ORDER_STATE
ERR_XMLRPC_WRONG_ORDER_SERVICE_TYPE
ERR_XMLRPC_ORDER_SERVICE_STATE_NOTPOSSIBLE
ERR_XMLRPC_SCN_OCR_NOTPOSSIBLE
ERR_XMLRPC_NOSCANLIENT_CAPABILITY
ERR_XMLRPC_NOOCR_CAPABILITY
ERR_XMLRPC_NOMATCHING_ORDERSTATE
ERR_XMLRPC_LIBRARYSTEMS_NOT_LICENSED
ERR_XMLRPC_CONNECT_LS

3.3.3 order.validateorder

Die Funktion „order.validateorder“ wird für die serverseitige Validierung eines vom Client angefragten Auftrages genutzt. Nur wenn die Auftragsvalidierung erfolgreich war, wird der Auftrag für die Bearbeitung vom Server freigegeben und der Status eines Auftrages geändert. Andernfalls wird eine Fehlermeldung ausgegeben.

3.3.3.1 Parameter
session_id          (string)     Aktuelle Session des Clients auf dem Server
order_nr            (string)     Auftragskennung auf dem MyBib eDoc-Server
user                (string)     Nutzer des Clients (optional)
pass                (string)     Passwort des Client-Nutzers (optional)

Response Erfolgsfall:

struct        
   status            (boolean)
   complain_struct   (struct)
      status            (boolean)  Reklamationsstatus des Auftrags
      complaint_count   (integer)  Reklamationszähler
      complaint_reason  (string)   Reklamationsgrund
      num_pages         (int)      Anzahl der Seiten, die heruntergeladen werden  sollen
   XMLRPC_struct     (struct)
      technical         (string)
      message           (string)
   orc_struct        (struct)
      do_ocr                   (boolean)   Gibt an ob OCR durchgeführt werden soll
      download                 (boolean)
      ocr_language             (string)    OCR-Sprache die verwendet werden soll
      ocr_language_must_commit (boolean)   Gibt an ob die ocr dem System bestätigt werden soll
   c3plus_struct    (struct)
     do_c3plus          (boolean)         Gibt an ob C3Plus durchgeführt werden soll
   mets_struct      (struct)              
     sendmets           (boolean)         Gibt an ob OCR-Daten im Format METS erzeugt werden sollen
   mods_struct      (struct)
     sendmods           (boolen)          Gibt an ob MODS-Daten erzeugt werden sollen
     

Response Fehlerfall:

struct
status (boolean)
ERROR_struct
technical (string)
message (string)
3.3.3.2 Fehler
ERR_XMLRPC_ORDER_VALIDATE
ERR_XMLRPC_VALIDATEORDER_PARAMETER_MISMATCH
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_NO_ORDER_DATA
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE
ERR_XMLRPC_AUTHENTICATION_FAILED_USER
ERR_XMLRPC_AUTHENTICATION_CHECKRIGHTS
ERR_XMLRPC_AUTHENTICATION_FAILED_NODOMAIN
ERR_XMLRPC_AUTHENTICATION_FAILED
ERR_XMLRPC_NO_SERVICE_DATA
ERR_XMLRPC_LOCK_ORDER
ERR_XMLRPC_CHANGE_STAGE_ORDER_RESE
ERR_XMLRPC_WRONG_ORDER_STAGE
ERR_XMLRPC_WRONG_ORDER_STATE
ERR_XMLRPC_WRONG_ORDER_SERVICE_TYPE
ERR_XMLRPC_ORDER_SERVICE_STATE_NOTPOSSIBLE
ERR_XMLRPC_SCN_OCR_NOTPOSSIBLE
ERR_XMLRPC_NOSCANLIENT_CAPABILITY
ERR_XMLRPC_NOOCR_CAPABILITY
ERR_XMLRPC_NOMATCHING_ORDERSTATE
ERR_XMLRPC_LIBRARYSTEMS_NOT_LICENSED
ERR_XMLRPC_CONNECT_LS
ERR_XMLRPC_PEER_NOT_FOUND
ERR_XMLRPC_CHANGE_STATE_ORDER
ERR_XMLRPC_UNLOCK_ORDER
ERR_XMLRPC_DOUBLE_CHECK

3.3.4 order.acquire

Funktion zum Erfassen von Aufträgen auf dem Server. Das Format des Bestelldatensatzes ist analog
zum Format der Bestell-Emails, die von MyBib eDoc verarbeitet werden können. Mögliche Formate sind ILL_SUBITO und MyBib eDoc (ACQU_RESOURCE).

Parameter

session_id           (string)     Aktuelle Session auf dem Server
order_struct         (struct)     Auftragsdaten im Format ILL_SUBITO oder ACQU_RESOURCE

Response Erfolgsfall:

struct
  status       (boolean)
order_struct
  order_id     (string)     Auftragskennung
or_service     (string)         Auftragsdienst

3.3.5 order.cleanimagedir

Funktion zum Leeren des Imageverzeichnisses für einen bestimmten Auftrag auf dem Server.

Parameter:

session_id        (string)     Aktuelle Session des des Clients auf dem Server
order_nr          (string)     Eindeutige Auftragskennung in MyBib eDoc

Response Erfolgsfall:

struct
  status                 (boolean)
  XMLRPC_struct          (struct)
    technical            (string)
    message              (string)

Response Fehlerfall:

struct
  status                 (boolean)
  ERROR_struct           (struct)
    technical            (string)
    message              (string)

Fehler:

ERR_XMLRPC_CLEANIMAGEDIR
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_WRONG_ORDER_STATE_UPLOAD
ERR_XMLRPC_WRONG_ORDER_STAGE
ERR_XMLRPC_LOCK_ORDER
ERR_XMLRPC_DOUBLE_CHECK
ERR_XMLRPC_GETDATA_PARAMETER_MISMATCH

3.3.6 order.track

Funktion zum Abrufen von serverseitigen Daten zu einem Auftrag. Welche Daten übergeben werden, wird über die so genannte Datenkategorie gesteuert.

Mögliche Datenkategorien: „STATE“ (= Status des Auftrages). Beim Erfolgsfall wird der Status und Zustand des Auftrages übergeben.

Parameter:

session_id              (string)         Aktuelle Session des Clients auf dem Server
order_nr                (string)         Eindeutige Auftragskennung in MyBib eDoc
track_code              (string)         Datenkategorie

Response Erfolgsfall:

struct
  status            (boolean)
   TRACK_struct      (struct)
   Auftragsdetails   (string)

Response Fehlerfall:

struct
  status              (boolean)
    ERROR_struct
      technical       (string)
      message         (string)

Fehler:

ERR_XMLRPC_GETDATA_PARAMETER_MISMATCH
ERR_XMLRPC_TRACKDATA
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE
ERR_XMLRPC_NOMATCHING_TRACKCODE

3.3.7 order.notify

Funktion zum Übermitteln von auftragsspezifischen Mitteilungen an den Server. Steuerung der
Reaktion des Servers auf die entsprechende Nachricht über Nachrichtentyp und Nachrichtenaktion.

Momentan wird nur Nachrichtentyp ‚NOTIFY‘ unterstützt. Dieser schreibt die entsprechende Nachricht in das Journal des entsprechenden Auftrag.

Parameter:

session_id       (string)    Aktuelle Session des Clients auf dem Server
  notify_struct  (struct)
    or_scan_id   (string)    Eindeutige Auftragskennung auf dem MyBib eDoc-Server
    notification (string)    Technische Benachrichtigungskategorie
   action        (string)    Nachrichtenaktion 
   message       (string)    Freitextmitteilung

Response Erfolgsfall:

struct
  status       (boolean)
  XMLRPC_struct (struct)
    technical   (string)
    message     (string)

Response Fehlerfall:

struct
  status        (boolean)
  ERROR_struct
   technical    (string)
   message      (string)

Fehler:

ERR_XMLRPC_NOTIFY
ERR_XMLRPC_NOTIFY_PARAMETER_MISMATCH
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE

3.3.8 order.complain

Funktion zum Reklamieren eines Auftrages. Funktionsaufruf mit Auftragsnummer, Reklamationsgrund, und den Transferdaten (Protokoll, Server, Verzeichnis) und Format der Download-Dateien ((Namenskonventionen, Typ)

Parameter:

session_id        (string)   Aktuelle Session des Clients auf dem Server
order_nr          (string)   Eindeutige Auftragskennung in MyBib eDoc
complaint_struct  (struct)
  type            (string)   Reklamationsstatus
reason            (string)   Reklamationsgrund
download_struct   (struct)
  transfer_struct (struct)   Transferdaten zum Scandownload
  format_struct   (struct)   Format der Downloaddateien

Response Erfolgsfall:

struct
  status          (boolean)
  XMLRPC_struct   (struct)
   technical      (string)
   message        (string)

Response Fehlerfall:

struct
  status         (boolean)
  ERROR_struct
   technical     (string)
   message       (string)

Fehler:

ERR_XMLRPC_NOTIFY
ERR_XMLRPC_NOTIFY_PARAMETER_MISMATCH
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE

3.3.9 order.fileupload

Funktion zum Übertragen von Dateien eines bestimmten Auftrages innerhalb einer aktuellen Session.

Parameter:

session_id     (string) Aktuelle Session des Clients auf dem Server
   order_nr    (string) Eindeutige Auftragskennung in MyBib eDoc
file_meta_data (struct)

  filename     (string)
  filesize     (integer) Dateigrösse in KB 
  file           (base64)

Response Erfolgsfall:

struct
  status        (boolean)
  XMLRPC_struct (struct)
    technical   (string)
    message     (string)

Response Fehlerfall:

struct
  status (boolean)
  ERROR_struct
   technical (string)
   message (string)

Fehler:

ERR_XMLRPC_FILEUPLOAD
ERR_XMLRPC_FILEUPLOAD_MAXFILESIZE
ERR_XMLRPC_FILEUPLOAD_PARAMETER_MISMATCH
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_NO_ORDER_DATA
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE
ERR_XMLRPC_NO_SERVICE_DATA
ERR_XMLRPC_LOCK_ORDER
ERR_XMLRPC_NOTWRITABLE
ERR_XMLRPC_NOSOCKET
ERR_XMLRPC_WRITEFAILURE
ERR_XMLRPC_FILESIZE
ERR_XMLRPC_FILEINFO
ERR_XMLRPC_FILETYPE

3.3.10 order.filedownload

Funktion zum Herunterladen von Dateien eines bestimmten Auftrages innerhalb einer aktuellen Session.

Parameter:

session_id     (string)   Aktuelle Session des Clients auf dem Server
order_nr       (string)   Eindeutige Auftragskennung in MyBib eDoc
filename       (string)

Response Erfolgsfall:

struct
  status (boolean)
  XMLRPC_struct (struct)
  technical (string)
  message (string)

Response Fehlerfall:

struct
  status (boolean)
  ERROR_struct
   technical (string)
   message (string)

Fehler:

ERR_XMLRPC_FILEDOWNLOAD
ERR_XMLRPC_FILEDOWNLOAD_NOFILENAME
ERR_XMLRPC_FILEDOWNLOAD_PARAMETER_MISMATCH
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_NO_ORDER_DATA
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE
ERR_XMLRPC_NO_SERVICE_DATA
ERR_XMLRPC_LOCK_ORDER
ERR_XMLRPC_NOFILE
ERR_XMLRPC_NOTREADABLE
ERR_XMLRPC_FILEDOWNLOAD_MAXFILESIZE
ERR_XMLRPC_FILEINFO
ERR_XMLRPC_FILETYPE
ERR_XMLRPC_READFAILURE

3.3.11 order.getreworkingcodes

Dient der Abfrage der gesetzten Nachbearbeitungskennzeichen eines referenzierten Auftrags.
Resultat ist eine Übersicht über alle definierten Nachbearbeitungskennzeichen sowie die Angabe der
Kennzeichen, die für den konkreten Auftrag gesetzt sind.

session_id    (string)    Aktuelle Session des Clients auf dem Server
order         (string)    Eindeutige Auftragskennung in MyBib eDoc
user          (string)    optional
pass          (string)    optional

Response Erfolgsfall:

struct
  status         (boolean)
  reworking_list (array)     Auflistung aller definierten Nachbearbeitungskennzeichen
  struct
    REWORKING_ID       (numeric)    interne Kennung des NBKs
    REWORKING_MAPPING  (numeric)    Referenziert das interne NBK, auf das dieses NBK abgeleitet ist
    REWORKING_CODE     (string)   Bezeichnung des NBK
    REWORKING_DESC     (string)   Beschreibung des NBK
    REWORKING_POOL     (string)   NBK-Gruppe
  reworking_order      (string)   Auftragskennung
  reworking_text       (string) Freitextangabe 
  reworking_pattern    (numerisch) internes Muster (Bitflags), in dem die gesetzten NBKs abgelegt sind
  reworking_enum       (string) Kommaseparierte Liste der gesetzten NBK
  reworking_set        (array)  skalares Array boolscher des Status gesetzt der gewählten NBK

Response Fehlerfall

struct
  status (boolean)
  ERROR_struct
  technical (string)
  message (string)

Fehler:

ERR_XMLRPC_GET_REWORKING_CODES
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_NO_ORDER_DATA
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE
ERR_XMLRPC_AUTHENTICATION_FAILED_USER
ERR_XMLRPC_AUTHENTICATION_CHECKRIGHTS
ERR_XMLRPC_AUTHENTICATION_FAILED_NODOMAIN
ERR_XMLRPC_AUTHENTICATION_FAILED
ERR_XMLRPC_NO_SERVICE_DATA
ERR_XMLRPC_NO_REWORKING_DATA
ERR_XMLRPC_CHANGE_STAGE_ORDER_RESE
ERR_XMLRPC_WRONG_ORDER_STAGE
ERR_XMLRPC_WRONG_ORDER_STATE
ERR_XMLRPC_WRONG_ORDER_SERVICE_TYPE
ERR_XMLRPC_ORDER_SERVICE_STATE_NOTPOSSIBLE
ERR_XMLRPC_SCN_OCR_NOTPOSSIBLE
ERR_XMLRPC_NOSCANLIENT_CAPABILITY
ERR_XMLRPC_NOOCR_CAPABILITY
ERR_XMLRPC_NOMATCHING_ORDERSTATE
ERR_XMLRPC_LIBRARYSTEMS_NOT_LICENSED
ERR_XMLRPC_CONNECT_LS

3.3.12 order.listreworkingcodes

Identisch mit „order.getreworkingcodes“, liefert jedoch nicht die aktuellen Nachbearbeitungskennzeichen des referenzierten Auftrages mit. Der RPC dient also der Abfrage der definierten NBKs.

Parameter:

session_id     (string)     Aktuelle Session des Clients auf dem Server
order          (string)     Eindeutige Auftragskennung in MyBib eDoc
user           (string)    optional, für personenbezogene Clientaktionen
pass           (string)    optional, für personenbezogene Clientaktionen

Response Erfolgsfall:

struct
  status            (boolean)
  reworking_list    (array)  Auflistung aller definierten Nachbearbeitungskennzeichen
  struct
   REWORKING_ID      (numeric) interne numerische Kennung des NBK
   REWORKING_MAPPING (numeric) Referenziert das interne NBK, auf das gemappt wird
   REWORKING_CODE    (string)  Bezeichnung des NBKs
   REWORKING_DESC    (string)  Beschreibung des NBKs
   REWORKING_POOL    (string) Name des NBK-Pools, dem dieses NBK angehört

Response Fehlerfall:

struct
  status         (boolean)
  ERROR_struct
    technical    (string)
    message      (string)

Fehler:

ERR_XMLRPC_GET_REWORKING_CODES
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_NO_ORDER_DATA
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE
ERR_XMLRPC_AUTHENTICATION_FAILED_USER
ERR_XMLRPC_AUTHENTICATION_CHECKRIGHTS
ERR_XMLRPC_AUTHENTICATION_FAILED_NODOMAIN
ERR_XMLRPC_AUTHENTICATION_FAILED
ERR_XMLRPC_NO_SERVICE_DATA
ERR_XMLRPC_NO_REWORKING_DATA
ERR_XMLRPC_CHANGE_STAGE_ORDER_RESE
ERR_XMLRPC_WRONG_ORDER_STAGE
ERR_XMLRPC_WRONG_ORDER_STATE
ERR_XMLRPC_WRONG_ORDER_SERVICE_TYPE
ERR_XMLRPC_ORDER_SERVICE_STATE_NOTPOSSIBLE
ERR_XMLRPC_SCN_OCR_NOTPOSSIBLE
ERR_XMLRPC_NOSCANLIENT_CAPABILITY
ERR_XMLRPC_NOOCR_CAPABILITY
ERR_XMLRPC_NOMATCHING_ORDERSTATE
ERR_XMLRPC_LIBRARYSTEMS_NOT_LICENSED
ERR_XMLRPC_CONNECT_LS

3.3.13 order.setreworkingcodes

Über diese Funktion kann ein Client gezielt ein Nachbearbeitungskennzeichen in einen referenzierten Auftrag setzen.

Der RPC kann auf drei Arten genutzt werden, die sich durch die Art unterscheiden, wie die zu speichernden Nachbearbeitungskennzeichen übergeben werden.

  1. Durch explizite Aufzählung in einem Array
  2. Durch numerische Notation (Big Integer)
  3. Durch die Kombination aus Maske und Werten

Parameter:

session_id        (string)  Aktuelle Session des Clients auf dem Server
order             (string)  Eindeutige Auftragskennung in MyBib eDoc
reworking_codes   (struct) eine der folgenden Optionen 
  reworking_set   (struct) Aufzählung der gesetzten NBKs oder
  reworking_number (int) Numerische Notation der NBKs oder
  reworking_enum   (string) kommaseparierte Aufzählung der NBK-Kürzel
  reworking_mask   (struct) Angabe der NBKs mittels Maske und Werten
  reworking_value (struct) (-bildet ein Paar mit 'reworking_mask'-)
user              (string) optional, für personenbezogene Clientaktionen
pass              (string) optional, für personenbezogene Clientaktionen

Response Erfolgsfall:

struct
  status       (boolean)
  XMLRPC_struct
    technical   (string)
    message     (string)

Response Fehlerfall:

struct
  status          (boolean)
  ERROR_struct
    technical      (string)
    message        (string)

Fehler:

ERR_XMLRPC_SET_REWORKING_CODES
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_ORSCAN
ERR_XMLRPC_ORDER_SETREWORKINGCODE
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_NO_ORDER_DATA
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE
ERR_XMLRPC_AUTHENTICATION_FAILED_USER
ERR_XMLRPC_AUTHENTICATION_CHECKRIGHTS
ERR_XMLRPC_AUTHENTICATION_FAILED_NODOMAIN
ERR_XMLRPC_AUTHENTICATION_FAILED
ERR_XMLRPC_NO_SERVICE_DATA
ERR_XMLRPC_CHANGE_STAGE_ORDER_RESE
ERR_XMLRPC_WRONG_ORDER_STAGE
ERR_XMLRPC_WRONG_ORDER_STATE
ERR_XMLRPC_WRONG_ORDER_SERVICE_TYPE
ERR_XMLRPC_ORDER_SERVICE_STATE_NOTPOSSIBLE
ERR_XMLRPC_SCN_OCR_NOTPOSSIBLE
ERR_XMLRPC_NOSCANLIENT_CAPABILITY
ERR_XMLRPC_NOOCR_CAPABILITY
ERR_XMLRPC_NOMATCHING_ORDERSTATE
ERR_XMLRPC_LIBRARYSTEMS_NOT_LICENSED
ERR_XMLRPC_CONNECT_LS
ERR_XMLRPC_LOCK_ORDER
ERR_XMLRPC_INTERNAL_ERROR
ERR_XMLRPC_REWORKING_CODES_SPECIFICATION_UNRECOGNIZED
ERR_XMLRPC_INSERT_REWORKINGDATA

3.3.14 order.getflyleaf

Generiert einen Auftragszettel zu einem referenzierten Auftrag.
Auftragsstatus und Druckdatum werden fortgeschrieben, falls es sich nicht um einen nachträglichen
Druck handelt.

Parameter:

session_id       (string)        Aktuelle Session des Clients auf dem Server
order            (string)        Eindeutige Auftragskennung in MyBib eDoc

Response Erfolgsfall:

struct
  status           (boolean)
  flyleaf_length   (numeric)   Länge des Dokumentes in Bytes
  flyleaf_mimetype (string)    Mimetype des Dokumentes (application/pdf)
  flyleaf_encoding (string)    Transferencoding des Dokumentes (base64)
  flyleaf_content  (base64)    eingebettetes Dokument (PDF)

Response Fehlerfall:

struct
  status          (boolean)
  ERROR_struct
    technical     (string)
     message      (string)

Fehler:

ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_MONITOR_QUERYEXECUTE_PARAMETER_MISMATCH
ERR_XMLRPC_ORDER_VALIDATE
ERR_XMLRPC_CHECKRIGHTS_ORVIEW
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_NO_ORDER_DATA
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE
ERR_XMLRPC_ORDER_GETFLYLEAF_GENERATIONFAILED

3.3.15 order.acquireupload

Erstellt einen Auftrag in MyBib eDoc inklusive des Uploads einer Datei.

Parameter:

session_id          (string)       Aktuelle Session auf dem Server
upload_struct       (struct)
  data              (string)       Auftragsdaten im Format subito/ACQUESITION_RESOURCE
  filename          (string)       Name der Datei
  filetype          (string)       Art der Datei (mimetype)
  filesize          (int)          Größe der hochzuladenden Datei in Bytes
  file              (base64)       Hochzuladende Datei im Format Base64

Response Erfolgsfall:

struct
  status             (boolean)
  SUCCESS_struct
    technical        (string)
    category         (string)

Response Fehlerfall:

struct
  status            (boolean)
  error_struct
    technical       (string)
    message         (string)

Fehler:

ERR_XMLRPC_ACQUIREUPLOAD
ERR_XMLRPC_ACQUIREUPLOAD_PARAMETER_MISMATCH
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_FILE_DATA
ERR_XMLRPC_FILEUPLOAD_MAXFILESIZE
ERR_XMLRPC_ACQUIREUPLOAD_DENIED
ERR_XMLRPC_ACQUIREUPLOAD_FAILED

3.3.16 order.search

Liefert eine Liste mit Aufträgen anhand von übergebenen Suchparametern.

Parameter:

session_id             (string)    Aktuelle Session des Clients auf dem Server
search_struct          (struct)
  search_parameter1    (string) Suchparameter
  search_parameter2    (string)
  [...]
  result_limit         (int) Limitierung der Ausgabe
  result_offset        (int) Offset der Ausgabe

Response Erfolgsfall:

struct
  status               (boolean)
  order_count          (int)      Anzahl der gefunden Aufträge
  order_list_struct    (struct)
  order_struct         (struct)   Auftragsdetails

Response Fehlerfall:

struct
  status              (boolean)
  error_struct
  technical           (string)
  message             (string)

Fehler:

ERR_XMLRPC_GETORDERLIST
ERR_XMLRPC_GETORDERLIST_PARAMETER_MISMATCH
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_NO_PEER_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_ORDERSEARCH_ELEMENT_STRUCT
ERR_XMLRPC_ORDERLIST_FAILED
ERR_XMLRPC_ORDERCOUNT_FAILED

3.3.17 order.setstate

Setzt den Status eines ausgewählten Auftrages.

Parameter:

session_id             (string)     Aktuelle Session des Clients auf dem Server
or_scan_id             (string)     Kennung des Auftrages
or_order_state         (string)     Gewünschter Auftragsstatus

Response Erfolgsfall:

struct
  status               (boolean)
  XMLRPC_struct
    technical          (string)
    category           (string)

Response Fehlerfall:

struct
  status              (boolean)
  ERROR_struct
    technical         (string)
    message           (string)

Fehler:

ERR_XMLRPC_ORDER_SETSTATE
ERR_XMLRPC_GETDATA_PARAMETER_MISMATCH
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS_OREDIT
ERR_XMLRPC_NO_CLIENT_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_NO_ORDER_DATA
ERR_XMLRPC_ORDER_MORE
ERR_XMLRPC_ORDER_NOT_FOUND
ERR_XMLRPC_CLIENT_NOT_RESPONSIBLE
ERR_XMLRPC_NO_SERVICE_DATA
ERR_XMLRPC_WRONG_ORDER_STAGE
ERR_XMLRPC_ORDER_SERVICE_STATE_NOTPOSSIBLE
ERR_XMLRPC_LOCK_ORDER
ERR_XMLRPC_CHANGE_STATE_ORDER

3.4 RPC-Kategorie „Monitor“
Abschnitt hinzufügen

3.4.1 monitor.query_execute

Funktion zum Ausführen von in MyBib eDoc hinterlegten Queries durch aktive Monitor-Peersysteme.

Parameter:

session id            (string)
query struct          (struct)
  query_id            (string)   ID der Query
  short_desc          (string)   Kurzbeschreibung der Query (optional)
   SCREEN             (string)   (optional)
   format             (string)   Ausgabeformat der Query   (optional)
   compression        (string)   Kompression der Ausgabe    (optional)
   include_head       (string)   Ausgabe der Kopfbezeichungen (Y/N)         (string)
   include_cols       (string)   Ausgabe der Spaltenbezeichungen (Y/N) (optional)
   include_foot       (string)   Ausgabe der Fußnoten (Y/N) (optional)     
   include_vars       (string)   Ausgabe der übergebenen Variablen (Y/N) (optional)
   include_sql        (string)   Ausgabe des SQL Statements (Y/N) (optional)

Response Erfolgsfall:

struct
  status                             (boolean)
  query_result_struct                (struct)
  query_result_length                (string)
  query_result_mimetype              (string)
  query_result_compression           (string)
  query_result_content               (base64)

Response Fehlerfall:

struct
  status                             (boolean)
  ERROR_struct
  technical                          (string)
  message                            (string)

Fehler:

ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_MONITOR_QUERYEXECUTE_PARAMETER_MISMATCH
ERR_XMLRPC_ARGUMENT_VIOLATION
ERR_XMLRPC_CHECKRIGHTS_EXEC_SQL
ERR_XMLRPC_MONITOR_QUERYEXECUTE_INVALIDQUERYID
ERR_XMLRPC_MONITOR_QUERYEXECUTE_EXECUTIONFAILED
ERR_XMLRPC_MONITOR_QUERYEXECUTE_UNKNOWNCOMPRESSION
ERR_XMLRPC_MONITOR_QUERYEXECUTE_INVALIDCOMPRESSION

3.5 RPC-Kategorie „charge“
Abschnitt hinzufügen

Die RPCs der Kategorie „charge“ stellen chargenspezifische Funktionen zu Verfügung.

3.5.1 charge.order_adjoin

Parameter:

session_id                 (string)   Aktuelle Session des Clients auf dem Server
charge_number              (string)   Chargen-Nummer in die gebucht werden soll
element_struct             (struct)   
   Struct_Parameter1...x:             Elemente die in die Charge gebucht werden sollen
    <Auftragskennung>        (string)

Response Erfolgsfall:

struct
  status                 (boolean)
  charge_meta_struct    (struct)
    number              (string)
    state               (string)
    stage               (string)
charge_elements         (array)    Die aktuellen Elemente der Charge. Elementname als string
  element_struct        (struct)   Je Element der Charge, dass gebucht werden sollte ein Array mit der Auftragskennung (Elementname) als key
  Inhalt des Arrays:
    Status der Buchung (string)
    Erläuterung        (string)
    summary_struct     (struct)
    count_success      (int)    Anzahl der erfolgreichen Buchungen
    count_skipped      (int)    Anzahl der übersprungenen Buchungen
    count_failed       (int)    Anzahl der fehlgeschlagenen Buchungen

Response Fehlerfall:

struct
  status            (boolean)
  ERROR_struct
    technical       (string)
    message         (string)

Fehler:

ERR_XMLRPC_CHARGE_ORDER_ADJOIN
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_NUMPARAMS_VIOLATION
ERR_XMLRPC_ARGUMENT_VIOLATION
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_ADJOIN_ELEMENT_STRUCT

3.5.2 charge.order_dequeue

Ausbuchung eines oder mehrerer Aufträge aus einer Auftragscharge. Auch im Falle einer Einzelbuchung wird eine „Struct“ übergeben, die dann nur ein einzelnes Element enthält.
Parameter:

session_id                 (string)   Aktuelle Session des Clients auf dem Server
charge_number              (string)   Chargen-Nummer aus der ausgebucht werden soll
element_struct             (struct)   
   Struct_Parameter1...x:             Elemente die aus der Charge gebucht werden sollen
    <Auftragskennung>        (string)

Response Erfolgsfall:

struct
  status               (boolean)
  charge_meta_struct   (struct)
    number             (string)   Nummer der Charge
    state              (string)   Status der Charge
    stage              (string)   Zustand der Charge
  charge_elements      (array)    Die aktuellen Elemente der Charge. Elementname als string
element_struct         (struct)   Je Charge, dass gebucht werden sollte ein Array mit Elementnamen (Auftragskennung) als key.
  Inhalt des Arrays:
  Status der Buchung   (string)
  Erläuterung          (string)
summary_struct        (struct)
  count_success       (int)      Anzahl der erfolgreichen Ausbuchungen
  count_skipped       (int)      Anzahl der übersprungenen Ausbuchungen
  count_failed        (int)      Anzahl der fehlgeschlagenen Ausbuchungen

Response Fehlerfall:

struct
  status              (boolean)
  ERROR_struct
    technical         (string)
    message           (string)

Fehler:

ERR_XMLRPC_CHARGE_ORDER_DEQUEUE
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS
ERR_XMLRPC_NUMPARAMS_VIOLATION
ERR_XMLRPC_ARGUMENT_VIOLATION
ERR_XMLRPC_DEQUEUE_ELEMENT_STRUCT

3.5.3 charge.order_setelementflag

Jeder Auftrag innerhalb der angegebenen Charge erhält eine Markierung entsprechend der
durchgeführten Aktion.

Parameter:

session_id            (string)   Session-ID, die  durch service.login generiert wurde
charge_number         (string)   Name der Charge in die gebucht werden soll
element_action        (string)   Chargenaktion welche angestoßen werden soll (CONFIRM_HANDEDOUT, CONFIRM_RETURNED, CONFIRM_PLACEDBACK)
element_struct        (struct)
  Struct_Parameter1...x:
    <Auftragskennung> (string) Elemente aus der Charge in die gebucht werden soll

Response Erfolgsfall:

struct
  status                (boolean)
  charge_meta_struct    (struct)
    number              (string)
    state               (string)
    stage               (string)
 charge_elements        (array)   Die aktuellen Elemente der Charge. Elementname als string
  element_struct        (struct)  Je Charge, dass gebucht werden sollte ein Array mit Elementnamen (Auftragskennung) als key
  Inhalt des Arrays:
  Status der Buchung      (string)
  Erläuterung             (string)
  summary_struct          (struct)
   count_success          (int)
count_skipped             (int)
count_failed              (int)

Response Fehlerfall:

struct
  status        (boolean)
ERROR_struct
  technical     (string)
  message       (string)

Fehler:

ERR_XMLRPC_CHARGE_ORDER_SETELEMENTFLAG
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_NUMPARAMS_VIOLATION
ERR_XMLRPC_ARGUMENT_VIOLATION
ERR_XMLRPC_CHECKRIGHTS
ERR_XMLRPC_SETELEMENTFLAG_ELEMENT_STRUCT
-- charge object errors

3.5.4 charge.progress

Die Funktion dient dem Anstoßen von Aktionen auf Chargen.
MyBib-Chargenobjekte besitzen einen Katalog definierter Aktionen. Jede Aktion hat einen eindeutigen
Namen, über den sie referenziert wird. Eine solche Aktion besteht typischerweise aus drei Aspekten:
Voraussetzungen („prerequisites“), Vorhaben („propositions“) und Konsequenzen („consequences“).
Die Voraussetzungen werden vor Ausführung der Vorhaben und Konsequenzen geprüft. Hier
auftretende Fehler blockieren ein Ausführen der weiteren Aspekte einer Aktion. Jeder Aspekt
wiederum besteht aus einer Anzahl von Schritten, die sequenziell abgearbeitet werden. Die in der
Weboberfläche interaktiv nacheinander durchgeführten Schritte werden beim Anstoßen über das
XMLRPC-Interface in einem abgearbeitet, auch hier werden aber konsequent spätere Schritte durch
früher fehlgeschlagene blockiert.
Beispiel für eine Voraussetzung: Ist die Aktion sinnvoll beim aktuellen Status und Zustand der
referenzierten Charge?
Beispiel für ein Vorhaben: Alle in der Charge enthaltenen Aufträge erhalten einen vorgegebenen
neuen Status !
Beispiel für eine Konsequenz: Ändern des Chargenstatus wie im Katalog vorgegeben !

Liste der zurzeit verfügbaren Aktionen

  • charge_halt
  • charge_activate
  • charge_dearchive
  • charge_open
  • charge_fixate
  • charge_handout
  • charge_return
  • handout_confirm
  • meta_export
  • meta_processed
  • meta_transferred
  • takeback_charge_open
  • takeback_charge_fixate
  • takeback_meta_export
  • takeback_meta_processed,
  • takeback_meta_transferred
  • takeback_charge_handout
  • takeback_handout_confirm,
  • takeback_charge_return

Parameter:

session_id       (string)    Session-ID, die durch service.login generiert wurde
charge_number    (string)    interne Nummer der referenzierten Charge
action_name      (string)    Name der Aktion, die auf der Charge angestoßen werden soll
remark           (string)    Anmerkung als Freitext

Response Erfolgsfall:

struct
  status              (boolean)
  SUCCESS_struct
    charge_number     (string)  interne Chargennummer der referenzierten Charge
    charge_state      (string)  aktueller Status der Charge nach Beendigung der Aktion
    charge_stage      (string) aktueller Zustand  der Charge nach Beendigung der Aktion
    action_name      (string) Name der durchgeführten Aktion
    progress_report  (struct) Auflistung der Details der Durchführung der Aktion

Response Fehlerfall:

struct
  status          (boolean)
  ERROR_struct
    technical    (string)
    message      (string)
    param        (array)

Fehler:

ERR_XMLRPC_CHARGE_PROGRESS
ERR_XMLRPC_NUMPARAMS_VIOLATION
ERR_XMLRPC_ARGUMENT_VIOLATION
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS
ERR_XMLRPC_OBJECT_DOES_NOT_EXIST
-- charge object errors

3.5.5 charge.read

Liefert relevante Daten zur angegeben Charge.

Parameter:

session_id     (string)       Session-ID, die durch service.login generiert wurde
charge_number  (string)       Name der Charge in die gebucht werden soll

Response Erfolgsfall:

struct
  status             (boolean)
  charge_struct
   charge_number     (string)   interne Chargennummer der referenzierten Charge
   charge_state      (string)   aktueller Status der Charge nach Beendigung der Aktion
   charge_stage      (string)   aktueller Zustand der Charge nach Beendigung der Aktion
   charge_attributes (string)

Response Fehlerfall:

struct
  status         (boolean)
  ERROR_struct
    technical    (string)
    message      (string)

Fehler:

ERR_XMLRPC_CHARGE_READ
ERR_XMLRPC_NUMPARAMS_VIOLATION
ERR_XMLRPC_ARGUMENT_VIOLATION
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS
ERR_XMLRPC_OBJECT_DOES_NOT_EXIST
-- charge object errors

3.5.6 charge.getchargelist

Die Funktion bietet die Möglichkeit in Chargen nach bestimmten Kriterien zu suchen.

Parameter:

session_id      (string)     Session-ID, die durch service.login generiert wurde
search_struct (struct)
  Struct_Parameter1...x
  param1 (string) Suchparameter

Response Erfolgsfall:

struct
  status         (boolean)
  charge_list    (array)    Für jede gefundene Charge ein Eintrag im Array als struct. Die einzelnen Werte der Charge werden dann per string in der Form name=value eingebaut. Beispielsweise 
<name>cha_id</name>
<value><string>11111</string></value>

Response Fehlerfall:

struct
  status       (boolean)
ERROR_struct
  technical   (string)
  message     (string)

Fehler:

ERR_XMLRPC_CHARGE_GETCHARGLIST
ERR_XMLRPC_CHARGE_GETCHARGESLIST_PARAMETER_MISMATCH
ERR_XMLRPC_NUMPARAMS_VIOLATION
ERR_XMLRPC_ARGUMENT_VIOLATION
ERR_XMLRPC_CHECK_SESSION
ERR_XMLRPC_CHECKRIGHTS
ERR_XMLRPC_NO_PEER_ID
ERR_XMLRPC_NO_CLIENT_DATA
ERR_XMLRPC_ELEMENT_STRUCT
-- charge object errors

3.6 RPC-Kategorie „number_range“
Abschnitt hinzufügen

Die Kategorie „number_range“ macht das Konstrukt der Nummernkreise nach außen hin verfügbar.
Damit kann MyBib eDoc als zentrale Vergabeinstanz für mehrere in einem gemeinsamen Umfeld oder
Projekt eingesetzten Systeme dienen. Dadurch ist eine vereinheitlichte Nummernvergabe realisierbar.
Die RPCs dieser Kategorie erlauben ausschließlich die Nutzung bereits fertig konfigurierter
Nummernkreise, eine Verwaltung dieses Konstrukts über das Interface ist nicht möglich.

3.6.1 number_range.lookahead

Liefert den aktuellen „Lookahead“ eines referenzierten Nummernkreises.
Der Lookahead eines Nummernkreises ist diejenige „Nummer“ (Wert), den ein Nummernkreis
generieren (und buchen) würde, wenn er jetzt getriggert würde.
Der Nummernkreis kann per Name oder interner numerischer ID referenziert werden. Referenzierbar
sind alle als verfügbar gekennzeichneten aktiven Nummernkreise, also keine internen oder
deaktivierten. Der RPC akzeptiert eine Struct als optionalen dritten Parameter. Die benannten
Elemente (Strings) dieser Struct dienen als ‚Seed‘ (Startwert) für solche Nummernkreise, die auf eine ‚external Basis‘ Bezug nehmen. In der Konfiguration des Nummernkreises kann das relevante Element anhand seines Keys referenziert werden. Aufgrund der Rekursionsmöglichkeit für Nummernkreise (Typ
Konkatenation) ist es unter Umständen erforderlich, mehrere unterschiedliche Seeds zu übergeben.
Daher die Notation als Struct mit benannten Elementen anstelle eines einzelnen Seeds vom Typ String.

Request:

session_id                   (string)      Session-ID, die durch service.login generiert wurde
number_range|number_range_id (string|int)  Name oder ID des referenzierten Nummernkreises
number_range_seed          (struct)  Optionale Struktur mit benannten Elementen vom Typ String

Response Erfolgsfall:

struct
  status             (boolean)
  success_struct     (struct)
    number           (string)   Nach derzeitigem Stand des Nummernkreises folgende Nummer

Response Fehlerfall:

struct
  status             (boolean)
  ERROR_struct
   technical         (string)   Technische Fehlermeldung zur automatischen Verarbeitung
  message            (string)   Human-readable Fehlermeldung zur Visualisierung
  info               (array)    Zusätzliche Angaben mit informativem Charakter

Fehler:

ERR_XMLRPC_PARAMETER_VIOLATION
ERR_XMLRPC_NOT_YET_IMPLEMENTED
ERR_XMLRPC_CHECK_SESSION
ERR_NUMBER_RANGE_UNKNOWN
ERR_NUMBER_RANGE_DOES_NOT_EXIST
ERR_NUMBER_RANGE_NOT_UNIQUE
ERR_NUMBER_RANGE_ID_NOT_NUMERIC
ERR_NUMBER_RANGE_NOT_AVAILABLE
-- numberrange object errors

3.6.2 number_range.trigger

Triggert den referenzierten Nummernkreis. Durch das Triggern generiert der Nummernkreis eine
neue, typischerweise eindeutige Nummer. Die Nummer wird sofort gebucht, kann also kein zweites Mal generiert werden. Der Triggervorgang ist irreversibel.

Der Nummernkreis kann per Name oder interner numerischer ID referenziert werden. Referenzierbar
sind alle als verfügbar gekennzeichneten aktiven Nummernkreise, also keine internen oder
deaktivierten

Der RPC akzeptiert eine Struct als optionalen dritten Parameter. Die benannten Elemente (Strings)
dieser Struct dienen als ‚Seed‘ für solche Nummernkreise, die auf eine ‚external Base‘ Bezug nehmen.
In der Konfiguration des Nummernkreises kann das relevante Element anhand seines Keys
referenziert werden. Aufgrund der Rekursionsmöglichkeit für Nummernkreise (Typ Konkatenation) ist
es unter Umständen erforderlich, mehrere unterschiedliche Seeds zu übergeben, daher die Notation als Struct mit benannten Elementen anstelle eines einzelnen Seeds vom Typ String.

Request:

session_id                      (string)      Session-ID, die durch service.login generiert wurde
number_range|number_range_id    (string|int)  Name oder ID des referenzierten Nummernkreises 
number_range_seed               (struct)   Optionale Struktur mit benannten Elementen vom Typ String

Response Erfolgsfall:

struct
  status              (boolean)
  success_struct      (struct)
    number            (string)   Generierte und gebuchte Nummer aus dem Nummernkreis

Response Fehlerfall:

struct
  status              (boolean)
   ERROR_struct
     technical        (string)   Technische Fehlermeldung zur automatischen Verarbeitung
     message         (string)    Human-Readable Fehlermeldung zur Visualisierung
     info            (array)     Zusätzliche Angaben mit informativem Charakter

Fehler:

ERR_XMLRPC_PARAMETER_VIOLATION
ERR_XMLRPC_NOT_YET_IMPLEMENTED
ERR_XMLRPC_CHECK_SESSION
ERR_NUMBER_RANGE_UNKNOWN
ERR_NUMBER_RANGE_DOES_NOT_EXIST
ERR_NUMBER_RANGE_NOT_UNIQUE
ERR_NUMBER_RANGE_ID_NOT_NUMERIC
ERR_NUMBER_RANGE_NOT_AVAILABLE
-- numberrange object errors