Get Offer Service
This service validates the incoming offer with the existing basket of the customer.
The services utilize the following relationships:
The offer is generated on a particular set of inputs and returns the list of products which can be offered to the subscriber. The inputs in the request can include any of the following filters:
You can utilize the following request flags for this web service:
Request Flag Name | Default |
---|---|
ReturnIneligibleProducts | True |
ReturnBundleOfferings | False |
ReturnPrices | False |
ReturnProductInformation | True |
validateData | True |
validateProductRequiredForGroups | True |
validateProductComprisedOfGroups | True |
validateProductCompatibility | True |
validateSegmentCompatibility | True |
decomposeProducts | False |
basicValidationOnExistingOffer | True |
ValidateProdDate | False |
Get Offer Request
Element Name | Element Type | Description |
---|---|---|
BusinessTransactionID | String
(Optional) |
Used for the upstream web service to correlate a response with the appropriate request. |
ReturnIneligibleProducts | Boolean
(Optional) |
Toggles whether products, which are found to be ineligible as a result of a specific reason, are returned in the response. The products that are present in the Eligible Products Holder and are removed as being incompatible with a product, or child of a product, in the order or inventory are identified as ineligible products once detected. The default is value false. |
ReturnBundleOfferings | Boolean
(Optional) |
Bundle support, which is for getting eligible bundles for the current basket and inventory. Only those products which have optional children in the order request are eligible. The default value is false. |
ReturnPrices |
Boolean (Optional) |
If set, prices for the generated offer are returned. The default value is false. |
ReturnProductInformation | Boolean
(Optional) |
If set to true, it returns the product information for the eligible product. The default value is false. |
RequestControl/validateData | Boolean
(Optional) |
Not used in this service. |
RequestControl/ validateProductRequiredForGroups | Boolean
(Optional) |
Toggles if ProductRequiredFor groups are evaluated in eligibility. The default value is true. |
RequestControl/ validateProductComprisedOfGroups |
Boolean (Optional) |
Toggles if ProductComprisedOf groups are evaluated in eligibility. The default value is true. |
RequestControl/validateProductCompatibility |
Boolean (Optional) |
Toggles if ProductCompatibility is evaluated in eligibility. The default value is true. |
RequestControl/validateSegmentCompatibility | Boolean
(Optional) |
Toggles if SegmentCompatibility is evaluated in eligibility. The default value is true. |
RequestControl/validateProdDate | Boolean
(Optional) |
Toggles if the engine checks that the products are valid based on the configured start dates and end dates. |
RequestControl/decomposeProducts | Boolean
(Optional) |
Toggles if products are decomposed into autoprovisioned children or requiredForchildren. The default value is true. |
RequestControl/ReturnProductInformation | Boolean
(Optional) |
If existent, ProductInformation is added directly to eligible and visible ineligible products. |
RequestControl/basicValidationOnExistingOffer | Boolean
(Optional) |
Toggles if the existing basket and inventory is validated before selecting eligible products. The default value is false. |
RequestControl/ReturnProductInformationData | String
(Optional) |
With this element, you can configure characteristic filters for returning product information. There is an "or" relationship between characteristic name (ReturnCharacteristicsName), characteristic description (ReturnCharacteristicsDescripti on) and characteristic value type (ReturnCharacteristicsValueType). |
SubscriberID |
String (Optional) |
Eligible products are presented for the subscriber specified in these fields. This information is used in the context of the order and inventory to perform compatibility and integrity checks. |
CustomerID |
String (Optional) |
Eligible products are presented for the subscriber specified in these fields. This information is used in the context of the order and inventory to perform compatibility and integrity checks. |
Segment | Boolean
(Optional) |
Information used to derive the initial list of eligible products. Per segment type, a segment element and all related segments should be mapped as name. If multiple segments are provided for a SegmentType, the union of all associated products is returned. Multiple SegmentTypes return an intersection of all products compatible with all SegmentTypes. |
OrderDate | dateTime
(Optional) |
If OrderDate is entered, products in the eligible product list are filtered based on configured start and end dates of each product for that date, otherwise the system time is taken. |
RecordTypes | String
(Optional) |
If one or more RecordTypes values are included in the request, products in the eligible product list are filtered after the expansion to include AutoProvision and Non Mandatory children. This means that all the products in the eligible product list that meet the filtering criteria are returned. RecordType is compared to the configured class of the product. |
Promotions | String
(Optional) |
Promotion products is a reduced list of products that is evaluated by this request. Promotion products are filtered according to the other criteria specified in the request and tested for compatibility with products in the inventory or order. |
RecordSubType | String
(Optional) |
If one or more RecordSubTypes are included in the request, products in the eligible product list are filtered while the expansion includes AutoProvision and Non Mandatory children. This means that all of the products in the eligible product list that meet the filtering criteria, plus any children or children of children, are returned. RecordSubType is compared to the configured Subclass of the Product. |
Categories | String
(Optional) |
If one or more categories are included in the request, products in the eligible product list are filtered for these categories. If you provide multiple categories, an intersection of the results for each category are presented. If one auto provisioned child is not compatible to a category, the parent is not either. |
Focus | Focus
(Optional) |
With this field, you can set a basket or inventorying item into focus. The focused item's child products are evaluated and attached as eligible products. |
InputField | Field
(Optional) |
With this field, you can set linking to relevant fields and returns to evaluate eligible products using those fields. |
orderRequest | orderRequest
(Optional) |
Products in the basket can be passed into the eligibility engine through the order to maintain compatibility between products that are already ordered. |
Status | String | This element is not being used. |
Get Offer Response
Element Name | Element Type | Description |
---|---|---|
BusinessTransactionID | String
(Optional) |
If provided, it is passed from the request and can be used to correlate service calls across disparate services to track actual business process flows in the system. |
Element Name | Element Type | Description |
---|---|---|
operation | String
(Optional) |
The operation's name is "getEligibleProducts" |
component | String
(Optional) |
The service's name is "ExtEligibilityAndValidation" |
severity | String
(Optional) |
INFO, ERROR |
code | String
(Optional) |
The error code is a string that identifies the error and the TIBCO Fulfillment Orchestration Suite component that produced the error. An error code of 0 indicates a successful invocation of the service. |
message | String
(Optional) |
A descriptive text string associated with code. |
Element Name | Element Type | Description |
---|---|---|
ProductID | String
(Mandatory) |
The ID of the eligible product. |
InternalID | String
(Optional) |
The internal ID of the product instance that is used for correlation with ParentInternalID of a child product. |
ParentInternalID | String
(Optional) |
The internal ID of the product's parent instance that is used for correlation with InternalID of a parent product. |
SubscriberID |
String (Optional) |
The subscriber ID for which the eligibility request was made. |
CustomerID | String
(Optional) |
The customer ID for which the eligibility request was made. |
UDFs | UDFType
(Optional) |
Each UDF contains a name field and a value field. Eligibility tries to enrich products with UDFs as much as possible by mapping UDFs from related (compatible, parent, child) products. If linking relevant UDFs could not be mapped from inventory or basket items, they are created with a default value ${new}. |
Messages |
String (Optional) |
Attached ValidationMessage elements which display validation results. |
Price | ChildPriceBaseType
(Optional) |
If set from request, it returns the price for this product. |
Element Name | Element Type | Description |
---|---|---|
Code | String
(Mandatory) |
The code of the validation message. |
Type | String
(Optional) |
The type of the validation message. It is mostly an error message because validation messages are only created in case of errors. The only exception is in case of a migration, because the possibility of a migration is indicated using a message of type info. |
Details | String
(Optional) |
The corresponding textual message, configurable in the GVs located in: AFF/OfferConfigurationValidation/Constants/Errors/OfferValidation |
CausingItem | String
(Optional) |
The CausingItem field indicates which type of item caused the validation error or message, such as TrolleyItem or UDF. |
CausingItemID | String
(Optional) |
The CausingItemID field displays the ID of the item causing the validation error or message, such as the ProductID or the UDF Name. |
CausingItemPosition | String
(Optional) |
The CausingItemPosition indicates the position type of the item causing the validation error or message, such as "LineNumber" for TrolleyItemor "InventoryID" for InventoryItems. |
CausingItemPositionID | String
(Optional) |
The CausingItemPositionID indicates the position of the item causing the validation error or message, such as a LineNumber for TrolleyItemor an "InventoryID" for InventoryItems. |
RuleViolation | String
(Optional) |
The RuleViolation displays the concrete violation of the particular rule which created this message, for example,violation of a maximum constraint of ProductComprised group would be "Group.Max: 2.0 / ActualCount: 3.0". |