Zum Inhalt

WebAuftrag API#

Mit der WebAuftrag API besteht die Möglichkeit, Daten aus verschiedenen Quellen (beispielsweise aus der tillhub-Kassenlösung) an KUMAVISION healthcare365 zu übertragen und dort weiterzuverarbeiten.

Über die WebAuftrag API können Kopf- und Zeileninformationen zu Kassenaufträgen als JSON-Struktur übermittelt werden. Die an die API gesendeten Daten werden in KUMAVISION healthcare365 als Web-Aufträge gespeichert und können über die eBox angezeigt, bearbeitet und weiterverarbeitet werden.

Hinweis

Weiterführende Informationen zur Aktivierung der APIs für Microsoft Dynamics 365 Business Central1 finden Sie unter: Enabling the APIs for Business Central

Einrichtung#

API Partner Übersicht#

Über die "API Partner Übersicht" können Sie einen API-Kommunikationspartner einrichten. Hierzu rufen Sie zunächst die Seite über die Anwendersuche auf. Über "Neu" im Menüband können Sie mit Hilfe der u.a. Tabelle einen Kommunikationspartner definieren.

Feld Beschreibung
Partner ID Jeder API-Kommunikationspartner erhält eine Partner-ID, die im Web-Auftragskopf mit übermittelt wird. Eine Weiterverarbeitung findet nicht statt, wenn diese Partner-ID fehlt.
Partner Name Gibt dem Namen des Kommunikationspartner an.
Verkaufsauftragsart (Direktaufträge) Gibt die zu verwendende Verkaufsauftragsart für Direktaufträge an.
Adresssteuerungscode (Einmaladresse Verkauf) Eine abweichende einmalige Lieferadresse kann übermittelt werden und wird als Einmaladresse im Verkaufsauftrag gespeichert. Dafür wird ein Adresssteuerungscode benötigt, der hier hinterlegt werden muss.
Rabattgrund Wenn ein Rabattbetrag in den Web-Auftragszeilen angegeben wird oder sich durch (Preis x Menge) eine Abweichung vom Zeilenbetrag ergibt, muss für die Verkaufsauftragsverarbeitung ein Rabattgrund angegeben werden. Der Rabattgrund kann hier definiert werden.

Hinweis:
Stellen Sie sicher, dass die maximale Rabattgrenze bei 100% liegt, andernfalls können nicht alle Rabatte korrekt erfasst werden und kostenlose Beigaben werden nicht fehlerfrei in den Verkaufsauftrag übernommen.

Zahlungsform Mapping#

Über das Menüband steht Ihnen die Seite "WebAuftrag Zahlungsform Mapping" zur Verfügung. Dort können Sie für jeden API-Partner ein Mapping der Zahlungsformen festlegen. Dieses Mapping wird verwendet, wenn der WebAuftrag in die Schnellerfassung übernommen wird.

Definition WebAuftrag API#

Nachfolgend werden Ihnen die Felder der WebAuftrag API und ihre Definition näher erläutert:

Feldbezeichnung Feldtyp Sofern nicht anders angegeben handelt es sich um interne Ids
id Guid Nicht editierbar; systeminterne ID des Datensatzes, kann für späteren Zugriff auf nachfolgende Funktionen (GET, BoundedAction) genutzt werden.
partnerId Code20 PartnerID der internen API Partner Übersicht. Muss vom Partnersystem übermittelt werden.
orderDate Datum Auftragsdatum
webshopOrderId Text40 Belegnummer des Auftrags aus dem externen System. Wird mit in die Folgebelege (Auftrag, geb. Rechnung, geb. Lieferung, geb. Gutschrift, geb. Reklamation) übernommen.
transactionID Text40 Externe Transaktionsnummer, mit der die Zahlung ausgeführt wurde (wird mit in die Folgebelege übernommen).
insurantContactNo Code20 Kontaktnr. des Versicherten
insurantCustomerNo Code20 Debitorennr. des Versicherten
paymentMethod Code10 Externer Zahlungsformcode (Mapping auf interne Zahlungsform kann in der "API Partner Übersicht" hinterlegt werden).
physicianNo Code20 offizielle Arztnummer
plantLocation Code20 Betriebsstättennummer des Arztes
manualShipmentNo Code20 Handlieferscheinnummer
insurantNo Code20 Versichertennummer, wird die Versichertennummer statt einer Debitoren- oder Kontaktnummer übermittelt, dann wird anhand dieser Nummer im Debitorenstamm der Versicherte ermittelt.
institutionCode Code20 Institutionskennzeichen; aktuell keine Funktion
processDate Datum Rezept-/Vorgangsdatum
requestedDeliveryDate Datum Gewünschtes Lieferdatum
shippingAgentService Text20 externe Lieferanweisung; nur Info, keine Weiterverarbeitung
shipToCode Code10 Lief. an Code; Wird ein Code angegeben, dann werden die nachfolgenden Angaben zur Lieferadresse (shipToName, shipToAdress etc.) nur in den WebAuftrag übernommen, von dort aber nicht weitergereicht.
shipToName Text100 Lief. an Name; Übergabe der shipTo-Werte erfolgt an die Schnellerfassung und von dort als Einmaladresse in den Direktauftrag. Voraussetzung: der shipToCode ist nicht gefüllt, ansonsten hat dieser Prio.
shipToName2 Text100 Lief. an Name 2
shipToAddress Text100 Lief. an Adresse
shipToAddress2 Text50 Lief. an Adresse 2
shipToCity Text30 Lief. an Ort
shipToCountryRegionCode Code10 Lief. an Ländercode
shipToCounty Text30 Lief. an Region
shipToPostCode Code20 Lief. an PLZ Code
amountDirectSale Decimal Betrag der Ware mit Direktverkauf. Wird in den Handelsauftrag übernommen; Abweichungen zum Gesamtbetrag der Zeilen werden als Rechnungsrabatt im Verkaufsauftrag dargestellt.
amountDirectSaleInclVAT Decimal Betrag der Ware mit Direktverkauf inkl. MwSt.; Übernahme des Betrages in den Handelsauftrag; Abweichungen zum Gesamtbetrag der Zeilen werden als Rechnungsrabatt im Verkaufsauftrag dargestellt.
amount Decimal Gesamtbetrag des Kaufs; nur Info, keine Weiterverarbeitung
amountDirectSaleInclVAT Decimal Betrag der Ware mit Direktverkauf inkl. MwSt.; Übernahme des Betrages in den Handelsauftrag
status Enum Nicht editierbar; Received, InProcess, Processed, Error; nur Rückgabe
teamCode Code10 Team Code
note Text Bemerkung zu WebAuftrag

