AIM Web Services

<back to all web services

CategoryListingRequest

CategoryListing
Requires active-e Inventory Service.

The following routes are available for this service:
GET/api/CategoryListing
import 'package:servicestack/servicestack.dart';

// @DataContract
class BaseRequest implements IConvertible
{
    /**
    * This is your AIM API Key provided by Tri-Tech
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header")
    String? ApiKey;

    // @DataMember
    // @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
    String? OAuthToken;

    BaseRequest({this.ApiKey,this.OAuthToken});
    BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ApiKey = json['ApiKey'];
        OAuthToken = json['OAuthToken'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ApiKey': ApiKey,
        'OAuthToken': OAuthToken
    };

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

// @DataContract
class BaseSecureRequest extends BaseRequest implements IConvertible
{
    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
    String? Token;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
    String? DeviceId;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
    String? AppId;

    BaseSecureRequest({this.Token,this.DeviceId,this.AppId});
    BaseSecureRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Token = json['Token'];
        DeviceId = json['DeviceId'];
        AppId = json['AppId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Token': Token,
        'DeviceId': DeviceId,
        'AppId': AppId
    });

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

// @DataContract
class BaseResponseResult implements IConvertible
{
    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
    String? StatusCode;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
    String? Login;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
    String? ErrorCode;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
    String? ErrorDisplayText;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
    String? ErrorMessage;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")
    String? DomainName;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")
    String? IpAddress;

    BaseResponseResult({this.StatusCode,this.Login,this.ErrorCode,this.ErrorDisplayText,this.ErrorMessage,this.DomainName,this.IpAddress});
    BaseResponseResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        StatusCode = json['StatusCode'];
        Login = json['Login'];
        ErrorCode = json['ErrorCode'];
        ErrorDisplayText = json['ErrorDisplayText'];
        ErrorMessage = json['ErrorMessage'];
        DomainName = json['DomainName'];
        IpAddress = json['IpAddress'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'StatusCode': StatusCode,
        'Login': Login,
        'ErrorCode': ErrorCode,
        'ErrorDisplayText': ErrorDisplayText,
        'ErrorMessage': ErrorMessage,
        'DomainName': DomainName,
        'IpAddress': IpAddress
    };

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

// @DataContract
class BaseResponse implements IConvertible
{
    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
    BaseResponseResult? Status;

    BaseResponse({this.Status});
    BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'Status': JsonConverters.toJson(Status,'BaseResponseResult',context!)
    };

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

// @DataContract
class SubCategoryAttributeInfo implements IConvertible
{
    // @DataMember
    String? AttributeName;

    // @DataMember
    int? Priority;

    SubCategoryAttributeInfo({this.AttributeName,this.Priority});
    SubCategoryAttributeInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        AttributeName = json['AttributeName'];
        Priority = json['Priority'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'AttributeName': AttributeName,
        'Priority': Priority
    };

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

// @DataContract
class SubCategoryInfo implements IConvertible
{
    // @DataMember
    int? SubNumber;

    // @DataMember
    String? Description;

    // @DataMember
    bool? Active;

    // @DataMember
    double? Price;

    // @DataMember
    List<SubCategoryAttributeInfo>? SkuAttributes;

    // @DataMember
    List<SubCategoryAttributeInfo>? SerialAttributes;

    SubCategoryInfo({this.SubNumber,this.Description,this.Active,this.Price,this.SkuAttributes,this.SerialAttributes});
    SubCategoryInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        SubNumber = json['SubNumber'];
        Description = json['Description'];
        Active = json['Active'];
        Price = JsonConverters.toDouble(json['Price']);
        SkuAttributes = JsonConverters.fromJson(json['SkuAttributes'],'List<SubCategoryAttributeInfo>',context!);
        SerialAttributes = JsonConverters.fromJson(json['SerialAttributes'],'List<SubCategoryAttributeInfo>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'SubNumber': SubNumber,
        'Description': Description,
        'Active': Active,
        'Price': Price,
        'SkuAttributes': JsonConverters.toJson(SkuAttributes,'List<SubCategoryAttributeInfo>',context!),
        'SerialAttributes': JsonConverters.toJson(SerialAttributes,'List<SubCategoryAttributeInfo>',context!)
    };

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

// @DataContract
class CategoryInfo implements IConvertible
{
    // @DataMember
    int? CategoryNumber;

    // @DataMember
    String? CategoryType;

    // @DataMember
    String? Description;

    // @DataMember
    bool? Active;

    // @DataMember
    List<SubCategoryInfo>? SubCategoryListing;

    // @DataMember
    String? PaymentCategoryType;

    // @DataMember
    bool? AllowedOnMobile;

    CategoryInfo({this.CategoryNumber,this.CategoryType,this.Description,this.Active,this.SubCategoryListing,this.PaymentCategoryType,this.AllowedOnMobile});
    CategoryInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CategoryNumber = json['CategoryNumber'];
        CategoryType = json['CategoryType'];
        Description = json['Description'];
        Active = json['Active'];
        SubCategoryListing = JsonConverters.fromJson(json['SubCategoryListing'],'List<SubCategoryInfo>',context!);
        PaymentCategoryType = json['PaymentCategoryType'];
        AllowedOnMobile = json['AllowedOnMobile'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CategoryNumber': CategoryNumber,
        'CategoryType': CategoryType,
        'Description': Description,
        'Active': Active,
        'SubCategoryListing': JsonConverters.toJson(SubCategoryListing,'List<SubCategoryInfo>',context!),
        'PaymentCategoryType': PaymentCategoryType,
        'AllowedOnMobile': AllowedOnMobile
    };

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

// @DataContract
class CategoryListingResponse extends BaseResponse implements IConvertible
{
    // @DataMember
    List<CategoryInfo>? CategoryListing;

    CategoryListingResponse({this.CategoryListing});
    CategoryListingResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        CategoryListing = JsonConverters.fromJson(json['CategoryListing'],'List<CategoryInfo>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'CategoryListing': JsonConverters.toJson(CategoryListing,'List<CategoryInfo>',context!)
    });

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

/**
* CategoryListingRequires active-e Inventory Service.
*/
// @DataContract
class CategoryListingRequest extends BaseSecureRequest implements IConvertible
{
    /**
    * If true, Inactive Categories and Subcategories will be returned. Defaults to false.
    */
    // @DataMember
    // @ApiMember(DataType="boolean", Description="If true, Inactive Categories and Subcategories will be returned. Defaults to false.", Name="IncludeInactive", ParameterType="query")
    bool? IncludeInactive;

