Developer forum

Forum » Dynamicweb 10 » Issues with dwapi/ecommerce/search

Issues with dwapi/ecommerce/search

Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

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


Replies

 

You must be logged in to post in the forum