Zeilen#

Feldbezeichnung Feldtyp Sofern nicht anders angegeben handelt es sich um interne Ids
lineNo Integer Nicht editierbar; Zeilennummer wird automatisch vergeben.
lineType Enum Zeilenart: Item, G/L Account, Resource, Fixed Asset, Charge (Item), Allocation Account; Aktuell wird nur die Zeilenart = Item bei der Weiterverarbeitung berücksichtigt
no Code20 Nummer zur Zeilenart; wenn Zeilenart= Item, dann "no" = interne Artikelnummer
itemInfoType Enum Alternative Angabe zur Ermittlung der Artikelnummer; Optionen: None, PCN, GTIN, VendorItemNo, ApplianceNo, ItemNo
itemInfoNo Code50 Nummer zum itemInfoType
variantCode Code20 Artikelvariante
unitOfMeasureCode Code10 Einheitencode
quantity Decimal Menge zu Einheitencode
quantityBase Decimal Basismenge
qtyPerUnitOfMeasure Decimal Menge pro Einheit
unitPrice Decimal Einheitenpreis
priceInclVAT Boolean Kennzeichnung, ob MwSt. im Preis, Betrag enthalten ist
vatPercent Decimal MwSt. in Prozent
lineAmount Decimal Zeilenbetrag
lineDiscount Decimal Zeilenrabatt in Prozent
lineDiscountAmount Decimal Zeilenrabatt als Betrag
coPayment Decimal Betrag Zuzahlung; nur Info, keine Weiterverarbeitung
personalShare Decimal Betrag Eigenanteil; nur Info, keine Weiterverarbeitung
economicPersonalShare Decimal Betrag wirtschaftlicher Eigenanteil; nur Info, keine Weiterverarbeitung
locationCode Code10 Lagerortcode
directSaleWithoutProcess Boolean Kennzeichnung der Zeile als "Direkt Verkauf"
processTypeCode Code10 Vorgangsart; entspricht dem Feld der Schnellerfassungszeile
processNo Code20 Vorgangsnummer; entspricht dem Feld der Schnellerfassungszeile
processPeriodNo Integer Vorgangsperiode; entspricht dem Feld der Schnellerfassungszeile
contractNo Code20 Vertragsnummer; entspricht dem Feld der Schnellerfassungszeile
contractVersionNo Code4 Vertragsversionsnummer; entspricht dem Feld der Schnellerfassungszeile
contractPeriod Code30 Vertragsperiode; entspricht dem Feld der Schnellerfassungszeile
deliveryTypeNewProcess Enum From Contract,Recurring,By Call; (DEU=Lt. Vertrag,Periodisch,Abruf); entspricht dem Feld der Schnellerfassungszeile
intervalNewProcess Dateformula entspricht dem Feld der Schnellerfassungszeile
reqCarePeriodNewProcess Enum " ","1=current month","2=current month+1M","3=current month+2M","4=following month","5=following month+1M","6=following month+2M","7=manual input"
requestedDeliveryDateOnce Date entspricht dem Feld "Gewünschtes Lieferdatum (Einmalig)" der Schnellerfassungszeile
tourCodeOnce Code10 entspricht dem Feld "" der Schnellerfassungszeile
shippingAgentCodeOnce Code10 entspricht dem Feld "Zustellercode (Einmalig)" der Schnellerfassungszeile
shipAgentServiceCodeOnce Code10 entspricht dem Feld "" der Schnellerfassungszeile

