Page tree
Skip to end of metadata
Go to start of metadata

Zielsetzung

Die Übertragung der ZUGFeRD Rechnung soll via Web-Service ermöglicht werden. Innerhalb des Web-Service sollen Methoden zum Abruf der Rechnung und zur Quittung des Empfangs der Rechnung enthalten sein. Der Web Service ist so gestaltet, dass in der Zukunft auch andere Dokumenttypen und Formate übertragen werden können, ohne die Grundstruktur ändern zu müssen.

Rahmenbedingungen

Es wird immer das nächste Dokument (z. B. Rechnung) von angegebenem Typen, Format und Formatversion angefragt. Innerhalb der Übertragung werden alle zur Identifizierung des Dokuments erforderlichen Informationen als Angaben (z. B. Rechnungsnummer) im Web-Service übertragen.

Liegt keine Dokumente für die Kombination Typ, Format und Formatversion vor, wird ein entsprechender Status übertragen.

Die Bestätigung des Empfangs erfolgt pro Dokument unter Angabe der Dokumentennummer (z. B. Rechnungsnummer). Wird der Empfang bestätigt, wird das Dokument nicht erneut übertragen.

Der Empfang eines Dokuments soll wie folgt bestätigt werden:

  • Erfolgreich: Übertragung erfolgreich, Daten syntaktisch korrekt

  • Fehlerhaft: Übertragung erfolgreich, Daten syntaktisch nicht korrekt.

Erfolgt eine erneute Anfrage, ohne dass der Empfang des zuletzt übertragenen Dokuments gesendet wurde, wird dies erneut übertragen.

Eine eigene Verschlüsselung der Daten innerhalb der Übertragung erfolgt nicht. Die Sicherung der Übertragung erfolgt über die Nutzung des HTTPS Protokolls.

Web-Service

getNextDocument

Über die Anfrage wird das „nächste“ Dokument angefordert.

Request

Als Eingangsparameter werden die Daten zur Spezifizierung des Dokuments übertragen.

· Format

· FormatVersion

· DocumentType

Weiterhin werden die Daten zur Authentifizierung des Anwenders mit CustomerNumber, Login und Password übertragen.

Response

In der Antwort werden folgende Fälle unterschieden:

  • Übertragung eines Dokuments

  • Es liegt kein Dokument vor

  • Fehler bei der Authentifizierung

  • Fehler beim angefragten Dokumenttyp

  • Fehler beim angefragten Format

  • Fehler bei der angefragten Formatversion

  • Allgemeine Fehler

Für die einzelnen Fälle wird der entsprechende Status bzw. die Fault Message übertragen.

Für den Fall, dass ein Dokument vorliegt, erfolgt die Übertragung der eigentlichen Datei im angefragten Format und Version im Element „Document“. Zusätzlich wird der Dateiname des Dokuments und die Dokumentennummer übertragen.

sendDocumentAcknowledgement

Request

Als Eingangsparameter werden die Daten zur Authentifizierung des Anwenders mit CustomerNumber, Login und Password übertragen. Zusätzlich werden die Daten zur Identifizierung des Dokuments und der zu übertragende Status übertragen.

· Format

· FormatVersion

· DocumentType

· DocumentNumber

· AcknowledgeState

Response

In der Antwort werden folgende Fälle unterschieden:

  • Quittung angenommen

  • Kein Dokument mit den identifizierenden Daten vorhanden

  • Fehler bei der Authentifizierung

  • Fehler beim angefragten Dokumenttyp

  • Fehler beim angefragten Format

  • Fehler bei der angefragten Formatversion

  • Allgemeine Fehler

Für die einzelnen Fälle wird der entsprechende Status bzw. die Fault Message übertragen.

Anhang

element Authentification

diagram

namespace

http://service.itek-invoice.de/types2

source

<element name="Authentification">

<complexType>

<sequence>

<element name="CustomerNumber" type="normalizedString"/>

<element name="Login" type="normalizedString"/>

<element name="Password" type="normalizedString"/>

</sequence>

</complexType>

</element>

element Authentification/CustomerNumber

diagram

namespace

http://service.itek-invoice.de/types2

type

normalizedString

source

<element name="CustomerNumber" type="normalizedString"/>

element Authentification/Login

diagram

namespace

http://service.itek-invoice.de/types2

type

normalizedString

source

<element name="Login" type="normalizedString"/>

element Authentification/Password

diagram

namespace

http://service.itek-invoice.de/types2

type

normalizedString

source

<element name="Password" type="normalizedString"/>

element DocumentNumber

diagram

namespace

http://service.itek-invoice.de/types2

type

normalizedString

source

<element name="DocumentNumber" type="normalizedString"/>

element DocumentType

diagram

namespace

http://service.itek-invoice.de/types2

type

restriction of normalizedString

facets

minLength

1

maxLength

50

pattern

INVOIC|\w{1,50}

source

<element name="DocumentType">

<simpleType>

<restriction base="normalizedString">

<minLength value="1"/>

<maxLength value="50"/>

<pattern value="INVOIC|\w{1,50}"/>

</restriction>

</simpleType>

</element>

element Format

diagram

namespace

http://service.itek-invoice.de/types2

type

restriction of normalizedString

facets

minLength

1

maxLength

50

pattern

ZUGFeRD|\w{1,50}

source

<element name="Format">

<simpleType>

<restriction base="normalizedString">

<minLength value="1"/>

<maxLength value="50"/>

<pattern value="ZUGFeRD|\w{1,50}"/>

</restriction>

</simpleType>

</element>

element FormatVersion

diagram

namespace

http://service.itek-invoice.de/types2

type

restriction of normalizedString

facets

minLength

