How to integrate
High level the integration flow is easy to understand and pretty simple to implement. Upon collecting all the interactions the user creates you have to send docs advisable to process them and give recommendations for each one of your users.
The recommendations are usually shown to a user at a website, in a mobile app or within an email campaign.
Apps
In order to use Advisable.ai's API you first need to create an app. App is the entity that tries to encapsulate shops. You will be provided with an id and a secret and that should be included in every follow up request for the next endpoints in the form of headers as a form of authorization.
Catalogs
Catalog is the entity that holds all of your shop's items catalog and it's related only with your app, hence you need the credentials mentioned above in order to make successful requests.
Creating a catalog
Now that you created your app you need a way to provide Advisable.ai with the items of your shop, that's done through /v1/catalogs endpoint. We will need a name and a target URL which proovides us with the XML of your shop so we can parse all the items from there. Please make sure your XML is valid in the /v1/xml/validate endpoint before submitting for a new catalog.
Users
Users entity is the entity that holds all the users of your shop and it is also related to your app. You need to register your users to Advisable.ai so it starts to learn their preferences and recommend them new products from your e-shop.
Creating a user
In order to register your users you will be asked to provide a name and and an external_id which is meant to be the same as the user's id so you can ask recommendation later on for that specific user. Registering users is done through /v1/users/ endpoint.
Updating a user
Updating users is done by sending a put request in /v1/users/ endpoint. One thing to be noted here is that if you include external_id in payload (the id of the user in your database) it will automatically trigger an update in all tables and updating all the interactions refering that specific user.