Reflex 3000 Web API
Web API gebruikersrechten toekennen aan Reflex-gebruikers
Reflex-gebruikers hebben toegang tot een scala aan rechten binnen het Reflex 3000-pakket. Ze kunnen ook Web API-rechten krijgen, die alleen via een Web API kunnen worden bekeken, aangemaakt, verwijderd of gewijzigd. Applicaties zoals Swagger of Postman kunnen hiervoor worden gebruikt.
Web API-rechten toewijzen
Om Web API-rechten aan een Reflex-gebruiker toe te wijzen, moet je ingelogd zijn als een gebruiker met de juiste rechten, zoals een administrator. Via deze inlog kunnen Web API-rechten aan willekeurige gebruikers worden toegewezen of verwijderd. We gebruiken Swagger om dit proces te demonstreren:
- Log in bij Swagger met een gebruiker die Web API-gebruikersrechten kan aanpassen. In dit voorbeeld gebruiken we de admin-gebruiker.
- Ga naar het onderdeel ReflexUser voor het beheren van gebruikersrechten.

Controleren op specifieke rechten
Om te controleren of een Reflex-gebruiker een specifiek recht heeft, gebruik je het volgende Web API Endpoint:

Vul het gebruikersnummer in en selecteer Execute.

In het Response-gedeelte worden alle eigenschappen, instellingen en rechten van de gebruiker weergegeven. De Web API-rechten staan bovenaan.

Gebruik de kopieer naar klembord knop om alle gegevens naar een kladblok te kopiëren, zodat je eenvoudig kunt zoeken naar specifieke rechten.
We zoeken naar SaleArticle.Get. Hij vindt hem meerdere keren, maar deze zoeken we:

Deze gebruiker heeft het recht.

Rechten toewijzen aan een nieuwe gebruiker
Log in als admin en ga naar het EndPoint:

