Download OpenAPI specification:Download
Real-time, contextual product recommendation, substitution, and search. Returns a list of products with attached relevance scores.
strategy required | string Enum: "recommend" "substitute" "search" Determines which service should be used for this request. |
text | string Required parameter when strategy is set to search. Value is the consumer-entered text to be searched. Must be sent URL encoded, e.g. "mango mochi" > "mango%20mochi" |
productId | string Subscriber specific product identifier to recommend based on. Required for substitution strategy. |
cartProductIds | string A comma delimited string of subscriber specific product identifiers for a consumer's current cart. If productId is not passed in the query, then recommendations will be based on the cartProductIds. If a productId is passed in the query, then cartProductIds will be used to improve recommendation relevance. |
consumerId | string Subscriber specific consumer identifier to personalize recommendations. If productId and cartProductIds are not passed in the query, then recommendations will be based on previous consumer behavior. |
storeId | string Subscriber specific store identifier, selecting the catalog of products to recommend from. If storeId is invalid or is not passed in the query, then recommendations will be sourced from the subscriber's master product list. |
placement | string Field to specify where these results are being placed in the UI. e.g. ‘checkout page’ or ‘home page sponsored container’”.
|
limit | integer Upper bound on the number of products to return.
|
relevanceThreshold | number This number defines the minimum raw relevance score (before any subscriber facing normalization is applied) required for an item to make it into the results. Relevance depends on the use case and any additional biases / filters but is usually between 0 and 1.
|
numCandidates | number This number determines how many products the primary candidate generation method pulls back. Having more candidates increases the variability of results when secondary biases are provided; it will also add additional latency to the Halla services.
|
candidateGenerationMethod | string Enum: "PRODUCT" "CART" "CONSUMER" "SUPPORT" This enum determines the ordering of how results are generated.
For example:
|
queryAdjusted | boolean This boolean determines whether or not Halla uses its NLP substitution engine to group products together to transfer popular product affinities to rarer items.
For example:
|
candidatesNormalized | boolean This boolean determines whether or not Halla uses product order frequency in a given set of results.
For example:
|
maxNormalized | boolean This boolean determines whether or not Halla normalizes the raw final results by the max value returned.
For example:
|
attributeBias | string This parameter lets a client add biases on Categories, Brands, and / or Tags which allow the Halla models to adjust results to meet merchandising needs.
For example:
|
reOrderBias | number This number determines how much Halla positively biases products that a user has previously purchased.
For example:
|
resultOntologicalVariationBias | number This number defines how much Halla negatively biases results for duplicate / redundant products in a set of recommendations.
For example:
|
resultVectorVariationBias | number This number defines how much Halla negatively biases results from the same purchasing space.
For example:
|
queryOntologicalVariationBias | number This number defines how much Halla negatively biases results for duplicate / redundant products that appear in the query.
For example:
|
productAffinityBias | number This number defines how much Halla biases results towards things that have a high affinity with the provided productId.
For example:
|
cartAffinityBias | number This number defines how much Halla biases results towards things that have a high affinity with the provided cart.
For example:
|
consumerAffinityBias | number This number defines how much Halla biases results towards things that have a high affinity with the provided shopper.
For example:
|
supportBias | number This number defines how much Halla biases results towards things that have a high purchase frequency.
For example:
|
marginBias | number This number defines how much Halla biases results towards products that have a higher margin.
For example:
|
priceBias | number This number defines how much Halla biases results towards products that have a higher price point.
For example:
|
consumerEngagementFilter | string Enum: "PREVIOUSLY_PURCHASED" "NEVER_PURCHASED" "ALL" Filter to further restrict the domain of response products based on whether or not they have been engaged with by said customer.
For example:
|
attributeFilter | string This parameter lets a client add filters to Categories, Brands, and / or Tags which allow the Halla models to filter results to just those products that match the filter conditions.
For example:
|
serviceAccount required | string Identifies the serviceAccount for authorization purposes. |
Grocery specific autocomplete for search.
text required | string Text to autocomplete. |
consumerId | string Subscriber specific consumer identifier to personalize results. |
limit | integer Upper bound on the number of search terms to return. Default = 15. Max = 30. |
serviceAccount required | string Identifies the serviceAccount for authorization purposes. |
Adds new orders, updating associated consumer profiles to allow for real-time personalization. Amount of orders in a single request should not exceed 100k
serviceAccount required | string Identifies the serviceAccount for authorization purposes. |
The orders to create.
Array of objects (Order) |
{- "orders": [
- {
- "consumerId": "string",
- "orderId": "string",
- "storeId": "string",
- "date": "string",
- "campaign": "string",
- "items": [
- {
- "product": {
- "primaryId": "string",
- "label": "string",
- "upcA": "string",
- "additionalProperties": {
- "property1": "value1"
}, - "description": "string",
- "brand": "string",
- "ingredients": "string",
- "nutrients": [
- {
- "unitOfMeasure": "GRAM",
- "quantity": 0,
- "nutrientName": "string"
}
], - "price": {
- "currency": "string",
- "value": 0
}, - "margin": {
- "currency": "string",
- "value": 0
}, - "quantities": [
- {
- "unitOfMeasure": "GRAM",
- "quantity": 0
}
], - "tags": [
- "string"
], - "categories": [
- "string"
]
}, - "trasactionType": "DISCONTINUED_ITEM",
- "lineItemCost": 0,
- "unitsSold": 0,
- "unitOfMeasure": "COUNT",
- "message": "string"
}
]
}
]
}
Creates / overwrites a store with a distinct catalog.
Notes:
serviceAccount required | string Identifies the serviceAccount for authorization purposes. |
The store to create.
id required | string Used across services to link to this store object. |
channel | string Enum: "E_COMMERCE" "SELF_SCAN" "SMART_CART" "PROMOTIONS" "OTHER" The application type that will be using Halla's services. |
type | string Enum: "GROCERY_STORE" "SUPER_STORE" "CONVENIENCE" "DELI" "OTHER" The type of store that will be using Halla's services. |
brand | string Brand of store. |
postalCode | string postal code of store location. |
country | string 2 digit country abbreviation. 'US for United States and UK for United Kingdom.' |
Array of objects (Product) Products in the given store's catalog. | |
object (ProductSummary) Descriptive information on a store's products. |
{- "id": "string",
- "channel": "E_COMMERCE",
- "type": "GROCERY_STORE",
- "brand": "string",
- "postalCode": "string",
- "country": "string",
- "products": [
- {
- "primaryId": "string",
- "label": "string",
- "upcA": "string",
- "additionalProperties": {
- "property1": "value1"
},