QHIX API

Verwendung

Der CLARC QHIX Daemon stellt Services für Client-orientierte Dokumenten- und Indexierungs-Prozesse bereit.

Über die hier vorgestellte Web-Service Schnittstelle kann auf die verwalteten Inhalte des QHIX-Servers zugegriffen werden. Die hier vorgestellten Methoden und Attribute stellen jedoch nur einen Teil der verfügbaren Funktionalität dar. Alle weiteren Funktionen sind non-public.

Die API

Genereller Aufbau einer Url:

http(s)://<server>:<port>/<function>?<parameter>

Die Parameter einer Url sollten verschlüsselt übertragen werden. Im Umfeld von CLARC ENTEPRIRSE gibt es dazu verschiedende Verschlüsselungsmethoden.

Das Ergebnis einer Anfrage wird, sofern nicht anders angegeben, im CLARC Fast XML Format zurückgeliefert.

Ein erfolgreicher Aufruf einer Web-Service Methode wird stets mit einem HTTP 200 oder HTTP 201 bestätigt. 

(GET) CCCREATESESSION

Diese Methode generiert eine neue QHIX Session oder verbindet sich zu einer bestehenden.

ParameterBeschreibung

Übergabe

userLogin-Benutzername.
passwordBenutzer-Passwort.
sessionidOptional - bestehende Sitzungs-Id des Clients.

Ergebnis

resulttrue/false
sessionidDie erzeugte Sitzungs-Id. Diese muss ab jetzt bei jeder Anfrage mit übergeben werden.
instancetokenInstanz-Token des QHIX-Servers.
messageNachricht zum Ergebnis des Logins.

(GET) CCCLOSESESSION

Diese Methode beendet eine QHIX Session.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.

Ergebnis

messageNachricht zum Ergebnis des Logouts.

(GET) CCGETOEMINFOS

Diese Methode liefert die entsprechenden OEM Informationen. Weitere Informationen zur OEMisierung finden Sie in der entsprechenden Dokumentation.

ParameterBeschreibung

Übergabe

sessionidOptional - bestehende Sitzungs-Id des Clients.

Ergebnis

aboutimageBase64 kodiertes JPEG für den About Dialog.
companyFirmenbezeichnung.
copyrightCopyright-Bezeichnung.
frontimageBase64 kodiertes JPEG für die Startansicht.
helplinkUrl zur Online-Hilfe.
infolinkUrl zu Online-Informationen.
infomaileMail-Adresse für Informationsanfragen.
loginimageBase64 kodiertes JPEG Image für den Login-Dialog.
longproductnameLangbezeichnung des Produktnamens.
mainwindowiconBase64 kodiertes ICO Image.
productnameStandard-Produktbezeichnung.
shortproductnameKurzbezeichnung des Produkts.
supportlinkUrl für Support-Anfragen.
supportmaileMail-Adresse für Supportanfragen.

(GET) CCGETBASICS

Diese Methode liefert die Basis-Server-Informationen.

ParameterBeschreibung

Übergabe

sessionidOptional - bestehende Sitzungs-Id des Clients.

Ergebnis

buildDetaillierte QHIX-Server Version.
serverversionLizenzversion des QHIX-Servers.
numberofprocessorsDie Anzahl der am Server verfügbaren CPU-Kerne.
serverdateformatDatumsformat am Server bzw. im C4 definiert.
remotequeryurlUrl zum REMOTEQUERY Server.
stackidautoGibt an, ob die Id's für die Generierung von Stapelnummern automatisch erfolgt.
stackidregexRegulärer Ausdruck zum Format von Stapelnummern.

(GET) CCGETUSERINFO

Diese Methode liefert alle Informationen zum angegebenen Benutzer.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
userBenutzername.

Ergebnis

...

(GET) CCGETPERMOBJECTS

Diese Methode liefert alle verfügbaren Berechtigungsobjekte zum angegebenen Benutzer.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
userBenutzername.
type

Applikationstyp:

  • /QHIX/dSign
  • /QHIX/eWork
  • /QHIX/xControl

Ergebnis

node

Beschreibungstext der Anwendung.

Alle weiteren Informationen werden über die Attribute des Knotens "node" übergeben:

  • id
  • application
  • stackprocessing
  • color
  • documentcount
  • stackblobcount
  • reserveblobcount

Color wird als Web-Color in der Form #RRGGBB übergeben.

(GET) CCGETSAPWORKQUEUEID

Diese Methode liefert die für den angegebenen Benutzer passende und verfügbare SAP Applikations-Id.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
userBenutzername.
logicalsystemname

Name des logischen SAP Systems.

Ergebnis

Das Ergebnis ist Text/Plain und beinhaltet die ApplicationId. Wurde keine passende Anwendung gefunden, bleibt das Ergebnis leer.

(GET) CCREGISTERSESSION

Diese Methode registriert eine Anwendungssitzung für das angegebene Objekt.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
userBenutzername.
stackid

Optionale Stapel-Id.

