Promotions Campaigns
Operations Summary
| Method | Endpoint | Description |
|---|---|---|
| Core CRUD | ||
| GET | /api/promotions-campaigns/ |
List Promotions Campaigns |
| GET | /api/promotions-campaigns/{uuid}/ |
Retrieve |
| POST | /api/promotions-campaigns/ |
Create |
| PUT | /api/promotions-campaigns/{uuid}/ |
Update |
| DELETE | /api/promotions-campaigns/{uuid}/ |
Delete |
| Other Actions | ||
| GET | /api/promotions-campaigns/{uuid}/orders/ |
Return a list of orders for which the campaign is applied |
| GET | /api/promotions-campaigns/{uuid}/resources/ |
Return a list of resources for which the campaign is applied |
| POST | /api/promotions-campaigns/{uuid}/activate/ |
Activate campaign |
| POST | /api/promotions-campaigns/{uuid}/terminate/ |
Terminate campaign |
Core CRUD
List Promotions Campaigns
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 | |
- API Source:
promotions_campaigns_list
1 2 3 4 5 6 7 8 9 10 | |
| Name | Type | Description |
|---|---|---|
discount_type |
string | |
end_date |
string (date) | |
o |
array | Ordering |
offering |
string | Offering |
offering_uuid |
string (uuid) | |
page |
integer | A page number within the paginated result set. |
page_size |
integer | Number of results to return per page. |
query |
string | Search by name or coupon code |
service_provider_uuid |
string (uuid) | |
start_date |
string (date) | |
state |
array |
200 -
The response body is an array of objects, where each object has the following structure:
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
name |
string | |
url |
string (uri) | |
start_date |
string (date) | Starting from this date, the campaign is active. |
end_date |
string (date) | The last day the campaign is active. |
coupon |
string | If coupon is empty, campaign is available to all users. |
discount_type |
string | Enum: discount, special_price |
discount |
integer | |
stock |
integer | |
description |
string | |
months |
integer | How many months in a row should the related service (when activated) get special deal (0 for indefinitely until active) |
auto_apply |
boolean | |
state |
string | |
service_provider |
string (uri) | |
offerings |
array of objects | |
offerings.uuid |
string (uuid) | |
offerings.name |
string | |
required_offerings |
array of string (uuid)s |
Retrieve
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
promotions_campaigns_retrieve
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
200 -
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
name |
string | |
url |
string (uri) | |
start_date |
string (date) | Starting from this date, the campaign is active. |
end_date |
string (date) | The last day the campaign is active. |
coupon |
string | If coupon is empty, campaign is available to all users. |
discount_type |
string | Enum: discount, special_price |
discount |
integer | |
stock |
integer | |
description |
string | |
months |
integer | How many months in a row should the related service (when activated) get special deal (0 for indefinitely until active) |
auto_apply |
boolean | |
state |
string | |
service_provider |
string (uri) | |
offerings |
array of objects | |
offerings.uuid |
string (uuid) | |
offerings.name |
string | |
required_offerings |
array of string (uuid)s |
Create
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
- Model Source:
CampaignRequest - API Source:
promotions_campaigns_create
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | ✓ | |
start_date |
string (date) | ✓ | Starting from this date, the campaign is active. |
end_date |
string (date) | ✓ | The last day the campaign is active. |
coupon |
string | If coupon is empty, campaign is available to all users. | |
discount_type |
string | ✓ | Enum: discount, special_price |
discount |
integer | ✓ | |
stock |
integer | ||
description |
string | ||
months |
integer | How many months in a row should the related service (when activated) get special deal (0 for indefinitely until active) | |
auto_apply |
boolean | ||
service_provider |
string (uri) | ✓ | |
offerings |
array of string (uuid)s | ✓ | Constraints: write-only |
required_offerings |
array of string (uuid)s |
201 -
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
name |
string | |
url |
string (uri) | |
start_date |
string (date) | Starting from this date, the campaign is active. |
end_date |
string (date) | The last day the campaign is active. |
coupon |
string | If coupon is empty, campaign is available to all users. |
discount_type |
string | Enum: discount, special_price |
discount |
integer | |
stock |
integer | |
description |
string | |
months |
integer | How many months in a row should the related service (when activated) get special deal (0 for indefinitely until active) |
auto_apply |
boolean | |
state |
string | |
service_provider |
string (uri) | |
offerings |
array of objects | |
offerings.uuid |
string (uuid) | |
offerings.name |
string | |
required_offerings |
array of string (uuid)s |
Update
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
- Model Source:
CampaignRequest - API Source:
promotions_campaigns_update
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | ✓ | |
start_date |
string (date) | ✓ | Starting from this date, the campaign is active. |
end_date |
string (date) | ✓ | The last day the campaign is active. |
coupon |
string | If coupon is empty, campaign is available to all users. | |
discount_type |
string | ✓ | Enum: discount, special_price |
discount |
integer | ✓ | |
stock |
integer | ||
description |
string | ||
months |
integer | How many months in a row should the related service (when activated) get special deal (0 for indefinitely until active) | |
auto_apply |
boolean | ||
service_provider |
string (uri) | ✓ | |
offerings |
array of string (uuid)s | ✓ | Constraints: write-only |
required_offerings |
array of string (uuid)s |
200 -
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
name |
string | |
url |
string (uri) | |
start_date |
string (date) | Starting from this date, the campaign is active. |
end_date |
string (date) | The last day the campaign is active. |
coupon |
string | If coupon is empty, campaign is available to all users. |
discount_type |
string | Enum: discount, special_price |
discount |
integer | |
stock |
integer | |
description |
string | |
months |
integer | How many months in a row should the related service (when activated) get special deal (0 for indefinitely until active) |
auto_apply |
boolean | |
state |
string | |
service_provider |
string (uri) | |
offerings |
array of objects | |
offerings.uuid |
string (uuid) | |
offerings.name |
string | |
required_offerings |
array of string (uuid)s |
Delete
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
promotions_campaigns_destroy
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
204 - No response body
Other Actions
Return a list of orders for which the campaign is applied
Return a list of orders for which the campaign is applied.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
- API Source:
promotions_campaigns_orders_list
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
| Name | Type | Description |
|---|---|---|
field |
array | |
page |
integer | A page number within the paginated result set. |
page_size |
integer | Number of results to return per page. |
200 -
The response body is an array of objects, where each object has the following structure:
| Field | Type | Description |
|---|---|---|
offering |
string (uri) | |
offering_name |
string | |
offering_uuid |
string (uuid) | |
offering_description |
string | |
offering_image |
string (uri) | |
offering_thumbnail |
string (uri) | |
offering_type |
string | |
offering_shared |
boolean | Accessible to all customers. |
offering_billable |
boolean | Purchase and usage is invoiced. |
offering_plugin_options |
any | Public data used by specific plugin, such as storage mode for OpenStack. |
provider_name |
string | |
provider_uuid |
string (uuid) | |
provider_slug |
string | |
category_title |
string | |
category_uuid |
string (uuid) | |
category_icon |
string (uri) | |
plan |
string (uri) | |
plan_unit |
any | |
plan_name |
string | |
plan_uuid |
string (uuid) | |
plan_description |
string | |
attributes |
any | |
limits |
object (free-form) | |
uuid |
string (uuid) | |
created |
string (date-time) | |
modified |
string (date-time) | |
resource_uuid |
string (uuid) | |
resource_type |
string | |
resource_name |
string | |
cost |
string (decimal) | |
state |
any | |
output |
string | |
marketplace_resource_uuid |
string (uuid) | |
error_message |
string | |
error_traceback |
string | |
callback_url |
string (uri) | |
completed_at |
string (date-time) | |
request_comment |
string | |
attachment |
string (uri) | |
type |
any | |
start_date |
string (date) | Enables delayed processing of resource provisioning order. |
slug |
string | |
url |
string (uri) | |
consumer_reviewed_by |
string | Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters |
consumer_reviewed_by_full_name |
string | |
consumer_reviewed_by_username |
string | Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters |
consumer_reviewed_at |
string (date-time) | |
provider_reviewed_by |
string | Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters |
provider_reviewed_by_full_name |
string | |
provider_reviewed_by_username |
string | Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters |
provider_reviewed_at |
string (date-time) | |
created_by_username |
string | Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters |
created_by_full_name |
string | |
created_by_civil_number |
string | |
customer_name |
string | |
customer_uuid |
string (uuid) | |
customer_slug |
string | |
project_name |
string | |
project_uuid |
string (uuid) | |
project_description |
string | |
project_slug |
string | |
old_plan_name |
string | |
new_plan_name |
string | |
old_plan_uuid |
string (uuid) | |
new_plan_uuid |
string (uuid) | |
old_cost_estimate |
number (double) | |
new_cost_estimate |
string (decimal) | |
can_terminate |
boolean | |
fixed_price |
number (double) | |
activation_price |
number (double) | |
termination_comment |
string | |
backend_id |
string | |
order_subtype |
string | |
issue |
any |
Return a list of resources for which the campaign is applied
Return a list of resources for which the campaign is applied.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
- API Source:
promotions_campaigns_resources_list
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
| Name | Type | Description |
|---|---|---|
field |
array | |
page |
integer | A page number within the paginated result set. |
page_size |
integer | Number of results to return per page. |
200 -
The response body is an array of objects, where each object has the following structure:
| Field | Type | Description |
|---|---|---|
offering |
string (uri) | |
offering_name |
string | |
offering_uuid |
string (uuid) | |
offering_description |
string | |
offering_image |
string (uri) | |
offering_thumbnail |
string (uri) | |
offering_type |
string | |
offering_shared |
boolean | Accessible to all customers. |
offering_billable |
boolean | Purchase and usage is invoiced. |
offering_plugin_options |
any | Public data used by specific plugin, such as storage mode for OpenStack. |
provider_name |
string | |
provider_uuid |
string (uuid) | |
provider_slug |
string | |
category_title |
string | |
category_uuid |
string (uuid) | |
category_icon |
string (uri) | |
plan |
string (uri) | |
plan_unit |
any | |
plan_name |
string | |
plan_uuid |
string (uuid) | |
plan_description |
string | |
attributes |
object (free-form) | |
limits |
object (free-form) | |
uuid |
string (uuid) | |
created |
string (date-time) | |
modified |
string (date-time) | |
url |
string (uri) | |
scope |
string | |
description |
string | |
state |
any | |
resource_uuid |
string (uuid) | |
backend_id |
string | |
effective_id |
string | |
resource_type |
string | |
project |
string (uri) | |
project_uuid |
string (uuid) | |
project_name |
string | |
project_description |
string | |
project_end_date |
string (date) | The date is inclusive. Once reached, all project resource will be scheduled for termination. |
project_end_date_requested_by |
string (uri) | |
customer_uuid |
string (uuid) | |
customer_name |
string | |
offering_slug |
string | |
parent_offering_uuid |
string (uuid) | |
parent_offering_name |
string | |
parent_offering_slug |
string | |
parent_uuid |
string (uuid) | |
parent_name |
string | |
backend_metadata |
any | |
is_usage_based |
boolean | |
is_limit_based |
boolean | |
name |
string | |
slug |
string | URL-friendly identifier. Only editable by staff users. |
current_usages |
object (free-form) | |
can_terminate |
boolean | |
report |
array of objects | |
report.header |
string | Section header text |
report.body |
string | Section body content |
end_date |
string (date) | The date is inclusive. Once reached, a resource will be scheduled for termination. |
end_date_requested_by |
string (uri) | |
username |
string | |
limit_usage |
object (free-form) | |
downscaled |
boolean | |
restrict_member_access |
boolean | |
paused |
boolean | |
endpoints |
array of objects | |
endpoints.uuid |
string (uuid) | |
endpoints.name |
string | |
endpoints.url |
string | URL of the access endpoint |
error_message |
string | |
error_traceback |
string | |
options |
any | |
available_actions |
array of strings | |
last_sync |
string (date-time) | |
order_in_progress |
any | |
creation_order |
any | |
service_settings_uuid |
string (uuid) | |
project_slug |
string | |
customer_slug |
string | |
user_requires_reconsent |
boolean | Check if the current user needs to re-consent for this resource's offering. |
renewal_date |
object (free-form) | |
offering_state |
any | |
offering_components |
array of objects | |
offering_components.uuid |
string (uuid) | |
offering_components.billing_type |
string | Enum: fixed, usage, limit, one, few |
offering_components.type |
string | Unique internal name of the measured unit, for example floating_ip. |
offering_components.name |
string | Display name for the measured unit, for example, Floating IP. |
offering_components.description |
string | |
offering_components.measured_unit |
string | Unit of measurement, for example, GB. |
offering_components.unit_factor |
integer | The conversion factor from backend units to measured_unit |
offering_components.limit_period |
any | |
offering_components.limit_amount |
integer | |
offering_components.article_code |
string | |
offering_components.max_value |
integer | |
offering_components.min_value |
integer | |
offering_components.max_available_limit |
integer | |
offering_components.is_boolean |
boolean | |
offering_components.default_limit |
integer | |
offering_components.factor |
integer | |
offering_components.is_builtin |
boolean | |
offering_components.is_prepaid |
boolean | |
offering_components.overage_component |
string (uuid) | |
offering_components.min_prepaid_duration |
integer | |
offering_components.max_prepaid_duration |
integer |
Activate campaign
Activate campaign.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
promotions_campaigns_activate
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
200 - No response body
409 - No response body
Terminate campaign
Terminate campaign.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
promotions_campaigns_terminate
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
200 - No response body
409 - No response body