Xsolla-logo

Update bonus promotionServer-sideAdmin

put/v2/project/{project_id}/admin/promotion/{promotion_id}/bonus

Updates the promotion.

Note

New data will replace old data. If you want to update only a part of a promotion, you should transfer all required data in request as well.

Promotion adds free bonus items to the purchase made by a user. The promotion can be applied to every purchase within a project or to a purchase that includes particular items.

SecuritybasicAuth
Request
path Parameters
project_id
required
integer

Project ID. You can find this parameter in your Publisher Account next to the name of the project.

Example: 44056
promotion_id
required
integer

Promotion ID. Unique promotion identifier within the project.

Example: 111425
Request Body schema: application/json
required
Array of objects or null

Set of items required to be included in the purchase for applying a promotion. If this parameters is null, a promotion will be applied to any purchases within a project.

Array
sku
string
Default: "elven_sword"

Item SKU.

required
Array of objects or null
Array
sku
string
Default: "elven_shield"

Item SKU.

quantity
number
Default: 1

Item quantity.

required
object

Name of promotion. Should contain key/value pairs where key is a locale with "^[a-z]{2}-[A-Z]{2}$" format, value is string.

property name*
additional property
string
id
integer

Promotion ID. Unique promotion identifier within the project.

date_start
string or null <date-time>
Default: "2020-04-15T18:16:00+05:00"

Date when your promotion will be started.

date_end
string or null <date-time>
Default: "2020-04-15T18:16:00+05:00"

Date when your promotion will be finished. Can be null. If date_end is null, promotion will be unlimited by time.

Array of type = string (objects) or Array of type = date (objects) or Array of type = number (objects)
One of:
[ 1 .. 100 ] items
Array ([ 1 .. 100 ] items)
attribute
required
string [ 1 .. 255 ] characters ^[-_.\\d\\w]+$

User attribute code.

operator
required
string

Type of operation performed by condition. For string attribute type.

Enum: Description
eq

Equals

ne

Not equals

value
required
string <= 255 characters

Condition value which user attribute value will be compared to. Type depends on attribute type.

type
required
string

User attribute type.

Value: "string"
can_be_missing
boolean

Indicates that the condition is met even if attribute is missing from user attributes. Pass true to show the item to users who don't have this attribute. Users who have the attribute, but the value does not match that specified in the condition, will not see the item. false — users who have the attribute, but the value does not match that specified in the condition, or the attribute is missing, will not see the item.

object

Promotion limits.

per_user
integer or null

Promotion limitation for a separate user.

object or null

Limit refresh period.

interval_type = daily (object) or interval_type = weekly (object) or interval_type = monthly (object)
One of:

Daily type of user limits refresh.

interval_type
required
string

Recurrent refresh period.

Value: "daily"
time
required
string((0[0-9]|1[0-9]|2[0-3]):00:00)(\+|-)(0[0-9]|1...

Time of limit refresh in the desired time zone (rounding to hours).

Responses
204

Promotion was successfully updated.

401

Basic authentication not passed or wrong. Make sure you used basic authentication or correct credentials.

422

Invalid request.

Request samples
application/json
{
  • "date_start": "2020-04-15T18:16:00+05:00",
  • "date_end": "2020-04-25T18:16:00+05:00",
  • "name": {
    },
  • "condition": [
    ],
  • "bonus": [
    ]
}
Response samples
application/json
{
  • "statusCode": 401,
  • "errorCode": 1020,
  • "errorMessage": "[0401-1020]: Error in Authentication method occurred"
}