objectName oder Id des Berechtigungsobjekts. Siehe CCGETPERMOBJECTS > Application bzw. Id.
tokenOptional - ASE Session-Token.

Ergebnis

result

true/false

tokenASE Session Token.
messageInfo-Text.

(GET) CCRELEASESESSION

Diese Methode gibt eine registrierte Anwendungssitzung für das angegebene Objekt frei.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
userBenutzername.
objectName oder Id des Berechtigungsobjekts. Siehe CCGETPERMOBJECTS > Application bzw. Id.
tokenOptional - ASE Session-Token.

Ergebnis

resulttrue/false
messageInfo-Text.

(GET) CCSESSIONHEARTBEAT

Diese Methode zeigt die Aktivität des Clients an. Der Heartbeat darf einen maximalen zeitlichen Abstand von 10 Minuten haben.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
tokenASE Session-Token.

Ergebnis

resulttrue/false
tokenDer gesendete Token.
messageInfo-Text.

(GET) CCGETBLOBLIST

Diese Methode ruft eine Liste von Blobs aus dem angegebenen Bereich ab. 

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
queueQHIX Queue Name oder id.
state

Status der Blobs:

  • IDLE
  • ONHOLD
tackedHeftungen true/false.
userBenutzername.
stackidStapel-Identifier.

Ergebnis

Das Ergebnis ist ein XML mit dem nachfolgenden Aufbau.

<?xml version="1.0" encoding="UTF-8" ?>
<ccBlobs>
  <Blob Id="..." TackId="..." SortId="0" Extension=".pdf" DocType="" MimeType="application/pdf" Size="827823" Date="000B3B9Dh0336106Eh">Example</Blob>
  <Blob Id="..." TackId="..." SortId="1" Extension=".pdf" DocType="" MimeType="application/pdf" Size="835421" Date="000B3B9Dh0336106Eh">MoreExample</Blob>
  ...  
</ccBlobs>

(GET) CCGETBLOB

Diese Methode ruft ein angegebenes Blob vom Server ab. Das Ergebnis ist der entsprechende Bytestream mit dem MimeType des angeforderten Dokuments.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
idId des Blobs.

Im HTTP Header werden zudem zwei Attribute zurückgeliefert:

  • BlobId
  • BlobHash

(GET) CCDELETEBLOB

Diese Methode löscht das angegebene Blob vom Server.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
idBlob-Id.

(GET) CCCHANGEBLOB

Diese Methode ändert das angegebene Blob am Server.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
idBlob-Id.
sortidNeue Sortierungs-Id.
tackidNeue Heftungs-Id.
State

Neuer Blobstatus:

  • IDLE
  • ONHOLD

(GET) CCGETTACKLIST

Diese Methode ruft eine Liste von Blobs aus dem angegebenen Bereich ab. 

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
queueQHIX Queue Name oder id.
userBenutzername.
stackidStapel-Identifier.

Ergebnis

Das Ergebnis ist ein XML mit dem nachfolgenden Aufbau.

<?xml version="1.0" encoding="UTF-8" ?>
<ccDocuments>
  <Document Id="..." Date="000B3B9Dh0336106Eh" Blobs="3">
    <Subject>Betreff des Dokuments</Subject>
    <Messages>Hinweise zum Dokument</Messages>
  </Document>
  ...  
</ccDocuments>

(GET) CCGETTACK

Diese Methode ruft ein angegebenes Dokument vom Server ab. Das Ergebnis ist der entsprechende XML Bytestream des angegebenen Dokuments im CLARC Document XML Format.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
id

Id der Heftung.

includeblobsTrue/False - bei True werden die Blob-Referenzen im Result mit übergeben.

(GET) CCDELETETACK

Diese Methode löscht das angegebene Dokument vom Server.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
id

Id der Heftung.

keepblobsGibt an ob die Blobs der Heftung bestehen bleiben sollen damit diese ggf. wiederverwendet werden können.

(GET) CCGETAPPPROPERTIES

Diese Methode ruft detaillierte Informationen zur angegebenen Anwendung vom Server ab.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
application

Name oder Id der QHIX Anwendung.

(GET) CCGETAPPINFOS

Diese Methode ruft allgemeine Informationen zur angegebenen Anwendung vom Server ab.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
application

Name oder Id der QHIX Anwendung.

Ergebnis
idAnwendungs-Id.
nameName der Anwendung (Pfad).
descriptionAnwendungsbeschreibung.
documentcountAnzahl der Heftungen.
stackblobcountAnzahl der Blobs im Stapel.
reserveblobcountAnzahl der Blobs in der Rückstellung.

(GET) CCGETFIELDSCHEME

Diese Methode ruft das angegebene Feldschema vom Server ab.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
scheme

Name des Feldschemas. SIehe auch Feldschemas.

Ergebnis
subjectfieldsKomma getrennte Liste der Betreff-Felder.
fieldsKomma getrennte Liste aller Felder des Schemas.
descriptionFeldschemabeschreibung.
<Feldname>_<Property>...

