Create a new voucher
Content
Resource URL
https://apps.ticketmatic.com/api/1/{accountname}/settings/vouchers
Examples
Creating a pricetype voucher
Whenever you want to lock specific pricetypes with a vouchercode, a pricetype voucher is needed. This type of voucher can be created in the following way.
Ticketlayoutid is not specified in this example but is necessary whenever vouchercodes are generated that need to be delivered to an enduser via a ticketlayout template.
Request
1use Ticketmatic\Endpoints\Settings\Vouchers;
2
3$result = Vouchers::create($client, array(
4 "typeid" => 24001,
5 "name" => "Pricetype voucher",
6 "codeformatid" => 27001,
7 "description" => "This voucher can be used to buy tickets for a specific locked pricetype in an event",
8 "validity" => array(
9 "expiry_monthsaftercreation" => 12,
10 "maxusages" => 10,
11 "maxusagesperevent" => 1,
12 ),
13));
Response
1object(\Ticketmatic\Model\Voucher) (8) {
2 ["id"]=>
3 int(0)
4 ["typeid"]=>
5 int(0)
6 ["name"]=>
7 string(17) "Pricetype voucher"
8 ["codeformatid"]=>
9 int(0)
10 ["description"]=>
11 string(83) "This voucher can be used to buy tickets for a specific locked pricetype in an event"
12 ["nbrofcodes"]=>
13 int(0)
14 ["validity"]=>
15 object(\Ticketmatic\Model\VoucherValidity) (3) {
16 ["expiry_monthsaftercreation"]=>
17 int(0)
18 ["maxusages"]=>
19 int(0)
20 ["maxusagesperevent"]=>
21 int(0)
22 }
23 ["isarchived"]=>
24 bool(false)
25}
Request
1import (
2 "github.com/ticketmatic/tm-go/ticketmatic"
3 "github.com/ticketmatic/tm-go/ticketmatic/settings/vouchers"
4)
5
6result, err := vouchers.Create(client, &ticketmatic.Voucher{
7 Typeid: 24001,
8 Name: "Pricetype voucher",
9 Codeformatid: 27001,
10 Description: "This voucher can be used to buy tickets for a specific locked pricetype in an event",
11 Validity: &ticketmatic.VoucherValidity{
12 ExpiryMonthsaftercreation: 12,
13 Maxusages: 10,
14 Maxusagesperevent: 1,
15 },
16})
Response
1result := &ticketmatic.Voucher{
2 Id: 10000,
3 Typeid: 24001,
4 Name: "Pricetype voucher",
5 Codeformatid: 27001,
6 Description: "This voucher can be used to buy tickets for a specific locked pricetype in an event",
7 Nbrofcodes: 0,
8 Validity: &ticketmatic.VoucherValidity{
9 ExpiryMonthsaftercreation: 12,
10 Maxusages: 10,
11 Maxusagesperevent: 1,
12 },
13 Isarchived: false,
14}
Request
1POST /api/1/{accountname}/settings/vouchers HTTP/1.1
2Content-Type: application/json
3
4{
5 "typeid": 24001,
6 "name": "Pricetype voucher",
7 "codeformatid": 27001,
8 "description": "This voucher can be used to buy tickets for a specific locked pricetype in an event",
9 "validity": {
10 "expiry_monthsaftercreation": 12,
11 "maxusages": 10,
12 "maxusagesperevent": 1
13 }
14}
Response
1HTTP/1.1 200 OK
2Content-Type: application/json
3
4{
5 "id": 10000,
6 "typeid": 24001,
7 "name": "Pricetype voucher",
8 "codeformatid": 27001,
9 "description": "This voucher can be used to buy tickets for a specific locked pricetype in an event",
10 "nbrofcodes": 0,
11 "validity": {
12 "expiry_monthsaftercreation": 12,
13 "maxusages": 10,
14 "maxusagesperevent": 1
15 },
16 "isarchived": false
17}
Creating a payment voucher
If you want to create voucher that generates codes which which can be used for paying, a payment voucher is needed.
Ticketlayoutid is not specified in this example but is necessary whenever vouchercodes are generated that need to be delivered to an enduser via a ticketlayout template.
The paymentmethodid (13
) that is used in this example is of a voucher
type (paymentmethodtypeid of 1007
).
Request
1use Ticketmatic\Endpoints\Settings\Vouchers;
2
3$result = Vouchers::create($client, array(
4 "typeid" => 24003,
5 "name" => "Payment voucher",
6 "codeformatid" => 27001,
7 "description" => "A code that is generated by this voucher can be used for making payments.",
8 "paymentmethodid" => 13,
9 "validity" => array(
10 "expiry_monthsaftercreation" => 12,
11 ),
12));
Response
1object(\Ticketmatic\Model\Voucher) (9) {
2 ["id"]=>
3 int(0)
4 ["typeid"]=>
5 int(0)
6 ["name"]=>
7 string(15) "Payment voucher"
8 ["codeformatid"]=>
9 int(0)
10 ["description"]=>
11 string(73) "A code that is generated by this voucher can be used for making payments."
12 ["nbrofcodes"]=>
13 int(0)
14 ["paymentmethodid"]=>
15 int(0)
16 ["validity"]=>
17 object(\Ticketmatic\Model\VoucherValidity) (1) {
18 ["expiry_monthsaftercreation"]=>
19 int(0)
20 }
21 ["isarchived"]=>
22 bool(false)
23}
Request
1import (
2 "github.com/ticketmatic/tm-go/ticketmatic"
3 "github.com/ticketmatic/tm-go/ticketmatic/settings/vouchers"
4)
5
6result, err := vouchers.Create(client, &ticketmatic.Voucher{
7 Typeid: 24003,
8 Name: "Payment voucher",
9 Codeformatid: 27001,
10 Description: "A code that is generated by this voucher can be used for making payments.",
11 Paymentmethodid: 13,
12 Validity: &ticketmatic.VoucherValidity{
13 ExpiryMonthsaftercreation: 12,
14 },
15})
Response
1result := &ticketmatic.Voucher{
2 Id: 10001,
3 Typeid: 24003,
4 Name: "Payment voucher",
5 Codeformatid: 27001,
6 Description: "A code that is generated by this voucher can be used for making payments.",
7 Nbrofcodes: 0,
8 Paymentmethodid: 13,
9 Validity: &ticketmatic.VoucherValidity{
10 ExpiryMonthsaftercreation: 12,
11 },
12 Isarchived: false,
13}
Request
1POST /api/1/{accountname}/settings/vouchers HTTP/1.1
2Content-Type: application/json
3
4{
5 "typeid": 24003,
6 "name": "Payment voucher",
7 "codeformatid": 27001,
8 "description": "A code that is generated by this voucher can be used for making payments.",
9 "paymentmethodid": 13,
10 "validity": {
11 "expiry_monthsaftercreation": 12
12 }
13}
Response
1HTTP/1.1 200 OK
2Content-Type: application/json
3
4{
5 "id": 10001,
6 "typeid": 24003,
7 "name": "Payment voucher",
8 "codeformatid": 27001,
9 "description": "A code that is generated by this voucher can be used for making payments.",
10 "nbrofcodes": 0,
11 "paymentmethodid": 13,
12 "validity": {
13 "expiry_monthsaftercreation": 12
14 },
15 "isarchived": false
16}
Request body fields
Field | Description |
---|---|
typeid
int
(required) |
Type ID Example value:24001
|
name
mlstring
(required) |
Name of the voucher Example value:"Gift voucher"
|
codeformatid
int
(required) |
Format used when generating codes for the voucher. Possible values:
27001
|
codeprefix
string
(required) |
If set, the codes that are generated are padded with this prefix. This can be used to ensure that vouchercodes are unique. The prefix can be max 10 characters long. Example value:"998"
|
description
mlstring
(required) |
Description of the voucher Example value:"Gift voucher description"
|
ordervalidationscript
string
|
A validation script that is used for vouchers of type order. For each order with a voucher of this type attached, the script will be run to validate the contents Example value:"return order.tickets.count<5;"
|
paymentmethodid
int
|
Paymentmethod to use when creating payments for vouchers of type 345
|
validity
VoucherValidity
(required) |
Definition of the validity of this voucher. Depends on the typeid. Example value:{ "expiry_fixeddate": "2025-01-01", "maxusages": 10, "maxusagesperevent": 2 }
|
Type reference: Voucher
Result fields
Field | Description |
---|---|
id
int
|
Unique ID Example value:123
|
typeid
int
|
Type ID Example value:24001
|
name
|
Name of the voucher Example value:"Gift voucher"
|
codeformatid
int
|
Format used when generating codes for the voucher. Possible values:
27001
|
codeprefix
string
|
If set, the codes that are generated are padded with this prefix. This can be used to ensure that vouchercodes are unique. The prefix can be max 10 characters long. Example value:"998"
|
description
|
Description of the voucher Example value:"Gift voucher description"
|
nbrofcodes
int
|
The number of codes that were created for this voucher. Example value:10000
|
ordervalidationscript
string
|
A validation script that is used for vouchers of type order. For each order with a voucher of this type attached, the script will be run to validate the contents Example value:"return order.tickets.count<5;"
|
paymentmethodid
int
|
Paymentmethod to use when creating payments for vouchers of type 345
|
validity
|
Definition of the validity of this voucher. Depends on the typeid. Example value:{ "expiry_fixeddate": "2025-01-01", "maxusages": 10, "maxusagesperevent": 2 }
|
isarchived
bool
|
Whether or not this item is archived |
createdts
timestamp
|
Created timestamp Example value:"2014-09-26 15:24:36"
|
lastupdatets
timestamp
|
Last updated timestamp Example value:"2014-09-26 15:24:36"
|
Type reference: Voucher