Schemas

SalePromotionsRequest

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "execution_mode": "VALIDATION",
  "validation_id": "123e4567-e89b-12d3-a456-426614174000",
  "requested_promotions": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "catalogue_id": "123",
      "activation_date": "2022-12-01T00:00:00Z",
      "expiration_date": "2022-12-01T00:00:00Z",
      "deactivation_date": "2022-12-01T00:00:00Z"
    }
  ]
}
Name Type Required Description
execution_mode ExecutionMode true Defines whether the operation is simulated or actually performed
validation_id string(uuid) false Identifier of the previously performed sale validation. Required only when execution mode is set to EXECUTION. This identifier expires after a limited time window, after which the sale must be validated again.
requested_promotions PromotionsSet true List of promotions to be applied

SalePromotionsResponse

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
  "validation_id": "123e4567-e89b-12d3-a456-426614174000",
  "has_incompatibilities": true,
  "subscriptions": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "incompatible_promotions": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "catalogue_id": "123",
          "activation_date": "2022-12-01T00:00:00Z",
          "expiration_date": "2022-12-01T00:00:00Z",
          "deactivation_date": "2022-12-01T00:00:00Z"
        }
      ],
      "created_promotions": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "catalogue_id": "123",
          "activation_date": "2022-12-01T00:00:00Z",
          "expiration_date": "2022-12-01T00:00:00Z",
          "deactivation_date": "2022-12-01T00:00:00Z"
        }
      ]
    }
  ]
}
Name Type Required Description
validation_id string(uuid) true Identifier of the previously performed sale validation. Required only when execution mode is set to EXECUTION. This identifier expires after a limited time window, after which the sale must be validated again.
has_incompatibilities boolean true Indicates if there are any incompatibilities with the requested promotions
subscriptions SaleSubscriptionPromotionSet false List of subscriptions affected by the sale

SaleSubscriptionPromotionSet

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "incompatible_promotions": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "catalogue_id": "123",
        "activation_date": "2022-12-01T00:00:00Z",
        "expiration_date": "2022-12-01T00:00:00Z",
        "deactivation_date": "2022-12-01T00:00:00Z"
      }
    ],
    "created_promotions": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "catalogue_id": "123",
        "activation_date": "2022-12-01T00:00:00Z",
        "expiration_date": "2022-12-01T00:00:00Z",
        "deactivation_date": "2022-12-01T00:00:00Z"
      }
    ]
  }
]
Name Type Required Description
anonymous [SaleSubscriptionPromotion] false none

SaleSubscriptionPromotion

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "incompatible_promotions": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "catalogue_id": "123",
      "activation_date": "2022-12-01T00:00:00Z",
      "expiration_date": "2022-12-01T00:00:00Z",
      "deactivation_date": "2022-12-01T00:00:00Z"
    }
  ],
  "created_promotions": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "catalogue_id": "123",
      "activation_date": "2022-12-01T00:00:00Z",
      "expiration_date": "2022-12-01T00:00:00Z",
      "deactivation_date": "2022-12-01T00:00:00Z"
    }
  ]
}
Name Type Required Description
id string(uuid) false Subscription unique identifier
incompatible_promotions PromotionsSet true List of promotions the subscription currently has that are incompatible with the sale. When ExecutionMode is set to Execution, these promotions will be automatically cancelled or deactivated as part of the sale process
created_promotions PromotionsSet true List of new created promotions

SalePromotionsResponseSet

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[
  {
    "validation_id": "123e4567-e89b-12d3-a456-426614174000",
    "has_incompatibilities": true,
    "subscriptions": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "incompatible_promotions": [
          {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "catalogue_id": "123",
            "activation_date": "2022-12-01T00:00:00Z",
            "expiration_date": "2022-12-01T00:00:00Z",
            "deactivation_date": "2022-12-01T00:00:00Z"
          }
        ],
        "created_promotions": [
          {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "catalogue_id": "123",
            "activation_date": "2022-12-01T00:00:00Z",
            "expiration_date": "2022-12-01T00:00:00Z",
            "deactivation_date": "2022-12-01T00:00:00Z"
          }
        ]
      }
    ]
  }
]
Name Type Required Description
anonymous [SalePromotionsResponse] false none

TerminateSubscriptionPromotionRequest

1
2
3
4
{
  "termination_date": "2023-01-01T00:00:00Z",
  "reason": "SUBSCRIPTION_DEACTIVATION"
}
Name Type Required Description
termination_date string(date-time) false Date and time when the termination should take place. Format according to ISO 8601
reason PromotionTerminationReasons true Reason for the termination

TerminatePromotionInAllBundleSubscriptionsRequest

1
2
3
4
5
{
  "termination_date": "2023-01-01T00:00:00Z",
  "reason": "SUBSCRIPTION_DEACTIVATION",
  "catalogue_promotion_id": "123"
}
Name Type Required Description
termination_date string(date-time) false Date and time when the termination should take place. Format according to ISO 8601
reason PromotionTerminationReasons true Reason for the termination
catalogue_promotion_id string true Catalogue promotion ID to be terminated in all applicable subscriptions within the bundle

PromotionTerminationReasons

1
"SUBSCRIPTION_DEACTIVATION"
Name Type Required Description
anonymous string false Reason for the termination
Property Values
anonymous one of [AUTOMATICALLY_ADDED, AUTOMATICALLY_REMOVED, BUNDLE_SALE, MANUALLY_ADDED, MANUALLY_REMOVED, OTHER, PROMOTION_INCOMPATIBILITY, SUBSCRIPTION_ADDED_TO_BUNDLE, SUBSCRIPTION_DEACTIVATION]

ExecutionMode

1
"EXECUTION"
Name Type Required Description
anonymous string false none
Property Values
anonymous one of [EXECUTION, VALIDATION]

ErrorResponse

1
2
3
{
  "error": {}
}
Name Type Required Description
error ErrorDetails true none

ErrorDetails

1
{}
None

PromotionsSet

1
2
3
4
5
6
7
8
9
[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "catalogue_id": "123",
    "activation_date": "2022-12-01T00:00:00Z",
    "expiration_date": "2022-12-01T00:00:00Z",
    "deactivation_date": "2022-12-01T00:00:00Z"
  }
]
Name Type Required Description
anonymous [Promotion] false none

Promotion

1
2
3
4
5
6
7
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "catalogue_id": "123",
  "activation_date": "2022-12-01T00:00:00Z",
  "expiration_date": "2022-12-01T00:00:00Z",
  "deactivation_date": "2022-12-01T00:00:00Z"
}
Name Type Required Description
id string(uuid) false Promotion unique identifier
catalogue_id string true Catalogue promotion ID
activation_date string(date-time) false Promotion activation date. Format according to ISO 8601
expiration_date string(date-time) false Promotion expiration date. Format according to ISO 8601
deactivation_date string(date-time) false Promotion expiration date. Format according to ISO 8601