Hi,
Using 10.23, I got some unexpected behavior in the dwapi/ecommerce/search endpoint /dwapi/docs/index.html?url=/dwapi/api.json#/Commerce%20>%20Products/Products_Search
- Populating FilledProperties and ProductSettings.FilledProperties some values are case sensitive and other case insensitive.
For example:- ProductSettings.FilledProperties=name works
- ProductSettings.FilledProperties=Name works
- ProductSettings.FilledProperties=price does not work
- ProductSettings.FilledProperties=Price works
- FilledProperties=products does not work
- FilledProperties=Products works
It was confusing to me because I was using the casing from the response and from /docs to populate the FilledProperties querystring parameter. I assume the serializer is setting the properties to lowerCamelCase in the response, and for some reason the querystring parameters values have to be case sensitive.
- Despite populating FilledProperties and ProductSettings.FilledProperties some properties are always returned. I assume with a default value from the constructor
For example:- FilledProperties=Products,Group,SubGroups
- GroupSettings.FilledProperties=Id,Name
- ProductSettings.FilledProperties=Name,Price
- ProductSettings.PriceSettings.FilledProperties=PriceFormatted
I get the following properties "populated"- pageSize
- pageCount
- currentPage
- totalProductsCount
- group.showInMenu
- group.clickable
- group.primaryPageId
- products[ ].productType
- products[ ].priceType
- products[ ].discontinued
- products[ ].discontinuedAction
- products[ ].active
- products[ ].neverOutOfStock
- products[ ].uniqueId
- products[ ].price.showPricesWithVAT
- products[ ].price.price
- products[ ].price.priceWithoutVat
- products[ ].price.vat
- products[ ].price.vatPercent
- products[ ].price.reverseChargeForVat
Could this be improve to help with the interpreting this endpoint?
It's overwhelming as it is with the amount of possible parameters, and how ambiguous they can get (i.e. I had GroupID as a parameter of the Repository, and the endpoint has GroupId as a parameter as well. I was confused until I realized the issue and renamed the Repository parameter to start untangling the endpoint.
Best Regards,
Nuno Aguiar