    /**
    * Category Number lookup. If sent, only this category and it's subs will be returned. Further parameters will be ignored.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="Category Number lookup. If sent, only this category and it's subs will be returned. Further parameters will be ignored.", Format="int64", Name="CategoryNumber", ParameterType="query")
    int? CategoryNumber;

    /**
    * If true, Inventory Categories will be returned. Defaults to true.
    */
    // @DataMember
    // @ApiMember(DataType="boolean", Description="If true, Inventory Categories will be returned. Defaults to true.", Name="IncludeInventory", ParameterType="query")
    bool? IncludeInventory;

    /**
    * If true, Non-Inventory Categories will be returned. Defaults to false.
    */
    // @DataMember
    // @ApiMember(DataType="boolean", Description="If true, Non-Inventory Categories will be returned. Defaults to false.", Name="IncludeNonInventory", ParameterType="query")
    bool? IncludeNonInventory;

    /**
    * If true, Return Payment Categories will be returned. Defaults to false.
    */
    // @DataMember
    // @ApiMember(DataType="boolean", Description="If true, Return Payment Categories will be returned. Defaults to false.", Name="IncludeReturn", ParameterType="query")
    bool? IncludeReturn;

    /**
    * If true, Payment Categories will be returned. Defaults to false.
    */
    // @DataMember
    // @ApiMember(DataType="boolean", Description="If true, Payment Categories will be returned. Defaults to false.", Name="IncludePayment", ParameterType="query")
    bool? IncludePayment;

