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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<CreateCoupon xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Hmx.Accounts.ServiceModels">
  <Code>String</Code>
  <Description>String</Description>
  <DiscountType>String</DiscountType>
  <EffectiveDate>0001-01-01T00:00:00</EffectiveDate>
  <Name>String</Name>
  <ProductDiscounts xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringdecimal>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>0</d2p1:Value>
    </d2p1:KeyValueOfstringdecimal>
  </ProductDiscounts>
</CreateCoupon>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CreateCouponResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Hmx.Accounts.ServiceModels">
  <Message>String</Message>
  <Status>Continue</Status>
</CreateCouponResponse>