JSON Struktur#

Nachfolgend wird Ihnen ein Beispiel einer JSON Struktur für die Übermittlung von WebAufträgen an KUMAVISION healthcare365 aufgezeigt:

{
    "partnerID": "TILLHUB",
    "insurantCustomerNo": "10001733",
    "transactionID": "extCJo332267",
    "webshopOrderId": "MixWO4715",
    "orderDate": "2024-02-19",
    "processDate": "2024-02-19",
    "requestedDeliveryDate": "2024-02-25",
    "webOrderLines": [
        {
            "lineType": "item",
            "no": "3230025", 
            "quantity": 1,
            "unitOfMeasureCode": "STÜCK",
            "unitPrice": 1234.56,
            "priceInclVAT": false,
            "lineAmount": 1234.56,
            "directSaleWithoutProcess": true
        },
        {
            "itemInfoType": "Appliance No.",
            "itemInfoNo": "0336071003",
            "quantity": 2,
            "unitOfMeasureCode": "STÜCK",
            "unitPrice": 45.78,
            "priceInclVAT": false,
            "lineAmount": 91.56,
            "directSaleWithoutProcess": true
        },  
                {
            "lineType": "item",
            "no": "ART0000070", 
            "quantity": 1,
            "unitOfMeasureCode": "STÜCK",
            "directSaleWithoutProcess": false,
            "coPayment": 5,
            "requestedDeliveryDateOnce": "2024-02-28"
        },
        {
            "lineType": "item",
            "no": "ART0000071", 
            "quantity": 2,
            "unitOfMeasureCode": "STÜCK",
            "directSaleWithoutProcess": false,
            "coPayment": 0,
            "personalShare": 10,
            "economicPersonalShare": 0,
            "processTypeCode": "H-STOMA",
            "processNo": "VG00000612",
            "processPeriodNo": 1,
            "contractNo": "VS0000000",
            "contractPeriod": "E1",
            "deliveryTypeNewProcess": "By Call",
            "requestedDeliveryDateOnce": "2024-02-28"
        }
    ]    
}

Prozess#

Die über die API übermittelten Daten werden auf der Seite "WebAufträge" angelegt und können über die eBox angezeigt, bearbeitet und weiterverarbeitet werden. Hierzu rufen Sie die eBox über die Anwendersuche auf.

In der eBox stehen Ihnen folgende Funktionen zur Verfügung:

Funktion Beschreibung
Abrufen Zeigt die eingegangenen offenen und fehlerhaften WebAufträge an, die dann in die eigene eBox übernommen werden können.
Löschen Entfernt den ausgewählten WebAuftrag aus der eBox und stellt ihn den anderen AnwenderInnen erneut zur Verfügung.
Anzeigen Zeigt die Schnellerfassung in die der WebAuftrag übernommen wurde an.
Datensätze aktualisieren Führt eine Fehlerprüfung auf die Mindestanforderungen zur Anlage der Schnellerfassung durch und ergänzt ermittelte Daten, z.B. interne Artikelnummer auf Basis der übermittelten alternativen Artikelinformation (PZN, GTIN, etc.).
Verarbeiten Wenn die Funktion "Datensätze aktualisieren" erfolgreich ausgeführt wird, wird im Anschluss eine Schnellerfassung für den Versicherten erstellt. Danach wird der WebAuftrag archiviert und sowohl aus der eBox als auch aus den offenen WebAufträgen entfernt.
Anderen Benutzer zuweisen Verschiebt den ausgewählten WebAuftrag in die eBox eines anderen auszuwählenden Benutzers.
Anderes Team zuweisen Auswahl eines Teams und zurückstellen des WebAuftrags in den offenen WebAuftragspool.
Archivieren ohne Verarbeitung Archiviert und löscht den offenen WebAuftrag ohne weitere Ausführung einer Funktion.

Während der Weiterverarbeitung werden die Daten der WebAufträge an die Schnellerfassung (Marketing Cockpit > Vorgang > Schnellerfassung) übermittelt. Sobald ein WebAuftrag vollständig an die Schnellerfassung übertragen wurde, gilt er als abgeschlossen, wird archiviert (WebAufträge Archiv) und aus der eBox entfernt.

Aus der Schnellerfassung können Vorgänge und Handelsaufträge erstellt werden.

Durch eine Bounded-Action der API kann der Verkauf von Artikeln, die als "Direkt Verkauf" gekennzeichnet sind, automatisch angelegt werden. Falls ein WebAuftrag ausschließlich Zeilen mit der Markierung "Direkt Verkauf" enthält, kann dieser Auftrag vollständig bearbeitet und anschließend archiviert werden.

Aufruf: https://{servername}/BC/api/kumavision/kvsmed/v1.0/companies({companyid})/webOrders({weborderid}))/Microsoft.NAV.createDirectOrder


  1. Microsoft, Microsoft Dynamics und Microsoft Dynamics 365 sind Marken der Microsoft-Unternehmensgruppe.