Gebruik de volgende minimale gegevens om een gebruiker met één recht voor Web API SaleArticle.Get aan te maken:
{
"permissions": [
{
"identifier": "permission://SaleArticle.Get"
}
],
"password": "reflex",
"number": 16,
"logOnName": "PIETJE1",
"fullName": "pietje puk"
} Meerdere rechten toewijzen aan een bestaande gebruiker
Wanneer je meerdere rechten wilt toewijzen aan een bestaande gebruiker, zorg er dan voor dat je ook de bestaande rechten meeneemt, aangezien het gehele blok aan rechten wordt vervangen.
Let op: Neem altijd de bestaande rechten mee om verlies van rechten te voorkomen.
Voorbeeld van een gebruiker die alle rechten op verkoopartikelen krijgt:
{
"permissions": [
{
"identifier": "permission://SaleArticle.Get"
},
{
"identifier": "permission://SaleArticle.Create"
},
{
"identifier": "permission://SaleArticle.Update"
},
{
"identifier": "permission://SaleArticle.Delete"
}
],
"password": "reflex",
"number": 16,
"logOnName": "PIETJE1"
} Rechten verwijderen van een bestaande gebruiker
Om rechten van een gebruiker te verwijderen, vraag je eerst de rechten op via ReflexUser GET. Verwijder de ongewenste rechten en gebruik de aangepaste lijst in ReflexUser PUT. Hier is een voorbeeld van een DTO met een leeg permissions-veld:
{
"permissions": [ ],
"password": "reflex",
"number": 16,
"logOnName": "PIETJE1"
} Aandachtspunten bij het gebruik van Swagger
- Selecteer Try it out aan de rechterzijde voordat je een endpoint kunt gebruiken.
- Als je kunt inloggen in Reflex, kun je ook inloggen bij Swagger.
- Een DTO moet nauwkeurig zijn met komma’s aan het einde van regels; een extra komma kan problemen veroorzaken. Bij de laatste variabele in een lijst tussen { } moet geen komma staan.
- Web API-rechten blijven bij een gebruiker als deze in Reflex wordt verwijderd; rechten worden alleen verwijderd als de gebruiker via de Web API wordt verwijderd.
- Server responses:
- 200: Succesvol uitgevoerd met informatie.
- 204: Succesvol uitgevoerd zonder verdere informatie.
- 403: Geen recht om dit endpoint uit te voeren.
- 401: Automatisch uitgelogd na een kwartier inactiviteit.
Lijst met Web API gebruikersrechten
"identifier": "permission://WssDepartment.Get",
"identifier": "permission://WssDepartment.Create",
"identifier": "permission://WssDepartment.Update",
"identifier": "permission://WssDepartment.Delete",
"identifier": "permission://ConsumerGroup.Get",
"identifier": "permission://ConsumerGroup.Create",
"identifier": "permission://ConsumerGroup.Update",
"identifier": "permission://ConsumerGroup.Delete",
"identifier": "permission://LabelingMachineLabel.Get",
"identifier": "permission://LabelingMachineLabel.Create",
"identifier": "permission://LabelingMachineLabel.Update",
"identifier": "permission://LabelingMachineLabel.Delete",
"identifier": "permission://Webshop.Get",
"identifier": "permission://Webshop.Create",
"identifier": "permission://Webshop.Update",
"identifier": "permission://Webshop.Delete",
"identifier": "permission://ReflexUser.Get",
"identifier": "permission://ReflexUser.Create",
"identifier": "permission://ReflexUser.Update",
"identifier": "permission://ReflexUser.Delete",
"identifier": "permission://WssUser.Get",
"identifier": "permission://WssUser.Create",
"identifier": "permission://WssUser.Update",
"identifier": "permission://WssUser.Delete",
"identifier": "permission://CaptureRegion.Get",
"identifier": "permission://CaptureRegion.Create",
"identifier": "permission://CaptureRegion.Update",
"identifier": "permission://CaptureRegion.Delete",
"identifier": "permission://FishingGear.Get",
"identifier": "permission://FishingGear.Create",
"identifier": "permission://FishingGear.Update",
"identifier": "permission://FishingGear.Delete",
"identifier": "permission://LotDefinition.Get",
"identifier": "permission://LotDefinition.Create",
"identifier": "permission://LotDefinition.Update",
"identifier": "permission://LotDefinition.Delete",
"identifier": "permission://Lot.Get",
"identifier": "permission://Lot.Create",
"identifier": "permission://Lot.Update",
"identifier": "permission://Lot.Delete",
"identifier": "permission://Pallet.Get",
"identifier": "permission://StockLocation.Get",
"identifier": "permission://StockLocation.Create",
"identifier": "permission://StockLocation.Update",
"identifier": "permission://StockLocation.Delete",
"identifier": "permission://StockMutationReason.Get",
"identifier": "permission://StockMutationReason.Create",
"identifier": "permission://StockMutationReason.Update",
"identifier": "permission://StockMutationReason.Delete",
"identifier": "permission://DynamicFieldSettings.Get",
"identifier": "permission://DynamicFieldSettings.Delete",
"identifier": "permission://DynamicFieldSettings.Create",
"identifier": "permission://DynamicFieldSettings.Update",
"identifier": "permission://EntityChangeLog.Get",
"identifier": "permission://HaccpQuestionForm.Get",
"identifier": "permission://HaccpQuestionForm.Create",
"identifier": "permission://HaccpQuestionForm.Update",
"identifier": "permission://HaccpQuestionForm.Delete",
"identifier": "permission://PurchaseShortageReason.Get",
"identifier": "permission://PurchaseShortageReason.Create",
"identifier": "permission://PurchaseShortageReason.Update",
"identifier": "permission://PurchaseShortageReason.Delete",
"identifier": "permission://ShortageReason.Get",
"identifier": "permission://ShortageReason.Create",
"identifier": "permission://ShortageReason.Update",
"identifier": "permission://ShortageReason.Delete",
"identifier": "permission://SpecialBranch.Get",
"identifier": "permission://SpecialBranchMutation.Get",
"identifier": "permission://SpecialBranchMutation.Delete",
"identifier": "permission://TagName.Get",
"identifier": "permission://TagName.Create",
"identifier": "permission://TagName.Update",
"identifier": "permission://TagName.Delete",
"identifier": "permission://Representative.Get",
"identifier": "permission://Representative.Create",
"identifier": "permission://Representative.Update",
"identifier": "permission://Representative.Delete",
"identifier": "permission://Customer.Get",
"identifier": "permission://Customer.Create",
"identifier": "permission://Customer.Update",
"identifier": "permission://Customer.Delete",
"identifier": "permission://Address.Get",
"identifier": "permission://Address.Create",
"identifier": "permission://Address.Update",
"identifier": "permission://Address.Delete",
"identifier": "permission://ContactGroup.Get",
"identifier": "permission://ContactGroup.Create",
"identifier": "permission://ContactGroup.Update",
"identifier": "permission://ContactGroup.Delete",
"identifier": "permission://MarketSector.Get",
"identifier": "permission://MarketSector.Create",
"identifier": "permission://MarketSector.Update",
"identifier": "permission://MarketSector.Delete",
"identifier": "permission://Organization.Get",
"identifier": "permission://Organization.Create",
"identifier": "permission://Organization.Update",
"identifier": "permission://Organization.Delete",
"identifier": "permission://Relation.Get",
"identifier": "permission://Relation.Create",
"identifier": "permission://Relation.Update",
"identifier": "permission://Relation.Delete",
"identifier": "permission://SubOrganization.Get",
"identifier": "permission://SubOrganization.Create",
"identifier": "permission://SubOrganization.Update",
"identifier": "permission://SubOrganization.Delete",
"identifier": "permission://Supplier.Get",
"identifier": "permission://Supplier.Create",
"identifier": "permission://Supplier.Update",
"identifier": "permission://Supplier.Delete",
"identifier": "permission://Recipe.Get",
"identifier": "permission://Recipe.Create",
"identifier": "permission://Recipe.Update",
"identifier": "permission://Recipe.Delete",
"identifier": "permission://Allergen.Get",
"identifier": "permission://Allergen.Create",
"identifier": "permission://Allergen.Update",
"identifier": "permission://Allergen.Delete",
"identifier": "permission://BaseMaterial.Get",
"identifier": "permission://BaseMaterial.Create",
"identifier": "permission://BaseMaterial.Update",
"identifier": "permission://BaseMaterial.Delete",
"identifier": "permission://Categorial.Get",
"identifier": "permission://Categorial.Create",
"identifier": "permission://Categorial.Update",
"identifier": "permission://Categorial.Delete",
"identifier": "permission://MeatType.Get",
"identifier": "permission://MeatType.Create",
"identifier": "permission://MeatType.Update",
"identifier": "permission://MeatType.Delete",
"identifier": "permission://Nutritional.Get",
"identifier": "permission://Nutritional.Create",
"identifier": "permission://Nutritional.Update",
"identifier": "permission://Nutritional.Delete",
"identifier": "permission://ProductType.Get",
"identifier": "permission://ProductType.Create",
"identifier": "permission://ProductType.Update",
"identifier": "permission://ProductType.Delete",
"identifier": "permission://RecipeCost.Get",
"identifier": "permission://RecipeCost.Create",
"identifier": "permission://RecipeCost.Update",
"identifier": "permission://RecipeCost.Delete",
"identifier": "permission://RecipeGroup.Get",
"identifier": "permission://RecipeGroup.Create",
"identifier": "permission://RecipeGroup.Update",
"identifier": "permission://RecipeGroup.Delete",
"identifier": "permission://ProductSpecificationCategory.Get",
"identifier": "permission://ProductSpecificationCategory.Create",
"identifier": "permission://ProductSpecificationCategory.Update",
"identifier": "permission://ProductSpecificationCategory.Delete",
"identifier": "permission://ProductSpecificationFixedText.Get",
"identifier": "permission://ProductSpecificationFixedText.Create",
"identifier": "permission://ProductSpecificationFixedText.Update",
"identifier": "permission://ProductSpecificationFixedText.Delete",
"identifier": "permission://ProductSpecificationLine.Get",
"identifier": "permission://ProductSpecificationLine.Create",
"identifier": "permission://ProductSpecificationLine.Update",
"identifier": "permission://ProductSpecificationLine.Delete",
"identifier": "permission://ProductSpecificationMainCategory.Get",
"identifier": "permission://ProductSpecificationMainCategory.Create",
"identifier": "permission://ProductSpecificationMainCategory.Update",
"identifier": "permission://ProductSpecificationMainCategory.Delete",
"identifier": "permission://ProductSpecificationUnit.Get",
"identifier": "permission://ProductSpecificationUnit.Create",
"identifier": "permission://ProductSpecificationUnit.Update",
"identifier": "permission://ProductSpecificationUnit.Delete",
"identifier": "permission://BatchSeparator.Get",
"identifier": "permission://BatchSeparator.Create",
"identifier": "permission://BatchSeparator.Update",
"identifier": "permission://BatchSeparator.Delete",
"identifier": "permission://ProductionFlexFilterLine.Get",
"identifier": "permission://ProductionMachine.Get",
"identifier": "permission://ProductionMachine.Create",
"identifier": "permission://ProductionMachine.Update",
"identifier": "permission://ProductionMachine.Delete",
"identifier": "permission://ProductionPlanningFilter.Get",
"identifier": "permission://ProductionPlanningFilter.Create",
"identifier": "permission://ProductionPlanningFilter.Update",
"identifier": "permission://ProductionPlanningFilter.Delete",
"identifier": "permission://ProductionPlanningGroup.Get",
"identifier": "permission://ProductionPlanningGroup.Create",
"identifier": "permission://ProductionPlanningGroup.Update",
"identifier": "permission://ProductionPlanningGroup.Delete",
"identifier": "permission://ProductionStep.Get",
"identifier": "permission://ProductionStep.Create",
"identifier": "permission://ProductionStep.Update",
"identifier": "permission://ProductionStep.Delete",
"identifier": "permission://ProductionTask.Get",
"identifier": "permission://ProductionTaskOutputLine.Registration",
"identifier": "permission://ProductionTaskInputLine.Update",
"identifier": "permission://ProductionTaskOutputLine.DeleteRegistration",
"identifier": "permission://ProductionTaskInputLine.DeleteRegistration",
"identifier": "permission://ProductionTaskOutputLine.UpdateRegistration",
"identifier": "permission://ProductionTaskInputLine.UpdateRegistration",
"identifier": "permission://HistoricalPackingSlip.Get",
"identifier": "permission://HistoricalSaleInvoice.Get",
"identifier": "permission://HistoricalSaleOrder.Get",
"identifier": "permission://SaleOrderConfirmation.Get",
"identifier": "permission://SaleOrder.Print",
"identifier": "permission://EngineTask.Get",
"identifier": "permission://PublishedFile.Get",
"identifier": "permission://Language.Get",
"identifier": "permission://Language.Create",
"identifier": "permission://Language.Update",
"identifier": "permission://Language.Delete",
"identifier": "permission://HistoricPackingSlip.Get",
"identifier": "permission://SaleArticleCustomerAgreement.Get",
"identifier": "permission://SaleArticleCustomerAgreement.Create",
"identifier": "permission://SaleArticleCustomerAgreement.Update",
"identifier": "permission://SaleArticleCustomerAgreement.Delete",
"identifier": "permission://SaleArticlePriceListAgreement.Get",
"identifier": "permission://SaleArticlePriceListAgreement.Create",
"identifier": "permission://SaleArticlePriceListAgreement.Update",
"identifier": "permission://SaleArticlePriceListAgreement.Delete",
"identifier": "permission://SaleSpecialOfferAlternativeArticle.Get",
"identifier": "permission://SaleSpecialOfferAlternativeArticle.Create",
"identifier": "permission://SaleSpecialOfferAlternativeArticle.Update",
"identifier": "permission://SaleSpecialOfferAlternativeArticle.Delete",
"identifier": "permission://SaleSpecialOfferSaleArticle.Get",
"identifier": "permission://SaleSpecialOfferSaleArticle.Create",
"identifier": "permission://SaleSpecialOfferSaleArticle.Update",
"identifier": "permission://SaleSpecialOfferSaleArticle.Delete",
"identifier": "permission://SalePrice.Get",
"identifier": "permission://ConsumerPrice.Get",
"identifier": "permission://PurchasePrice.Get",
"identifier": "permission://DiscountGroup.Get",
"identifier": "permission://DiscountGroup.Create",
"identifier": "permission://DiscountGroup.Update",
"identifier": "permission://DiscountGroup.Delete",
"identifier": "permission://PriceList.Get",
"identifier": "permission://PriceList.Create",
"identifier": "permission://PriceList.Update",
"identifier": "permission://PriceList.Delete",
"identifier": "permission://PurchaseArticleSupplierAgreement.Get",
"identifier": "permission://PurchaseArticleSupplierAgreement.Create",
"identifier": "permission://PurchaseArticleSupplierAgreement.Update",
"identifier": "permission://PurchaseArticleSupplierAgreement.Delete",
"identifier": "permission://PurchaseSpecialOffer.Get",
"identifier": "permission://PurchaseSpecialOffer.Create",
"identifier": "permission://PurchaseSpecialOffer.Update",
"identifier": "permission://PurchaseSpecialOffer.Delete",
"identifier": "permission://SaleGroupPriceMutation.Get",
"identifier": "permission://SaleGroupPriceMutation.Create",
"identifier": "permission://SaleGroupPriceMutation.Update",
"identifier": "permission://SaleGroupPriceMutation.Delete",
"identifier": "permission://SpecialOfferFolder.Get",
"identifier": "permission://SpecialOfferFolder.Create",
"identifier": "permission://SpecialOfferFolder.Update",
"identifier": "permission://SpecialOfferFolder.Delete",
"identifier": "permission://DeliveryRoute.Get",
"identifier": "permission://DeliveryRoute.Create",
"identifier": "permission://DeliveryRoute.Update",
"identifier": "permission://DeliveryRoute.Delete",
"identifier": "permission://DeliveryMethod.Get",
"identifier": "permission://DeliveryMethod.Create",
"identifier": "permission://DeliveryMethod.Update",
"identifier": "permission://DeliveryMethod.Delete",
"identifier": "permission://Dock.Get",
"identifier": "permission://Dock.Create",
"identifier": "permission://Dock.Update",
"identifier": "permission://Dock.Delete",
"identifier": "permission://Transporter.Get",
"identifier": "permission://Transporter.Create",
"identifier": "permission://Transporter.Update",
"identifier": "permission://Transporter.Delete",
"identifier": "permission://LabelPrinter.Get",
"identifier": "permission://LabelPrinter.Create",
"identifier": "permission://LabelPrinter.Update",
"identifier": "permission://LabelPrinter.Delete",
"identifier": "permission://FlexConfiguration.Get",
"identifier": "permission://EWeighingMachine.Get",
"identifier": "permission://EWeighingMachine.Create",
"identifier": "permission://EWeighingMachine.Update",
"identifier": "permission://EWeighingMachine.Delete",
"identifier": "permission://PointOfSaleCorrectionReason.Get",
"identifier": "permission://PointOfSaleCorrectionReason.Create",
"identifier": "permission://PointOfSaleCorrectionReason.Update",
"identifier": "permission://PointOfSaleCorrectionReason.Delete",
"identifier": "permission://PointOfSale.Get",
"identifier": "permission://PointOfSale.Create",
"identifier": "permission://PointOfSale.Update",
"identifier": "permission://PointOfSale.Delete",
"identifier": "permission://WpuSelectionRuleGroup.Get",
"identifier": "permission://WpuSelectionRuleGroup.Create",
"identifier": "permission://WpuSelectionRuleGroup.Update",
"identifier": "permission://WpuSelectionRuleGroup.Delete",
"identifier": "permission://ScanCategory.Get",
"identifier": "permission://ScanCategory.Create",
"identifier": "permission://ScanCategory.Update",
"identifier": "permission://ScanCategory.Delete",
"identifier": "permission://Country.Get",
"identifier": "permission://Country.Create",
"identifier": "permission://Country.Update",
"identifier": "permission://Country.Delete",
"identifier": "permission://Currency.Get",
"identifier": "permission://Currency.Create",
"identifier": "permission://Currency.Update",
"identifier": "permission://Currency.Delete",
"identifier": "permission://FlexCountry.Get",
"identifier": "permission://FlexCountry.Create",
"identifier": "permission://FlexCountry.Update",
"identifier": "permission://FlexCountry.Delete",
"identifier": "permission://CallCause.Get",
"identifier": "permission://CallCause.Create",
"identifier": "permission://CallCause.Update",
"identifier": "permission://CallCause.Delete",
"identifier": "permission://CallResolution.Get",
"identifier": "permission://CallResolution.Create",
"identifier": "permission://CallResolution.Update",
"identifier": "permission://CallResolution.Delete",
"identifier": "permission://CallType.Get",
"identifier": "permission://CallType.Create",
"identifier": "permission://CallType.Update",
"identifier": "permission://CallType.Delete",
"identifier": "permission://CalculationCost.Get",
"identifier": "permission://CalculationCost.Create",
"identifier": "permission://CalculationCost.Update",
"identifier": "permission://CalculationCost.Delete",
"identifier": "permission://CalculationGroup.Get",
"identifier": "permission://CalculationGroup.Create",
"identifier": "permission://CalculationGroup.Update",
"identifier": "permission://CalculationGroup.Delete",
"identifier": "permission://HistoricSaleInvoice.Get",
"identifier": "permission://SaleReturnReason.Get",
"identifier": "permission://SaleReturnReason.Create",
"identifier": "permission://SaleReturnReason.Update",
"identifier": "permission://SaleReturnReason.Delete",
"identifier": "permission://SaleOrderReturn.Create",
"identifier": "permission://CreditReason.Get",
"identifier": "permission://CreditReason.Create",
"identifier": "permission://CreditReason.Update",
"identifier": "permission://CreditReason.Delete",
"identifier": "permission://PaymentCondition.Get",
"identifier": "permission://PaymentCondition.Create",
"identifier": "permission://PaymentCondition.Update",
"identifier": "permission://PaymentCondition.Delete",
"identifier": "permission://PaymentMethod.Get",
"identifier": "permission://PaymentMethod.Create",
"identifier": "permission://PaymentMethod.Update",
"identifier": "permission://PaymentMethod.Delete",
"identifier": "permission://SaleInvoiceStatus.Get",
"identifier": "permission://SaleInvoiceStatus.Create",
"identifier": "permission://SaleInvoiceStatus.Update",
"identifier": "permission://SaleInvoiceStatus.Delete",
"identifier": "permission://HistoricSaleOrder.Get",
"identifier": "permission://SaleOrderPattern.Get",
"identifier": "permission://SaleOrderPattern.Create",
"identifier": "permission://SaleOrderPattern.Update",
"identifier": "permission://SaleOrderPattern.Delete",
"identifier": "permission://OrderCharacteristic.Get",
"identifier": "permission://OrderCharacteristic.Create",
"identifier": "permission://OrderCharacteristic.Update",
"identifier": "permission://OrderCharacteristic.Delete",
"identifier": "permission://PurchaseOrderFormula.Get",
"identifier": "permission://PurchaseOrderFormula.Create",
"identifier": "permission://PurchaseOrderFormula.Update",
"identifier": "permission://PurchaseOrderFormula.Delete",
"identifier": "permission://PurchaseOrderGroup.Get",
"identifier": "permission://PurchaseOrderGroup.Create",
"identifier": "permission://PurchaseOrderGroup.Update",
"identifier": "permission://PurchaseOrderGroup.Delete",
"identifier": "permission://PurchaseOrderPatternHeader.Get",
"identifier": "permission://PurchaseOrderPatternHeader.Create",
"identifier": "permission://PurchaseOrderPatternHeader.Update",
"identifier": "permission://PurchaseOrderPatternHeader.Delete",
"identifier": "permission://SaleOrder.Get",
"identifier": "permission://SaleOrder.Create",
"identifier": "permission://SaleOrder.Update",
"identifier": "permission://SaleOrder.Delete",
"identifier": "permission://CustomerSaleArticle.Get",
"identifier": "permission://CustomerSaleArticle.Create",
"identifier": "permission://CustomerSaleArticle.Update",
"identifier": "permission://CustomerSaleArticle.Delete",
"identifier": "permission://Material.Get",
"identifier": "permission://Material.Create",
"identifier": "permission://Material.Update",
"identifier": "permission://Material.Delete",
"identifier": "permission://PurchaseArticleGroup.Create",
"identifier": "permission://PurchaseArticleGroup.Update",
"identifier": "permission://PurchaseArticleGroup.Delete",
"identifier": "permission://PurchaseArticle.Get",
"identifier": "permission://PurchaseArticle.Create",
"identifier": "permission://PurchaseArticle.Update",
"identifier": "permission://PurchaseArticle.Delete",
"identifier": "permission://PurchaseArticleOrderGroup.Get",
"identifier": "permission://PurchaseArticleOrderGroup.Create",
"identifier": "permission://PurchaseArticleOrderGroup.Update",
"identifier": "permission://PurchaseArticleOrderGroup.Delete",
"identifier": "permission://SaleArticleGroup.Get",
"identifier": "permission://SaleArticleGroup.Create",
"identifier": "permission://SaleArticleGroup.Update",
"identifier": "permission://SaleArticleGroup.Delete",
"identifier": "permission://SaleArticleMainGroup.Get",
"identifier": "permission://SaleArticleMainGroup.Create",
"identifier": "permission://SaleArticleMainGroup.Update",
"identifier": "permission://SaleArticleMainGroup.Delete",
"identifier": "permission://SaleArticle.Get",
"identifier": "permission://SaleArticle.Create",
"identifier": "permission://SaleArticle.Update",
"identifier": "permission://SaleArticle.Delete",
"identifier": "permission://SaleArticleProductionGroup.Get",
"identifier": "permission://SaleArticleProductionGroup.Create",
"identifier": "permission://SaleArticleProductionGroup.Update",
"identifier": "permission://SaleArticleProductionGroup.Delete",
"identifier": "permission://SaleArticleSubGroup.Get",
"identifier": "permission://SaleArticleSubGroup.Create",
"identifier": "permission://SaleArticleSubGroup.Update",
"identifier": "permission://SaleArticleSubGroup.Delete",
"identifier": "permission://SubstituteGroup.Get",
"identifier": "permission://SubstituteGroup.Create",
"identifier": "permission://SubstituteGroup.Update",
"identifier": "permission://SubstituteGroup.Delete",
"identifier": "permission://SupplierPurchaseArticle.Get",
"identifier": "permission://SupplierPurchaseArticle.Create",
"identifier": "permission://SupplierPurchaseArticle.Update",
"identifier": "permission://SupplierPurchaseArticle.Delete",
"identifier": "permission://Administration.EnableComprehensiveLogging",
"identifier": "permission://AdministrationBranch.Get",
"identifier": "permission://AdministrationBranch.Create",
"identifier": "permission://AdministrationBranch.Update",
"identifier": "permission://AdministrationBranch.Delete",
"identifier": "permission://MultiBranch.Get",
"identifier": "permission://MultiBranch.Create",
"identifier": "permission://MultiBranch.Update",
"identifier": "permission://MultiBranch.Delete",
"identifier": "permission://AccountingPeriod.Get",
"identifier": "permission://AccountingPeriod.Create",
"identifier": "permission://AccountingPeriod.Update",
"identifier": "permission://AccountingPeriod.Delete",
"identifier": "permission://VatScenario.Get",
"identifier": "permission://VatScenario.Create",
"identifier": "permission://VatScenario.Update",
"identifier": "permission://VatScenario.Delete",
"identifier": "permission://common.integrationsmanagement",
"identifier": "permission://webhooks.webhookeventmanagement",
"identifier": "permission://webhooks.webhookmanagement" API-gebruikers beheren via Postman
API-gebruikers zijn reguliere Reflex-gebruikers met extra rechten voor het aanspreken van functies via de WebAPI van Reflex 3000. Deze rechten verkrijgen ze doordat ze oorspronkelijk zijn aangemaakt via diezelfde WebAPI.
Voor het beheren van deze API-gebruikers zijn de volgende zaken nodig:
- Inloggegevens om in te loggen als een administrator. Normaal gesproken is dit gebruiker nummer 1 met als credentials:
REFLEX / ADMIN. - Een tool waarmee je requests kunt uitvoeren naar de WebAPI. In dit document gebruiken we Postman.
API-definities gebruiken om Postman te configureren
Als je met een browser naar de /swagger resource van jouw WebAPI-endpoint gaat, krijg je een leesbare vorm van de API-documentatie te zien. In dit voorbeeld is het endpoint het IP-adres 192.168.42.168 met poort 8902.

