Schema describing the reference model containing the list of features available on spark
{
"features": [
{
"id": "cp-dummy-feature-1",
"description": "Dummy Feature 1",
"type": "CORE",
"permissions": [
"DUMMY_PERMISSION_1"
],
"capabilities": [
"CART"
],
"components": [
"spark-api-cart"
]
},
{
"id": "ft-dummy-feature-2",
"description": "Dummy Feature 2",
"type": "OPTIONAL",
"availableForOpCos": [
"AUTH_POC",
"BEL-CEBEO"
],
"capabilities": [
"CART",
"CHECKOUT"
],
"components": [
"spark-api-checkout",
"spark-web-checkout"
]
}
]
}
A list of features
No Additional ItemsAn object representing a single feature
A unique identifier for the feature
Must match regular expression:^(cp|st|ft|rl|kl|xp)-[a-z0-9-]{4,29}$
"cp-dummy-feature-1"
A description for the feature
Must be at least 1 characters long
"Dummy Feature 1"
The feature type.
- CORE for mandatory features in the platform not needing any feature flag configuration on Unleash.
- OPTIONAL for can be activated on demand and trigger flags creation on Unleash.
"CORE"
Allows to start a a/b testing where you can test different versions of a feature to see which version performs better
{
"stickiness": "DEFAULT",
"variants": [
{
"name": "variant_1",
"weight": 60
},
{
"name": "variant_2",
"weight": 20
},
{
"name": "variant_3",
"weight": 20
}
]
}
Refers to the tendency of a user to return to a specific feature or variant after their initial interaction.
- DEFAULT to calculate stickiness based on the fields available in the context in the order of userId, sessionId.
- ACCOUNT_ID to calculate stickiness based on the accountId field available in the context.
"DEFAULT"
Refers to different versions of a feature that are being compared to determine which performs better. It's important to note that the total weight of all variants for a feature must be 100, as the weight determines the percentage of users that will be exposed to each variant.
Must contain a minimum of 1 items
An object representing an a/b testing variant
Unique identifier assigned to a feature variant in a/b testing.
Must be at least 1 characters long
"variant-1"
Determines how likely it is that a user will receive that variant. It is a numeric value between 0 and 100 (inclusive). It's important to note that the total weight of all variants for a feature must be 100.
Value must be greater or equal to 0 and lesser or equal to 100
60
[
{
"name": "variant_1",
"weight": 60
},
{
"name": "variant_2",
"weight": 20
},
{
"name": "variant_3",
"weight": 20
}
]
Capability list to which this feature belongs
Must contain a minimum of 1 items
"ACCOUNT"
Technical components in spark architecture related to this feature
Must contain a minimum of 1 items
"spark-api-customer-care"
List containing the opCos in which the feature is available and therefore the flags available on Unleash. When the field is not present, it means that the feature is available for all opCos in spark
Must contain a minimum of 1 items
"AUTH_POC"
A list of permissions needed for the feature
Must contain a minimum of 1 items
"DUMMY_PERMISSION_1"
[
{
"id": "cp-dummy-feature-1",
"description": "Dummy feature 1",
"type": "CORE",
"permissions": [
"DUMMY_PERMISSION_1",
"DUMMY_PERMISSION_2"
],
"capabilities": [
"CART"
],
"components": [
"spark-api-checkout"
]
},
{
"id": "ft-dummy-feature-2",
"description": "Dummy feature 2",
"type": "OPTIONAL",
"availableForOpCos": [
"AUTH_POC",
"BEL-CEBEO"
],
"capabilities": [
"CART",
"CHECKOUT"
],
"components": [
"spark-api-checkout",
"spark-web-checkout"
]
},
{
"id": "xp-dummy-feature-3",
"description": "Dummy feature 3",
"type": "OPTIONAL",
"abTesting": {
"stickiness": "DEFAULT",
"variants": [
{
"name": "variant_1",
"weight": 60
},
{
"name": "variant_2",
"weight": 20
},
{
"name": "variant_3",
"weight": 20
}
]
},
"capabilities": [
"CART"
],
"components": [
"spark-api-checkout"
]
}
]