    CategoryListingRequest({this.IncludeInactive,this.CategoryNumber,this.IncludeInventory,this.IncludeNonInventory,this.IncludeReturn,this.IncludePayment});
    CategoryListingRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        IncludeInactive = json['IncludeInactive'];
        CategoryNumber = json['CategoryNumber'];
        IncludeInventory = json['IncludeInventory'];
        IncludeNonInventory = json['IncludeNonInventory'];
        IncludeReturn = json['IncludeReturn'];
        IncludePayment = json['IncludePayment'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'IncludeInactive': IncludeInactive,
        'CategoryNumber': CategoryNumber,
        'IncludeInventory': IncludeInventory,
        'IncludeNonInventory': IncludeNonInventory,
        'IncludeReturn': IncludeReturn,
        'IncludePayment': IncludePayment
    });

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

TypeContext _ctx = TypeContext(library: 'active_ewebservice.biz', types: <String, TypeInfo> {
    'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
    'BaseSecureRequest': TypeInfo(TypeOf.Class, create:() => BaseSecureRequest()),
    'BaseResponseResult': TypeInfo(TypeOf.Class, create:() => BaseResponseResult()),
    'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
    'SubCategoryAttributeInfo': TypeInfo(TypeOf.Class, create:() => SubCategoryAttributeInfo()),
    'SubCategoryInfo': TypeInfo(TypeOf.Class, create:() => SubCategoryInfo()),
    'List<SubCategoryAttributeInfo>': TypeInfo(TypeOf.Class, create:() => <SubCategoryAttributeInfo>[]),
    'CategoryInfo': TypeInfo(TypeOf.Class, create:() => CategoryInfo()),
    'List<SubCategoryInfo>': TypeInfo(TypeOf.Class, create:() => <SubCategoryInfo>[]),
    'CategoryListingResponse': TypeInfo(TypeOf.Class, create:() => CategoryListingResponse()),
    'List<CategoryInfo>': TypeInfo(TypeOf.Class, create:() => <CategoryInfo>[]),
    'CategoryListingRequest': TypeInfo(TypeOf.Class, create:() => CategoryListingRequest()),
});

Dart CategoryListingRequest 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.

GET /api/CategoryListing HTTP/1.1 
Host: active-ewebservice.biz 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CategoryListingResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AIM.WebService">
  <Status>
    <DomainName>String</DomainName>
    <ErrorCode>String</ErrorCode>
    <ErrorDisplayText>String</ErrorDisplayText>
    <ErrorMessage>String</ErrorMessage>
    <IpAddress>String</IpAddress>
    <Login>String</Login>
    <StatusCode>String</StatusCode>
  </Status>
  <CategoryListing>
    <CategoryInfo>
      <Active>false</Active>
      <AllowedOnMobile>false</AllowedOnMobile>
      <CategoryNumber>0</CategoryNumber>
      <CategoryType>String</CategoryType>
      <Description>String</Description>
      <PaymentCategoryType>String</PaymentCategoryType>
      <SubCategoryListing>
        <SubCategoryInfo>
          <Active>false</Active>
          <Description>String</Description>
          <Price>0</Price>
          <SerialAttributes>
            <SubCategoryAttributeInfo>
              <AttributeName>String</AttributeName>
              <Priority>0</Priority>
            </SubCategoryAttributeInfo>
          </SerialAttributes>
          <SkuAttributes>
            <SubCategoryAttributeInfo>
              <AttributeName>String</AttributeName>
              <Priority>0</Priority>
            </SubCategoryAttributeInfo>
          </SkuAttributes>
          <SubNumber>0</SubNumber>
        </SubCategoryInfo>
      </SubCategoryListing>
    </CategoryInfo>
  </CategoryListing>
</CategoryListingResponse>