Developer forum

Forum » Feature requests » Customer Experience Center - Search

Customer Experience Center - Search

Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Hi,

 

We have some common requests on order search:

  • B2C / Web users would typically use the OrderId
    That's what they get over email from their experience
  • Some B2B Customers would use their PO Number
    Because that's what they log/refer to in their own systems - that value is associated with the OrderReference field
  • Some B2B Customers would use the ERPs Id
    Whether that's because of the being non-web orders or the way our client interacts with their customer - that value is associated with the OrderIntegrationId field

 

Using the Customer Experience Center we can only search by the OrderId (and OrderDate, and State), and this forces us to customize (convert everything to Data Lists OR do fully custom to use the API Services or webapi or whatever).

 

Ultimately, it would save us a lot of time, if at least the OrderIntegrationId and the OrderReference fields were to be searched. Ideally we could have a field selection in the app to determine what fields to search for.

 

Best Regards,

Nuno Aguiar


Replies

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply

You can search those fields if you use regular search.

But we can easily add a new parameter in stead of FilterOrderId - i.e. FilterOrderAndReference - that will search all 3 fields.

The current FilterOrderId makes a "contains" search - maybe an equals or starts with search would be better for the new option?

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Hi Nicolai,

 

What do you mean by "regular search"? I should have mentioned that I am using Swift and that I looked into https://dev.azure.com/dynamicwebsoftware/Dynamicweb/_git/Dynamicweb?path=%2Fsrc%2F77%20-%20Ecommerce%2FDynamicweb.Ecommerce%2FCustomerExperienceCenter%2FCustomerExperienceCenterFrontend.cs&_a=contents&version=GBmain and only saw the FilterOrderId being used.

 

Nonetheless I tried it and they don't work in 9.15.3 and Swift v1.19.0 https://app.screencast.com/tNeSMW8R770Qc

 

Regarding the contains/equals/starts-with for order IDs, OrderIntegrationIDs and OrderReference, I haven't come across situations where a contains would be an issue.

 

Am I doing something wrong?

 

Best Regards,

Nuno Aguiar

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

bump

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply

Hi Nuno

I believe this is the required changes:

https://dev.azure.com/dynamicwebsoftware/Dynamicweb/_git/Dynamicweb/pullrequest/8972

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Hi Nicolai,

 

It's hard for me to say from the PR. I see changes to how sorting and paging is handled and I see free text search being adopted, but I can't say, by looking at the code changes, that the Reference field and orderIntegrationId field will be searched.

 

Nenetheless, as long as that is validated by someone, ensuring the reported issues are solved in a release, should be fine, then we can report it to customers.

 

Best Regards,

Nuno Aguiar

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply
This post has been marked as an answer

Sorry.

It will search these fields:

var searchTextFields = new string[] { "OrderID", "OrderIP", "OrderReferrer", "OrderTrackTraceNumber", "OrderCustomerNumber", "OrderCustomerCompany", "OrderCustomerName", "OrderCustomerSurname", "OrderCustomerAddress", "OrderCustomerAddress2", "OrderCustomerZip", "OrderCustomerCity", "OrderCustomerCountry", "OrderCustomerRegion", "OrderCustomerPhone", "OrderCustomerFax", "OrderCustomerEmail", "OrderCustomerCell", "OrderCustomerRefID", "OrderCustomerEAN", "OrderCustomerVatRegNumber", "OrderDeliveryCompany", "OrderDeliveryName", "OrderDeliverySurname", "OrderDeliveryAddress", "OrderDeliveryAddress2", "OrderDeliveryZip", "OrderDeliveryCity", "OrderDeliveryCountry", "OrderDeliveryRegion", "OrderDeliveryPhone", "OrderDeliveryFax", "OrderDeliveryEmail", "OrderDeliveryCell", "OrderComment", "OrderCustomerComment", "OrderCustomerAccessUserUserName", "OrderTransactionNumber", "OrderCustomerCountryCode", "OrderDeliveryCountryCode", "OrderIntegrationOrderID", "OrderShippingMethod", "OrderAxOrderID", "OrderPaymentMethod", "OrderGatewayResult", "OrderStepHistory", "OrderShippingMethodDescription", "OrderPaymentMethodDescription", "OrderGatewayPaymentStatus", "OrderGatewayTransactionProblems", "OrderCaptureInfo", "OrderRequisition", "OrderVoucherCode", "OrderCustomerInitials", "OrderCustomerPrefix", "OrderDeliveryInitials", "OrderDeliveryPrefix", "OrderCustomerTitle", "OrderCustomerFirstName", "OrderCustomerMiddleName", "OrderCustomerHouseNumber", "OrderDeliveryTitle", "OrderDeliveryFirstName", "OrderDeliveryMiddleName", "OrderDeliveryHouseNumber", "OrderShippingFeeRuleName", "OrderReturnOperations", "OrderCurrencyName", "OrderCurrencyCode", "OrderReference" };
                var searchFloatFields = new string[] { "OrderCaptureAmount", "OrderExternalPaymentFee", "OrderPaymentFeeVAT", "OrderPaymentFeeVATPercent", "OrderPaymentFeeWithoutVAT", "OrderPaymentFeeWithVAT", "OrderPaymentMethodFee", "OrderPriceBeforeFeesVAT", "OrderPriceBeforeFeesVATPercent", "OrderPriceBeforeFeesWithoutVAT", "OrderPriceBeforeFeesWithVAT", "OrderPriceVAT", "OrderPriceVATPercent", "OrderPriceWithoutVAT", "OrderPriceWithVAT", "OrderSalesDiscount", "OrderShippingFeeVAT", "OrderShippingFeeVATPercent", "OrderShippingFeeWithoutVAT", "OrderShippingFeeWithVAT", "OrderShippingMethodFee", "OrderTotalDiscountVAT", "OrderTotalDiscountVATPercent", "OrderTotalDiscountWithoutVAT", "OrderTotalDiscountWithVAT", "OrderTotalPoints", "OrderTotalPrice", "OrderTotalRewardPoints", "OrderVAT" };
                var customerFields = new string[] { "OrderCustomerNumber", "OrderCustomerCompany", "OrderCustomerName", "OrderCustomerAddress", "OrderCustomerAddress2", "OrderCustomerZip", "OrderCustomerCity", "OrderCustomerCountry", "OrderCustomerRegion", "OrderCustomerPhone", "OrderCustomerEmail", "OrderCustomerCell", "OrderCustomerAccessUserUserName", "OrderCustomerSurname", "OrderCustomerFirstName", "OrderCustomerMiddleName", "OrderCustomerInitials", "OrderCustomerPrefix", "OrderCustomerTitle", "OrderCustomerHouseNumber" };

Votes for this answer: 1
 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Perfect Nicolai. Thanks for the additional information.

 
Michael Vedstesen
Reply

For anyone who wonders what this discussed and implemented parameter has been named(it has not been documented to this day) - it is called "FilterText"

Could DW update the https://doc.dynamicweb.com/documentation-9/ecommerce/apps/customer-experience-center page with this parameter for others to enjoy?

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply

Hi Michael

Thank you for sharing. Documentation is now updated.

Thanks, Nicolai