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
-
Microsoft, Microsoft Dynamics und Microsoft Dynamics 365 sind Marken der Microsoft-Unternehmensgruppe. ↩