A valid request URL is required to generate request examples{
"id": "rule-exchange-ratio",
"name": "Ratio de recommande",
"description": "Sur un échange, recommander au moins 110 % de ce qui est renvoyé.",
"category": "COMPLIANCE",
"condition": {
"contextType": "EXCHANGE_RECEIVE_RATIO",
"contextParams": {},
"operator": "LOWER_THAN",
"thresholdValue": 110
},
"enforcementMode": "BLOCK",
"checkLevel": "PLAN",
"evaluationPoints": [
"PRE_PLAN_VALIDATE"
],
"actionFamily": "SUPPLIER_EXCHANGE_PLAN",
"scopes": [
{
"position": 0,
"criteria": [
{
"kind": "ENTITY",
"entityType": "SUPPLIER",
"entityId": "supplier-sportswear"
}
],
"thresholdValue": 130
}
],
"active": true,
"priority": 0,
"templateId": "exchange_reorder_ratio",
"phase": null,
"paradigm": "VALIDATION",
"payload": null,
"version": 1
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Get one rule and its per-subject thresholds
Resolves one rule, INCLUDING its scopes — the ordered list of « for these subjects, the threshold is this instead ». That list is what makes « reorder 110 % with this vendor, 130 % with that one » ONE rule rather than two; resolution takes the first scope whose criteria all designate the subject. Read it before updating: the version it returns is what the write expects. 404s on an unknown id.
A valid request URL is required to generate request examples{
"id": "rule-exchange-ratio",
"name": "Ratio de recommande",
"description": "Sur un échange, recommander au moins 110 % de ce qui est renvoyé.",
"category": "COMPLIANCE",
"condition": {
"contextType": "EXCHANGE_RECEIVE_RATIO",
"contextParams": {},
"operator": "LOWER_THAN",
"thresholdValue": 110
},
"enforcementMode": "BLOCK",
"checkLevel": "PLAN",
"evaluationPoints": [
"PRE_PLAN_VALIDATE"
],
"actionFamily": "SUPPLIER_EXCHANGE_PLAN",
"scopes": [
{
"position": 0,
"criteria": [
{
"kind": "ENTITY",
"entityType": "SUPPLIER",
"entityId": "supplier-sportswear"
}
],
"thresholdValue": 130
}
],
"active": true,
"priority": 0,
"templateId": "exchange_reorder_ratio",
"phase": null,
"paradigm": "VALIDATION",
"payload": null,
"version": 1
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Authorizations
Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.
Path Parameters
The rule id, e.g. rule-exchange-ratio.
1Response
The rule, its condition, its mode and its scopes.
The rule, its condition, its mode and its scopes.
11 - 2552000CAPACITY, ASSORTMENT, ORDERING, TRANSFER, PRICING, DISTRIBUTION, COMPLIANCE Show child attributes
Show child attributes
BLOCK, WARN, LOG SHOP, BRAND, PRODUCT, VARIANT, INVENTORY_ITEM, PLAN, PLAN_ITEM PRE_PLAN_ITEM_ADD, PRE_PLAN_VALIDATE, RECOMMENDATION_GENERATION, WORKFLOW_EXECUTION, MANUAL_CHECK RESTOCK_PLAN, REBALANCE_PLAN, MARKDOWN_PLAN, PRE_SEASON_PLAN, SUPPLIER_RETURN_PLAN, SUPPLIER_EXCHANGE_PLAN, RECOMMENDATION, WORKFLOW Show child attributes
Show child attributes
-9007199254740991 <= x <= 90071992547409911SCORING, SIZING, SOURCING, APPROVAL VALIDATION, DECISION_SHAPING centrale, os 0 < x <= 9007199254740991
