HAVIK
VERSIE: 6.0.2022Havik
INHOUDSOPGAVE
ALGEMEEN
Functionele wijzigingen
Database velden ten behoeve van food producten
Wij hebben voorbereidend werk uitgevoerd in de database voor het ondersteunen van varianten voor voedsel gerelateerde producten.
CN 22380
2. Geheugenproblemen voorkomen
Met deze wijziging hebben wij diverse geheugenoptimalisaties doorgevoerd aan de ASPOS backend.
3. Upgrade TelerikUI
Met deze wijziging hebben de TelerikUI versie geüpdatet en worden Telerik reports voortaan via de report server gedraaid in plaats van dat er een lokale module voor nodig is. Dit, zodat in de toekomst versies centraal kunnen worden bijgewerkt.
4. Inloggen niet mogelijk maken als het IP-adres niet bekend is
Met deze wijziging is er een check ingebouwd waarbij onbekende IP adressen worden geweerd bij het pogen verbinding te maken met een ASPOS omgeving. Niet-gemachtigde bezoekers zullen voortaan worden doorverwezen naar een 404 pagina waarna het IP adres wordt gelogd.
Voor gebruikers die vervolgens buitengesloten zijn van een omgeving hebben wij voor hen en onze supportafdeling een pagina gebouwd waar het IP adres gecontroleerd kan worden. Dit kan worden gedaan via de url: https://keten.aspos.nl/check
Weergave van de check-pagina
CN 14394
Bugfixes
Caching issue testomgevingen
Wij hebben een bug opgelost bij het ophalen van de stamtabellen op de testomgevingen.
ASPOS SELF-CHECKOUT
Functionele wijzigingen
Wichtbarcodes gebruiken op de self-checkout
Op de zelfscankassa is het vanaf heden mogelijk om gebruik te maken van wichtbarcodes: zowel met de prijs in de barcode als het gewicht in de barcode.
Als er gebruik wordt gemaakt van een barcode met daarin een gewicht of een prijs dan worden op de SCO geen + en - knoppen getoond. Dit, om ervoor te zorgen dat alle barcodes waar een prijs of gewicht in zitten afzonderlijk gescand moeten worden.
Als er een barcode wordt gescand waar een gewicht in zit (wanneer de geavanceerde instelling [POSPriceByBarcode] op "False" staat) dan wordt op basis van het gewicht de prijs berekend. In het aantal veld wordt het gescande gewicht getoond, ook worden de inhoud het product en de prijs per inhoud weergegeven.
Weergave van een wichtartikel waarbij het gewicht in de barcode zit
Wanneer een barcode wordt gescand waarbij de prijs in de barcode staat, wordt de gescande prijs getoond als productprijs. Op basis van deze prijs wordt het gewicht berekend en getoond in het aantal veld. Ook wordt de inhoud van het product getoond en de prijs per inhoud.
Weergave van een wichtartikel waarbij de prijsin de barcode zit
Belangrijk: Op dit moment worden wichtacties nog niet ondersteund op de self-checkout. Deze functionaliteit gaan wij in een later stadium implementeren.
Verder hebben wij een aanpassing doorgevoerd met betrekking tot het aantal en de prijs in de barcode. Dit wordt vanaf heden correct afgehandeld op de SCO en wordt bij de gescande producten naast de totaalprijs per regel ook de stuksprijs van het product getoond.
Weergave van producten met aantallen en prijzen bij de barcode
Weergave van een product waar een stuksprijs op geldt
2. Actie afbeeldingen en -omschrijvingen weergeven
Op de self-checkout worden vanaf heden de actieomschrijving en de actieafbeelding die zijn ingesteld bij een actie weergegeven. De actieomschrijving wordt overgenomen vanuit de kassaomschrijving bij de actie, als deze niet is ingevuld, wordt er teruggevallen op de reguliere omschrijving van de actie. De afbeelding die wordt getoond wordt vanuit het tabblad "extra" bij de actie overgenomen en getoond in de rechterbovenhoek van de afbeelding op de SCO.
CN 22058
ASPOS KASSA
Functionele wijzigingen
Vragen om contactpersoon bij het scannen van een klantcode
Wij hebben een aanpassing verricht in de POS zodat bij het scannen van een klantcode de pop-up voor het selecteren van een contactpersoon naar voren komt.
Weergave van de pop-up op de POS
Verder hebben wij een aanpassing gemaakt in het uitkeren van spaarpunten bij het omzetten van een klantorder naar pakbon.
Deze wijziging bestaat uit 3 delen:
De transactie wordt op de winkel van de pakbon geplaatst waarop punten worden uitgekeerd (niet langer de winkel van de sessie)
De transactie is van type bonuspunten transactie (in plaats van verkoop)
In het geval een verwerkte order naar pakbon gezet wordt en de commerciële order wordt hiermee ook naar pakbon gezet, dan worden de punten nu berekend op basis van de commerciële pakbon
Verder is deze functionaliteit op één plek geplaatst zodat deze ook door ASPOSTasks gebruikt kan worden.
CN 22492
2. Aanpassing weegschaalkoppeling
Om te voorkomen dat een niet-gevalideerde dll gebruikt kan worden hebben wij een aanpassing doorgevoerd op de POS ten behoeve van de "Scan and Scale" koppeling. Wanneer er een niet-gevalideerde dll wordt gebruikt, en er wordt gebruik gemaakt van de weegschaalknoppen, zal de volgende melding verschijnen op het scherm:
Weergave melding bij een niet-gevalideerde dll
Verder hebben wij de sneltoets voor het tonen van de actieve dll's hersteld in de POS. Met de toetsencombinatie [CTRL]+[ALT]+[SHIFT]+[?] kan er een pop-up naar voren worden gehaald om de gegevens in te zien.
Weergave pop-up
CN 22440
3. Aanpassing tabel Klanthistorie
Wij hebben een wijziging doorgevoerd in de POS zodat de tabel voor klant historie op de POS gelijk is aan de tabel op de backoffice. Deze tabel hebben wij in versie Gans aangepast.
Hiermee is het op de POS ook duidelijker bij een verkoop een bestelling en of de transactie is aanbetaald. Hiervoor is de kolom "Betaald" hernoemd naar "Brutobedrag". Naast "Brutobedrag" is er een kolom "Aanbetaling" toegevoegd waarin wordt aangegeven hoeveel er is aanbetaald. Verder is de kolom "Bestelling" toegevoegd waarin wordt aangegeven of het een bestelling is.
CN 22161
4. Berekening afronding
Wij hebben een aanpassing doorgevoerd in de POS zodat afronding en wisselgeld in de transactie zelf worden berekend. Dit zorgt ervoor dat bij een transactie van €20,00 waarvan €19,98 met een giftcard betaald is het restant (€0,02) contant kan worden aangeslagen op de kassa.
CN 1046843
Bugfixes
Gedeeltelijke aanbetaling komt niet door
Op de POS deed zich een probleem voor bij het gedeeltelijk aanbetalen van pakbonnen. Wanneer een aanbetaling werd gedaan via de opties contant of pin, werd deze betaling niet meegenomen bij het doorzetten van de transactie naar pakbon. Dit hebben wij gecorrigeerd.
CN 1047811
2. Narrowcasting
Met deze wijziging hebben wij een "NullReferenceException" opgelost die optrad wanneer er geen vertalingen waren ingevuld in het NarrowCasting welkomsttekstscherm in de backoffice. Tevens is er extra logging toegevoegd om in toekomstige gevallen beter te kunnen debuggen. De debugmodus is in te schakelen door de boolean "LoggingEnabled" op "True" te zetten in het bestand "ASPOSNarrowCasting_v3.exe.config" (te vinden in de NarrowCasting map), de logging zal vervolgens weggeschreven worden naar de bestandsmap "C:\ASPOS\log".
CN 1033961
3. Afronding wisselgeld
In sommige situaties werd wisselgeld bij het afronden van transacties incorrect berekend. Dit probleem hebben wij opgelost.
ASPOS BACKOFFICE
Rapportages
Bugfixes
Klantorders:
Met deze wijziging hebben wij een bug opgelost in het klantorderrapport "TelerikReportCustomerOrdersUdea" waarbij informatie wegviel indien er teveel karakters werden ingevoerd bij het memo-, klantreferentie- of opmerkingsveld. Wij hebben een karakterlimiet ingesteld zodat deze velden niet buiten de marges kunnen treden.
CN 18716
Producten
Functionele wijzigingen
Bestelprofielen: filteren op omschrijving
Binnen ASPOS is het vanaf nu mogelijk om binnen het menupunt "Bestelprofielen" en "Besteladvies" te filteren op de omschrijving van het bestelprofiel. Hiervoor hebben wij een nieuw veld toegevoegd: "Omschrijving". Binnen dit veld is er ook een knop toegevoegd waarmee de ingevoerde omschrijving direct verwijderd kan worden zonder dit handmatig te hoeven doen.
Inkooporders: logo groter tonen op het rapport
Wij hebben een aanpassing verricht op het inkooporderrapport "TelerikReportPurchaseOrdersExternalBV" zodat het bedrijfslogo groter wordt getoond.
Weergave van het rapport
CN 20698
3. Productbeheer: implementatie rechtermuisknop functionaliteit
Binnen het menupunt "Productbeheer" is het vanaf heden, net als in het menupunt "Klantorders", mogelijk om gebruik te maken van de rechtermuisknop op een regel. Wanneer er geklikt wordt op de rechtermuisknop, zal er een contextmenu verschijnen waarin de mogelijke opties die ook in het zijpaneel staan worden getoond.
Voor het gebruik van deze functionaliteit hebben wij twee nieuwe geavanceerde instellingen geïntroduceerd (dit zijn er twee omdat er een maximum aantal opties verwerkt kunnen worden in één instelling):
[ProdAdmShowContextMenu]
[ProdAdmShowContextMenu2]
Om meerdere opties toe te voegen aan het contextmenu dienen de waarden gescheiden te worden door een komma in de instelling. Indien er gebruik wordt gemaakt van de tweede instelling dient de laatst ingevulde waarde in de eerste instelling ook door een komma gescheiden te worden.
Weergave van de functionaliteit
De volgende opties zijn toe te voegen aan het contextmenu met de bijbehorende ID's:
Rapportage PRODUCTREPORTS
Toevoegen, Min/Max, Prijzen, Bestelformule PRODUCTADDEDIT
(Deze knoppen zullen op een later moment uitgesplitst moeten worden)
Export naar Excel PRODUCTSEXPORT
Bewaar selectie PRODUCTSSAVESELECTION
Handelingen geschaard onder de knop opties in het zijpaneel:
Voorraad PRODUCTALLOWSTOCKCHANGE
Historie PRODUCTSTOCKHISTORY
Acties PRODUCTSHOWDISCOUNTS
Prijswijzigingen PRODUCTSHOWPRICECHANGES
Herwaardering PRODUCTALLOWSTOCKVALUECHANGE
Productmelding PRODUCTMESSAGEADDEDIT
Samenvoegen PRODUCTSCOMBINEADDEDIT
Handelingen geschaard onder de knop bulk opties in het zijpaneel:
Prijscodes PRODUCTCHANGEPRICECODE
Productvelden PRODUCTCHANGEDEFAULTSUPPIER
Segmenten PRODUCTCHANGESEGMENT
Min/Max PRODUCTADDEDIT
(Deze knoppen zullen op een later moment uitgesplitst moeten worden)
Bestelformule PRODUCTADDEDIT
(Deze knoppen zullen op een later moment uitgesplitst moeten worden)
Overvoorraad terughalen PRODUCTRETRIEVEOVERSTOCK
Webknopen PRODUCTCONNECTWEBNODES
Labels PRODUCTCREATELABELS
Reset mutatiedatum PRODUCTRESETLASTMUTATIONDATE
Prijzen PRODUCTADDEDIT
(Deze knoppen zullen op een later moment uitgesplitst moeten worden)
Klantorder maken CUSTOMERORDERADDEDIT
CN 15944
4. Leveranciers: toestemming voor export kunnen geven
Binnen het menupunt "Leveranciers" hebben wij een wijziging doorgevoerd waarmee het vanaf heden mogelijk is om op het tabblad "instellingen" aan te kunnen geven of transactiegegevens geëxporteerd mogen worden. Dit bitje heet "exporteer transactiegegevens" en is ook op te halen via NEXT middels de call GET/api/suppliers.
Weergave van het bitje
CN 21498
5. Nieuw type product: variant
Met deze wijziging hebben wij functionaliteit ingebouwd voor een nieuw type product genaamd "Variant". Dit producttype is gemaakt als hoofdartikel om meerdere producten aan te koppelen waarna vervolgens een keuzelijst verschijnt bij het scannen van dit artikel op de POS. Hieronder kunt u een weergave terugvinden van de functionaliteit.
Nadat er producten zijn gekoppeld aan een variantproduct, kunnen deze ook worden opgehaald op de POS wanneer het variantproduct wordt gescand of geselecteerd:
CN 22380
6. Merken: uitbreiding veld "Merkcode
Wijziging doorgevoerd in het menupunt merken zodat in het veld code maximaal 15 karakters ingevuld kunnen worden.
CN 22161
Bugfixes
Prijswijzigingen: doorvoeren werkt niet correct
Wij hebben een bug opgelost die optrad bij het doorvoeren van prijswijzigingen. Bij prijswijzigingen waarvan de bron leeg is, wordt de laatst aangemaakte prijswijziging wordt doorgevoerd bij verwerken.
CN 1045643
2. Productbeheer: foutmelding bij aanmaken kitproducten
Bij het toevoegen van een kitregel bij een product werd er een foutmelding getoond. Deze bug hebben wij opgelost. Hiervoor hebben wij de wijziging voor het toevoegen van relaties middels multitag teruggedraaid.
Menu's kassa
Bugfixes
Menu's: wijzigingen vanaf knoopniveau naar lokaal niveau
Bij het wijzigen van een menupunt vanaf knoopniveau werden de wijzigingen niet doorgevoerd naar de onderliggende niveaus. Met deze wijziging hebben wij dit opgelost: bij het wijzigen van het kassamenu vanaf knoopniveau, worden deze wijzigingen ook op de onderliggende niveaus doorgevoerd.
CN 1045024
Instellingen
Functionele wijzigingen
Nieuw menupunt: Api Clients beheren
In de backoffice is het vanaf heden mogelijk om voor de REST services clients aan te maken of deze te wijzigen. Dit is te doen vanuit het nieuwe menupunt "Api Clients beheren" en kan worden gebruikt als het gebruikersrecht "Api Clients Beheren" aan staat.
Binnen dit nieuwe menupunt worden alle REST clients getoond voor de betreffende omgeving. Hier is het mogelijk om bestaande clients te wijzigen of een nieuwe client aan te maken. Ook kan hier op clients gezocht worden middels de zoekfilter.
Weergave van het nieuwe menupunt
Middels de knop "Toevoegen" is het mogelijk om een nieuwe REST client aan te maken. De volgende gegevens dienen hier te worden opgegeven:
Type client: Hier kan gekozen voor de volgende rollen: Administrator, DataImporter, Webshop. Op basis van deze rollen kan er wel of niet gebruik worden gemaakt van bepaalde endpoints. De administrator rol mag alles. Zie REST documentatie voor meer informatie.
ClientId: Dit is een verplicht veld en moet bestaan uit 2 tot en met 255 karakters. Alleen letters en cijfers worden hierbij ondersteund.
Winkel: Dit is een verplicht veld. De winkel die hier gekozen wordt is het niveau waarop de REST client inlogt.
Nieuw secret aanmaken?: Via deze optie is het mogelijk om voor een bestaande client een nieuwe client secret aan te maken.
Nadat alle verplichte velden ingevuld zijn, en er wordt geklikt op "Opslaan", verschijnt er een pop-up met de automatisch gegenereerde client secret.
Deze client secret wordt eenmalig getoond en is na het sluiten van de pop-up niet meer terug te zien. Deze moet door de gebruiker ergens anders worden opgeslagen.
Met het ingevoerde clientId en verkregen client secret is het nu mogelijk om in te loggen in de rest services van de betreffende omgeving. De tokens die gegeneerd worden op basis van deze clientId en client secret zijn standaard 24 uur geldig. Deze nieuw aangemaakte clients zijn vervolgens terug te zien in het menupunt "Api Clients beheren". Door op een client te klikken in de tabel wordt deze geopend en kan waar nodig een wijziging worden doorgevoerd.
In de REST services hebben wij voor dit nieuwe menupunt de volgende nieuwe endpoints toegevoegd:
GET/api/client-credentials
POST/api/client-credentials
PATCH/api/client-credentials/{id}
CN 14871
Bugfixes
Downloads: printservice kan niet worden gedownload
Binnen het menupunt "Downloads" deed zich een bug voor waardoor de printservice niet kon worden gedownload. Dit hebben wij opgelost: de Prinservice.setup.msi kan weer worden gedownload.
EVL Beheer
Functionele wijzigingen
Caching EVL
Wij hebben een wijziging doorgevoerd in de caching van EVL omdat er problemen optraden bij het openen van EVL.
CN 1049937
Klanten
Functionele wijzigingen
Klantbeheer: afdeling opgeven bij een contact
Wij hebben een aanpassing doorgevoerd in het menupunt "Klantbeheer" bij het toevoegen of wijzigen van contacten. Het veld "Voornaam" hebben wij aangepast naar "Afdeling/voornaam" zodat hier ook een eventuele afdeling kan worden opgegeven.
Weergave van het nieuwe veld
Het veld achternaam blijft een verplicht veld om te voorkomen dat het mogelijk is om "lege" contacten aan te maken.
Hieronder staan enkele voorbeelden van hoe het contact kan worden ingevoerd en hoe dit op de rapportages wordt getoond.
CN 15944
2. Klantbeheer: klanten niet samen kunnen voegen als deze een saldo hebben
Om te voorkomen dat klanten die een punten- of betaalsaldo hebben kunnen worden samengevoegd hebben wij een aanpassing verricht. Als klanten een positief of negatief saldo hebben, kunnen deze niet worden samengevoegd en verschijnt de volgende melding.
Weergave van de melding als er nog een saldo open staat bij het samenvoegen
CN 1047704
3. Klantbeheer: aanpassing kolomweergave
In het menupunt "Klantbeheer" hebben wij de kolom "geboortedatum" verwijderd en vervangen door de optioneel instelbare kolom "contactpersoon" waarin de hoofdcontactpersoon wordt weergeven. Om deze kolom in te schakelen is de geavanceerde instelling [ShowContactCustOverview] geïntroduceerd. Wanneer deze instelling de waarde "True" heeft, zal de nieuwe kolom worden getoond. In het geval dat er meerdere contacten geregistreerd staan onder een klant wordt de weergave bepaald door de gekozen contactpersoon op het tabblad "algemeen" van de klantkaart.
CN 21359
Bugfixes
Klantmailing: eerder uitgevoerde mailings worden niet getoond
Binnen het menupunt "Klantmailing" werden eerder uitgevoerde mailings niet weergegeven. Deze bug hebben wij opgelost, zodat bij het doorlopen van de klantmailing weer een overzicht wordt weergegeven van eerder uitgevoerde klantmailingen.
CN 1047452
Vestigingen
Functionele wijzigingen
Geavanceerde instellingen: verplicht invullen als de instelling een keuzelijst is
Het opgeven van een waarde is vanaf heden verplicht bij geavanceerde instellingen die uit een keuzelijst (dropdown) bestaan. Wanneer een gebruiker probeert om een instelling op te slaan en deze op de optie "maak een keuze" staat, zal er een melding verschijnen met het verzoek om een waarde uit de lijst te selecteren.
2. Kenmerken: nieuwe velden
Op het tabblad "Kenmerken" bij de instellingen van een vestiging hebben wij een vijftal nieuwe velden toegevoegd:
Kenmerk 1
Kenmerk 2
Kenmerk 3
Kenmerk 4
Kenmerk 5
Hier is het mogelijk om vrij invoerbare tekst in te vullen.
Deze velden kunnen vervolgens via de REST services opgehaald worden via de stores endpoints door te expanden met "extendedproperties".
Weergave van de nieuwe velden
CN 22161
Acties
Bugfixes
Mixmatch keuze
Wij hebben een bug opgelost zodat mixmatch acties waarbij 0 als minimum- en maximum keuze aantal is ingesteld, en pas bij specifieke producten de actie mag afgaan bij een X aantal producten dat deze ook correct af gaat naar de ingestelde waarden. Want wat er gebeurde, was dat de actie afging voordat werd voldaan aan de restricties die in de actie zijn ingesteld.
CN 1046301
WEBSHOP
Functionele wijzigingen
Synchronisatieproblemen Channel Engine
Met deze wijziging zijn er synchronisatieproblemen opgelost in de ChannelEngine koppeling. Voortaan wordt in de query voor te verwijderen producten eerst gekeken of er wederom geactiveerde webknopen tussen zitten waarna deze worden bewaard. Als er geen datum is gedefinieerd in de config zal enkel nog 7 dagen terug worden gekeken naar te verwijderen producten. Verder kunnen producten kunnen nu ook in bulk worden verwijderd.
CN 1047627
SERVICES
Functionele wijzigingen
REST: nieuw endpoint voor het controleren van een transactie op retour barcode
Het is nu mogelijk om in de REST services een transactie op te halen op basis van de retourbarcode (Die geprint wordt op de bon). Via het nieuwe endpoint: GET/api/transactions/return-barcode/{barcode} is dit realiseren.
Een retourbarcode bestaat uit 13 karakters: 2 voor de prefix, 4 voor de winkel, 6 voor het transactienummer en één controlegetal. Als er niet wordt voldaan aan de hoeveelheid karakters, wordt de barcode aangevuld met nullen.
Voor de retourbarcode wordt er gekeken naar de volgende geavanceerde instellingen:
[ReturnPrefix]: de retourtransactie moet voldoen aan de hier ingestelde prefix. deze is meestal 99.
[ReturnUseStoreOIDForEan]: Wanneer de setting op "False" staat, wordt voor de winkelposities in de barcode het winkelnummer gebruikt. Als het winkelnummer meer dan vier cijfers bevat dan is deze storeSettings op True zetten waardoor voor de winkel posities in de barcode gebruik wordt gemaakt van het ID van de winkel.
CN 22382
2. REST: GET triggers voor niet-actieve winkels
Bij de trigger endpoints in de REST services werden triggers van niet-actieve winkels voorheen niet weergegeven. Vanaf heden worden deze wel getoond.
CN 22055
3. REST: POST products, extra validaties
Bij het POST/api/products wordt nu bij het aanmaken van een product ook gekeken naar de eventuele ingestelde extra validaties die ingesteld zijn op de productgroep. Bij de productgroep kunnen een tiental extra velden (optioneel) verplicht gesteld worden wanneer er een product wordt aangemaakt voor die betreffende productgroep. Dit is een bestaande ASPOS functionaliteit welke nu ook te gebruiken is in de REST services.
Verder wordt er onderscheid gemaakt tussen een veld dat verplicht is en een veld dat verplicht is en een voor gedefinieerde standaardwaarde heeft.
Voorbeeld 1: productgroep met verplichte velden
Bij voorbeeld 1 zijn alle optionele verplichte velden opgenomen. Dit houdt in dat bij de aanmaak van een product in deze groep ook deze velden verplicht moeten worden meegegeven. Wordt een verplicht veld niet meegegeven dan vind hierop validatie plaats.
Voorbeeld 2: Productgroep met verplichte velden met standaard waarde
Bij voorbeeld 2 zijn alle optionele verplichte velden opgenomen en is er een standaard waarde toegevoegd. Dit houdt in dat bij het aanmaken van een product in deze groep de velden niet verplicht meegegeven hoeven te worden. De velden zijn wel verplicht, maar als deze niet worden meegegeven wordt het product aangemaakt met de standaard waarde die opgegeven is bij het veld.
Daarnaast kan een verplicht veld of een verplicht veld met een standaardwaarde ook gekoppeld worden aan een specifieke subgroep. De validatie vindt dan alleen plaats als de groep en subgroep worden gekozen bij het POST/api/products endpoint
Alle bovenstaande opties zijn te combineren op dezelfde groep. Het is dus mogelijk om op een productgroep een verplicht veld hebben of standaard waarde, maar op een subgroep weer een andere verplicht veld of standaard waarde.
CN 14871
4. REST: nieuwe velden ProductStoreSettings
In de REST services hebben wij de volgende nieuwe velden toegevoegd aan het ProductStoreSettings endpoint:
"discountPrice"
"attentionMemoStartDate"
"attentionMemoEndDate
"attentionMemo"
"discountAllowed"
"bonusPointsStartDate"
"bonusPointsEndDate"
"shelveStatus"
"sellingPriceExclTax" [Kan niet gewijzigd worden]
"sellingPriceInclTax" [Kan niet gewijzigd worden]
"receivingCheckType"
"priceCode"
"priceCodeDescription"
"priceType"
"purchasePrice"
"bonusPointsAllowed"
"listPrice"
"bonusPoints"
"inclTax"
"labelKind"
"assortimentCode"
"assortimentDescription"
"margin"
"orderFormulaDescription"
Deze velden zijn zowel op te halen als te wijzigen via de endpoints: GET api/products/{id}/store-settings/{storeId} en PATCH api/products/{id}/store-settings/{storeId}. Hierbij zijn alleen de velden sellingPriceInclTax en sellingPriceExclTax niet te wijzigen.
Bij het endpoint PATCH api/products/{id}/store-settings/{storeId} is ook de parameter "OverwriteChildStores" toegevoegd. Met deze parameter is het mogelijk om voor een veld ook alle onderliggende winkels direct te wijzigen, mits deze al store-settings hebben.
Voorbeeld:
PATCH api/products/XX/store-settings/X
{
additionalParameters{
overwriteChildStores: true
} ,
"attentionMemo": "XX"
CN 14871
5. REST: Endpoints ten behoeve van productvelden
In de REST services is het vanaf heden mogelijk om productvelden toe te voegen, op te halen, te wijzigen en te verwijderen.
De volgende nieuwe endpoints hebben wij hiervoor toegevoegd:
POST/api/product-fields
PATCH/api/product-fields
DELETE/api/product-fields/{id}
GET/api/product-fields/{id}
Daarnaast is het ook mogelijk om direct bij het endpoint POST/api/products productvelden mee te geven.
CN 14871
6. REST: Retourorder functionaliteit
Vanaf heden is het in de REST services ook mogelijk om een retourorder aan te maken. Dit kan worden gedaan via het bestaande endpoint: POST/api/customer-orders.
Voor de retourorder functionaliteit zijn een drietal nieuwe velden toegevoegd op de customerOrder:
IsReturnOrder: Voor het retouren moet deze waarde op "True" staan. Dit is een verplicht veld voor een retourorder.
ReturnOrderReasonCodeId: Het ID van de redencode van de retour. Deze is op te halen via het endpoint: GET/api/reason-codes onder het type "CustomerOrderReturns". Dit is een verplicht veld voor een retourorder.
SourceCustomerOrderId: Hier moet het ID worden opgegeven van de originele order waarop de retour terugkomt. Dit is een verplicht veld voor een retourorder.
Op de customerOrderLine is het volgende nieuwe veld toegevoegd:
SourceCustomerOrderLineId: Hier moet het ID worden opgegeven van de originele orderregel waarop de retourregel terugkomt. Dit is een verplicht veld voor een retourorder.
In de retourorder worden alleen negatieve aantallen geaccepteerd (bij de velden quantity, todeliverquantity , backorderquantity).
Wanneer een retourorder via het endpoint: POST/api/customer-orders wordt aangemaakt, wordt deze direct gecommit. Het is hierbij niet mogelijk om betalingen toe te voegen. De originele gegevens van de orderregel worden overgenomen op de orderregel van de retourorder. Het is verder ook mogelijk om slechts een deel van een regel retour te nemen. Eventuele spaarpunten, kortingen etc. worden dan opnieuw berekend op basis van het aantal dat teruggenomen wordt.
Het type order (orderType) en magazijn (wareHouse) worden standaard overgenomen van de originele order. De retourorder wordt hier standaard dus ook op aangemaakt. Het is mogelijk om een retourorder op een ander magazijn aan te maken, maar dan moet het warehouseId handmatig worden meegegeven.
Er kan niet meer retour genomen worden dan dat er op de orderregel uitgeleverd is. Verder wordt er ook rekening gehouden met openstaande retourorders die nog niet afgehandeld zijn.
CN 22885
7. REST: validatie variantproducten
In de REST services hebben wij een validatie toegevoegd dat een product van het type "Variant" niet gebruikt mag worden in een cartCalculate, Post transaction en Post customerOrder.
Verder hebben wij een nieuw veld "variantSubCode" toegevoegd die te gebruiken is bij de POST en GET products endpoints.
CN 22380
8. REST: expand en sortering productconnections
Vanaf heden is het in de REST services mogelijk om bij de product endpoints direct het product te expanden met "productConnections".
De productConnections komen nu in REST ook terug op basis van de eventuele sortering die toegepast is in de ASPOS Backoffice bij het product. Hiervoor hebben we in REST ook het nieuwe veld "sortOrder" toegevoegd bij productConnections.
CN 22380
9. Aanpassing synchronisatie webnodes
Met deze wijziging wordt onder het endpoint /api/sync/web-products voortaan ook gekeken naar het OID van de winkel bij het synchroniseren van de webnodes zodat artikelen die lokaal door andere winkels zijn aangemaakt niet meer worden opgehaald.
CN 1048156
10. Uitbreiding PATCH /api/products/{id}/store-settings/{storeId}
In de REST services bij het endpoint PATCH/api/products/{id}/store-settings/{storeId} is het nu ook mogelijk om de voorkeursleverancier aan te passen. Dit, middels het veld "preferredSupplierId"
Het veld "preferredSupplierId" komt hiermee ook terug bij het endpoint GET/api/products/{id}/store-settings.
CN 14394
11. REST: winkeltype en locatietype ophalen
In de REST services bij de GET api/stores endpoints worden nu ook de velden "Winkeltype" en "Locatietype" opgehaald.
De benamingen van deze velden in REST zijn als volgt:
Winkeltype: Type
Locatietype: locationType
CN 21987
12. Uitbreiding GET kit
Wij hebben ter uitbreiding van het GET products/{id}/kits endpoint de volgende variabelen toegevoegd:
MinimumQuantity
MaximumQuantity
SortOrder
IsVisible
CN 22380
13. Cache invalideren bij het uitvoeren van PATCH/api/products/{id}/store-settings/{storeId}
Bij het aanpassen van een veld via het endpoint PATCH/api/products/{id}/store-settings/{storeId} werd de cache van het product niet geïnvalideerd. Wanneer het product werd opgevraagd werd nog de oude waarde getoond totdat de cache automatisch verliep. Nu wordt direct na het aanpassen van een veld via het het endpoint PATCH/api/products/{id}/store-settings/{storeId} de cache van het product aangepast waardoor het geüpdatete product terugkomt.
CN 14394
14. REST: aanpassing restrictie min/max
In de REST services was het bij het endpoint POST/api/products/{id}/UpdateMinMax niet mogelijk om een lager maximumStock aantal op te geven dan het minimumStock aantal. Deze restrictie is nu weggehaald zodat dit naar de huidige werking van ASPOS zal opereren.
CN 14394