Dit lost een probleem op waardoor het niet meer mogelijk was om zelf een afwijkende prijs mee te geven aan een aantal API-calls. Dit maakte het onmogelijk om extern een vrij bedrag voor bijvoorbeeld "fooi" door te geven. Ook kon je door deze bug niet meer een afwijkende prijs via de Android Bestelapp doorgeven.
Probleem opgelost in WSDL met onbekend type CategoryIds
.
Wanneer aan getRelations
een lijst van nummers werd meegegeven als filter retourneerde hij toch alle relaties.
Bij bereidingswijzeteksten die voorzien waren van overbodige witruimte kon het probleem optreden bij betalen en splitsen van tafelbestellingen: You're trying to move more articles than were in the original order.
Bij bereidingswijzeteksten die voorzien waren van overbodige witruimte kon het probleem optreden bij betalen en splitsen van tafelbestellingen: You're trying to move more articles than were in the original order.
Als createImage
wordt aangeroepen terwijl de media sync modus niet is ingesteld op Mplus Image service dan crasht de API en krijgt de client een HTTP 500 error terug.
LETOP de api's zien de gewijzigde instelling pas na een herstart.
Deze API versie werkt niet goed samen met automatische wsdl import tools.
De WSDL is niet goed. extension
wordt niet goed toegevoegd bij mergen. Voorheen werd die overigens helemaal niet toegevoegd wat ook niet goed was.
Deze API-versie werkt niet goed samen met de Android Bestelapp.
Het opvragen van meerdere facturen, pakbonnen, orders of offertes versneld.
Deze optimalisatie was eerder al gedaan voor kassabonnen.
De API service kan zijn logs nu ook naar een UDP poort sturen.
Verbeteringen aan findTableOrder
De calls createActivity
en updateActivity
hebben nu ook de mogelijkheid om activityTypeId
mee te geven.
Toegevoegde calls: getActivityTypes
, saveActivityTypes
, en saveActivity
.
Uitbreiding op de calls getPurchaseOrders(V2)
, getPurchaseDeliveries(V2)
, getStockCorrections
, en getTodoLists
, zodat je kunt aangeven dat je de regels van de betreffende objecten niet wilt ontvangen.
getPurchaseOrders(V2).includeLineList
getPurchaseDeliveries(V2).includeLineList
getStockCorrections.includeStockCorrectionLineList
getTodoLists.includeEntries
Dit maakt de calls veel sneller, en kan gebruikt worden voor het tonen van overzichten. Daarnaast worden er nu ook minder queries uitgevoerd als includeLineList
wel aan staat.
Ook zijn de savePurchaseDelivery(V2)
en savePurchaseOrder(V2)
call geoptimaliseerd.
Hij bijwerken van de categorieën van artikelen, relaties en medewerkers mbv het oude categoryId
veld werkt weer. Het is wel aanbevolen om over te stappen op het gebruik van categoryIds
.
API call getPurchaseDeliveriesV2
heeft nu de mogelijkheid om een enkele inkooplevering in te lezen op basis van purchaseDeliveryNumber
of extPurchaseDeliveryId
.
Uitbreiding op de calls getPurchaseOrders(V2)
, getPurchaseDeliveries(V2)
, getStockCorrections
, en getTodoLists
, zodat je kunt aangeven dat je de regels van de betreffende objecten niet wilt ontvangen.
getPurchaseOrders(V2).includeLineList
getPurchaseDeliveries(V2).includeLineList
getStockCorrections.includeStockCorrectionLineList
getTodoLists.includeEntries
Dit maakt de calls veel sneller, en kan gebruikt worden voor het tonen van overzichten. Daarnaast worden er nu ook minder queries uitgevoerd als includeLineList
wel aan staat.
Ook zijn de savePurchaseDelivery(V2)
en savePurchaseOrder(V2)
call geoptimaliseerd.
Nieuwe functie createImage
hiermee kunnen images aangemaakt worden die vervolgens aan een artikel of relatie gekoppeld kunnen worden.
LETOP dit werkt alleen als de API geconfigureerd en geautoriseerd is om te verbinden met de Mplus Image Service.
Functie getCurrentSyncMarkersV2
toegevoegd. In deze nieuwe versie kun je kiezen wélke syncMarkers je wilt terugkrijgen ipv. dat standaard álle syncMarkers worden geretourneerd.
De API zet nu de listen port
, api ident
en functie naam
in de application_name
van de database connectie, hierdoor is het beter te herleiden waar belasting van postgresql vandaan komt als je in pg_stat_activity
kijkt.
De application_name
kan ook gelogd worden in de postgresql log. Voeg hiervoor %a
toe aan de log_line_prefix
.
Ondersteuning voor authenticatie van een basic authentication header in plaats van ident en secret in de request parameters van de URL.
De API-call requestNextTableOrderCourseV3
toegevoegd. Deze vereist geen geregistreerde Terminal
.
De "You're trying to move more articles than were in the original order" foutmelding is uitgebreid met de eigenschappen waarop de vergelijking is stukgelopen.
Ondersteuning voor door klant gemaakte multiselectie velden in de diverse routines voor opvragen en bewerken van artikelen, medewerkers en relaties.
Nieuwe calls: getGiftcards en restituteGiftcards
Niet gebruikte database connecties worden na een instelbaar aantal seconden gesloten.
Standaard gebeurd dit na 5 seconden.
getNutritionalCharacteristics
en updateNutritionalCharacteristics
toegevoegd deze hebben de param nutritionalCharacteristicsType
waarmee aangegeven kan worden of het om een artikel of een relatie gaat.
De functie placeTableOrder
ondersteunt nu ook tableDescription
en numberOfGuests
.
De functie placeTableOrder
ondersteunt nu ook tableDescription
en numberOfGuests
.
De functie placeTableOrder
ondersteunt nu ook tableDescription
en numberOfGuests
.
De functie getOverview
heeft nu een property aggregateValues
waarmee aangegeven kan worden dat samengestelde artikelen hun totaalprijs doorgeven.
De functie reportPrintableFinancialTotals
is toegevoegd. Deze functie retourneert de inhoud van het overzicht Financieel > Totalen.
De functie reportArticlePerformance
is toegevoegd. Deze functie retourneert de inhoud van het overzicht Artikelprestatie.
Api calls voor snelknoppen beheer
getButtonLayoutGroupWithAssignedWorkplaces
Hiermee kun je een lijst van beschikbare layouts en de filialen waaraan ze gekoppeld zijn opvragen.
getButtonLayoutGroupDetails
Hiermee kun je op basis van layoutid de tabs en snelknoppen informatie van de layout opvragen.
saveButtonLayoutGroupDetails
Hiermee kun je doorgeven welke wijzigingen er moeten plaats vinden in de tabs of snelknoppen, dit kan door de opgevraagde structuur van getButtonLayoutGroupDetails aan te passen en weer terug te geven. Ook kun je nieuwe layouts aanmaken door tab id 0 en layout id 0 te gebruiken.
deleteButtonLayoutGroup
Hiermee kun je layout verwijderen werkt alleen als er geen werkplekken meer aan gekoppeld zijn. Je krijgt melding terug als je niet aan deze eis voldoet
assignButtonLayoutGroupToWorkplace
Hiermee koppel je een layout aan een of meerdere filiaal/werkpleken
Nieuwe API call getEmployeeAuthorizationSyncMarkers
hiermee kun je de huidige maximale syncmarkers van de autorisatiegroepen en individuele status van de medewerker opvragen. kan gebruikt worden om te bepalen of er iets aan de autorisaties van de medewerker gewijzigd kunnen zijn.
Drie nieuwe API calls voor het inlezen en updaten van de instellingen
getConfigurationTree
getConfigurationValues
updateConfigurationValues
Nieuwe functie savePreparationMethodGroup
hiermee kun je bestaande bereidingswijze groepen updaten of nieuwe aanmaken
Nieuwe functie updateEmployeeAuthorizationGroups
hiermee krijg je voor de meegegeven medewerker de autorisatiegroepen per filiaal instellen.
Nieuwe functie getEmployeeAuthorizationGroups
hiermee krijg je voor de meegegeven medewerker een lijst van filialen en hun ingestelde autorisatiegroep terug.
Nieuwe functie deleteAuthorizationGroup
hiermee kunnen bestaande autorisatie groepen verwijderd worden
Nieuwe functie saveAutorizationGroup
hiermee kunnen bestaande autorisatie groepen gewijzigd of nieuwe aangemaakt worden
Nieuwe functie getFilterProfiles
deze call geeft een lijst van alle active filterprofielen terug.
Nieuwe functie reportPaymentMethodDetails
toegevoegd. Met deze call kun je een lijst van betalingen terug krijgen, van een specifieke betaalwijze over een mee te geven periode.
De functie getOrders
is uitgebreid met een orderTypeList
filter waarmee je nu ook evt. tafelbestellingen en cafetariabonnen kunt uitlezen.
De functie getOrders
is uitgebreid met een orderTypeList
filter waarmee je nu ook evt. tafelbestellingen en cafetariabonnen kunt uitlezen.
Nieuwe functie getTableOrderV3
waarmee je tafeldetails kan opvragen zonder een ns__Terminal
mee te geven.
Nieuwe functie om voedingskenmerken van artikelen mee te wijzigen: updateArticleNutritionalCharacteristics
De functie getArticlesNutritionalCharacteristics
heeft een aanzienlijke performance boost gekregen.
De functies getEmployee
, getEmployees
en findEmployee
retourneren nu ook weer de customFieldList
.
In sommige gevallen kon de melding You're trying to move more articles than were in the original order. optreden als je zowel de inclusief- als de exclusiefprijs van een bestelregel opstuurde naar moveTableOrder
of payTableOrder
.
Dit is de fix voor A77 Pax
getOverview
call is nu sneller en heeft mogelijkheid gekregen om de images in een compacter formaat op te vragen.
Verbeterde foutafhandeling in de createImage
functie.
Duidelijker foutmeldingen en API crasht niet meer als gebruik van Mplus Image Service niet geactiveerd is in de database.
De API-call getPurchaseDeliveries(V2)
retourneert nu evt. ook informatie vanuit de gekoppelde inkoopopdracht, zoals welke uitvoering het betreft.
De API-call savePurchaseDeliveryV2
heeft nu ondersteuning voor het maken van een inkooplevering gebaseerd op een inkoopopdracht. Gebruik hiervoor de extra eigenschap fromPurchaseOrder
. Je moet alle regels van de inkoopopdracht meegeven, of specificeren welke regels je levert via de eigenschap lineNumber
.
Om die laatste flow te ondersteunen, retourneert getPurchaseOrdersV2
nu ook het lineNumber
van elke regel.
Het activiteiten response object heeft nu optioneel twee extra velden die mee terugkomen activityTypeId
en activityTypeDescription
De functie updateArticleGroup
heeft de optie erbij gekregen om een parentGroupNumber
mee te geven, waarmee je de desbetreffende groep kan verplaatsen naar een andere hoofdgroep.
De functie updateGroupAuthorizations
heeft een extra request parameter gekregen updateBehavior
hiermee kun je aangeven wat er met de meegegeven autorisaties moet gebeuren. De mogelijkheden zijn toevoegen aan de groep, of de groep vervangen voor de meegegeven set.
De functie getEmployeeAuthorizations
heeft een extra request parameter gekregen loadOnlyEmployeeSpecificAuthorizations
Hiermee kun je aangeven dat je alleen geïnteresseerd bent in medewerker specifieke autorisaties.
De functie getAutorizationGroups
geeft nu in zijn response ook het filterprofielId
en rankOrder
mee terug.
De functie getReceipts
retourneer nu ook per kassabon het aantal geregistreerde gasten via numberOfGuests
.
De ArticleSpecialPrice PRICE_NOT_FOR_SALE
is toegevoegd (Niet verkoopbaar).
De purchaseBook
functies bestaan nog wel, maar geven direct een foutmelding met verwijziging naar de nieuwe todoList
functies die ter vervanging dienen.
De functie verifyCredentials
zal voortaan eerst kijken of er een exacte match bestaat op het hoofdlettergebruik in de username
, en daarna pas hoofdletters negeren.
Bereidingswijzeteksten werden gewist als ze niet expliciet in API-calls werden meegegeven. Hierdoor ontstonden lege regels op de bestelbonnen, en kreeg je bij het afrekenen de melding You're trying to move more articles than were in the original order.
Dit is de fix voor A77 Pax
Bereidingswijzeteksten werden gewist als ze niet expliciet in API-calls werden meegegeven. Hierdoor ontstonden lege regels op de bestelbonnen, en kreeg je bij het afrekenen de melding You're trying to move more articles than were in the original order.
Dit is de fix voor A77 Pax
In sommige gevallen kon de melding You're trying to move more articles than were in the original order. optreden als je zowel de inclusief- als de exclusiefprijs van een bestelregel opstuurde naar moveTableOrder
of payTableOrder
.
Dit is de fix voor A77 Pax
UpdateProduct: Neemt nu de besteleenheid altijd over naar de standaarduitvoering. De besteleenheid werd niet overgenomen als die nog niet eerder ingevuld was.
fix updateBatch
maakt nu ook uitvoering en uitvoering leverancier records aan.
Probleem verholpen waardoor c:\ProgramData\MplusQservice\global.ini
niet meer gelezen werd.
De inhoud van de velden afleveradres en factuuradres in de getOrders
waren omgewisseld.
Wanneer je via een handheld een tweede menu toevoegde aan een tafel, dan werd de berekende toeslag/korting van het eerste menu vergeten. Dit zal nu goed onthouden worden.
Wanneer er meer dan één custom field in de updateRelation meegegeven was werd alleen de eerste bijgewerkt. Nu zal die ze allemaal bijwerken Hetzelfde probleem was aanwezig in de createArticle, createRelation en createEmployee calls.
Verbetering in getStock
waardoor deze beter om kan gaan met heel veel articleNumbers
in het request.
Verbetering in getStock
waardoor deze beter om kan gaan met heel veel articleNumbers
in het request.
getOverviewFields
heeft er een branchNumber
request parameter bij gekregen zodat de BTW keuzelijst de juiste percentages bevat.
Wordt er geen branchNumber
mee gegeven dan worden de percentages van filiaal 1 nu gebruikt in plaats van landcode 1.
Probleem opgelost in WSDL met onbekend type CategoryIds
.
De functie createAndPayTableOrder
liet altijd de order op de tafel staan, terwijl er wel gewoon een kassabon gemaakt werd.
Verhelpt fout als er in de hostname van de computer waar MplusQservice op draait tekens gebruikt zijn die niet onder standaard 7 bit ASCII vallen.
Feitelijk mag dit niet eens maar blijkt toch voor te kunnen komen op Windows.
Wanneer aan getRelations
een lijst van nummers werd meegegeven als filter retourneerde hij toch alle relaties.
Fix saveOrder
en saveTableOrder
overschrijven niet meer de binnenkomende price
met priceExcl
omgerekend naar inclusief als beide gezet zijn en order inclusief ingesteld is.
Fix saveOrder
en saveTableOrder
overschrijven niet meer de binnenkomende price
met priceExcl
omgerekend naar inclusief als beide gezet zijn en order inclusief ingesteld is.
Problemen opgelost met de verwerking van custom velden bij artikelen, medewerkers en relaties.
Het probleem kon onder andere de volgende melding veroorzaken "The request caused a constraint error in the database, most likely some of the data supplied is incorrect".
De API-call updateNutritionalCharacteristics
gaf soms een foutieve resultaatwaarde:
UPDATE-ARTICLE-NUTRITIONAL-CHARACTERISTICS-RESULT-OK
is nu UPDATE-NUTRITIONAL-CHARACTERISTICS-RESULT-OK
Bij bereidingswijzeteksten die voorzien waren van overbodige witruimte kon het probleem optreden bij betalen en splitsen van tafelbestellingen: You're trying to move more articles than were in the original order.
Bugfix aan de getProposals
call voor "Database error on the server." melding
Bugfix in een aantal order-gerelateerde calls waardoor subregels altijd als samengestelde (COMPONENT) regels werden verwerkt, ipv. bereidingswijzen (PREPARATION).
De diverse artikel, relatie en medewerker functies bij langs geweest zodat ze nu allemaal door klant gemaakte multiselect velden ondersteunen.
Lost het probleem op dat als er vanaf de handheld achter elkaar twee keer hetzelfde artikel besteld wordt op een tafel er voor de tweede geen bestelbon uit de printer komt.
Probleem verholpen waardoor de API niet meer de omzetgroep van de artikelkaart gebruikte wanneer bij het maken van een order geen omzetgroepen opgegeven werden.
lastPageNumber
wordt weer correct berekend
getAuthorizationTree
heeft branchNumber
param erbij gekregen die wordt gebruikt voor modulecheck. Geef je deze niet mee dan komen alle autorisaties nu terug.
Correcte ondersteuning voor vatCountryCode
/vatCountryIso3
in een aantal API-calls:
saveOrder
updateOrder
updateOrderV2
createAndPayTableOrder
placeTableOrder
Probleem opgelost in getProducts
waardoor product.description
soms een UTF-8 karakter bestaande uit meerdere bytes verkeerd afbrak waardoor een ongeldig karakter ontstond.
Bugfix in getAuthorizationTree
niet alle autorisatie items kwamen terug.
Het probleem waardoor API v39.1.* niet goed werkte met de Android BestelApp is nu weer opgelost.
getRelations
kan nu omgaan met meerdere sub-records per relatie, en geeft deze relatie dan niet meerdere keren terug.
getRelations
kan nu omgaan met meerdere sub-records per relatie, en geeft deze relatie dan niet meerdere keren terug.