Alle releasenotes Alle releasenotes MplusKASSA API Service

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


  • API calls getBranchInformation, savePurchaseOrderV2, savePurchaseDeliveryV2 uitgebreid ter voorbereiding op online functionaliteit voor inkoop-orders met betrekking tot het opvragen en doorgeven van ontvangstadres gegevens

    InkoopOpdrachten
    59.9.3
  • Api getSubTableList: het medewerker-nummer en naam zijn nu toegevoegd aan het resultaat van de api call getSubTableList

    `getSubTableList`
    59.8.5
  • Api createOrderV3 Verbetering van de controle op ordertype en de invoer van een tafel en subtafel nummer: 1) Voor ordertype 'TABLE-ORDER' moet het tafelnummer worden doorgegeven. 2) Een tafelnummer mag alleen worden doorgegeven als het ordertype 'TABLE-ORDER' is.

    CreateOrderV3
    60.1.5
  • 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
  • Opgelost dat in de response van de API call adjustPoints het nieuwe puntsaldo is opgenomen in plaats van het saldo van voor de wijziging

    API Adjustpoints
    59.9.3
  • API: Snelheid van het openen van de tafellijst gettable (in online) verbeterd

    59.8.5
  • Zit bug in Kolom niet gevonden: ext_ext_payment_id

    59.9.1
  • Opgelost dat het updaten van een artikel btw-code er voor kon zorgen dat de API een SQL foutmelding teruggaf, indien er geen brutoprijs was ingesteld op het artikel en er gebruik werd gemaakt van de verkoopprijs. Deze fout kon optreden bij alle formule velden die opnieuw berekend moesten worden omdat een refererend veld veranderd werd en er uit de formule geen waarde kwam.

    59.8.2
  • Je kunt een interfiliale opdracht, verzending of ontvangst nu ook voorzien van een scancode. Dat kan bijv. een barcode zijn, of een QR-code, of zelfs een NFC-tag. Met behulp van die scancode kun je het desbetreffende item direct openen.

    60.2.0
  • Nieuwe call updateInterbranchOrder toegevoegd, getInterbranchOrders heeft extra filters gekregen, en shipInterbranchOrder ondersteunt nu deelzendingen.

    60.2.0
    • getOverview houdt nu rekening met de eventuele filiaalspecifieke THT datum in het geval dat scopeValues ingevuld is. (oldest_best_before_date)
    • getArticleBranchDeviations en saveArticleBranchDeviations ondersteunen nu beide de THT datum.
    Volgende
  • placeTableOrder heeft request parameter releaseTable er bij gekregen, als deze wordt weggelaten is deze true zodat oude gedrag in stand blijft.

    59.9.3
  • Twee nieuwe calls getSpecialBarcodePatterns en parseSpecialBarcode. parseSpecialBarcode test of een barcode bijvoorbeeld een prijsbarcode is en retourneerd dan welk artikel en prijs. De getSpecialBarcodePatterns retourneerd een lijst van reguliere expressies waarmee getest kan worden of het zin heeft om parseSpecialBarcode aan te roepen.

    Letop dat je bij het gebruik van de reguliere expressies zorgt dat deze de hele string moet matchen en niet een substring. Eventueel kun je de expressies natuurlijk ook uitbreiden met regel start en eind of witruimte voor en achter afhankelijk van hoe hij precies gebruikt gaat worden.

    Volgende
  • De calls getOrders, getReceipts, getInvoices, getProposals, getPackingSlips en getSalesRepeatTemplates ondersteunen nu de nieuwe includeLineList optie. Deze optie maakt het mogelijk om verkoopobjecten aanzienlijk sneller op te vragen.

    Daarnaast wordt de relatie filter nu toegepast op hetzelfde niveau als de syncMarker filter. Dit betekent dat wanneer je bijvoorbeeld een syncMarkerLimit van 100 instelt in combinatie met een relatie filter, je de eerste 100 verkoopobjecten voor die specifieke relatie terugkrijgt. Voorheen werden eerst 100 verkoopobjecten geselecteerd en pas daarna gefilterd op relatie.

    60.1.5
  • Het is nu mogelijk om keukenbonnen van tafels te snoozen d.m.v. de API functie ChangeTableProperty.

    60.1.5
  • Nieuwe API call getCardFilterOptions toegevoegd. Deze API call kan voor een bepaalde kaart (zoals bijv. artikelen) teruggeven wat de filter opties zijn per opgevraagd veld.

    60.1.5
  • updateLastTableActionTime toegevoegd aan de tableProperties van changeTableProperty. Indien updateLastTableActionTime true is zal changeTableProperty de laatste handeling van de tafel updaten zodat de tafelstatus kleur van oranje naar groen gaat.

    59.9.3
  • Het is nu mogelijk om een kastelling uit te voeren via de API. Hiervoor zijn twee nieuwe API-calls beschikbaar:

    1. getCashCountInfo: Retourneert alle benodigde informatie voor het uitvoeren van een kastelling op basis van de opgegeven bronwerkplek en het medewerkernummer.
    2. saveCashCount: Registreert de kastelling op basis van de gegevens verkregen via getCashCountInfo. Hierbij wordt verwacht dat een werkplek uit de getCashCountInfo-respons wordt gekozen, de betaalwijzen worden samengevoegd en de getelde bedragen worden ingevuld. Indien er een storting plaatsvindt, moet ook de bestemming van de storting worden opgegeven.
    59.9.3
  • Het interfiliale planningsalgoritme dat door de RunnerApp gebruikt wordt is nu ook via de API aan te roepen via de nieuwe call runInterbranchPlanner.

    Dit is ook voorbereiding op het kunnen integreren van de RunnerApp in de mpluskassa.online suite.

    59.9.3
  • Nieuwe API call setArticleRecalled toegevoegd. Hiermee kan een artikel teruggeroepen worden, of een terugroeping ongedaan gemaakt worden.

    59.9.3
  • recalled veld toegevoegd aan getOverview voor producten. Geeft een JSON structuur terug indien het product teruggeroepen is. Formaat:

    {
      "reason": "Test reden",
      "recalledOn": "2025-02-28T10:01:54.271711"
    }
    59.9.3
  • determinePricing geeft nu ook lineId en tempLineId terug. Dat is de identificatie voor de regels die door de kassa gemaakt zijn. Als het een al opgeslagen regel is, wordt er een lineId teruggegeven, anders wordt er een tijdelijke identificatie van de regel teruggegeven tempLineId. Het gedrag van de oorspronkelijke tempId die zelf meegegeven kan worden aan determinePricing blijft hetzelfde.

    60.1.5
  • Nieuwe getFloorplans API call toegevoegd. Deze API call geeft alle tafelplattegronden terug voor het meegegeven filiaal, inclusief of ze momenteel actief zijn, en alle bijhorende wijken. De tafelplattegrond definities worden in JSON formaat teruggestuurd.

    59.9.3
  • Twee API calls toegevoegd voor het nieuwe dynamische min/max voorraad systeem.

    • updateArticleDynamicMinMaxStock om een berekende dynamisch min/max in te schieten op een bepaald filiaal, voor een bepaald artikelen en voor een vanaf datum/tijd.
    • getArticleDynamicMinMaxStock om de berekende dynamische min/max voorraad in te lezen voor een bepaalde periode. Hier zijn een aantal filters op toe te passen.
    60.1.5
  • De response van GetInvoices en GetReceipts (en GetInvoice en GetReceipt) is uitgebreid met de verkoopcategorie informatie.

    59.8.2
  • getTableOrderV3 had al een optie om de opgevraagde tafel ook te claimen, maar je kunt nu ook een bestaande claim overschrijven via '<claimMethod>FORCE</claimMethod>'.

    59.8.2
  • Via sendWebhook kun je nu ook de events startSession, pauseSession, resumeSession, and cancelSession versturen.

    59.7.0
    1. getPackingSlips geeft nu ook proposalId, extProposalId, proposalNumber terug als de pakbon is gemaakt op basis van een order welke gemaakt is op basis van een offerte.
    2. getInvoices resultaat toevoegingen:
      • orderNumbers
      • packingSlipIds, packingSlipNumbers indien de factuur gemaakt is op basis van één of meerdere pakbonnen.
      • proposalIds, extProposalIds, proposalNumbers iendien de factuur gemaakt is op basis van een offerte, of op basis van een pakbon die gemaakt is op basis van een order welke gemaakt is op basis van een offerte.
    3. getProposals resultaat toevoegingen:
      • orderNumber
      • packingSlipIds, packingSlipNumbers indien er op basis van de offerte een order is gemaakt waarvan weer pakbonnen zijn gemaakt.
      • invoiceIds, extInvoiceIds, invoiceNumbers indien er op basis van de offerte een factuur is gemaakt, of er op basis van de offerte een order is gemaakt waarvan weer pakbonnen zijn gemaakt waarvan weer facturen zijn gemaakt.
    4. getOrders resultaat toevoegingen:
      • invoiceNumbers
      • packingSlipIds, packingSlipNumbers indien er op basis van de order pakbonnen zijn gemaakt.
      • proposalId, extProposalId, proposalNumber indien de order op basis van een offerte is gemaakt.

    Daarnaast opgelost dat een pakbon/factuur soms geen order informatie terug gaf, en vice versa.

    59.7.0
  • Nieuwe API-call getPrintLayoutMarkup waarmee je een printlayout kunt genereren in een bepaalde opmaak. Momenteel wordt enkel nog de Star Document Markup ondersteund.

    59.7.0
  • 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
  • Naar aanleiding van dat webhook configuratie nu op de master opgeslagen wordt en ondersteuning heeft voor filiaalgroepen, veriest getWebhookConsumers nu dat er een werkplek meegestuurd wordt.

    60.2.0
  • De determinePricing call geeft nu ook priceExcl, discountAmountExcl en amountExcl terug.

    59.9.4
  • Per API call kan nu beter gespecificeerd worden of die: (1) altijd naar de master moet, of (2) naar de slave indien bijv. een bepaald branchNumber in de request gebruikt wordt.

    60.2.0
  • De API calls getRedeemableVoucherIssuances en redeemVoucherIssuance zijn nu ook op een slave API aan te roepen, indien de Voucher verzilveringen mogen doen zonder master verbinding instelling aan staat.

    Vouchers - Voucher verzilveringen mogen doen zonder master verbinding
    Volgende
  • De API calls getOrders, getInvoices, getPackingSlips, getProposals en getReceipts zijn efficiënter geworden. Vooral getOrders en getInvoices zijn aanzienlijk sneller indien er heel veel verkoopobjecten teruggegeven worden.

    59.9.3
  • Als de functie savePurchaseOrderV2 tijdens de verwerking tijdens een fout aan loopt in een van de aangeleverde opdrachtregels, dan wordt in de response nu aangegeven op welke regel het probleem zich heeft voorgedaan, samen met andere nuttige informatie.

    59.9.3
    1 bijlage
  • getTableOrderV3 controleert nu niet meer of het werkplektype mobiel is.

    59.8.8
  • Als je via de API een tafel claimt, dan wordt de claim nu ook daadwerkelijk bij alle andere werkplekken verwijderd.

    59.8.2
  • De API retourneert nu ook webhookConsumerId bij de lineAdditions, lineChanges, en lineDeletions, zodat je weet welke webhook-koppeling de regels heeft aangeleverd.

    59.7.0
  • 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
  • Versnelt het ophalen van:

    • financieel journaal
    • facturen
    • orders
    • pakbonnen
    • kassabonnen
    • offertes
    59.9.5
  • Opgelost dat API geen requests meer kon afhandelen nadat een verloren verbinding succesvol opnieuw opgezet werd.

    59.8.5
  • Opgelost dat in een API call maximaal 100.000 regels in een elementlijst kan worden doorgegeven. Maximum verhoogd tot 2.147.483.647 (max.voor 32bits gehele getallen)

    59.5.7
  • Opgelost dat getPaymentMethods en getPaymentMethodsV2 een SQL error konden geven indien de cadeaukaarten ook opgevraagd werden.

    59.8.2
  • Geheugenlekken verholpen in:

    • getConfigurationValues
    • updateConfigurationValues
    • getArticleGroupChanges
    59.9.5
  • Opgelost dat de webhooks ten onrechte een INVALID_APPLY_TO_QUANTITY error gaven met een session.line.id die niet in de response zat. Dit gebeurde voor negatieve regels in de session.

    59.9.4
  • Opgelost dat o.a. updateOrderV2 er in een specifiek scenario er voor kon zorgen dat een regel ten onrechte verwijderd werd.

    60.2.0
  • Verhelpt de foutmelding: "This order is currently being paid on terminal ..." vanuit de determinePricing call.

    59.8.11
  • Probleem uit v59.8.8 opgelost, het is weer mogelijk om een externalPayment-flow uit te voeren via de API.

    59.8.9
  • Opgelost dat samengestelde componenten in het resultaat van getReceipts LINE-TYPE-NONE hadden i.p.v. LINE-TYPE-COMPONENT.

    59.8.11
  • Als je een lege regeltekst (line.text) meegeeft aan registerGiftcardPayment(v2), dan wordt deze nu niet meer gebruikt om de artikelnaam te overschrijven. Dit lost het probleem op van lege tekstregels op deze bonnen.

    59.9.3
  • Opgelost dat PNG/JPEG renderen van een print lay-out niet meer werkte via de API call getRenderedPrintLayout.

    60.1.5
  • Het veld payment.externalPaymentId wordt nu ook daadwerkelijk ingevuld bij het opvragen van kassabonnen, bestellingen, etc.

    59.9.3
  • Als je meerdere webhooks hebt geconfigureerd die naar scanCode luisteren, maar de eerste heeft een pattern filter waardoor het event niet wordt doorgestuurd, dan krijg je nu niet meer de lege response van die eerste webhook terug via de API.

    59.8.8
  • Fix voor placeTableOrder wanneer deze door de kiosk werd gebruikt op een filiaal waar geen tafelplatttegrond gekoppeld is gaf de call de volgende foutmelding: A supplied branch number does not exist in the database ERROR: insert or update on table "tafel_data_plattegrond" violates foreign key constraint "tafel_dataplattegrondfiliaal_nr_plattegrond_nr_fkey" DETAIL: Key (filiaal_nr, plattegrond_nr)=(4, 0) is not present in table "tafel_plattegrond".

    59.8.8
  • De getEmployeeAuthorizationSyncMarkers call houdt nu bij het bepalen van de authGroepRechtenSyncMarker en authGroepSyncMarker ook rekening met de gekoppelde filiaalgroep-autorisatiegroepnummers van de medewerker.

    59.8.8
  • Opgelost dat bij een IDEMPOTENCY_RESULT_REPLAY_RESPONSE response, de methoden placeTableOrder, createInvoiceFromPackingSlips en payOrderV2 niet correct de voucherIssuances en unappliedVoucherIssuances terug gaven zoals bij de oorspronkelijke aanroep.

    59.8.5
  • Het is niet langer mogelijk om payOrder(V2) te gebruiken voor het afrekenen van tafelbestellingen. Gebruik in plaats daarvan payTableOrderV2 of placeTableOrder. Deze wijziging voorkomt tevens een SQL-fout die optrad wanneer payOrder(V2) werd gebruikt bij een tafelbestelling zonder gekoppelde relatie.

    59.8.5
  • De API gaf onterecht de waarde 3 terug in plaats van YEAR in het geval van bpeConfiguration.budgetPeriod.

    59.8.5
  • Opgelost dat o.a. getOrders in het resultaat nooit discountAmountExcl invult.

    59.8.5
  • Probleem opgelost waarbij placeTableOrder een gescande voucher niet toepaste, ondanks dat determinePricing dit wel deed.

    60.1.5
  • Opgelost dat wanneer je met determinePricing of placeTableOrder een menu samenstelt via de velden menuId en menuLinesId, bij succesvolle creatie van het menu de oorspronkelijke tempId niet werd teruggegeven op het nieuwe menu hoofdartikel.

    59.8.5
  • Wanneer aan determinePricing een vouchergroepsscancode werd meegegeven, en die groep meerdere voucheruitgiftes bevatte die gebaseerd waren op dezelfde voucher, kon het voorkomen dat:

    • Er automatisch twee artikelregels werden toegevoegd (zoals geconfigureerd).
    • Eén van de voucheruitgiftes onterecht op beide artikelregels werd toegepast, in plaats van correct verdeeld te worden.

    Dit probleem is nu verholpen, zodat elke artikelregel correct wordt gekoppeld aan de juiste voucheruitgifte.

    60.1.5
  • Opgelost dat als determinePricing een gescande voucher uitgifte code meekrijgt, en het toe te voegen artikel al op de bon staat, en al verzilverd is d.m.v. de gescande voucher uitgifte code, het artikel nogmaals werd toegevoegd.

    60.1.5
  • De call deliverOrderV2 kan nu ook negatieve regels leveren. Voorheen kwamen deze niet op de pakbon, als ze wel meegegeven waren.

    60.1.5
  • getOrderHistory kon een foute query genereren, wat de volgende foutmelding in de API veroorzaakte:

    > trailing junk after parameter at or near

    59.8.3
  • De API stuurt nu altijd het webhook scanCode object door, ook als de scannedCode leeg is, op die manier is het consistent met de Q-line.

    59.8.3
  • De API zal nu minder vaak de melding input is too large for an __int64 geven bij het inlezen van orders, bestellingen, kassabonnen, facturen, etc.

    59.3.2
  • Opgelost dat getOverview een SQL error kon veroorzaken, wanneer er gebruik wordt gemaakt van een sortOrder.

    59.7.3
  • Probleem opgelost dat je in sommige gevallen geen inkoopopdrachten of inkoopleveringen via de API meer kon aanmaken.

    59.7.2
  • Fix voor de melding "502 Bad Gateway" die voor kon komen bij de API calls voor saveInvoice en creditInvoice.

    59.6.9
  • getSubTableList geeft nu ook claimedBy terug en houdt rekening met het actuele subtafel aantal. Daarnaast worden tafels niet meer teruggegeven als ze puur alleen standaard waardes bevatten, daar is getMainTableList voor bedoeld.

    59.6.9
  • Het opslaan/aanmaken van een order d.m.v. de API respecteert nu de aangegeven sequenceNumber om de volgorde van de regels te bepalen.

    59.7.0
  • Bij het aanmaken van een factuur op basis van een order, bijv. bij deliverOrderV2, wordt de kredietlimiet van de relatie nu pas gecontroleerd nadat evt. aanbetalingen verrekend zijn. Als de gehele order immers al aanbetaald was, zal het krediet van de relatie niet wijzigen.

    Mocht de kredietlimiet alsnog overschreden worden, dan volgt er nu een duidelijkere terugkoppeling in de errorMessage.

    59.7.0
  • Opgelost dat als een artikel gedeeltelijk van een tafel wordt afgesplitst, en datzelfde artikel daarvoor ook al eens gedeeltelijk was afgesplitst op diezelfde tafel, de daarbijhorende keukenscherm maakbonnen niet worden geüpdate.

    59.7.0
  • Opgelost dat getOverview een SQL foutmelding kon geven.

    • ERROR: syntax error at or near AND
    • column reference nr is ambiguous
    59.7.0
  • cancelOrderV2 kan nu ook een geannuleerde order weer niet geannuleerd maken. Dit werkt alleen voor niet-filiaalorders.

    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
  • Opgelost dat getPurchaseDeliveries de volgende foutmelding gaf:

    ERROR:  missing FROM-clause entry for table &quot;artikel&quot;
    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