De eerste hyperlink op die pagina (rood kader in bovenstaande afbeelding) toont dezelfde documentatie in JSON-formaat.

Dit JSON-bestand kun je opslaan als tekstbestand en vervolgens importeren in Postman.


Bearer-token verkrijgen en gebruiken in Postman
Elke request naar de WebAPI moet voor authenticatie en autorisatie voorzien zijn van een Bearer-token. De eenvoudigste manier om Postman te configureren zodat deze bij een request zo’n token meestuurt, is door in het Authorization tabblad van de request het Token veld in te vullen.

Dit token kun je verkrijgen door in de Swagger UI de authorize functie te gebruiken.


Na het succesvol uitvoeren van de autorisatie kun je bij de voorbeeldrequests in de Swagger UI het token zien.


Een API-gebruiker toevoegen
Om een API-gebruiker toe te voegen, kun je de POST-request naar de /ReflexUser gebruiken.
Vergeet niet het token in te vullen in het Authorize tabblad!

Na succesvolle uitvoering van deze request kun je de gebruiker ook zien in het gebruikersbestand van Reflex 3000.


RAS-instellingen voor de WebAPI
Windows Services
Op de server waar de RAS-applicatie geïnstalleerd staat, kun je in het Windows Services-configuratieonderdeel van Windows een groot aantal RAS-services vinden. Per administratie moet er een aparte RAS-service gestart zijn.

Configuratie in Reflex 3000
In het menuonderdeel Diversen > Diversen > Pakket Instellingen > Tabblad Div. vind je het onderdeel Reflex Application Server.

Gebruik de Config knop om het IP-adres en de poort in te stellen. In deze configuratie-instellingen kun je ook de WebAPI activeren.

Door je wijzigingen op te slaan en daarna het configuratiescherm te sluiten, kun je de Test functie gebruiken om te controleren of de RAS goed draait en bereikbaar is.