Hmx Accounts

<back to all web services

CreateCoupon

The following routes are available for this service:
POST/api/couponsCreate a coupon
import 'package:servicestack/servicestack.dart';

class CreateCouponResponse implements IConvertible
{
    String? message;
    HttpStatusCode? status;

    CreateCouponResponse({this.message,this.status});
    CreateCouponResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        message = json['message'];
        status = JsonConverters.fromJson(json['status'],'HttpStatusCode',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'message': message,
        'status': JsonConverters.toJson(status,'HttpStatusCode',context!)
    };

    getTypeName() => "CreateCouponResponse";
    TypeContext? context = _ctx;
}

class CreateCoupon implements IConvertible
{
    String? name;
    String? code;
    String? description;
    DateTime? effectiveDate;
    String? discountType;
    Map<String,double?>? productDiscounts;

    CreateCoupon({this.name,this.code,this.description,this.effectiveDate,this.discountType,this.productDiscounts});
    CreateCoupon.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        code = json['code'];
        description = json['description'];
        effectiveDate = JsonConverters.fromJson(json['effectiveDate'],'DateTime',context!);
        discountType = json['discountType'];
        productDiscounts = JsonConverters.fromJson(json['productDiscounts'],'Map<String,double?>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'code': code,
        'description': description,
        'effectiveDate': JsonConverters.toJson(effectiveDate,'DateTime',context!),
        'discountType': discountType,
        'productDiscounts': JsonConverters.toJson(productDiscounts,'Map<String,double?>',context!)
    };

    getTypeName() => "CreateCoupon";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'accounts.dev.healthmonix.com', types: <String, TypeInfo> {
    'CreateCouponResponse': TypeInfo(TypeOf.Class, create:() => CreateCouponResponse()),
    'HttpStatusCode': TypeInfo(TypeOf.Class, create:() => HttpStatusCode()),
    'CreateCoupon': TypeInfo(TypeOf.Class, create:() => CreateCoupon()),
    'Map<String,double?>': TypeInfo(TypeOf.Class, create:() => Map<String,double?>()),
});

Dart CreateCoupon DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/coupons HTTP/1.1 
Host: accounts.dev.healthmonix.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"name":"String","code":"String","description":"String","effectiveDate":"0001-01-01T00:00:00.0000000","discountType":"String","productDiscounts":{"String":0}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"message":"String","status":"Continue"}