AB 3.80 01/00 --------------------------------------------------------------------------------------------------- Neue Endpunkte für USt-IdNr. Prüfung - POST /v1/customers/{customerId}/vatid-check - POST /v1/suppliers/{supplierId}/vatid-check - GET /v1/customers/{customerId}/vatid-check - GET /v1/suppliers/{supplierId}/vatid-check - GET /v1/vatid-check/queue/{queueItemId} Neue Endpunkte für E-Rechnungen - POST /v1/sales-documents/{salesDocumentId}/common-schema - POST /v1/sales-documents/{salesDocumentId}/validate - POST /v1/sales-documents/{salesDocumentId}/visualize - POST /v1/purchase-documents/{purchaseDocumentId}/common-schema - POST /v1/purchase-documents/{purchaseDocumentId}/validate - POST /v1/purchase-documents/{purchaseDocumentId}/visualize - POST /v1/e-invoicing/common-schema - POST /v1/e-invoicing/validate - POST /v1/e-invoicing/visualize - GET /v1/e-invoicing/common-schema/queue/{queueItemId} - GET /v1/e-invoicing/common-schema.xsd - GET /v1/e-invoicing/validate/queue/{queueItemId} - GET /v1/e-invoicing/visualize/queue/{queueItemId} Änderungen an bestehenden Models - SerialOrLotLineItem/Notes -> Neue Property für Notizen zur Serien-/Chargennummer. AB 3.80 00/00 --------------------------------------------------------------------------------------------------- Neue Endpunkte für Beleg-Kontakte - DELETE /v1/periodical_purchase_document_templates/{documentTemplateId}/document-contact - DELETE /v1/periodical_sales_document_templates/{documentTemplateId}/document-contact Änderungen an bestehenden Models - Condition/IsAssignedToDocument -> Neue Property für eine Kondition, die sich auf den gesamten Beleg bezieht. - Condition/ReasonCode -> Neue Property für den Begründungscode - ContactPerson/IdInThirdPartyApplication -> Neue Property für die Id der Fremdanwendung - Customer/CountryId -> Neue Property für die Id des Landes. - Customer/CountryIso -> Neue readOnly Property für den ISO-Code des Landes. - Customer/CountryKey -> Neue Property für die Ordnungsbegriff des Landes. - LineItem/ConditionLineItemData/IsAssignedToDocument -> Neue Property für eine Kondition, die sich auf den gesamten Beleg bezieht. - LineItem/ConditionLineItemData/ReasonCode -> Neue Property für den Begründungscode - ManufactureDocument/CompanyContact -> Neue Property für den eigenen Kontakt - PeriodicalPurchaseDocumentTemplate/CompanyContact -> Neue Property für den eigenen Kontakt - PeriodicalSalesDocumentTemplate/CompanyContact -> Neue Property für den eigenen Kontakt - Purchase/CompanyContact -> Neue Property für den eigenen Kontakt - Product/IntrastatCountryOfOriginIso -> Property als veraltet markiert - Product/CountryOfOriginIso -> Neue Property für das Herkunftsland der Ware - SalesDocument/CompanyContact -> Neue Property für den eigenen Kontakt - Supplier/CountryId -> Neue Property für die Id des Landes. - Supplier/CountryIso -> Neue readOnly Property für den ISO-Code des Landes. - Supplier/CountryKey -> Neue Property für die Ordnungsbegriff des Landes. Sonstiges - Zur Filterung auf benutzerdefinierte Felder steht der neue Parameter "userDefinedFieldFilter" für die Endpunkte zum Lesen von Belegen, Artikeln und Kunden/Lieferanten zur Verfügung. - Der Webservice kann nun auch mit einem Benutzer gestartet werden, der nur das Recht hat, per API mit der Auftragsbearbeitung zu arbeiten. - Der Ablauf des Zertifikats wird überwacht. 90 Tage vor Ablauf wird eine Warnung in die Protokolldatei geschrieben und bei hinterlegter E-Mail-Adresse eine Nachricht gesendet. - Die Beschreibung für Customer/ContactPersons wurde angepasst. - Die Beschreibung für Supplier/ContactPersons wurde angepasst. - Die URL für den Changelog wurde von /ab-api/appinfo/changelog auf /ab-api/changelog.txt geändert. AB 3.70 03/05 --------------------------------------------------------------------------------------------------- Änderungen an bestehenden Models - PeriodicalPurchaseDocumentTemplate/Contact -> Neue Property für einen Kontakt des Lieferanten - PeriodicalSalesDocumentTemplate/Contact -> Neue Property für einen Kontakt des Kunden Fehlerkorrekturen - Wiederkehrende Belege mit einem Kontakt.konnten nicht gelesen/geändert werden, da die Property Contact nicht im Model PeriodicalPurchaseDocumentTemplate und PeriodicalSalesDocumentTemplate enthalten war. AB 3.70 03/03 --------------------------------------------------------------------------------------------------- Fehlerkorrekturen - Ein Querabruf in einen Zielbeleg in Fremdwährung führte zum Fehler. Die API reagiert nun korrekt auf diese Situation: Wenn ein gültiger Kurs in den Stammdaten hinterlegt ist, wird dieser verwendet und der Abruf ist möglich. Wenn kein gültiger Kurs in den Stammdaten hinterlegt ist, wird ein aussagekräftiger Fehlertext zurückgegeben. AB 3.70 03/00 --------------------------------------------------------------------------------------------------- *************************************************************************************************** *** Wichtiger Hinweis für Verwender der HS API *** *************************************************************************************************** Bei der Erstellung einer E-Rechnung haben seit Programmstand AB 3.70 02/00 Positioneinleitungstexte, Abruftexte sowie Textpositionen (Textbaustein, Freier Text) eindeutige Positionsnummern erhalten und wurden als eigenständige Positionen in die E-Rechnung eingesteuert. Verhaltensänderung bei Anlage und Abruf von Belegen - Positionseinleitungstexte und Abruftexte erhalten KEINE Positionsnummer mehr. Sie werden in der E-Rechnung als Text auf Belegkopfebene (BT-22) eingesteuert. - Textpositionen (Textbaustein, Freier Text) werden in der E-Rechnung nur noch als eigenständige Positionen geführt, wenn die neue Option "Eigenständige Textposition" gesetzt ist. Wird hingegen die neue Option "Text wird einer Artikelposition zugeordnet" gesetzt, wird der Text als Notiz an der Artikelposition (BT-127) in die E-Rechnung eingesteuert. In der API stehen die neuen Properties "RefersToProductLineItem" und "ReferringTo" an den Models "TextLineItem" und "TextBlockLineItem" zur Verfügung. - Bei der Migration wird für die Textpositionen vorhandener Belege die Einstellung "Eigenständige Position" gesetzt, um das bisherige Verhalten bei Erzeugung einer E-Rechnung beizubehalten. Prüfen Sie ggf., ob Ihre Zusatzlösungen bei der Beleganlage oder dem Belegabruf weiterhin das gewünschte Verhalten zeigen. *************************************************************************************************** Neue Endpunkte - /v1/dms-documents-metadata/{dmsDocumentKey} -> Neuer Endpunkt zum Auslesen der Metadaten eines DMS-Dokuments anhand seines Schlüssels - /v1/sales-documents/{salesDocumentId}/prepayments -> Neuer Endpunkt zum Hinzufügen einer Anzahlung zu einem Verkaufsbeleg Änderungen an bestehenden Models - ConditionLineItem/OrderReference -> Neue Property für die Auftragsreferenz/Bestellnummer - ConditionLineItem/OrderDate-> Neue Property für das Auftragsdatum/Bestelldatum - DmsDocumentAssignmentData/MovementAction -> Neue Property für Aktionen im DMS, die während der Zuordnung eines Lieferantenbelegs ausgeführt werden. - PeriodicalPurchaseDocumentTemplate/ExchangeRate -> Neue Property für den Umrechnungskurs - PeriodicalPurchaseDocumentTemplate/OwnVatIdentificationNumber -> Neue Property für die eigene USt-IdNr. - PeriodicalPurchaseDocumentTemplate/TotalGrossAmount -> Property auf readOnly umgestellt - PeriodicalPurchaseDocumentTemplate/TotalNetAmount -> Property auf readOnly umgestellt - PeriodicalSalesDocumentTemplate/ExchangeRate -> Neue Property für den Umrechnungskurs - PeriodicalSalesDocumentTemplate/OwnVatIdentificationNumber -> Neue Property für die eigene USt-IdNr. - PeriodicalSalesDocumentTemplate/TotalGrossAmount -> Property auf readOnly umgestellt - PeriodicalSalesDocumentTemplate/TotalNetAmount -> Property auf readOnly umgestellt - ProductLineItem/OrderReference -> Neue Property für die Auftragsreferenz/Bestellnummer - ProductLineItem/OrderDate-> Neue Property für das Auftragsdatum/Bestelldatum - PurchaseDocument/ExchangeRate -> Neue Property für den Umrechnungskurs - PurchaseDocument/OwnVatIdentificationNumber -> Neue Property für die eigene USt-IdNr. - PurchaseDocument/TotalGrossAmount -> Property auf readOnly umgestellt - PurchaseDocument/TotalNetAmount -> Property auf readOnly umgestellt - SalesDocument/ExchangeRate -> Neue Property für den Umrechnungskurs - SalesDocument/GrossAmountMinusInterimInvoices -> Property auf readOnly umgestellt - SalesDocument/GrossAmountMinusPrepaymentsAndInterimInvoices -> Neue Property für den Restbetrag des Belegs (abzüglich Anzahlungen und zugeordneter Abschlagsrechnungen, inkl. USt.) - SalesDocument/NetAmountMinusInterimInvoices -> Property auf readOnly umgestellt - SalesDocument/NetAmountMinusPrepaymentsAndInterimInvoices -> Neue Property für den Restbetrag des Belegs (abzüglich Anzahlungen und zugeordneter Abschlagsrechnungen, exkl. USt.) - SalesDocument/OwnVatIdentificationNumber -> Neue Property für die eigene USt-IdNr. - SalesDocument/Prepayments -> Neue Property für die Anzahlungen des Belegs - SalesDocument/TotalGrossAmount -> Property auf readOnly umgestellt - SalesDocument/TotalNetAmount -> Property auf readOnly umgestellt - TextBlockLineItem/RefersToProductLineItem -> Neue Property zur Angabe, ob die Textbausteinposition einer Artikelposition zugeordnet ist. - TextBlockLineItem/ReferringTo -> Neue Property zur Angabe des Key der Artikelposition, der die Textbausteinposition zugeordnet ist. - TextLineItem/RefersToProductLineItem -> Neue Property zur Angabe, ob die Textposition einer Artikelposition zugeordnet ist. - TextLineItem/ReferringTo -> Neue Property zur Angabe des Key der Artikelposition, der die Textposition zugeordnet ist. Fehlerkorrekturen - Beim Lesen/Erfassen/Löschen von Belegen per API werden die belegartspezifischen Rechte des Benutzers nun berücksichtigt. - Beim Abrufen von Belegen per API (z.B. POST auf /v1/sales-documents/process) werden die belegartspezifischen Rechte des Benutzers nun berücksichtigt. - Beim Anlegen von Belegen mit individuellen Adressen ohne Land wird nun eine sprechende Fehlermeldung statt einer Datenbankfehlermeldung zurückgegeben. - Für die Übergabe von Artikel-Kunde-Lieferant-Preisen per API (/v1/product-customer-relations/prices und /v1/product-supplier-relations/prices) wurde ein Fehler bei der Behandlung von Preisen in Fremdwährung behoben. Es kann nun kein Ordnungsbegriff für die Währung mehr übergeben werden, da diese aus den Angaben im Kunden-/Lieferanten ermittelt wird. - Beim Importieren einer Datei ins DMS via API wird diese nun mit korrektem Mime-Type im DMS abgelegt. Sonstiges - Wird beim Import eines Dokuments ins DMS via API kein abweichender Dateiname angegeben, wird nun anstelle des originalen Dateinamens der Dateiname aus der Definition der Dokumentenart Import verwendet (inkl. ersetzter Platzhalter). - Beim GET auf /v1/dms-documents-metadata kann der Filter "DocumentKey eq ''" verwendet werden, um gezielt die Metadaten eines bestimmten Dokuments abzurufen. - AbRestApiPlugIn-Assemblies müssen zukünftig in einem Unterverzeichnis des neuen Programmdaten- Unterverzeichnisses "ApiPlugins" (%PROGRAMDATA%\Hs\Ab\ApiPlugins) liegen. Der Name eines Plugins muss mit "AbRestApiPlugIn" beginnen und die Dateiendung ".dll" haben. AB 3.70 02/04 --------------------------------------------------------------------------------------------------- Fehlerkorrekturen - ProductLineItem/QuantityFactor1-4 wurde beim PUT von Belegen nicht korrekt berücksichtigt. AB 3.70 02/03 --------------------------------------------------------------------------------------------------- Fehlerkorrekturen - ProductCustomerRelationPrices: Korrektur eines Fehlers, wenn einer der übermittelten Preise in Staffel, Menge und Preis mit einem vorhandenen Artikelpreis übereinstimmt. AB 3.70 02/02 --------------------------------------------------------------------------------------------------- Fehlerkorrekturen - Bei PDF-Erzeugung über /v1/pdf wurde "UseCustomTemplate" nicht berücksichtigt, wenn in der Belegart-Kunde-Beziehung eine Belegdruckkette hinterlegt war. AB 3.70 02/00 --------------------------------------------------------------------------------------------------- Änderungen an bestehenden Models - Customer/ElectronicInvoiceFormat -> Neue Enum-Ausprägungen für ZUGFeRD 2 EXTENDED, XRechnung UBL und ebInterface hinzugefügt. - Customer/PaymentHousebankNumber -> Neue Property für die Nummer der Hausbankverbindung für Überweisungen - Customer/CreditTransferHousebankSettings -> Neue Property zur Vorbesetzung einer Hausbankverbindung für Überweisungen in Rechnungen. - Customer/CreditTransferHousebankNumber -> Neue Property für die Angabe einer individuellen Hausbankverbindung für Überweisungen in Rechnungen. - PurchaseDocument/IsSelfBilling -> Neue Property für Eigenrechnung (Gutschrift gemäß § 14 Abs. 2 UStG) - PurchaseDocument/ElectronicAddressType -> Neue Property für die elektronische Adresse der E-Rechnung bei Eigenrechnung (Gutschrift gemäß § 14 Abs. 2 UStG) - PurchaseDocument/ElectronicInvoiceFormat -> Neue Property für das Format der E-Rechnung bei Eigenrechnung (Gutschrift gemäß § 14 Abs. 2 UStG) - PurchaseDocument/BuyerReference -> Neue Property für die Käuferreferenz bei Eigenrechnung (Gutschrift gemäß § 14 Abs. 2 UStG) - SalesDocument/ElectronicAddressType -> Neue Property für die elektronische Adresse der E-Rechnung - SalesDocument/ElectronicInvoiceFormat -> Neue Enum-Ausprägungen für ZUGFeRD 2 EXTENDED, XRechnung UBL und ebInterface hinzugefügt. - SalesDocument/PaymentMethod -> Neue Property für die Angabe, welche Zahlungsart in einer Rechnung verwendet werden soll. - SalesDocument/CreditTransferHousebankNumber -> Neue Property für die Angabe einer Hausbankverbindung für Überweisungen in Rechnungen - PeriodicalSalesDocument/PaymentMethod -> Neue Property für die Angabe, welche Zahlungsart im Beleg verwendet werden soll. - PeriodicalSalesDocument/CreditTransferHousebankNumber -> Neue Property für die Nummer der Hausbankverbindung für Überweisungen. - SourceLineItemData/BillOfMaterialItems -> Neue Property für Angaben zum Abruf von Stücklistenbestandteilen, z.B. zur Angabe der abzurufenden/verbleibenden Serien-/Chargennummern. - Supplier/IsSelfBillingAllowed -> Neue Property für Eigenrechnung (Gutschrift gemäß § 14 Abs. 2 UStG) - Supplier/ElectronicInvoiceFormat -> Neue Property für das Format der E-Rechnung bei Eigenrechnung (Gutschrift gemäß § 14 Abs. 2 UStG) - Supplier/BuyerReference -> Neue Property die Käuferreferenz bei Eigenrechnung (Gutschrift gemäß § 14 Abs. 2 UStG) - Supplier/ElectronicAddressType -> Neue Property die elektronische Adresse bei Eigenrechnung - TargetLineItem/BillOfMaterialItems -> Neue Property für Angaben zu Stücklistenbestandteilen im Zielbeleg, z.B. zur Abgabe zusätzlicher Serien-/Chargennummern. Neue Models - SourceBillOfMaterialItem -> Für Angaben zum Abruf von Stücklistenbestandteilen, z.B. zur Angabe der abzurufenden/verbleibenden Serien-/Chargennummern. - TargetBillOfMaterialItem -> Für Angaben zu Stücklistenbestandteilen im Zielbeleg, z.B. zur Abgabe zusätzlicher Serien-/Chargennummern. Fehlerkorrekturen - Beim GET auf /v1/products wurde für die Property AveragePrice immer null geliefert. - ProductCustomerRelation: PriceValidFrom und PriceValidTo konnten nicht gelöscht werden. Dazu wurde "format: date" entfernt. Zum Löschen kann nun ein Leerstring übermittelt werden. Die Angabe eines Datums erfolgt weiterhin im Format "YYYY-MM-DD". - ProductSupplierRelation: PriceValidFrom und PriceValidTo konnten nicht gelöscht werden. Dazu wurde "format: date" entfernt. Zum Löschen kann nun ein Leerstring übermittelt werden. Die Angabe eines Datums erfolgt weiterhin im Format "YYYY-MM-DD". AB 3.70 01/00 --------------------------------------------------------------------------------------------------- Änderungen an bestehenden Models - ConditionLineItem/ObjectNumber -> Neue Property für die Objektnummer - ConditionLineItem/OrderReferenceLineNumber -> Neue Property für die Auftragsreferenz-Positionsnummer - Customer/IsDisabled -> Neue Property für Filterung auf inaktive Kunden - Customer/Language -> Als veraltet markiert. Zukünftig muss LanguageDescription verwendet werden. - Customer/LanguageKey -> Neue Property für den Ordnungsbegriff der Sprache. - Customer/LanguageDescription -> Neue Property für die Bezeichnung der Sprache. - PeriodicalSalesDocumentTemplate/ObjectNumber -> Neue Property für die Objektnummer - ProductLineItem/ObjectNumber -> Neue Property für die Objektnummer - ProductLineItem/OrderReferenceLineNumber -> Neue Property für die Auftragsreferenz-Positionsnummer - PurchaseDocument/PostingDate -> Neue Property für das Buchungsdatum - SalesDocument/ObjectNumber -> Neue Property für die Objektnummer - SalesDocument/PostingDate -> Neue Property für das Buchungsdatum - Supplier/IsDisabled -> Neue Property für Filterung auf inaktive Lieferanten - Supplier/Language -> Als veraltet markiert. Zukünftig muss LanguageDescription verwendet werden. - Supplier/LanguageKey -> Neue Property für den Ordnungsbegriff der Sprache. - Supplier/LanguageDescription -> Neue Property für die Bezeichnung der Sprache. Fehlerkorrekturen - Beim POST/PUT von Belegen mit Serien-/Chargennummern in den Bestandteilen von Stücklisten kam es ggf. zum Fehler: "Die Seriennummer kommt durch diese Position mehrfach auf diesem Lager vor." (HsErrorId 6821) - Beim POST/PUT von Kunden/Lieferanten gab es einen Fehler beim Setzen der Sprache: "The input data is not correct (InvalidData). Error during save" - Die Beschreibung der Properties Customer/Language und Supplier/Language sagte aus, dass es sich um den Ordnungsbegriff der Sprache handelt. Sonstiges - Validierung der benutzerdefinierten Felder an Kunde/Lieferant ergänzt AB 3.70 00/00 --------------------------------------------------------------------------------------------------- Neue Endpunkte für Konditionen - GET /v1/conditions - GET /v1/conditions/{conditionId} - POST /v1/conditions - PUT /v1/conditions/{conditionId} - DELETE /v1/conditions/{conditionId} Neue Endpunkte für die Definitionen und Merkmale benutzerdefinierter Felder - GET /v1/user-defined-field-definitions - GET /v1/user-defined-field-attributes - GET /v1/user-defined-field-attributes/{attributeId} - POST /v1/user-defined-field-attributes - PUT /v1/user-defined-field-attributes/{attributeId} - DELETE /v1/user-defined-field-attributes/{attributeId} Neue Endpunkte für Artikel-Kunde-Beziehungen - GET /v1/product-customer-relations - GET /v1/product-customer-relations/{productCustomerRelationId} - POST /v1/product-customer-relations - PUT /v1/product-customer-relations/{productCustomerRelationId} - DELETE /v1/product-customer-relations/{productCustomerRelationId} - GET /v1/product-customer-relations/prices - GET /v1/product-customer-relations/prices/{productCustomerRelationId} - PUT /v1/product-customer-relations/prices/{productCustomerRelationId} Neue Endpunkte für Artikel-Lieferant-Beziehungen - GET /v1/product-supplier-relations - GET /v1/product-supplier-relations/{productSupplierRelationId} - POST /v1/product-supplier-relations - PUT /v1/product-supplier-relations/{productSupplierRelationId} - DELETE /v1/product-supplier-relations/{productSupplierRelationId} - GET /v1/product-supplier-relations/prices - GET /v1/product-supplier-relations/prices/{productSupplierRelationId} - PUT /v1/product-supplier-relations/prices/{productSupplierRelationId} Neue Endpunkte für Beleg-Kontakte - DELETE /v1/sales-documents/{salesDocumentId}/document-contact - DELETE /v1/purchase-documents/{purchaseDocumentId}/document-contact - DELETE /v1/manufacture-documents/{manufactureDocumentId}/document-contact Änderungen an bestehenden Models - BillOfMaterialItem/Id -> Neue Property für den technischen Schlüssel - BillOfMaterialProductItem/QuantityAlreadyProcessedInPriceUnits -> Neue Property für die bereits abgerufene Menge in Preiseinheiten - BillOfMaterialProductItem/QuantityAlreadyProcessedInDeliveryUnits -> Neue Property für die bereits abgerufene Menge in Liefereinheiten - BillOfMaterialProductItem/QuantityInPriceUnits -> Neue Property für die effektive Menge in Preiseinheiten - BillOfMaterialProductItem/QuantityInDeliveryUnits -> Neue Property für die effektive Menge in Liefereinheiten - BillOfMaterialProductItem/QuantityPerModuleInPriceUnits -> Neue Property für die Menge je Baugruppe in Preiseinheiten - BillOfMaterialProductItem/QuantityPerModuleInDeliveryUnits -> Neue Property für die Menge je Baugruppe in Liefereinheiten - BillOfMaterialProductItem/QuantityToProcessInPriceUnits -> Neue Property für die noch abzurufende Menge in Preiseinheiten - BillOfMaterialProductItem/QuantityToProcessInDeliveryUnits -> Neue Property für die noch abzurufende Menge in Liefereinheiten - BillOfMaterialProductItem/Text -> Neue Property für den Text - BillOfMaterialProductItem/UserDefinedFields -> Neue Property für die benutzerdefinierten Felder - Customer/UsePeppol -> Property als deprecated markiert, da bei XRechnung ab Version 3.0.0 die Angabe obligatorisch ist und nicht mehr gesteuert werden kann. - ManufactureDocument/DrawingNumber -> Neue Property (read-only) für die Zeichnungsnummer des Fertigungsteils - ManufactureDocument/DrawingCreationDate -> Neue Property (read-only) für das Anlagedatum der Zeichnung des Fertigungsteils - ManufactureDocument/DrawingLastModified -> Neue Property (read-only) für das Änderungsdatum der Zeichnung des Fertigungsteils - ManufactureDocument/DrawingModificationStatus -> Neue Property (read-only) für den Änderungszustand der Zeichnung des Fertigungsteils - ManufactureDocument/DrawingCreatedBy -> Neue Property (read-only) für Zeichnung angelegt durch des Fertigungsteils - ManufactureDocument/DrawingLastModifiedBy -> Neue Property (read-only) für geändert durch des Fertigungsteils - ManufactureDocument/DrawingStatus -> Neue Property (read-only) für den Status der Zeichnung des Fertigungsteils - ManufactureDocument/ProductId -> Neue Property (read-only) für die ID des Artikels. - ManufactureDocument/ReferencedSalesDocumentCustomerId -> Neue Property (read-only) für ID des Kunden bei auftragsbezogener Fertigung - ManufactureDocument/ReferencedSalesDocumentCustomerNumber -> Neue Property (read-only) für Nummer des Kunden bei auftragsbezogener Fertigung - ManufactureDocument/StockId -> Neue Property (read-only) für die ID des Lagers. - ManufactureDocument/Contact -> Neue Property für einen Kontakt - ManufactureLineItem/DrawingNumber -> Neue Property (read-only) für die Zeichnungsnummer des Materials - ManufactureLineItem/DrawingCreationDate -> Neue Property (read-only) für das Anlagedatum der Zeichnung des Materials - ManufactureLineItem/DrawingLastModified -> Neue Property (read-only) für das Änderungsdatum der Zeichnung des Materials - ManufactureLineItem/DrawingModificationStatus -> Neue Property (read-only) für den Änderungszustand der Zeichnung des Materials - ManufactureLineItem/DrawingCreatedBy -> Neue Property (read-only) für Zeichnung angelegt durch des Materials - ManufactureLineItem/DrawingLastModifiedBy -> Neue Property (read-only) für geändert durch des Materials - ManufactureLineItem/DrawingStatus -> Neue Property (read-only) für den Status der Zeichnung des Materials - ManufactureLineItem/LineNumber -> Neue Property für die Nummer der Position. - ManufactureLineItem/ProductId -> Neue Property (read-only) für die ID des Artikels. - ManufactureLineItem/QuantityInPriceUnits -> Neue Property für die effektive Menge in Preiseinheiten - ManufactureLineItem/QuantityInDeliveryUnits -> Neue Property für die effektive Menge in Liefereinheiten - ManufactureLineItem/QuantityPerModuleInPriceUnits -> Neue Property für die Menge je Baugruppe in Preiseinheiten - ManufactureLineItem/QuantityPerModuleInDeliveryUnits -> Neue Property für die Menge je Baugruppe in Liefereinheiten - ManufactureLineItem/StockId -> Neue Property (read-only) für die ID des Lagers. - Product/DrawingNumber -> Neue Property (read-only) für die Zeichnungsnummer - Product/DrawingCreationDate -> Neue Property (read-only) für das Anlagedatum der Zeichnung - Product/DrawingLastModified -> Neue Property (read-only) für das Änderungsdatum der Zeichnung - Product/DrawingModificationStatus -> Neue Property (read-only) für den Änderungszustand der Zeichnung - Product/DrawingCreatedBy -> Neue Property (read-only) für Zeichnung angelegt durch - Product/DrawingLastModifiedBy -> Neue Property (read-only) für geändert durch - Product/DrawingStatus -> Neue Property (read-only) für den Status der Zeichnung - ProductLineItem/StockId -> Neue Property (read-only) für die ID des Lagers. - PurchaseDocument/Contact -> Neue Property für einen Kontakt - SalesDocument/UsePeppol -> Property als deprecated markiert, da bei XRechnung ab Version 3.0.0 die Angabe obligatorisch ist und nicht mehr gesteuert werden kann. - SalesDocument/Contact -> Neue Property für einen Kontakt - User/EMailOrigin -> Property als deprecated markiert, da sie nicht mehr verwendet wird. - UserDefinedFieldValue/DefinitionId -> Neue readOnly Property für die Id der benutzerdefinierten Feld Definition Sonstiges - Die Verbindung des Webservice zum Datenbankserver wurde robuster gestaltet, so dass die API nach einer vorübergehenden Unterbrechnung der Datenbankverbindung weiter Requests verarbeitet. AB 3.60 02/05 --------------------------------------------------------------------------------------------------- Änderungen an bestehenden Models - Customer/PriceListType -> Neue Property für den Typ der Preisliste - Customer/DateDependentPriceList -> Neue Property für den Ordnungsbegriff der Preislistengruppe - Customer/DateDependentPriceListInfo -> Neue Property für weitere Informationen zur Preislistengruppe (z.B. Nummer der gültigen Preisliste) Neue Models - DateDependentPriceListInfo AB 3.60 02/00 --------------------------------------------------------------------------------------------------- Neue Endpunkte - DELETE /v1/customers - DELETE /v1/suppliers - POST /v1/customers - POST /v1/suppliers - PUT /v1/customers - PUT /v1/suppliers Änderungen an bestehenden Models - BillOfMaterialProductItem/AssemblyDate -> Neue Property für das Produktionsdatum bzw. Datum der Zerlegung - BillOfMaterialProductItem/IsForAssembly -> Neue Property zur Angabe, ob der Artikel produziert/zerlegt werden soll - Customer/BankId -> Property wurde hinzugefügt - Customer/BankKey -> Property wurde hinzugefügt - Customer/DeliveryConditionKey -> Property wurde hinzugefügt - Customer/IsReverseCharge -> Neue Property für Steuerschuldnerschaft des Leistungsempfängers - Customer/ReferencedSupplierNumber -> Neue Property für Lieferantennummer - Customer/TermsOfPaymentKey -> Property wurde hinzugefügt - ManufactureDocument/CalculationFieldTotals -> Neue Property für Rechenfeldsummen - ManufactureDocument/CostCenter -> Neue Property für Kostenstelle - ManufactureDocument/CostUnit -> Neue Property für Kostenträger - PeriodicalPurchaseDocumentTemplate/CalculationFieldTotals -> Neue Property für Rechenfeldsummen - PeriodicalPurchaseDocumentTemplate/CostCenter -> Neue Property für Kostenstelle - PeriodicalPurchaseDocumentTemplate/CostUnit -> Neue Property für Kostenträger - PeriodicalSalesDocumentTemplate/CalculationFieldTotals -> Neue Property für Rechenfeldsummen - PeriodicalSalesDocumentTemplate/CostCenter -> Neue Property für Kostenstelle - PeriodicalSalesDocumentTemplate/CostUnit -> Neue Property für Kostenträger - PdfCreationData/DataType -> Neue Ausprägung ManufactureDocument zur PDF-Erzeugung von Fertigungsbelegen - ProductLineItem/AssemblyDate -> Neue Property für das Produktionsdatum bzw. Datum der Zerlegung - ProductLineItem/CalculationFieldValues -> Neue Property für Rechenfeldwerte - ProductLineItem/IsForAssembly -> Neue Property zur Angabe, ob der Artikel produziert/zerlegt werden soll - ProductLineItem/ReferencedProductNumber -> Neue Property für Fremdartikelnummer - PurchaseDocument/CalculationFieldTotals -> Neue Property für Rechenfeldsummen - PurchaseDocument/CostCenter -> Neue Property für Kostenstelle - PurchaseDocument/CostUnit -> Neue Property für Kostenträger - SalesDocument/CalculationFieldTotals -> Neue Property für Rechenfeldsummen - SalesDocument/CostCenter -> Neue Property für Kostenstelle - SalesDocument/CostUnit -> Neue Property für Kostenträger - Supplier/BankId -> Property wurde hinzugefügt - Supplier/BankKey -> Property wurde hinzugefügt - Supplier/DeliveryConditionKey -> Property wurde hinzugefügt - Supplier/DirectDebitPaymentMethod -> Property wurde entfernt - Supplier/DirectDebitProcedure -> Property wurde entfernt - Supplier/IsReverseCharge -> Neue Property für Steuerschuldnerschaft des Leistungsempfängers - Supplier/PaymentMethod -> Property wurde hinzugefügt - Supplier/TermsOfPaymentKey -> Property wurde hinzugefügt Fehlerkorrekturen - Beim Auslesen der Artikelrechenfelder per GET auf /v1/products waren die Werte für Value und QuantityInPriceUnits vertauscht. Sonstiges - Die API-Dokumentation wird ab sofort zusätzlich auf GitHub veröffentlicht unter https://github.com/hamburger-software/ab-api AB 3.60 01/00 --------------------------------------------------------------------------------------------------- Neue Endpunkte - GET /system-status zum Abfragen des Status der Subsysteme der API. Fehlerkorrekturen - Beim Auslesen/Ändern von Verkaufspreisen wurde SalesPrice/CurrencyKey im Format "1003EUR" geliefert/entgegengenommen. Ab sofort wird der Ordnungsbegriff der Währung nur noch im Format "EUR" geliefert/akzeptiert. Somit entspricht der Wert dem Wert aus den Stammdaten der Währung (Currency/Key). - Beim /set-completely-continued wurden Serien-/Chargennummern nicht korrekt behandelt. AB 3.60 00/00 --------------------------------------------------------------------------------------------------- *************************************************************************************************** *** WICHTIG * Änderungen am Filter-Parameter *** *************************************************************************************************** - Es kann nun auch das Schlüsselwort "null" in Verbindung mit den Operatoren "eq" und "ne" verwendet werden, z.B.: ?filter=DefaultStockNumber eq null ?filter=DefaultStockNumber ne null - Strings können nun in Feldbegrenzern (einfaches Hochkomma) angegeben werden. Enthalten Filter-Werte z.B. ein Minus, Schrägstrich, Komma, Punkt oder Leerzeichen, müssen Feldbegrenzer verwendet werden. Wenn im Suchstring ein Hochkomma enthalten ist, muss dieses verdoppelt werden. Beispiele: ?filter=Description eq 'Dampf- u. Trockenbügelautomat' ?filter=Description eq 'Merry''s Pub' - !ACHTUNG! Um dies umzusetzen, wird ein neuer Filter-Parser eingesetzt. Dieser ist strenger bei der Prüfung des übermittelten Filter-Strings, das betrifft: -> Der Verkettungsoperator "and" muss in jedem Fall in Kleinbuchstaben übermittelt werden. -> Datum-/Zeitangaben müssen im Format ISO 8601 angegeben werden, d.h. sie müssen den Trenner "T" zwischen Datum und Zeit und einen Offset (+00:00) oder ein "Z" (für UTC) an Ende haben. Die Fraction ist optional. Die Auftragsbearbeitung wertet nur den Datum-/Zeit-String aus, nicht den Offset oder die UTC-Angabe. ?filter=LastModified ge 2023-02-23T09:01:56.335476+00:00 ?filter=LastModified ge 2023-02-23T09:01:56.335476Z ?filter=LastModified ge 2023-02-23T09:01:56+00:00 -> Reine Datumsangaben (Tagesdatum) können wie gewohnt im internationalen Format übermittelt werden, z.B. ?filter=InspectionDate eq 2023-02-23 -> Wird ein ungültiger Filter-String übermittelt, wird der Request mit StatusCode 400 abgewiesen. *************************************************************************************************** *** Prüfen Sie den Aufbau Ihrer Filter-Strings vor der Aktualisierung auf die AB 3.60 *** *************************************************************************************************** Neue Endpunkte - GET /definition/swagger zum Öffnen der SwaggerUI im Browser auf dem laufenden API Server. - GET /v1/dms-documents-metadata zur Suche nach Dokumenten im gesamten Dokumentenbereich im DMS. Änderungen an bestehenden Models - ConditionLineItem/AmountAlreadyProcessed -> Neue Property für verarbeitend abgerufenen Betrag (z.B. bei Teilabruf) - ConditionLineItem/AmountToProcess -> Neue Property für noch abzurufenden Betrag (z.B. bei Teilabruf) - ConditionLineItem/ChargeType -> Neue Property für Zu-/Abschlag - Customer/BankId -> Property wurde hinzugefügt - Customer/BankKey -> Property wurde hinzugefügt - Customer/TermsOfPaymentKey -> Property wurde hinzugefügt - Customer/DeliveryConditionKey -> Property wurde hinzugefügt - InventoryRelocation/CreatedBy -> Property auf read-only geändert - InventoryRelocation/CreationDate -> Property auf read-only geändert - InventoryRelocation/ChangedBy -> Property auf read-only geändert - InventoryRelocation/ChangingDate -> Property auf read-only geändert - InventoryTransaction/CreatedBy -> Property auf read-only geändert - InventoryTransaction/CreationDate -> Property auf read-only geändert - InventoryTransaction/ChangedBy -> Property auf read-only geändert - InventoryTransaction/ChangingDate -> Property auf read-only geändert - ManufactureDocument/CreatedBy -> Property auf read-only geändert - ManufactureDocument/CreationDate -> Property auf read-only geändert - ManufactureDocument/ChangedBy -> Property auf read-only geändert - ManufactureDocument/ChangingDate -> Property auf read-only geändert - Product/CalculationFields -> Neue Property für Artikelrechenfelder - Product/QuantityFactorsSales -> Neue Property für Mengenfaktoren Verkauf - Product/QuantityFactorsPurchase -> Neue Property für Mengenfaktoren Einkauf - ProductLineItem/QuantityAlreadyProcessed -> Property auf read-only geändert - ProductLineItem/QuantityToProcess -> Property auf read-only geändert - PurchaseDocument/CreatedBy -> Property auf read-only geändert - PurchaseDocument/CreationDate -> Property auf read-only geändert - PurchaseDocument/ChangedBy -> Property auf read-only geändert - PurchaseDocument/ChangingDate -> Property auf read-only geändert - SalesDocument/CreatedBy -> Property auf read-only geändert - SalesDocument/CreationDate -> Property auf read-only geändert - SalesDocument/ChangedBy -> Property auf read-only geändert - SalesDocument/ChangingDate -> Property auf read-only geändert - SalesPrice/IsTaxIncluded -> Neue Property zur Angabe, ob die Steuer im Preis enthalten ist (Bruttopreis) - SerialOrLotLineItem/SerialOrLotId -> Property auf read-only geändert - Supplier/BankId -> Property wurde hinzugefügt - Supplier/BankKey -> Property wurde hinzugefügt - Supplier/DirectDebitProcedure -> Property wurde entfernt - Supplier/DirectDebitPaymentMethod -> Property wurde entfernt - Supplier/PaymentMethod -> Property wurde hinzugefügt - Supplier/TermsOfPaymentKey -> Property wurde hinzugefügt - Supplier/DeliveryConditionKey -> Property wurde hinzugefügt - TargetDocumentData/UseCustomersDeliveryAddress -> Neue Property zur Steuerung, dass beim Querabruf die Anlieferungsadresse des Einkaufsbelegs aus der Lieferadresse des Verkaufsbelegs besetzt wird - TargetLineItem/Account -> Neue Property für die Kontonummer, die verwendet werden soll, wenn weder aus der Ursprungsposition noch aus der Kontierung eine Kontonummer ermittelt werden kann. Fehlerkorrekturen - Die API-Key-Prüfung führt nicht mehr zum Fehler, wenn an einem Client ein neuerer Wartungsstand der AB installiert ist. - Beim Abrufen von Belegen per API wird der Zielbeleg nun mit dem richtigen Benutzer als Erfasser erzeugt. - ConditionLineItem/ConditionId wurde beim GET nicht gefüllt - DmsKeyword/Value akzeptierte Datumsangaben nicht im Format YYYY-MM-DD - InventoryTransaction/LineItems/SerialOrLotNumbers -> Prüfung bei Nutzung einer Chargennummer war lückenhaft - ManufactureLineItem/ManufacturingOrderLineItemId wurde beim GET nicht gefüllt - /v1/products/price-change/recalc-average-purchase-price und /v1/products/price-change/recalc-from-bom liefern nun die korrekte URL zur Statusabfrage Angabe des Dateinamens im DMS - Beim POST auf - /v1/company/dms-documents - /v1/customers/{customerId}/dms-documents - /v1/products/{productId}/dms-documents - /v1/suppliers/{supplierId}/dms-documents kann nun per Parameter "filename" angegeben werden, welchen Dateinamen die Datei im DMS haben soll. Sonstiges - POST auf /v1/products/{productId}/get-specific-price liefert nun bei Übergabe einer ungültigen Artikel-ID oder Kunden-/Lieferanten-ID/-Nr StatusCode 400 (BadRequest) zurück AB 3.50 02/00 --------------------------------------------------------------------------------------------------- Neue Endpunkte - /v1/resources -> Auslesen, Anlegen, Ändern und Löschen der Fertigungsstammdaten im Bereich "Ressource" - /v1/working-steps -> Auslesen, Anlegen, Ändern und Löschen der Fertigungsstammdaten im Bereich "Arbeitsschritt" Änderungen an bestehenden Models - Customer/IsCompanyWithoutVatIdentificationNumber -> Neue Property für Unternehmen, das keine USt-IdNr. hat - PdfCreationData/FormatSettings -> Neue Property zur Steuerung der Aufbereitung (Druckvorlage, Layout) der PDF-Datei - PdfCreationData/MarkAsPublished -> Neue Property zur Steuerung, ob beim Abrufen einer PDF-Datei der Beleg als "gedruckt" gekennzeichnet werden soll - PdfCreationData/Settings -> Neue Property zur Steuerung, ob nur eine PDF-Datei erzeugt werden soll, ob sie archiviert werden soll oder aus dem Archiv abgerufen werden soll - PeriodicalSalesDocumentTemplate/BankId -> Neue Property für den technischen Schlüssel der Bank bei Verwendung eines SEPA-Mandats (alternativ zur Property BankKey) - PeriodicalSalesDocumentTemplate/BankKey -> Neue Property für den Ordnungsbegriff der Bank bei Verwendung eines SEPA-Mandats - PeriodicalSalesDocumentTemplate/Iban -> Neue Property für die IBAN bei Verwendung eines SEPA-Mandats - PeriodicalSalesDocumentTemplate/SepaMandateReference -> Neue Property für die SEPA Mandatsreferenz - SalesDocument/BankId -> Neue Property für den technischen Schlüssel der Bank bei Verwendung eines SEPA-Mandats (alternativ zur Property BankKey) - SalesDocument/BankKey -> Neue Property für den Ordnungsbegriff der Bank bei Verwendung eines SEPA-Mandats - SalesDocument/Iban -> Neue Property für die IBAN bei Verwendung eines SEPA-Mandats - SalesDocument/SepaMandateReference -> Neue Property für die SEPA Mandatsreferenz - SalesDocument/SepaMoveInDate -> Neue Property für das Einzugsdatum bei Verwendung eines SEPA-Mandats - SendMailSettings/FormatSettings -> Neue Property zur Steuerung der Aufbereitung (Druckvorlage, Layout) der PDF-Datei für den E-Mail-Anhang - Supplier/IsCompanyWithoutVatIdentificationNumber -> Neue Property für Unternehmen, das keine USt-IdNr. hat - TargetDocumentData/UserDefinedFields -> Neue Property beim Abruf zum Setzen geänderter Werte in benutzerdefinierte Felder des Zielbelegs - TargetLineItem/UserDefinedFields -> Neue Property beim Abruf zum Setzen geänderter Werte in benutzerdefinierte Felder einer Belegposition des Zielbelegs Fehlerkorrekturen - Beim PUT auf /v1/sales-documents/ bzw. /v1/purchase-documents/ gab es ggf. einen InternalServerError (StatusCode 500), wenn die LineItem-Id nicht im Beleg vorhanden war. Ab sofort wird in diesem Fall StatusCode 400 (BadRequest) geliefert. - Beim PUT auf /v1/sales-documents/ bzw. /v1/purchase-documents/ konnte die Reihenfolge vorhandener LineItems nicht geändert werden. - Beim GET auf /v1/pdf/queue/ wurde ggf. der Status "Finished" geliefert, obwohl es bei der PDF-Erzeugung zum Fehler kam. AB 3.50 01/00 --------------------------------------------------------------------------------------------------- Änderungen an bestehenden Models - SalesDocument/DeliveryCondition -> Neue Property für den Ordnungsbegriff der Lieferbedingung - SalesDocument/IncotermLocation -> Neue Property für die Incoterm-Location - SalesDocument/IncotermCode -> Neue Property für den Code der Incoterm-Klausel der Lieferbedingung - SalesDocument/IncotermVersion -> Neue Property für die Version der Incoterm-Klausel der Lieferbedingung - PurchaseDocument/DeliveryCondition -> Neue Property für den Ordnungsbegriff der Lieferbedingung - PurchaseDocument/IncotermLocation -> Neue Property für die Incoterm-Location - PurchaseDocument/IncotermCode -> Neue Property für den Code der Incoterm-Klausel der Lieferbedingung - PurchaseDocument/IncotermVersion -> Neue Property für die Version der Incoterm-Klausel der Lieferbedingung - PeriodicalSalesDocumentTemplate/DeliveryCondition -> Neue Property für den Ordnungsbegriff der Lieferbedingung - PeriodicalSalesDocumentTemplate/IncotermLocation -> Neue Property für die Incoterm-Location - PeriodicalSalesDocumentTemplate/IncotermCode -> Neue Property für den Code der Incoterm-Klausel der Lieferbedingung - PeriodicalSalesDocumentTemplate/IncotermVersion -> Neue Property für die Version der Incoterm-Klausel der Lieferbedingung - PeriodicalPurchaseDocumentTemplate/DeliveryCondition -> Neue Property für den Ordnungsbegriff der Lieferbedingung - PeriodicalPurchaseDocumentTemplate/IncotermLocation -> Neue Property für die Incoterm-Location - PeriodicalPurchaseDocumentTemplate/IncotermCode -> Neue Property für den Code der Incoterm-Klausel der Lieferbedingung - PeriodicalPurchaseDocumentTemplate/IncotermVersion -> Neue Property für die Version der Incoterm-Klausel der Lieferbedingung - Customer/IncotermLocation -> Neue Property für die Incoterm-Location - Supplier/IncotermLocation -> Neue Property für die Incoterm-Location - DeliveryConditionItem -> Model umbenannt in DeliveryCondition - DeliveryCondition/IncotermId -> Neue Property für die ID des Incoterms - DeliveryCondition/IncotermCode -> Neue Property für den Code des Incoterms - DeliveryCondition/IncotermVersion -> Neue Property für die Version des Incoterms - DeliveryCondition/IncotermDescription -> Neue Property für die Bezeichnung des Incoterms - DeliveryCondition/IncotermDescriptionEnglish -> Neue Property für die englische Bezeichnung des Incoterms AB 3.50 00/00 --------------------------------------------------------------------------------------------------- Neue Endpunkte - /v1/company/dms-documents -> Dokumente ins DMS importieren (Bereich Firma) - /v1/customers/{customerId}/dms-documents -> Dokumente ins DMS importieren (Bereich Kunde) - /v1/products/{productId}/dms-documents -> Dokumente ins DMS importieren (Bereich Artikel) - /v1/suppliers/{supplierId}/dms-documents -> Dokumente ins DMS importieren (Bereich Lieferant) - /v1/company/dms-documents-metadata -> Metadaten der DMS-Dokumente der Firma auslesen - /v1/customers/{customerId}/dms-documents-metadata -> Metadaten der DMS-Dokumente eines Kunden auslesen - /v1/products/{productId}/dms-documents-metadata -> Metadaten der DMS-Dokumente eines Artikels auslesen - /v1/suppliers/{supplierId}/dms-documents-metadata -> Metadaten der DMS-Dokumente eines Lieferanten auslesen - /definition -> Schnittstellenbeschreibung im JSON-Format - /definition/yaml -> Schnittstellenbeschreibung im YAML-Format - /v1/general-ledger-accounts -> Zugriff auf Sachkonten - /appinfo/changelog -> Informationen zu Änderungen im Webservice (Changelog) - /v1/delivery-conditions -> Zugriff auf Lieferbedingungen - /v1/inventory/products/{productId}/serialorlotnumbers -> Auslesen der Serien-/Chargennummern eines Artikels im Lagerbestand - /v1/inventory/products/{productId}/serialorlotnumbers/{serialOrLotId} -> Auslesen einer Serien-/Chargennummern eines Artikels im Lagerbestand und Ändern (z.B. von benutzerdef. Feldern) - /v1/stocktaking/start -> Eröffnen einer Inventur - /v1/stocktaking/cancel -> Abbrechen einer Inventur - /v1/stocktaking/queue/{queueItemId} -> Statusabfrage zum Eröffnen/Abbrechen einer Inventur Änderungen an bestehenden Models - ManufactureDocument/ManufacturingOrderId -> ist jetzt nullable - ProductLineItem/IsAlternateItem -> neue Property für "Alternativposition" - ProductLineItem/NetWeight -> neue Property für das Nettogewicht - ProductLineItem/DoCalcNetWeightFromBOM -> neue Property zur Angabe, ob das Nettogewicht aus der Stückliste berechnet werden soll - BillOfMaterialProductItem/ProductId -> neue Property für die ID des Artikels (technischer Schlüssel) - BillOfMaterialProductItem/ProductNumber -> ist jetzt nullable und nicht mehr required, weil alternativ ProductId angegeben werden kann - UserDefinedFieldValue/NumericValue -> Typ von number auf string geändert, weil sonst Zahlen >= 28 Stellen nicht übertragen werden konnten - SalesDocument/ContractNumber -> Neue Property für die Vertragsnummer - SalesDocument/Shipments -> Mehrere Sendungsnummern je Beleg sind nun möglich. - PurchaseDocument/Shipments -> Mehrere Sendungsnummern je Beleg sind nun möglich. - PeriodicalSalesDocumentTemplate/ContractNumber -> Neue Property für die Vertragsnummer - InventoryProduct/LastModified -> Neue Property für das Bestandsänderungsdatum - InventorySerialOrLotNumber/DateOfManufacture -> Neue Property für das Herstellungsdatum - InventorySerialOrLotNumber/DateOfExpiry -> Neue Property für das Ablaufdatum - InventorySerialOrLotNumber/SerialOrLotNumberType -> Neue Property für die Angabe, ob es sich um eine Serien- oder Chargennummer handelt - InventorySerialOrLotNumber/Notes -> Neue Property für die Notizen - InventorySerialOrLotNumber/LastModified -> Neue Property für das Bestandsänderungsdatum - InventoryTransaction und InventoryRelocation -> Aufteilung nicht gemeinsamer Properties auf InventoryTransactionExtendedProperties und InventoryRelocationExtendedProperties - InventoryTransactionLineItem -> Aufteilung auf InventoryTransactionLineItem und InventoryTransactionLineItemExtendedProperties Fehlerkorrekturen - Beim GET auf products/{productId}/get-specific-price wurde u. U. nicht der spezifizierte Preis geliefert. - Ein Fehler beim Schreiben von Verkaufspreisen für Artikel ohne Preise wurde korrigiert. - Wurde beim POST ein leerer Body gesendet, kam es ggf. zu einer System.NullReferenceException. - Der Benutzer "ab" kann ab sofort nicht mehr per API gelöscht werden. - Nach einer hohen Zahl an API-Zugriffen kam es ggf. zu einer Exception im Webservice-Protokolldialog. - Numerische benutzerdefinierte Felder mit Länge >= 28 Stellen werden nun korrekt verarbeitet. - Im Dienst-Modus konnten ggf. keine PDF-Dateien erzeugt werden. - Gleichzeitige API-Zugriffe erzeugen keine Exception mehr. - Korrektur Internal Server Error (Fehler 500) bei Abfrage eines QueueItems. - Bei Verwendung von "select" werden nur noch die angeforderten Properties geliefert, nicht mehr alle. - Korrektur Internal Server Fehler (Fehler 500) bei Benutzeranlage per API. Sonstiges - Die Schnittstellendefinition wird mit einem neuen Tool erzeugt, dadurch haben sich der Umfang der Informationen sowie die Reihenfolge der Endpunkte/Models geändert. - Der StatusCode beim erfolgreichen "Passwort ändern" wurde von 200 auf 202 geändert. - POST auf /v1/products/{productId}/get-specific-price ist nun auch ohne Vollzugriff möglich. - Die API-Key-Prüfung ist nicht mehr case-sensitiv. - Am Benutzer gibt es nun eine Einstellung, dass dieser nur über die API, aber nicht über die Oberfläche auf die Anwendung zugreifen darf. - Die Authentifizierung ist zusätzlich zu Basic auch per OAuth möglich. - Beim Anlegen von Belegen (z.B. per POST auf /v1/sales-documents) kann per Header-Parameter "X-HS-Do-Insert-IntroductionLineItem" gesteuert werden, ob Positionseinleitungstexte automatisch eingefügt werden sollen. - Die Protokollierung der übertragenen Daten in eine Datei wurde hinzugefügt. Sie kann beim Einrichten des Diensts oder beim Start des Webservice über die Oberfläche aktiviert werden. - Per Parameter "sort" können nun Belege, Artikel, Kunden und Lieferanten sortiert per GET ausgelesen werden. AB 3.40 02/04 --------------------------------------------------------------------------------------------------- Änderungen an bestehenden Models - PurchaseDocument und ProductLineItem wurden um die Property CustomerDeliveryDate (Kundenliefertermin in EK-Belegen) erweitert. Fehlerkorrekturen - Beim Anlegen von Belegen werden nun abhängige Daten (z.B. Text für EU-Lieferung) korrekt besetzt. - Fehler bei der Nutzung benutzerdefinierter Felder vom Typ "Datum" wurde korrigiert. AB 3.40 02/00 --------------------------------------------------------------------------------------------------- Neue Endpunkte - /is-running -> Per /is-running kann geprüft werden, ob der Webservice läuft, ohne dass die Anfrage protokolliert wird (was bei /appinfo der Fall ist). - /v1/products/{​​​​​​​​​​​​productId}​​​​​​​​​​​​/get-specific-price -> Per /v1/products/{​​​​​​​​​​​​productId}​​​​​​​​​​​​/get-specific-price kann für einen Artikel der kunden-/lieferantenspezifische Preis unter Berücksichtigung von Preisliste, Währung und Menge ermittelt werden. - /v1/purchase-documents/{​​​​​​​​​​​​purchaseDocumentId}​​​​​​​​​​​​/assign-dms-document -> Per /v1/purchase-documents/{​​​​​​​​​​​​purchaseDocumentId}​​​​​​​​​​​​/assign-dms-document kann einem Einkaufsbeleg ein digitales Belegbild aus dem HS-DMS zugewiesen werden. Neue Endpunkte für asynchrone Belegneuanlage, -änderung und abrufe Wurden bisher sehr große Belege angelegt, geändert oder abgerufen, konnte es zum Timeout bei der Bearbeitung des Requests kommen. Mit den neuen Endpunkten werden nun nur die Aufgaben zur Neuanlage, Änderung oder Abruf angelegt. Über eine Status-URL kann der Status der Aufgabe abgefragt werden. - /v1/sales-documents/create - /v1/sales-documents/{​​​​​​​​​​​​salesDocumentId}​​​​​​​​​​​​/change - /v1/sales-documents/queue/{​​​​​​​​​​​​queueItemId}​​​​​​​​​​​​ - /v1/sales-documents/process/queue - /v1/sales-documents/process/queue/{​​​​​​​​​​​​queueItemId}​​​​​​​​​​​​ - /v1/purchase-documents/create - /v1/purchase-documents/{​​​​​​​​​​​​purchaseDocumentId}​​​​​​​​​​​​/change - /v1/purchase-documents/queue/{​​​​​​​​​​​​queueItemId}​​​​​​​​​​​​ - /v1/purchase-documents/process/queue - /v1/purchase-documents/process/queue/{​​​​​​​​​​​​queueItemId}​​​​​​​​​​​​ Setzen der Fremdanwendung-ID per API Bei den Endpunkten - /v1/sales-documents/{​​​​​​​​​​​​salesDocumentId}​​​​​​​​​​​​/set-lock-for-third-party-application - /v1/purchase-documents/{​​​​​​​​​​​​purchaseDocumentId}​​​​​​​​​​​​/set-lock-for-third-party-application - /v1/manufacture-documents/{​​​​​​​​​​​​manufactureDocumentId}​​​​​​​​​​​​/set-lock-for-third-party-application kann jetzt optional ein RequestBody übermittelt werden. Im RequestBody kann die ID der Fremdanwendung angegeben werden. Setzen von "durch Fremdanwendung gesperrt" auch für wiederkehrende Belege Auch bei wiederkehrenden Belegen kann nun die Sperre gesetzt und entfernt werden. Dazu können folgende Endpunkte genutzt werden: - /v1/periodical-sales-document-templates/{​​​​​​​​​​​​documentTemplateId}​​​​​​​​​​​​/set-lock-for-third-party-application - /v1/periodical-sales-document-templates/{​​​​​​​​​​​​documentTemplateId}​​​​​​​​​​​​/clear-lock-for-third-party-application - /v1/periodical-purchase-document-templates/{​​​​​​​​​​​​documentTemplateId}​​​​​​​​​​​​/set-lock-for-third-party-application - /v1/periodical-purchase-document-templates/{​​​​​​​​​​​​documentTemplateId}​​​​​​​​​​​​/clear-lock-for-third-party-application Auch bei diesen Endpunkten kann die ID der Fremdanwendung übermittelt werden. Abruf aus vollständig abgerufenen Belegen jetzt steuerbar Bisher war ein Belegabruf per API immer möglich, auch wenn der Ursprungsbeleg bereits vollständig abgerufen war. Das war beabsichtigt, damit auch Überlieferungen aus einem Fremdsystem möglich sind. Ab der AB 3.40 02/00 muss der Abruf aus vollständig abgerufenen Belegen explizit aktiviert werden. Dazu wird die neue Property AllowProcessOfCompletelyContinuedDocument am ProcessData auf true gesetzt. Abrufe jetzt auch ohne automatische Belegnummernvergabe Durch Angabe eine Belegnummer per Property DocumentNumber am TargetDocumentData kann die Belegnummer des Zielbelegs angegeben werden. Dadurch müssen Zielbelege keine automatische Belegnummernvergabe mehr haben. Belege per API nun auch mit Betragseingabe Wie auch an der Oberfläche kann per API anstelle des Preise nun der Betrag angeben werden. Am ProductLineItemData steht dafür Amount bereit. Preis, Rabatt und Betrag fixieren Bei Verwendung von belegspezifischen Preisen, Rabatten und Beträgen sollen diese bei Bearbeitung oder Belegabruf nicht neu aus den Stammdaten ermittelt werden. Das kann nun durch die neuen Properties am ProductLineItemData gesteuert werden: IsUnitPriceAndRebateFixed, IsAmountFixed und IsPurchasePriceFixed Prüfungen für Felder ergänzt Es wurden Prüfungen auf Feldlängen und zulässige Zeichen ergänzt. Vorher wurden die Daten ggf. kommentarlos abgeschnitten (zu lange Texte) oder übernommen (z.B. Zeilenumbrüche für einzeilige Texte). Das betrifft v.a. die Belege und ihre Adressen. Änderungen an bestehenden Models - MaterialSlipItem wurde um die Property Notes erweitert. - Bei Customer und Supplier kann nun die EORI (EoriNumber) ausgelesen werden. - SalesDocument und PeriodicalSalesDocumentTemplate wurden um EoriNumber, IdInThirdPartyApplication und IsLockedForDunningOrDirectDebit erweitert. - PurchaseDocument und PeriodicalPurchaseDocumentTemplate wurden um EoriNumber, IdInThirdPartyApplication und IsLockedForPaymenterweitert. - ConditionLineItem, TextBlockLineItem und TextLineItem wurden um die Property LineNumber erweitert. - ProductLineItem wurde erweitert um: IsUnitPriceAndRebateFixed, IsAmountFixed, Amount und IsPurchasePriceFixed. GrossAmount und NetAmount wurden als readOnly ausgezeichnet. - Die Beschreibung der Property Items von BillOfMaterial wurde präzisiert. - BillOfMaterialItem wurde um die Property Notes erweitert. - ProcessData wurde um die Property AllowProcessOfCompletelyContinuedDocument erweitert. - TargetDocumentData wurde um die Property DocumentNumber erweitert. - ManufactureDocument wurde um IdInThirdPartyApplication erweitert.