Prerequisites and best practices for integrating with the Voyado Elevate API
The Voyado Elevate API enables server- and client-side integrations through HTTP requests that return raw JSON data, enabling unlimited flexibility and customization. The API handles communication with the Voyado Elevate cluster and includes both automatic load balancing and failover.The API has three main integration areas: imports to bring products and content into Elevate, queries to retrieve results, and notifications to share visitor behavior with Elevate for reporting and behavior analysis.A JavaScript library, including TypeScript models, is available to facilitate client-side integrations to Voyado Elevate using the HTTP API.
Once these have been met, read through Tips and best practices and continue with integrating queries and notifications using the Storefront API. Meanwhile, products and content are imported using the Admin API.
Cross-origin resource sharing (CORS) is a mechanism for controlling what domain Ajax requests to the cluster are allowed to originate from. Voyado can help with the origin host configuration as part of the customer onboarding process, if you provide the necessary information.Default configuration allows Ajax requests originating from all origins, but restricting access to the API is recommended. The following information is needed from the customer to configure the origin host correctly:
A general rule of thumb is to never cache Elevate-generated responses. Caching prevents personalization and can cause notifications to be erroneous due to cached tickets. This does not include static data and resources such as images, which can be cached.
To keep your Elevate usage and analytics accurate, ensure you allow well-known crawlers (for example, Googlebot) but block or throttle unwanted bots. Detect bots early and avoid calling Elevate APIs for them. Learn more in Handling bots and crawlers.
Format of the data being sent, JSON is recommended. To support large requests with unique page configurations, queries can be performed through HTTP POST. Queries return JSON objects as responses, but requests in browsers with application/json as Content-Type automatically trigger a preflight request. To avoid this, text/plain is supported as Content-Type and can be used in client-side integrations.
User-Agent
PostmanRuntime/1.2.3
For internal tracking and troubleshooting, as well as to support potential future features, it is recommended to include a User-Agent header in HTTP API requests.
Each version of each API contains a downloadable OpenAPI specification that can be used with tools such as Swagger UI . The OpenAPI specifications are found under Specifications for the corresponding API version.
Each version of each API contains a downloadable Postman collection that can be tested using the tool Postman . The collections are found under Postman collections.
Note that the file uses environment variables, located under the Variables tab in the Postman interface. To run the requests, the cluster-id variable must first be changed. The cluster-id will automatically be applied to the baseUrl parameter.