1

maxLength

50

pattern

1|\w{1,50}

source

<element name="FormatVersion">

<simpleType>

<restriction base="normalizedString">

<minLength value="1"/>

<maxLength value="50"/>

<pattern value="1|\w{1,50}"/>

</restriction>

</simpleType>

</element>

element getNextDocument

diagram

namespace

http://service.itek-invoice.de/types2

source

<element name="getNextDocument">

<complexType>

<sequence>

<element ref="tns:Format"/>

<element ref="tns:FormatVersion"/>

<element ref="tns:DocumentType"/>

<element ref="tns:Authentification"/>

</sequence>

</complexType>

</element>

element getNextDocumentResponse

diagram

namespace

http://service.itek-invoice.de/types2

source

<element name="getNextDocumentResponse">

<complexType>

<sequence>

<element name="NextDocumentStatus">

<complexType>

<sequence>

<element name="Code">

<simpleType>

<restriction base="string">

<enumeration value="0"/>

<enumeration value="1"/>

</restriction>

</simpleType>

</element>

<element ref="tns:Message"/>

</sequence>

</complexType>

</element>

<element name="Document" minOccurs="0">

<complexType>

<sequence>

<element ref="tns:Format"/>

<element ref="tns:FormatVersion"/>

<element ref="tns:DocumentType"/>

<element ref="tns:DocumentNumber"/>

<element name="DocumentName" type="string"/>

<element name="DocumentContent" type="base64Binary"/>

</sequence>

</complexType>

</element>

</sequence>

</complexType>

</element>

element getNextDocumentResponse/NextDocumentStatus

diagram

namespace

http://service.itek-invoice.de/types2

source

<element name="NextDocumentStatus">

<complexType>

<sequence>

<element name="Code">

<simpleType>

<restriction base="string">

<enumeration value="0"/>

<enumeration value="1"/>

</restriction>

</simpleType>

</element>

<element ref="tns:Message"/>

</sequence>

</complexType>

</element>

element getNextDocumentResponse/NextDocumentStatus/Code

diagram

namespace

http://service.itek-invoice.de/types2

type

restriction of string

facets

enumeration

0

enumeration

1

source

<element name="Code">

<simpleType>

<restriction base="string">

<enumeration value="0"/>

<enumeration value="1"/>

</restriction>

</simpleType>

</element>

element getNextDocumentResponse/Document

diagram

namespace

http://service.itek-invoice.de/types2

source

<element name="Document" minOccurs="0">

<complexType>

<sequence>

<element ref="tns:Format"/>

<element ref="tns:FormatVersion"/>

<element ref="tns:DocumentType"/>

<element ref="tns:DocumentNumber"/>

<element name="DocumentName" type="string"/>

<element name="DocumentContent" type="base64Binary"/>

</sequence>

</complexType>

</element>

element getNextDocumentResponse/Document/DocumentName

diagram

namespace

http://service.itek-invoice.de/types2

type

string

source

<element name="DocumentName" type="string"/>

element getNextDocumentResponse/Document/DocumentContent

diagram

namespace

http://service.itek-invoice.de/types2

type

base64Binary

source

<element name="DocumentContent" type="base64Binary"/>

element Message

diagram

namespace

http://service.itek-invoice.de/types2

type

normalizedString

source

<element name="Message" type="normalizedString"/>

element sendDocumentAcknowledgement

diagram

namespace

http://service.itek-invoice.de/types2

source

<element name="sendDocumentAcknowledgement">

<complexType>

<sequence>

<element ref="tns:Format"/>

<element ref="tns:FormatVersion"/>

<element ref="tns:DocumentType"/>

<element ref="tns:Authentification"/>

<element name="DocumentReference">

<complexType>

<sequence>

<element ref="tns:DocumentNumber"/>

<element name="AcknowledgeState">

<simpleType>

<restriction base="string">

<enumeration value="0"/>

<enumeration value="1"/>

</restriction>

</simpleType>

</element>

</sequence>

</complexType>

</element>

</sequence>

</complexType>

</element>

element sendDocumentAcknowledgement/DocumentReference

diagram

namespace

http://service.itek-invoice.de/types2

source

<element name="DocumentReference">

<complexType>

<sequence>

<element ref="tns:DocumentNumber"/>

<element name="AcknowledgeState">

<simpleType>

<restriction base="string">

<enumeration value="0"/>

<enumeration value="1"/>

</restriction>

</simpleType>

</element>

</sequence>

</complexType>

</element>

element sendDocumentAcknowledgement/DocumentReference/AcknowledgeState

diagram

namespace

http://service.itek-invoice.de/types2

type

restriction of string

facets

enumeration

0

enumeration

1

source

<element name="AcknowledgeState">

<simpleType>

<restriction base="string">

<enumeration value="0"/>

<enumeration value="1"/>

</restriction>

</simpleType>

</element>

element sendDocumentAcknowledgementResponse

diagram

namespace

http://service.itek-invoice.de/types2

source

<element name="sendDocumentAcknowledgementResponse">

<complexType>

<sequence>

<element name="Code">

<simpleType>

<restriction base="string">

<enumeration value="0"/>

<enumeration value="1"/>

</restriction>

</simpleType>

</element>

<element ref="tns:Message"/>

</sequence>

</complexType>

</element>

element sendDocumentAcknowledgementResponse/Code

diagram

namespace

http://service.itek-invoice.de/types2

type

restriction of string

facets

enumeration

0

enumeration

1


source

<element name="Code">

<simpleType>

<restriction base="string">

<enumeration value="0"/>

<enumeration value="1"/>

</restriction>

</simpleType>

</element>


WSDL

Webservice.zip




  • No labels