| Requires any of the roles: | Admin, TeamAdmin | Required permission: | Tickets.Add |
| POST | /GiftCard/Issue |
|---|
import 'package:servicestack/servicestack.dart';
class GiftCardIssueResult implements IConvertible
{
bool? success;
int? giftCardId;
String? code;
String? codeLast4;
String? status;
DateTime? expiresAt;
String? paymentId;
int? statusCode;
String? message;
GiftCardIssueResult({this.success,this.giftCardId,this.code,this.codeLast4,this.status,this.expiresAt,this.paymentId,this.statusCode,this.message});
GiftCardIssueResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
success = json['success'];
giftCardId = json['giftCardId'];
code = json['code'];
codeLast4 = json['codeLast4'];
status = json['status'];
expiresAt = JsonConverters.fromJson(json['expiresAt'],'DateTime',context!);
paymentId = json['paymentId'];
statusCode = json['statusCode'];
message = json['message'];
return this;
}
Map<String, dynamic> toJson() => {
'success': success,
'giftCardId': giftCardId,
'code': code,
'codeLast4': codeLast4,
'status': status,
'expiresAt': JsonConverters.toJson(expiresAt,'DateTime',context!),
'paymentId': paymentId,
'statusCode': statusCode,
'message': message
};
getTypeName() => "GiftCardIssueResult";
TypeContext? context = _ctx;
}
class GiftCardIssueRequest implements IConvertible
{
int? giftCardTypeId;
int? amountMinor;
String? code;
bool? activate;
String? buyerName;
String? buyerEmail;
String? buyerPhone;
String? recipientName;
String? idempotencyKey;
String? note;
GiftCardIssueRequest({this.giftCardTypeId,this.amountMinor,this.code,this.activate,this.buyerName,this.buyerEmail,this.buyerPhone,this.recipientName,this.idempotencyKey,this.note});
GiftCardIssueRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
giftCardTypeId = json['giftCardTypeId'];
amountMinor = json['amountMinor'];
code = json['code'];
activate = json['activate'];
buyerName = json['buyerName'];
buyerEmail = json['buyerEmail'];
buyerPhone = json['buyerPhone'];
recipientName = json['recipientName'];
idempotencyKey = json['idempotencyKey'];
note = json['note'];
return this;
}
Map<String, dynamic> toJson() => {
'giftCardTypeId': giftCardTypeId,
'amountMinor': amountMinor,
'code': code,
'activate': activate,
'buyerName': buyerName,
'buyerEmail': buyerEmail,
'buyerPhone': buyerPhone,
'recipientName': recipientName,
'idempotencyKey': idempotencyKey,
'note': note
};
getTypeName() => "GiftCardIssueRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
'GiftCardIssueResult': TypeInfo(TypeOf.Class, create:() => GiftCardIssueResult()),
'GiftCardIssueRequest': TypeInfo(TypeOf.Class, create:() => GiftCardIssueRequest()),
});
Dart GiftCardIssueRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /GiftCard/Issue HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
giftCardTypeId: 0,
amountMinor: 0,
code: String,
activate: False,
buyerName: String,
buyerEmail: String,
buyerPhone: String,
recipientName: String,
idempotencyKey: String,
note: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
success: False,
giftCardId: 0,
code: String,
codeLast4: String,
status: String,
expiresAt: 0001-01-01,
paymentId: String,
statusCode: 0,
message: String
}