De placeTableOrder
call geeft een foutmelding in de handheld als de instelling Aantal gasten verplicht
aan staat
Nieuwe instelling toegevoegd waarmee aangegeven kan worden of de filiaalspecifieke artikel omschrijving aangepast mag worden met de saveArticleBranchDeviations
call.
Als dit niet mag, zal de oude filiaalspecifieke omschrijving gebruikt worden, of zal er geen omschrijving gezet worden indien die er nog niet was.
API Service: getOrderHistory
: medewerker die betaling heeft gedaan toegevoegd
Ondersteuning voor voedingswaarden toegevoegd in de API.
getNutrientTypes: geeft de voedingswaarde types terug
updateArticleNutrients: update de voedingswaarden voor een bepaald artikel
Daarnaast is er een nieuw veld voor getOverview
, nutrients
.
Dit geeft in een JSON-structuur de ingestelde voedingswaarden voor een artikel terug.
Uitbreiding van de Api call GetOrderHistory: Bij orderregels is er extra informatie toegevoegd voor samengestelde artikelen en artikelen met bereidingswijze(n): id van de hoofd_regel en subregel aantal en type)
Uitbreiding van de API call GetOrderHistory: element 'orderPaymentList' toegevoegd welke de lijst van de betalingen (inclusief teruggave en afrondingen) op de order bevat.
Uitbreiding van de Api call GetOrderHistory: element 'discountDescription' toegevoegd met de (gewijzigde) kortingsomschrijving ( sales en acties omschrijving)
De tafellijst die je kunt opvragen via alle relevante versies van getTableList
retourneert nu geen subtafels meer als de kassa in de Q-line die ook niet zou tonen.
Fix MplusQAPIService: Kortingsinformatie aangevuld in getOrderHistory
zodat nu ook de gewijzigde kortingswaardes (percentage, bedrag, etc) worden gerapporteerd.
createProduct
slaat nu eventuele besteleenheid
en artnr_lev
altijd op bij de standaard uitvoering.
Intern
Mogelijkheid toegevoegd om oude gedrag te activeren waarbij bereidingswijzen componenten niet worden toegepast.
Optionele workplaceNumber
toegevoegd aan getButtonLayoutGroupDetails
, daarnaast is de al bestaande buttonLayoutGroupId
ook optioneel gemaakt. Wanneer er een workplaceNumber
en een branchNumber
wordt meegegeven, zal de snelknoppen indeling details van de huidig actieve snelknoppen lay-out voor de meegegeven werkplek teruggegeven worden.
getOverview
bevat nu twee nieuwe velden: owners
en owners_uuid
.
owners
geeft per medewerker het nummer van elk gekoppelde eigenaarslabel terug, owners_uuid
geeft gelijk de uuids terug van elk gekoppelde eigenaarslabel.
Er wordt nu rekening gehouden met filiaalgroepen en eigenaarslabels in:
- GetCardCategories
- GetButtonLayoutGrupsWithAssignedWorkplaces
- UpdateEmployeeAuthorizationGroups
- GetEmployeeAuthorizations
- GetEmployeeBranchAuthorizations
- GetEmployeeAuthorizationGroups
ownerFilter
en branchGroupFilter
toegevoegd aan:
- ReportArticlePerformance
- ReportAverageSpending
- ReportBPE
- ReportBranchPerformance
- ReportPaymentMethods
- ReportPrintableFinancialTotals
- ReportTables
- ReportTurnoverByActivity
- ReportTurnoverByArticle
- ReportTurnoverByBranch
- ReportTurnoverByEmployee
- ReportTurnoverByTurnoverGroup
- ReportTurnover
- ReportCancellations
- GetReceipts
API: Gefixed dat de wijziging voor het alternatieve btwcode veld ook wordt opgeslagen in de database
getBranches
geeft nu ook voor elke werkplek de externe referentie terug onder de naam extWorkplaceId
indien de externe referentie niet leeg is.
DeterminePricing
gaat nu correct om met arrangementen. Je kan nu een orderId
of table
meegeven, waarmee de bestaande order wordt bepaald, om die regels mee te nemen in de prijsberekening.
Daarnaast kan je nu aan elke regel een tempId
meegeven, die ook weer teruggegeven wordt, om gemakkelijker de regels te identificeren. Tenslotte wordt er nog een priceType
teruggegeven. Wanneer die op PRICE-TYPE-FIXED
staat, gaat het om een arrangement.
De API is nu zelf in staat om bij idempotente requests (zoals placeTableOrder
) zelf een aantal retries te proberen als er een concurrency issue voorkomt. Dit vermindert de kans dat de call mislukt door bijv. een detected deadlock.
De functie getPaymentMethodsV2
retourneert nu optioneel ook de bpeConfiguration
. Stel hiervoor in de request de parameter includeBpeConfiguration
in.
Ook is het nu mogelijk om in de request te filteren op paymentMethodTypes
.
De functie getPaymentMethodsV2
retourneert nu optioneel ook de bpeConfiguration
. Stel hiervoor in de request de parameter includeBpeConfiguration
in.
Ook is het nu mogelijk om in de request te filteren op paymentMethodTypes
.
getPurchaseOrdersV2
geeft nu ook deliveredQuantity
terug wanneer een inkoopopdracht door middel van purchaseOrderNumber
of extPurchaseOrderId
opgevraagd wordt
De functie placeTableOrder
heeft nu ook de mogelijkheid om activityId
mee te geven. Als je dit niet doet, wordt gekeken naar de huidige activiteit van de meegegeven werkplek. Zolang je niet zelf expliciet een priceIncl
meegeeft, zullen de prijzen behorende bij de activiteit overgenomen worden.
De functie determinePricing
maakt nu ook daadwerkelijk gebruik van een evt. meegegeven activityId
. Als je deze niet meegeeft, wordt gekeken naar de huidige activiteit van de werkplek.
Standaard houdt getButtonLayoutForBranch
nu ook rekening met de ingestelde snelknoppen van de huidige activiteit van de gevraagde werkplek. Dit gedrag kan overschreven worden door gebruik van de eigenschap ignoreCurrentActivity
.
De functie getArticlesInLayout
retourneert bereidingswijzegroepen voortaan alleen nog maar als het vinkje "POS groep" aan staat.
De functie placeTableOrder
ondersteunt nu ook het doorgeven van lineType
.
Toegevoegd:
PreparationMethodSimple.specialPrice
, PreparationMethodSimple.turnoverGroup
.ComponentArticleSimple.turnoverGroup
.ArticleSimple.turnoverGroup
.Ter ondersteuning van de nieuwe filiaal specifieke waarden en van wegwerpartikelen.
API Service, getOrderHistory: de tafel- en subnummer gegevens van tafels 'gesplitst naar' en 'gesplitst van' ontbraken in de response van getorderHistory, deze zijn nu (weer) toegevoegd. Het order-id en de versie werden al wel doorgegeven.
API: getorderhistory: Er is een nieuw veld 'TableOrderNumber' toegevoegd om in de response de bestelnummers van tafelorders te kunnen rapporteren.
Nieuwe api calls getArticleBranchDeviations
en saveArticleBranchDeviations
toegevoegd deze kunnen worden gebruikt voor het opvragen en bijwerken van de filiaal specifieke waarden van een artikel.
Introductie nieuwe API call getOrderHistory
Met deze call kan de historie van de wijzigingen op (tafel) orders bij de API worden opgevraagd. Dit kan zowel voor een filiaal en periode (en tafelnummer) als ook voor specifieke orderIds worden opgevraagd. Tevens wordt informatie verschaft over het verplaatsen en splitsen van tafels.
Fix voor API call getorderchanges
Het veld pointsAmountExclOld bevat nu de correcte waarde (de het exclusief in plaats van het inclusief bedrag)
Diverse verbeteringen aan savePurchaseOrderV2
saveCredentials
met deze call kan het wachtwoord van een relatie of medewerker gewijzigd worden.
Deze call moet expliciet geautoriseerd worden voor clients die hem nodig hebben.
Performance verbeteringen aan de api vooral gericht op placeTableOrder
en webhook gerelateerde calls zoals startExternalPayment
maar andere calls kunnen ook baat hebben bij de onderliggende wijzigingen.
createProduct
slaat nu eventuele besteleenheid
en artnr_lev
altijd op bij de standaard uitvoering.
getButtonLayoutGroupForBranch
retourneert nu de knoptekst van de artikelkaart in articlesInLayouts.buttonText
.
Dit is tbv. de android handheld.
getInvoices
, getReceipts
en getOrders
vullen nu net zoals getInvoice
ook de onderstaande Payment
velden in, indien van toepassing.
branchNumber
extBranchId
workplaceNumber
employeeNumber
employeeName
API-calls getPrintLayouts
en getRenderedPrintLayout
zijn nu zichtbaar in de ?wsdl en ?docs.
Deze calls kunnen gebruikt worden om via de API een print van een layout van het nieuwe printlayoutsysteem te maken.
Performance verbeteringen in alle ordergerelateerde calls, zoals placeTableOrder
.
getOrderHistory
stuurt nu ook de aanbetalingen op.
getOrderHistory
call geeft nu de hele order terug(meerdere dagen) als het datum of syncmarker filter de order selecteert.
Voor de api calls getPackingSlips
, getInvoice
en getInvoices
hebben een nieuwe reponse parameter costCenter
erbij gekregen.
Deze bevat de waarde die in POS doormiddel van de vraag om kostenplaats toegevoegd is aan de pakbon van de factuur.
Een geannuleerde externe webhookbetaling wordt nu niet meer apart aan de gekoppelde webhook endpoint gemeld, aangezien de externe endpoint in principe degene is die de annulering heeft geïnitieerd. Dit brengt het gedrag van de API ook in lijn met dat van de Q-line.
Via de setRelationPresence
kan een tafel met alleen een relatie erop, nu ook naar een tafel met bestelling zonder relatie erop verplaatst worden.
De getInvoices
, getReceipts
en getOrders
geven nu ook het tijdstip van de betaling terug in de paymentList.
De API calls getOverview
en getArticlesInLayout
geven nu de filiaal specifieke omschrijving, brutoprijs, verkoopprijs en speciale prijs terug, mits er een filiaal is meegegeven met de call.
Brengt oude gedrag van savePurchesOrderVx
terug.
Dat wil zeggen dat hij de regellijst nu weer gewoon vervangt zonder te matchen met de bestaande regels.
Wanneer zowel de purchaseOrderNumber als de extPurchaseOrderId meegegeven wordt in savePurchaseOrderV2, zal er nu een controle plaats vinden of deze twee bij elkaar horen zo ja, dan kan de call uitgevoerd worden, horen ze niet bij elkaar krijg je een foutmelding terug.
Probleem opgelost in placeTableOrder
als je wel numberOfGuests
meegeeft, maar geen lineList
.
Veroorzaakt de Foutmelding in api log: SEVERE req: placeTableOrder, exception: EAccessViolationmsg: Access violation at address 00F4D9DA in module 'MplusQservice.exe'. Read of address 00000010 in het api logboek.
Op de handheld krijg je dan te zien: PIN betaling is GELUKT Bijwerken van tafel is mislukt.
Tijdelijk downgraden naar versie 1.41.2 werkt
Fix uit V53 toegepast op V52
Foutmelding: Voorwaarde niet voldaan: rgl C:\Builder\Projects\MplusQservice\MplusqApi\Util\PurchaseUtil.cpp: 204 PopulateInkRegelFromPurchaseLine<PurchaseLineT,InkRegelT>
Fix voor savePurchaseOrderV2
, je kon de regels niet meer wijzigen nadat de opdracht de state PURCHASE-ORDER-STATE-SUPPLIER-RECEIVED heeft bereikt.
Foutmelding: Voorwaarde niet voldaan: rgl C:\Builder\Projects\MplusQservice\MplusqApi\Util\PurchaseUtil.cpp: 204 PopulateInkRegelFromPurchaseLine<PurchaseLineT,InkRegelT>
Fix moveTableOrderV3
geen gekke afrondingen van de verkoopprijs meer.
De doel bestelling werd altijd als btwExclusief aangemaakt dit kon zorgen voor afrondingen als de klant met btwInclusief werkt. De doel bestelling neem nu de btwWijze van de bron bestelling over.
Subtiele bug opgelost waardoor in uitzonderlijke gevallen verkeerde BTW-tarieven konden worden berekend.
Lost probleem op waardoor je met de placeTableOrder
call op een slave api geen tafel kon afrekenen als er regels met BPE opstonden.
Het onderdrukken van wegwerpverpakkingen in de placeTableOrder
en determinePricing
call werkte nog niet goed.
Lost probleem op waardoor verifyEmployeePassword
en verifyCredentials
konden crashen.
Gefixed dat de wijziging voor het alternatieve btwcode veld ook wordt opgeslagen in de database
Opgelost dat o.a. getOrders
, getInvoices
en getPackingSlips
de volgende foutmelding teruggaven:
Kolom niet gevonden: afl_adres_bedrijfsnaam
Eerdere fix uit 55.0.7 miste nog op 55.1.x
Opgelost dat o.a. getOrders
, getInvoices
en getPackingSlips
de volgende foutmelding teruggaven:
Kolom niet gevonden: afl_adres_bedrijfsnaam
Opgelost dat savePurchaseOrderV2
geen besteleenheden opsloeg, indien die op de artikelen ingesteld stonden. Daarnaast geeft getPurchaseOrdersV2
nu ook de besteleenheid terug onder de naam orderUnit
.
API call getArticlesInLayout
retourneert nu weer alleen daadwerkelijke bereidingswijzegroepen, en niet bijverkoop of vervangend artikelen.
API call getArticlesInLayout
retourneert nu weer alleen daadwerkelijke bereidingswijzegroepen, en niet bijverkoop of vervangend artikelen.
Opgelost dat reportTurnoverByEmployee
de volgende foutmelding gaf wanneer een omzet gemaakt was met een medewerker nummer hoger dan 2.147.483.647.
Database error on the server. Please contact API support at dev@mpluskassa.nl.
Elke tien minuten voert de API een statuscontrole van de databaseverbinding uit. Als er tijdens deze controle iets mis ging, dan werd de volgende controle direct uitgevoerd ipv. tien minuten later. Dat is nu opgelost.
Opgelost dat o.a. getOrders
, getInvoices
en getPackingSlips
de volgende foutmelding teruggaven:
Kolom niet gevonden: afl_adres_bedrijfsnaam
Het is nu mogelijk om expliciet de order types mee te geven aan getCurrentSyncMarkersV2
. Standaard zijn dit SALES_ORDER
, REPEAT_SALES_ORDER
, en EXTERNAL_SALES_ORDER
.
Wanneer je via de saveArticleBranchDeviations
wijzigingen inschoot werd de artikel syncmarker niet geüpdatet.
Crash opgelost die kon voorkomen als je moveTableOrder gebruikte terwijl de instelling "automatisch korting toepassen" uitgeschakeld was.
Opgelost dat o.a. getOrders
, getInvoices
en getPackingSlips
de volgende foutmelding teruggaven:
Kolom niet gevonden: afl_adres_bedrijfsnaam
Verhelpt probleem waardoor het aanmaken en wijzigen van artikel-, medewerker- of relatiekaarten kan blijven hangen.
Probleem kan optreden bij oa letters met accenten.
Backport: Bugfix aan de placeTableOrder
call wanneer je alleen een relatie opgeeft wordt deze nu wel aan de tafel gekoppeld.
Bugfix voor foutmelding database error on server met de getOrders
call.
Bugfix aan de placeTableOrder
call, wanneer je alleen een relatie opgeeft wordt deze nu wel aan de tafel gekoppeld.
De waarde voor de eigenschap vatCodeAlternative
die je kon meegeven aan createProduct
en updateProduct
werd niet overgenomen.
Fix aan de API call getNutritionalCharacteristics
en getPreparationMethodGroups
wanneer je deze op basis van het hoogste syncmarker + 1 opvroeg kon je één resultaat missen.
Opgelost dat getProducts alleen actieve artikelen teruggeeft als onlyWebshop
op true staat, ondanks dat onlyActive
op false staat.
AddressType
verwijderd uit de api definitie. Deze was niet in gebruik, maar gaf wel problemen voor code generatie tools op basis van de wsdl
placeTableOrder
en diverse andere routines slaan nu de meegegeven webhookSessionId
op bij de order.
Als je webhook korting doorgeeft aan oa placeTableOrder
zullen de automatische kortingen nu niet meer deze korting resetten.
Lost probleem op dat placeTableOrder
op slave een error geeft als er met BPE gewerkt wordt en hij de BPE budgetten niet kan uploaden naar de master omdat de configuratie van de master niet bekend is (master offline handelde hij wel al goed af).
placeTableOrder
verwerkt nu ook weer numberOfGuests
en tableDescription
als er geen lines
meegegeven worden. Note voor numberOfGuests
moet er wel een niet leeg order zijn.
Als je géén relationNumber
meegeeft aan placeTableOrder
, dan blijft de geselecteerde relatie van de order ongewijzigd. Als je de relatie wilt wissen, moet je relationNumber=0
meegeven.
Als je een tafel afrekent waardoor er geen openstaande tijdelijke subtafels meer overblijven, worden nu alle tijdelijke subtafels weer opgeruimd.
Er wordt nu naar standaard error output gelogd als er geen logging configuratie is.
Wanneer je winsw gebruikt zal de log dan in winsw.err.log komen.
placeTableOrder
zal nu ook zorgen dat een evt. geclaimde tafel weer vrijgegeven wordt.
Lost probleem op dat wanneer de API een webhook verstuurd er een nul character in de versionNumber veld van de Sender zit.
Note CloudEFT heeft hier last van.
Fix moveTableOrderV3
crash bij volledige verplaatsing als het een filiaal met GKS betreft.
getTableOrderV2
retourneerd nu weer de regels verdicht.
LETOP dit verhelpt probleem met de android handheld dat deze de inhoud van de tafel onverdicht laat zien!
Fix voor API call getorderchanges. Het veld pointsAmountExclOld bevat nu de correcte waarde (de het exclusief in plaats van het inclusief bedrag)
Bugfix in savepurchaseOrderV2 wanneer de leverdatum niet werd meegegeven zou die gelijk moeten zijn aan de opdracht datum.
Fixes uit V50 beschikbaar gemaakt:
Wanneer zowel de purchaseOrderNumber als de extPurchaseOrderId meegegeven wordt in savePurchaseOrderV2, zal er nu een controle plaats vinden of deze twee bij elkaar horen zo ja, dan kan de call uitgevoerd worden, horen ze niet bij elkaar krijg je een foutmelding terug.
Probleem opgelost waardoor je geen inkoopopdrachten of inkoopleveringen meer kon maken met resp. een extPurchaseOrderId of extPurchaseDeliveryId.
Bugfix in savepurchaseOrderV2 wanneer de leverdatum niet werd meegegeven zou die gelijk moeten zijn aan de opdracht datum.
Verhelp crash in placeTableOrder
wanneer deze aangeroepen wordt op een slave database en een regel met BPE bevatte.
Verhelpt probleem met moveTableOrderV3
dat weglaten van de regellijst of aantallen resulteerde in de melding
It is not possible to move an order consisting of only text lines