Alle releasenotes Alle releasenotes MplusKASSA API Service

Sorteer op invoertijdstip Filter op 'Vereist aandacht bij installatie' Filter op 'Uitgelicht' Start presentatie


  • MplusQService API: Opgelost dat voor updateProduct de update van prijsgroep informatie correct wordt uitgevoerd (en tevens voor salesprijzen)

    updateproduct
    59.4.2
  • Opgelost dat Api call getfinancialjournal de btw specificatie ook doorgeeft als voor een omzetgroep het verkoopbedrag 0 is en het inkoopbedrag hoger is dan 0

    59.5.2
  • API: Incidenteel een afrondingsfout in de berekening voor totaalincl bedragen van een (bon)regel bij percentage korting en volledig spaarpunten verzilveren

    Spaarpunten inleveren
    59.5.0
    1 bijlage
  • Opgelost dat er een duidelijkere foutmelding wordt geretourneerd als CreateRelation wordt aangeroepen op een API die een slave db connectie heeft. (Dit wordt alleen ondersteund voor API's met een master-db connectie)

    CreateRelation
    59.6.4
  • MplusQAPIService: Extra filters voor call getSalesRepeatTemplates. Er kan nu ook op specifieke 'template-ids' en/of template types (ORDER/FACTUUR) gefilterd worden

    Herhaal-templates
    59.4.2
  • Opgelost dat API call getRenderedPrintLayout bij het opvragen van de afdruk van meer dan een factuur de juiste factuurinformatie voor alle facturen oplevert.

    59.4.2
  • MplusQAPIService: nieuwe API call getOrdersByExtOrderIds: opvragen van orders aan de hand van de externe referentie(s)

    59.4.2
  • bugfix API call 'getordersbyreceiptids'

    59.2.2
  • Het is nu mogelijk om via de nieuwe API call getOrdersByReceipts de ordergegevens op te vragen aan de hand van een lijst van receipt-ids (kassabon-ids)

    59.2.1
  • Error logging uitgebreid voor placetableorder

    58.3.5
  • MplusQAPI: Controle op aanwezigheid en inhoud van het veld 'reference' bij saveProposal en saveInvoice is vervallen

    58.3.3
  • Het ns__Address object bevat nu ook supplierInformation. Dit is informatie voor een specifieke leverancier dat ingevuld kan staan op ontvangstadressen van inkoopopdrachten.

    59.1.1
  • Nieuwe instelling toegevoegd waarmee aangegeven kan worden of het verplicht is om een deliveryAddress in te vullen voor savePurchaseOrderV2.

    Inkoop > Ontvangstadres is verplicht
    59.1.1
  • getOverview ondersteunt nu ook de filter operators BIGGER_OR_EQUAL en SMALLER_OR_EQUAL.

    59.7.0
  • getReceipts retourneert nu ook evt. tableNumber/tableSubNumber. Ook kun je nu direct op basis van specifieke receiptIds opvragen.

    59.7.0
  • redeemVoucherIssuance API call toegevoegd die een bepaalde voucher direct kan verzilveren, dit kan momenteel alleen voor ENTREE voucher uitgiftes.

    60.1.5
  • getRedeemableVoucherIssuances API call toegevoegd die voor een bepaalde voucher type teruggeeft hoevaak welke voucher uitgiftes te verzilveren zijn op de opgevraagde datum.

    60.1.5
  • Nieuwe API call toegevoegd printPrintLayout om een print lay-out naar een printer te sturen die aan de Q-line gekoppeld staat. De printer en print lay-out combinaties van Beheer - Instellingen - Print lay-outs toewijzen worden hiervoor gehanteerd.

    59.7.0
  • getOverview heeft nu ondersteuning voor filiaal_brutoprijs en filiaal_verkoopprijs. Hiervoor moet branchNumber in de request ook ingevuld zijn.

    59.6.6
  • getPaymentMethodsV2 en getAvailablePaymentMethodsV2 retourneren nu optioneel (als je includeGiftcardType meegeeft), ook bij welk giftcardType ze horen.

    60.1.5
  • getSalesRepeatTemplates heeft nu ook een branchNumbers filter gekregen, en geeft nu ook discountAmountIncl en discountAmountExcl terug op de regels.

    60.1.5
  • De volgende API calls hebben nu een ownerFilter en branchGroupFilter gekregen:

    • getInvoices
    • getProposals
    • getOrders
    • getPackingSlips
    • getSalesRepeatTemplates
    60.1.5
  • sourceSalesTurnoverLineId en startDate toegevoegd aan de regels die teruggegeven worden in de getSalesRepeatTemplates call.

    60.1.5
  • Er is nu een releaseTableV2 die aangeroepen kan worden zonder geregistreerde terminal.

    59.6.4
  • De functie getEmployeeAuthorizationSyncMarkers heeft nu ook een employeeBranchGroupSyncMarker die wijzigt als er een filiaalgroep aan de desbetreffende medewerker wordt gekoppeld of ontkoppeld. Tevens wordt nu ook direct de desbetreffende employeeSyncMarker geretourneerd.

    59.7.0
  • Je kunt nu de branchGroupSyncMarker opvragen met getCurrentSyncMarkersV2.

    59.7.0
  • Alle releasenotes van API v59.5.2.

    59.6.2
  • API calls houden nu rekening met relatie budgetten.

    59.6.0
  • De API call getPrintLayouts is nu aan te roepen met een extra fieldType filter om enkel layouts in te lezen die een bepaald veldtype bevatten.

    59.5.2
  • issueVouchers API call toegevoegd om directe voucher uitgiftes te doen. Normaalgesproken worden vouchers (ook in de API) uitgegeven door bijvoorbeeld facturen, of andere omzet te maken. Echter hoef je voor deze call niet expliciet omzet te maken, de call doet dit onderwater zelf. Per uit te geven voucher is mee te geven welke scancode en welke groepsscancode de voucher zal moeten gebruiken.

    60.1.5
  • Voucher calls toegevoegd om de scancodes van een voucher te beheren. De voucher moet als externe voucher ingesteld zijn, specifiek voor jouw koppeling.

    1. issueVoucherExternalScanCodes: Met deze call kunnen scancodes ingeschoten worden. Als de voucher dan uitgegeven wordt zal automatisch één van die scancodes gebruikt worden. Indien er geen scancodes meer zijn zal het uitgeven van de voucher geblokkeerd worden.
    2. getVoucherExternalScanCodes: Met deze call zijn de al ingeschoten scancodes op te vragen voor de voucher.

    Daarnaast is de getVouchers call uitgebreid met twee nieuwe filters. Er is nu op voucher type te filteren, en op externalIdent. Op die manier zijn de vouchers te vinden die door jouw koppeling te beheren zijn.

    60.1.5
  • Api call getOrderChanges : Er is opgelost dat als er alleen een syncmarker in de request aanwezig is, en de lijst van dus ordertypes leeg is, dat dan de wijzigingen van alle ordertypes in de response wordt doorgegeven in plaats van alleen die van verkoop-, herhaal-, en externe-orders.

    59.4.4
  • De properties dialog.dialogIdAsString en dialog.options[].optionIdAsString worden nu ook geserialized in de idempotency opslag.

    59.4.2
  • Contractregels ondersteuning toegevoegd.

    1. determineContractLines call toegevoegd die de contractregels teruggeeft op basis van de meegegeven regels.
    2. Resultaat uit determineContractLines kan doorgegeven aan API calls die een LineList verwachten.
    3. getOrders, getReceipts, getPackingSlips, getProposals, getInvoices geven nu allemaal ook de opgeslagen contractregels terug.
    4. getSalesRepeatTemplates heeft nu een contractFrequencyFilter om specifieke contracten op te vragen. In het resultaat staat ook een contractFrequency.
    5. createOrder(V2) en saveOrder vullen automatisch de contractLines in indien die nog niet ingevuld waren.
    59.4.2
  • getOrderCategories geeft nu ook de categorie afhankelijkheden terug via orderCategoryDependencyNumbers. Aanmaken/bewerken van orders geeft nu het volgende bericht terug als het niet mag i.v.m. afhankelijkheden van de orderCategoryNumber:

    Invalid orderCategoryNumber supplied. Ensure that the category exists, and that the category is either dependent on the current category, or that it, AND the current category have no dependencies.

    Daarnaast worden ook de wijzig autorisaties van die categorieën gecontroleerd.

    59.4.2
  • Het is nu mogelijk om d.m.v. scannedVoucherIssuanceCodes gescande vouchers door te geven aan determinePricing, placeTableOrder, createOrderV2 en createOrderV3. determinePricing geeft in zijn resultaat daarnaast ook nog een lijst terug van scannedVoucherIssuances.

    59.4.2
  • Het is nu mogelijk om voucher uitgifte ingangsdatums aan te geven door pendingVoucherIssuanceStartTs op ns__LineData of ns__PlaceTableOrderLineDataElem in te vullen.

    59.4.2
  • getTableOrderV3 geeft nu ook de voucher uitgifte kandidaten terug in voucherIssuanceCandidates.

    59.4.2
  • Bugfix:getProducts gedrag; customfields: multiselect velden worden doorgestuurd ook als deze voor het artikel/product nog geen waarde hebben.

    59.3.1
  • Het is nu mogelijk om via DeliverOrder en DeliverOrderV2 een kassabon aan te maken, eerder kon alleen maar een factuur aan worden gemaakt.

    59.3.1
  • Het is nu mogelijk dat er automatisch een factuur kan worden afgedrukt nadat een order betaald wordt via de api via de call payorder. Dit is afhankelijk van een instelling: Beheer->Instellingen->Instellingen, Api->Afdrukken 'Automatisch printen van de factuur'

    Tevens is er een bug opgelost dat de instelling voor Automatisch printen van de kassabon ook gecontroleerd wordt, deze instelling was er al wel maar werkte nog niet.

    Beheer > Instellingen > instellingen > Api > Afdrukken > Automatisch printen van de factuur
    59.3.1
  • unappliedVoucherIssuances (vouchers die niet toegepast zijn i.v.m. een verzilver restrictie) toegevoegd aan response van de onderstaande calls:

    • CreateInvoiceFromPackingSlips
    • DeliverOrder
    • DeliverOrderV2
    • PayTableOrder
    • CreateAndPayTableOrder
    • PlaceTableOrder
    • PrepayTableOrderV2
    • PayOrder
    • PayOrderV2
    • CreateInvoiceFromProposal
    • CreateOrderFromProposal
    59.4.2
  • getVoucherSettings call toegevoegd waarmee in bulk de instellingen van verschillende vouchers opgevraagd kan worden. De requestedVoucherId is een voucher id die opgevraagd werd, voucherId is de voucher id + versie van de instellingen, die daar daadwerkelijk voor teruggegeven is. (Als je b.v.b. versie 0 opvraagd, krijg je de nieuwste versie terug.)

    59.4.2
  • Opgelost dat het kortingspercentage wordt gecontroleerd bij het toevoegen of een wijzigen van een relatie. Het kortingspercentage van een relatie mag maximaal 100 procent zijn (en moet hoger dan 0 zijn)

    59.4.2
  • getJournals zorgt er nu voor dat de teruggegeven betalingen voor JOURNAL-FILTER-ORDER opgeteld nu altijd op 0 uitkomt, door tegen te boeken op de "Verrekening aanbetaling" betaalwijze. Zodra er daadwerkelijk omzet is gemaakt, zullen deze betalingen namelijk opgehaald kunnen worden met JOURNAL-FILTER-RECEIPT/JOURNAL-FILTER-INVOICE.

    59.3.1
  • Via een instelling is het oude gedrag van de getPackingSlips functie (van vóór v48) weer te activeren. Daardoor retourneert deze functie alle uitgifte-types, en niet enkel pakbonnen.

    API > Legacy > getPackingSlips() retourneert alle types
    58.4.4
  • setRelationPresence zal nu ook relatie synchronisatie starten op de slave als de relatie gewijzigd is op de master

    59.1.1
  • Optimalisatie van getOverview doorgevoerd, waardoor filters op categorie veel sneller zijn geworden.

    59.6.6
  • Verbeterde controles in saveArticleAlterationsGroup voor alteration groups van het type MENU. Elke alteration moet een artikel hebben en de artikelen moeten uniek zijn binnen de groep.

    60.1.5
  • getWebhookConsumers kan nu aangeroepen worden met een syncMarker en retourneert nu ook:

    • event.polling
    • event.cancelRequiresAuth
    • pattern.reject
    • articleFilter
    • companyName
    • priority
    • syncMarker
    59.5.5
  • De functie determinePricing retourneert nu ook de opgestuurde webhookData.

    59.5.2
  • getNutritionalCharacteristicsRequest ondersteund nu combinatie van syncMarker en numbers filter.

    Voorheen retourneerde zo'n request de data voor alle gevraagde nummers, nu is deze data ook werkelijk gefilterd op syncMarker en het antwoordt bevat ook de syncMarkers.

    59.4.2
  • getVoucherIssuances heeft nu een fromDate en throughDate in het request object.

    59.4.2
  • Verhelpt dat de API een soapfault geeft als je getOverview een INCOLLECTION filter geeft met een lege lijst.

    Dealers
    Database error on the server. Please contact API support at dev@mpluskassa.nl.
    ERROR:  syntax error at or near ")"
    LINE 1: ...rds FROM public.relatie a WHERE TRUE  AND a.nr IN()  AND (a....                                                            ^
    59.5.2
  • Opgelost dat getPaymentMethods en getPaymentMethodsV2 een SQL error konden geven indien de cadeaukaarten ook opgevraagd werden.

    59.8.2
  • Herstelt dat oa getTableOrderV3 verkeerde aantallen voor bereidingwijze kon retourneren als uncondensedLines false is. Hier had oa de Android handheld last van.

    58.4.3
  • Opgelost dat saveSalesRepeatTemplate een access violation SOAP exception kon geven.

    59.2.1
  • Verholpen dat in de WSDL en documentatie miste dat sommige response types een basis type hadden.

    Dit verhelpt dat calls die deze types retourneerden niet goed werkten als je de service importeerde in visual studio.

    58.4.1
  • Probleem opgelost met savePurchaseDelivery.

    58.3.5
  • Opgelost dat getPurchaseDeliveries(V2) een verkeerd totalExclAmount kon laten zien op de regel wanneer er met verpakkingen gewerkt werd. Daarnaast ook opgelost dat quantityOfPackagesDelivered niet ingevuld was terwijl dat wel moest gebeuren.

    58.3.2
  • Opgelost dat getOverview een SQL foutmelding kon geven.

    • ERROR: syntax error at or near AND
    • column reference nr is ambiguous
    59.7.0
  • saveSalesRepeatTemplate gedrag aangepast, als er een regelid meegegeven wordt zal die regel aangepast worden. Als er een bepaalde regel niet meer meegegeven wordt, zal die verwijderd worden. Als je een nieuwe regel meegeeft zonder id zal die toegevoegd worden.

    59.7.0
  • cancelOrderV2 kan nu ook een geannuleerde order weer niet geannuleerd maken. Dit werkt alleen voor niet-filiaalorders.

    59.7.0
  • Opgelost dat getPurchaseDeliveries de volgende foutmelding gaf:

    ERROR:  missing FROM-clause entry for table "artikel"
    59.5.3
  • Opgelost dat het mogelijk was dat updateOrderV2 soms een kortingspercentage niet toepast omdat er ook een automatische korting toegepast kon worden.

    59.6.6
  • Opgelost dat determinePricing het meegegeven kortingspercentage niet toepast als er onderwater automatisch een prijsgroep toegepast wordt.

    59.6.4
  • Databasefout in de API opgelost bij het uitvoeren van getNutritionalCharacteristics voor een relatie.

    59.6.1
  • Databasefout in de API opgelost bij het uitvoeren van getNutritionalCharacteristics voor een relatie.

    59.5.1
  • Een BoostAssertionException opgelost die kon optreden als je een inkoopopdracht of inkooplevering bewerkte zónder een aritkeluitvoering te specificeren.

    59.5.0
  • getArticlesVariants is nu aanzienlijk sneller

    59.5.2
  • Probleem opgelost waardoor het niet meer mogelijk was verkooporders af te drukken.

    59.4.6
  • Diverse verbeteringen aan opslaan van inkoopopdrachten en levering

    • Melding "Voorwaarde niet voldaan: riter->LevelVerpakking > 0" verholpen
    • Onterechte meldingen "No article variants found with this articleVariantId" verholpen, in sommige gevallen kan het zijn dat hij nu een andere melding geeft met het werkelijke probleem.
    • Controle of op leverancier gebeurd nu bij opdrachten als dit aangezet is en nooit bij leveringen
    • Controle op leverbaarheid van de uitvoering gebeurd nu alleen bij opdrachten niet bij leveringen
    59.4.7
  • De API call getRenderedPrintLayout kon crashen als je geen printInfo meegaf.

    59.4.5
  • De API call createInvoiceFromPackingSlipsRequest keurde een lege forcedActivityId altijd af, ook al is die parameter optioneel.

    59.4.7
  • Opgelost dat getSubTableList ook tafeldata van andere filialen terug kon geven.

    59.4.3
  • Het oude menu systeem houdt nu ook rekening met SUP artikelen op het hoofdartikel van menu's. Het nieuwe menu systeem hield hier al rekening mee. Lost vreemde situatie op in de api. Neem bijvoorbeeld de volgende situatie:

    1. saveTableOrderV2 met een menuartikel. Oude menu systeem voegt automatisch hoofdartikel toe. Hoofdartikel hoort normaal gesproken ook een SUP toeslag subartikel te krijgen. Dit wordt nu niet gedaan.
    2. getTableOrderV2 om de order zoals die op de tafel staat op te vragen.
    3. payTableOrderV2 om deze order af te rekenen. De api geeft terug dat de VerkoopPrijsIncl niet overeen komt, omdat payTableOrderV2 door heeft dat het SUP toeslag subartikel mist, en dit automatisch toevoegt aan de regels die zijn meegegeven. Echter komt dat dus niet meer overeen met wat er op de tafel staat.
    58.4.5
  • Als je dialog.id of dialog.options[].id "asString" doorgeeft, dan wordt dat nu ook goed doorgespeeld in de uiteindelijke webhook payload.

    59.3.1
  • De moveTableOrder API calls houden nu ook rekening mee met of er op de virtuele relatie aanwezigheidstafel range geboekt mag worden of niet, afhankelijk van hoe die instellingen staan.

    59.2.2
  • Opgelost dat getOrders deze error teruggaf: Unknown consumption location indien je gebruik maakte van consumptie locaties per regel.

    59.1.3
  • Opgelost dat setRelationPresence aangaf dat de tafel bezet was, indien er aangemeld probeerd te worden op een tafel die nog nooit eerder gebruikt was.

    59.1.2
  • Opgelost dat setRelationPresence soms ten onrechte aangaf dat de tafel al bezet was als er een specifieke subtafel werd gebruikt om op aan te melden.

    59.1.2
  • getNutritionalCharacteristics geeft nu ook de allergieën terug van de ingrediënten van een artikel

    58.4.3
  • Opgelost dat de minimum prijs berekening van een artikel de minimum prijs van een verplichte bereidingswijze op het hoofdartikel meenam op de prijs van een vervangend artikel, indien het vervangend artikel goedkoper is. Dit is niet logisch omdat de bereidingswijze keuze voor het hoofdartikel is, niet voor het vervangend artikel. Deze berekening kan d.m.v. min_price_incl opgevraagd worden met de getOverview call.

    58.4.2
  • Opgelost dat getArticleVariants een SOAP exceptie gaf als de call artikelen probeerde terug te geven welke geen uitvoeringen bevatten.

    58.4.1
  • Als de API een betaling probeert uit te voeren op een betaalwijze die wel aanwezig is, maar uitgeschakeld, dan veroorzaakt dat nu geen fout meer.

    Het uitschakelen van een betaalwijze moet invloed hebben op de keuze welke betaalwijzes je kan selecteren, maar als er eenmaal een betaling op uitgevoerd is mogen we die niet meer weigeren.

    Dit lost bijvoorbeeld de volgende foutmelding op: One or more payment methods are NOT enabled WEBSHOP.

    58.4.1
  • Oplossing gevonden voor het probleem dat meldingen als "No order.orderId specified" en "Error while trying to save packing slip of order." kon veroorzaken bij het betalen van een tafel via de online handheld.

    58.3.9
  • Oplossing gevonden voor het probleem dat meldingen als "No order.orderId specified" en "Error while trying to save packing slip of order." kon veroorzaken bij het betalen van een tafel via de online handheld.

    57.5.8
  • Verhelpt probleem dat bij gebruik van placeTableOrder om af te rekenen met automatisch afdrukken van de bon aan de TSE gegevens missen op de bon.

    59.1.1
  • Lost probleem op waardoor API meer CPU belasting kon geven dan zou moeten.

    58.3.2
  • Lost probleem op waardoor API meer CPU belasting kon geven dan zou moeten.

    57.5.6
  • Opgelost dat updateProduct altijd alle prijsgroepen en salesprijzen van de te updaten artikelen afhaalde. Om toch nog specifiek een prijsgroep/salesprijs van een artikel af te halen met deze call, is dit mogelijk door alleen de priceGroupNumber/salesPriceNumber in te vullen.

    58.3.2
  • Crash opgelost in de getOverview call wanneer de min_price_incl opgevraagd werd van een artikel dat d.m.v. menu/vervangend artikel/bijverkoop zichzelf weer kon verkopen. Dit lost bijvoorbeeld de volgende scenario op:

    artikel A -> artikel B (vervangend artikel) -> artikel A (bijverkoop)
    58.3.2
  • getPackingSlips, getReceipts, getInvoices werkt weer.

    58.3.4
  • getPackingSlips, getReceipts, getInvoices werkt weer.

    59.1.1
  • Verhelp "Database error on the server" foutmelding bij getPurchaseDeliveriesV2

    Fout zat er in sinds v58.3.0.

    58.3.2
  • deliverOrderV2 levert nu weer de opgegeven aantallen ipv een volledige levering te doen.

    58.3.2
  • De createOrder functies trekken niet meer de component prijs af van de opgegeven prijs.

    Tevens probleem opgelost dat de functie faalde met een assertion failure nadat de order correct opgeslagen was.

    59.1.1