I’ve been working with the Bloomreach Engagement API to retrieve customer details and encountered several unexpected behaviors that aren’t clearly explained in the documentation:
-
Customer ID Type Inconsistency: The API documentation examples show using
"registered"
as a customer ID type for email addresses, but this returns an error in my implementation. Instead,"email_id"
works successfully, despite not being mentioned anywhere in the documentation. I only discovered this through trial and error testing different possible ID types, which was a time-consuming process that better documentation could have prevented. -
ID Type Documentation: Is there comprehensive documentation listing all possible customer ID types and their intended usage? Different examples show different ID types (
registered
,cookie
,email_id
), but there’s no clear guide on which to use in which scenario. -
POST for Data Retrieval: The customer attributes endpoint uses POST rather than GET for retrieving data. This seems to contradict RESTful API principles where GET is typically used for data retrieval. What’s the rationale behind using POST for these operations?
-
Required Attribute Specification: When retrieving customer data, the API requires explicitly listing every attribute we want to retrieve in the request body. Is there a ‘get all attributes’ option or a way to retrieve a customer’s complete profile without needing to specify each attribute individually? This approach requires prior knowledge of all possible attributes, which can be challenging for general use cases.
I appreciate any clarification on these design choices to help me better understand and work with the Bloomreach Engagement API.