Skip to main content
POST
/
merchant
/
discount
/
batch
/
template
/
new
Create Batch Discount Template
curl --request POST \
  --url https://api.unibee.dev/merchant/discount/batch/template/new \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "billingType": 123,
  "codePrefix": "<string>",
  "discountType": 123,
  "endTime": 123,
  "quantity": 123,
  "startTime": 123,
  "advance": true,
  "currency": "<string>",
  "cycleLimit": 123,
  "discountAmount": 123,
  "discountPercentage": 123,
  "metadata": {},
  "name": "<string>",
  "planApplyGroup": {
    "currency": [
      "<string>"
    ],
    "groupPlanIntervalSelector": [
      {
        "intervalCount": 123,
        "intervalUnit": "<string>"
      }
    ],
    "type": [
      123
    ]
  },
  "planApplyType": 123,
  "planIds": [
    123
  ],
  "subscriptionLimit": 123,
  "upgradeLongPlanOnly": true,
  "upgradeOnly": true,
  "userLimit": 123,
  "userScope": 123
}
'
{
  "code": 123,
  "data": {
    "template": {
      "advance": true,
      "billingType": 123,
      "childCodeCount": 123,
      "code": "<string>",
      "codePrefix": "<string>",
      "createTime": 123,
      "currency": "<string>",
      "cycleLimit": 123,
      "discountAmount": 123,
      "discountPercentage": 123,
      "discountType": 123,
      "endTime": 123,
      "id": 123,
      "isDeleted": 123,
      "merchantId": 123,
      "metadata": {},
      "name": "<string>",
      "planApplyGroup": {
        "currency": [
          "<string>"
        ],
        "groupPlanIntervalSelector": [
          {
            "intervalCount": 123,
            "intervalUnit": "<string>"
          }
        ],
        "type": [
          123
        ]
      },
      "planApplyType": 123,
      "planIds": [
        123
      ],
      "quantity": 123,
      "startTime": 123,
      "status": 123,
      "type": 123,
      "upgradeLongerOnly": true,
      "upgradeOnly": true,
      "usedChildCodeCount": 123,
      "userLimit": 123,
      "userScope": 123
    }
  },
  "merchantId": 123,
  "message": "<string>",
  "redirect": "<string>",
  "requestId": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Create a batch discount code template. Template must be activated before generating child codes.

billingType
integer<int>
required

The billing type of the discount code, 1-one-time, 2-recurring

codePrefix
string<string>
required

The unique code prefix for this batch template, will be used as template identifier and child code prefix, length 1-20

discountType
integer<int>
required

The discount type of the discount code, 1-percentage, 2-fixed_amount

endTime
integer<*int64>
required

The end time of discount code can effect, utc timestamp in seconds

quantity
integer<*int64>
required

Target number of child codes to generate, max 10000

startTime
integer<*int64>
required

The start time of discount code can effect, utc timestamp in seconds

advance
boolean<*bool>

AdvanceConfig, enable advanced configurations

currency
string<string>

The discount currency, available when discount_type is fixed_amount

cycleLimit
integer<int>

The count limitation of subscription cycle, 0-no limit

discountAmount
integer<int64>

The discount amount, available when discount_type is fixed_amount

discountPercentage
integer<int64>

The discount percentage, 100=1%, available when discount_type is percentage

metadata
object

Metadata, custom key-value pairs

name
string<*string>

The batch template's display name

planApplyGroup
object
planApplyType
integer<*int>

Plan apply type, 0-apply for all, 1-apply for plans specified, 2-exclude for plans specified, 3-Apply to Plans by Groups, 4-Apply to Plans except by Groups

planIds
integer<int64>[]

Ids of plan which discount code can effect

subscriptionLimit
integer<int>

The limit of every subscription apply, 0-unlimited

upgradeLongPlanOnly
boolean<*bool>

AdvanceConfig, true-forbid for all except upgrade to longer plan

upgradeOnly
boolean<*bool>

AdvanceConfig, true-forbid for all except same interval upgrade action

userLimit
integer<*int>

AdvanceConfig, The limit of every customer can apply, 0-unlimited

userScope
integer<*int>

AdvanceConfig, Apply user scope, 0-for all, 1-for only new user, 2-for only renewals

Response

200 - application/json
code
integer<int>
data
object
merchantId
integer<int64>
message
string<string>
redirect
string<string>
requestId
string<string>