ADR-0011 Mallzee Api

Date2021-05-11
StatusAccepted

Context

As part of the eTryOn project it requires that clothing products should be evaluated for product market fit against target demographics and provide recommendations of other products based on a given product.

Mallzee has a datapool of consumer options again 4 million+ products and has experience in attempting to predict future product performance by using consumer data captured via the Mallzee shopping app.

Mallzee is looking to provide access to these insights so that other companies can benifit from the data and models produced. This in turn allows companies to make smarter decisions about the types of products they want to produce by using the vast consumer data available via the Mallzee apps.

Decision

Mallzee will produce an API that will be available to the eTryOn consortium. The API will consisit of a minimum of two endpoints to provide access to the product predictions and the product recommender.

Authentication

This Mallzee API is only required to be accessed via internal services. Not directly from the client applications. We will use a simple header based authentication method using the key x-api-key which will contain a string access key assigned to every consumer of the API. This allows Mallzee to track usage and identify which account is accessing the API.

The eTryOn services will store the given key in the Google Secret Manager so that access can be given to any service within the platform.

Product predictions

This endpoint will require that the user send product data and target market data so that the system can predict the popularty of the product and return a confidence score of how likely that product is going to prove popular with the target demographic.

Product recommendations

This endpoint will require that the consumer of the API sends the required product information along with the end users market preferences. This system will return an array of recommended product IDs based on the information given that will allow the consumer to fetch product information on the recommended products.

These API will be detailed in OpenAPI Spec 3.0 and can be found here (Link to be provided)

Consequences

By creating a general purpose API we can supply product performance predicitions to all applications that require it as part of the overall project.