(GET) CCGETSCANPROFILES

Diese Methode ruft einer Liste der verfügbaren Scannerprofile für den jeweiligen Host vom Server ab.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
host

Name des Host-Systems.

Ergebnis
nodeName des Profils.

(GET) CCGETSCANPROFILE

Diese Methode ruft das angegebene Scannerprofil für den jeweiligen Host vom Server ab.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
host

Name des Host-Systems.

profileName des Scannerprofils.

Ergebnis

Liste der C4 Properties mit Werten zum angegebenen Scanner-Profil. Siehe /clarc/Software/clarc qhix daemon/Profiles/Scanner.

(GET) CCDELETESCANPROFILE

Diese Methode löscht das angegebene Scannerprofil für den jeweiligen Host vom Server.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
host

Name des Host-Systems.

profileName des Scannerprofils.

(GET) CCGETSTACKLIST

Diese Methode ruft einer Liste der verfügbaren Stapel für die angegebene Anwendung vom Server ab.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
queue

Name der QHIX Anwendung.

Ergebnis
stackName des Stapels
......

(GET) CCGETSTACKID

Diese Methode ruft eine neue StapelId vom Server ab.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
queue

Name der QHIX Anwendung.

Ergebnis

Neue StapelId las Text/Plain.

(PUT) CCBLOBUPLOAD

Diese Methode überträgt ein Blob als Bytestream an den Server und verknüpft es mit der entsprechenden Anwendung und Benutzer.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
blobid

Id des Blobs (32 Stellen) - siehe CreateId.

extensionExtension des Files (z.B. .pdf)
hashMD5 Hashwert des Blobs. 
nameAnzeigename des Blobs. 
sortidSortierrreihenfolge des Blobs. 
queueName oder Id der QHIX Anwendung. 
userBenutzer / Uploader. 
tackidOptionale Heftungs-Id. 
stackidOptionale Stapel-Id. 
updateBlob-Update (z.B. bei einer Änderung wie drehen) - true/false. 

Im HTTP Header werden zudem zwei Attribute zurückgeliefert:

  • BlobId
  • BlobHash

(PUT) CCDOCUMENTUPLOAD

Diese Methode überträgt ein Dokument als XML Bytestream im CLARC Document XML Format.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
queueName oder Id der QHIX Anwendung. 
uploaderBenutzer / Uploader. 
justlinkrefsDefiniert ob die angegebenen Blob-Referenzen lediglich verlinkt werden sollen.

Im HTTP Header werden zudem zwei Attribute zurückgeliefert:

  • DocId

(PUT) CCDOCUMENTUPDATE

Diese Methode überträgt ein Dokument als XML Bytestream im CLARC Document XML Format und ersetzt das bestehende Dokument damit.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
updaterBenutzer / Uploader. 

Im HTTP Header werden zudem zwei Attribute zurückgeliefert:

  • DocId

(PUT) CCEXPORT

Diese Methode übermittelt eine Liste an Dokumenten-Id's in Form eines XML's welche dem entsprechend konfigurierten Nachfolgeprozess zugeführt werden sollen.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.

Das XML hat folgenden Aufbau:

<?xml version="1.0" encoding="UTF-8"?>
<ccExport FormatVersion="1.7" Compressed="false" Encoding="none">
  <Id>...</Id>
  <Id>...</Id>
  ...
</ccExport >

(PUT) CCCHANGEBLOBS

Diese Methode übermittelt eine Liste an Blob-Id's in Form eines XML's mit entsprechenden Informationen zur Änderung.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.

Das XML hat folgenden Aufbau:

<?xml version="1.0" encoding="UTF-8"?>
<ccBlobs FormatVersion="1.7" Compressed="false" Encoding="none">
  <Id TId="[TackId]" SId="[SortId]" State="[ONHOLD|IDLE]">[BlobId]></Id>
  ...
</ccBlobs>

(PUT) CCSETTRAININGDATA

Diese Methode übermittelt Trainingsinformationen in Form eines XML's.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
queueName oder Id der QHIX Anwendung.
docidDokumenten-Id.
keyfieldName des Schlüsselfeldes.
keyvalueSchlüsselbegriff für die Zuordnung.

Das XML hat folgenden Aufbau:

<?xml version="1.0" encoding="UTF-8"?>
<ccTraining FormatVersion="1.7" Compressed="false" Encoding="none">
  <[FieldName] DataType="[DataType]" Page="[PageId]" TwipsZone="[L,T,R,B]">[BlobId]>[Trained Value]</[FieldName]>
  ...
</ccTraining >

Im HTTP Header werden zudem zwei Attribute zurückgeliefert:

  • DocId

(PUT) CCSETSCANPROFILE

Diese Methode übermittelt ein Scanner-Profil in Form eines XML's an den Server.

ParameterBeschreibung

Übergabe

sessionidBestehende Sitzungs-Id des Clients.
hostHost-Name.
profileName des Scannerprofils.

Siehe auch