Schnittstelle Prozessanbieter (Handel)
Schnittstelle „Ermittlung anwender- individueller Auskünfte beim Unternehmen“
Rahmenbedingungen
Für die Schnittstelle gelten folgende Rahmenbedingungen:
Sicherung über die Nutzung von HTTPS.
Authentifizierung durch Übertragung eines am „SHK Connect Server“ hinterlegten Passworts.
Anfrage erfolgt als HTTP(S) Request mit Parametern.
Antwort erfolgt als HTTP(S) Response mit XML Dokument im Body.
Anfrage
Anfrageparameter:
Anfrageparameter | Beschreibung | Muss /Kann | Format | HTTP Parameter |
SHK Connect Name | In SHK Connect hinterlegter Name zur Authentifizierung des SHK Connect Servers | Muss | STRING 50 | name_shk_connect |
SHK Connect Passwort | In SHK Connect hinterlegtes Passwort zur Authentifizierung des SHK Connect Servers | Muss | STRING 50 | pw_shk_connect |
Softwarename | In SHK Connect hinterlegter Name der Software | Muss | STRING 50 | name_sw |
Prozess | Gibt an, für welche Prozesse Informationen angefragt werden. Nur der Code „STD“ für Stammdaten DATANORM ist erlaubt | Muss | Codeliste Prozesse | prozess |
Kundennummer | Kundennummer des Anwenders beim angefragten Unternehmen | Kann | STRING 50 | kndnr |
Benutzername | Benutzername des Anwenders beim angefragten Unternehmen | Kann | STRING 50 | name_kunde |
Passwort | Passwort des Anwenders beim angefragten Unternehmen | Kann | STRING 50 | pw_kunde |
Standardtemplate zur Anfrage des SHK Connect Server zur Ermittlung Anwender-individueller Auskünfte:
<URL inklusive Serverpfad>
?name_shk_connect=<name_shk_connect>&pw_shk_connect=<pw_shk_connect>&prozess=<prozess>&name_sw=<name_sw>
&kndnr=<kndnr>&name_kunde=<name_kunde>&pw_kunde=<pw_kunde>
Antwort
Inhalte der Antwort
Dateninhalt | Beschreibung | Muss/Kann | Einfach/ Mehrfach | Format | Referenz XML |
Linkliste | Unterstruktur zur Übertragung der Liste der Links für die bilaterale Kommunikation. | Muss | Einfach | - | LINKLISTE |
Status | Struktur zur Abbildung des Fehlerhandlings. | Muss | Einfach | - | LINKLISTE / STATUS |
Fehlercode | Ãœbertragung des Fehlercodes. Die einzelnen erlaubten Codes sind noch festzulegen. | Muss | Einfach | Codeliste Fehlercode | LINKLISTE / STATUS / CODE |
Fehlermeldung | Fehlermeldung im Klartext. | Kann | Einfach | STRING 256 | LINKLISTE / STATUS / MELDUNG |
Link | Struktur zur Abbildung der einzelnen Links. | Kann | Mehrfach | - | LINKLISTE / LINK |
Beschreibung | Beschreibung der Downloaddatei. | Muss | Einfach | STRING 80 | LINKLISTE / LINK / BESCHREIBUNG |
URL | URL zum Download der Datei. | Muss | Einfach | STRING 256 | LINKLISTE / LINK / URL |
Datum | Datum der Downloaddatei im Format „TT.MM.JJJJ“. | Kann | Einfach | STRING 10 | LINKLISTE / LINK / DATUM |
Größe | Größe der Downloaddatei in Byte. | Kann | Einfach | INTEGER | LINKLISTE / LINK / GROESSE |
Authentifizier-ungsmethode | Art der Authentifizierung bei Nutzung der URL. | Muss | Einfach | Codeliste Authentifizierungs-methoden | LINKLISTE / LINK AUTHENTIFIZIERUNGSMETHODE |
Datum der Daten | Datum der hinterlegten Daten im Format „TT.MM.JJJJ“. | Muss | Einfach | STRING 10 | LINKLISTE / LINK / DATENDATUM |
Änderungs-informationen | Informationen, was sich an den Daten geändert hat. | Kann | Einfach | STRING 1000 | LINKLISTE / LINK / AENDERUNGSINFO |
Dateityp | Angabe, um was für eine Datei es sich handelt (PDF, DNM, usw.) | Kann | Einfach | STRING 50 | LINKLISTE / LINK / DATEITYP |
Dateiname Original | Angabe wie der originale Dateiname ist, auf den der Link verweist. | Kann | Einfach | STRING 50 | LINKLISTE / LINK / DATEINAME_ORG |
Beispielantwort:
<LINKLISTE>
<STATUS>
<CODE>0</CODE>
<MELDUNG>OK</MELDUNG>
</STATUS>
<LINK>
<BESCHREIBUNG>Preisliste 2009</BESCHREIBUNG>
<URL>HTTP://www.mustermannAG.de/datanorm.zip</URL>
<DATUM>01.01.2009</DATUM>
<GROESSE>10000</GROESSE>
<AUTHENTIFIZIERUNGSMETHODE>HTTPAUTH</AUTHENTIFIZIERUNGSMETHODE>
<DATENDATUM>01.01.2009</DATENDATUM>
<DATEITYP>ZIP</DATEITYP>
<DATEINAME_ORG>datanorm.zip</DATEINAME_ORG>
</LINK>
</LINKLISTE>
Codelisten
Prozesse
Code | Bedeutung |
STD | Stammdaten DATANORM |
Status
Code | Bedeutung |
0 | Es ist kein Fehler aufgetreten |
4 | Fehler bei der Authentifizierung des Anwenders beim Unternehmen |
8 | Authentifizierung von SHK Connect beim Unternehmen fehlgeschlagen |
Authentifizierungsmethoden
Code | Bedeutung |
URL | Die Authentifizierung erfolgt über die URL |
HTTPAUTH | Die Authentifizierung erfolgt über Http Auth |
KEINE | Es ist keine Authentifizierung erforderlich |
COOKIE | Die Authentifizierung erfolgt über Cookies |
HTTP Error-Codes
Code | Bedeutung | Erläuterung |
400 | Bad Request | Die Anfrage-Nachricht war fehlerhaft aufgebaut. |
401 | Unauthorized | Die Anfrage kann nicht ohne gültige Authentifizierung durchgeführt werden. Wie die Authentifizierung durchgeführt werden soll, wird im „WWW-Authenticate“-Header-Feld der Antwort übermittelt. |
402 | Payment Required | (reserviert) |
403 | Forbidden | Die Anfrage wurde mangels Berechtigung des Clients nicht durchgeführt. Diese Entscheidung wurde – anders als im Fall des Statuscodes 401 – unabhängig von Authentifizierungsinformationen getroffen, auch etwa wenn eine als HTTPS konfigurierte URL nur mit HTTP aufgerufen wurde. |
404 | Not Found | Die angeforderte Ressource wurde nicht gefunden. Dieser Statuscode kann ebenfalls verwendet werden, um eine Anfrage ohne näheren Grund abzuweisen. Links, welche auf solche Fehlerseiten verweisen, werden auch als „Tote Links“ bezeichnet. |
405 | Method Not Allowed | Die Anfrage darf nur mit anderen HTTP-Methoden (z. B. GET statt POST) gestellt werden. Gültige Methoden für die betreffende Ressource werden im „Allow“-Header-Feld der Antwort übermittelt. |
406 | Not Acceptable | Die angeforderte Ressource steht nicht in der gewünschten Form zur Verfügung. Gültige „Content-Type“-Werte können in der Antwort übermittelt werden. |
407 | Proxy Authentication Required | Analog zum Statuscode 401 ist hier zunächst eine Authentifizierung des Clients gegenüber dem verwendeten Proxy erforderlich. Wie die Authentifizierung durchgeführt werden soll, wird im „Proxy-Authenticate“-Header-Feld der Antwort übermittelt. |
408 | Request Time-out | Innerhalb der vom Server erlaubten Zeitspanne wurde keine vollständige Anfrage des Clients empfangen. |
409 | Conflict | Die Anfrage wurde unter falschen Annahmen gestellt. Im Falle einer PUT-Anfrage kann dies zum Beispiel auf eine zwischenzeitliche Veränderung der Ressource durch Dritte zurückgehen. |
410 | Gone | Die angeforderte Ressource wird nicht länger bereitgestellt und wurde dauerhaft entfernt. |
411 | Length Required | Die Anfrage kann ohne ein „Content-Length“-Header-Feld nicht bearbeitet werden. |
412 | Precondition Failed | Eine in der Anfrage übertragene Voraussetzung, zum Beispiel in Form eines „If-Match“-Header-Felds, traf nicht zu. |
413 | Request Entity Too Large | Die gestellte Anfrage war zu groß, um vom Server bearbeitet werden zu können. Ein „Retry-After“-Header-Feld in der Antwort kann den Client darauf hinweisen, dass die Anfrage eventuell zu einem späteren Zeitpunkt bearbeitet werden könnte. |
414 | Request-URI Too Long | Die URL der Anfrage war zu lang. Ursache ist oft eine Endlosschleife aus Redirects. |
415 | Unsupported Media Type | Der Inhalt der Anfrage wurde mit ungültigem oder nicht erlaubtem Medientyp übermittelt. |
416 | Requested range not satisfiable | Der angeforderte Teil einer Ressource war ungültig oder steht auf dem Server nicht zur Verfügung. |
417 | Expectation Failed | Verwendet im Zusammenhang mit einem „Expect“-Header-Feld. Das im „Expect“-Header-Feld geforderte Verhalten des Servers kann nicht erfüllt werden. |
421 | There are too many connections from your internet address | Wird verwendet, wenn die Verbindungshöchstzahl überschritten wird |
422 | Unprocessable Entity | Wird verwendet, wenn weder die Rückgabe von Statuscode 415 noch 400 gerechtfertigt wäre, eine Verarbeitung der Anfrage jedoch zum Beispiel wegen semantischer Fehler abgelehnt wird (RFC 4918). |
423 | Locked | Die angeforderte Ressource ist zur Zeit gesperrt (RFC 4918). |
424 | Failed Dependency | Die Anfrage konnte nicht durchgeführt werden, weil sie das Gelingen einer vorherigen Anfrage voraussetzt (RFC 4918). |
425 | Unordered Collection | In den Entwürfen von WebDav Advanced Collections definiert, aber nicht im "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol" (RFC 3648). |
426 | Upgrade Required | Der Client sollte auf Transport Layer Security (TLS/1.0) umschalten (RFC 2817). |
500 | Internal Server Error | Dies ist ein „Sammel-Statuscode“ für unerwartete Serverfehler. |
501 | Not Implemented | Die Funktionalität, um die Anfrage zu bearbeiten, wird von diesem Server nicht bereitgestellt. Ursache ist zum Beispiel eine unbekannte oder nicht unterstützte HTTP-Methode. |
502 | Bad Gateway | Der Server konnte seine Funktion als Gateway oder Proxy nicht erfüllen, weil er seinerseits eine ungültige Antwort erhalten hat. |
503 | Service Unavailable | Der Server steht, zum Beispiel wegen Überlast oder Wartungsarbeiten, zur Zeit nicht zur Verfügung. Ein „Retry-After“-Header-Feld in der Antwort kann den Client auf einen Zeitpunkt hinweisen, zu dem die Anfrage eventuell bearbeitet werden könnte. |
504 | Gateway Time-out | Der Server konnte seine Funktion als Gateway oder Proxy nicht erfüllen, weil er innerhalb einer festgelegten Zeitspanne keine Antwort von seinerseits benutzten Servern oder Diensten erhalten hat. |
505 | HTTP Version not supported | Die benutzte HTTP-Version (gemeint ist die Zahl vor dem Komma) wird vom Server nicht unterstützt oder abgelehnt. |
506 | Variant Also Negotiates | (RFC 2295) |
507 | Insufficient Storage | Die Anfrage konnte nicht bearbeitet werden, weil der Speicherplatz des Servers dazu zur Zeit nicht mehr ausreicht (RFC 4918). |
509 | Bandwidth Limit Exceeded | Die Anfrage wurde verworfen, weil sonst die verfügbare Bandbreite überschritten werden würde (inoffizielle Erweiterung einiger Server). |
510 | Not Extended | Die Anfrage enthält nicht alle Informationen, die die angefragte Server-Extension zwingend erwartet (RFC 2774). |