AIM Web Services

<back to all web services

C2BGetInstrumentDetailRequest

C2BGetInstrumentDetail
Requires active-e Contracts Service.

The following routes are available for this service:
POST, GET/api/C2BGetInstrumentDetail

// @DataContract
export class BaseRequest
{
    /** @description 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")
    public ApiKey: string;

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

    public constructor(init?: Partial<BaseRequest>) { (Object as any).assign(this, init); }
}

// @DataContract
export class BaseSecureRequest extends BaseRequest
{
    /** @description  */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
    public Token: string;

    /** @description  */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
    public DeviceId: string;

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

    public constructor(init?: Partial<BaseSecureRequest>) { super(init); (Object as any).assign(this, init); }
}

// @DataContract
export class BaseResponseResult
{
    /** @description  */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
    public StatusCode: string;

    /** @description  */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
    public Login: string;

    /** @description  */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
    public ErrorCode: string;

    /** @description  */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
    public ErrorDisplayText: string;

    /** @description  */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
    public ErrorMessage: string;

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

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

    public constructor(init?: Partial<BaseResponseResult>) { (Object as any).assign(this, init); }
}

// @DataContract
export class BaseResponse
{
    /** @description  */
    // @DataMember
    // @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
    public Status: BaseResponseResult;

    public constructor(init?: Partial<BaseResponse>) { (Object as any).assign(this, init); }
}

// @DataContract
export class C2BPlanCodeGeneric
{
    // @DataMember
    public Code: string;

    // @DataMember
    public Name: string;

    // @DataMember
    public Months: number;

    // @DataMember
    public Topic: string;

    // @DataMember
    public Url: string;

    // @DataMember
    public FinalTopic: string;

    public constructor(init?: Partial<C2BPlanCodeGeneric>) { (Object as any).assign(this, init); }
}

// @DataContract
export class C2BDeliveryInfo
{
    // @DataMember
    public FirstDelivery: string;

    // @DataMember
    public DeliveryTime: string;

    // @DataMember
    public DeliveryThreshold: number;

    // @DataMember
    public SundayDelivery: boolean;

    // @DataMember
    public MondayDelivery: boolean;

    // @DataMember
    public TuesdayDelivery: boolean;

    // @DataMember
    public WednesdayDelivery: boolean;

    // @DataMember
    public ThursdayDelivery: boolean;

    // @DataMember
    public FridayDelivery: boolean;

    // @DataMember
    public SaturdayDelivery: boolean;

    public constructor(init?: Partial<C2BDeliveryInfo>) { (Object as any).assign(this, init); }
}

// @DataContract
export class C2BTeacherGeneric
{
    // @DataMember
    public TeacherName: string;

    // @DataMember
    public SchoolName: string;

    // @DataMember
    public DistrictName: string;

    // @DataMember
    public Topic: string;

    // @DataMember
    public Id: number;

    // @DataMember
    public DeliveryInfo: C2BDeliveryInfo;

    // @DataMember
    public AIMSchoolId?: number;

    public constructor(init?: Partial<C2BTeacherGeneric>) { (Object as any).assign(this, init); }
}

// @DataContract
export class C2BSchoolGeneric
{
    // @DataMember
    public SchoolName: string;

    // @DataMember
    public DistrictName: string;

    // @DataMember
    public TeacherCount: number;

    // @DataMember
    public Topic: string;

    // @DataMember
    public Id: number;

    // @DataMember
    public DeliveryInfo: C2BDeliveryInfo;

    // @DataMember
    public AIMSchoolId?: number;

    public constructor(init?: Partial<C2BSchoolGeneric>) { (Object as any).assign(this, init); }
}

// @DataContract
export class C2BDistrictGeneric
{
    // @DataMember
    public DistrictName: string;

    // @DataMember
    public SchoolCount: number;

    // @DataMember
    public TeacherCount: number;

    // @DataMember
    public Topic: string;

    // @DataMember
    public Id: number;

    public constructor(init?: Partial<C2BDistrictGeneric>) { (Object as any).assign(this, init); }
}

// @DataContract
export class C2BGradeGeneric
{
    // @DataMember
    public Level: number;

    // @DataMember
    public Grade: string;

    // @DataMember
    public DownPay: number;

    // @DataMember
    public DownMaint: number;

    // @DataMember
    public MoPay: number;

    // @DataMember
    public MoMaint: number;

    // @DataMember
    public Id: number;

    // @DataMember
    public OutOfStock: boolean;

    // @DataMember
    public RentPrice: number;

    // @DataMember
    public CashPrice: number;

    // @DataMember
    public DownPayTax?: number;

    // @DataMember
    public DownMaintTax?: number;

    // @DataMember
    public MoPayTax?: number;

    // @DataMember
    public MoMaintTax?: number;

    // @DataMember
    public RentPricePlusTax: number;

    // @DataMember
    public RentPricePlusTaxLessDownpay: number;

    // @DataMember
    public Months: number;

    public constructor(init?: Partial<C2BGradeGeneric>) { (Object as any).assign(this, init); }
}

// @DataContract
export class C2BAccessoryGeneric
{
    // @DataMember
    public AccessoryDesc: string;

    // @DataMember
    public Price: number;

    // @DataMember
    public Required: boolean;

    // @DataMember
    public Default: boolean;

    // @DataMember
    public RequiresLocation: boolean;

    // @DataMember
    public Type: string;

    // @DataMember
    public Topic: string;

    // @DataMember
    public Id: number;

    // @DataMember
    public DisplayOrder: number;

    // @DataMember
    public Sku: string;

    // @DataMember
    public TaxAmount?: number;

    // @DataMember
    public CatNum?: number;

    public constructor(init?: Partial<C2BAccessoryGeneric>) { (Object as any).assign(this, init); }
}

// @DataContract
export class C2BInstrumentGeneric
{
    // @DataMember
    public InstrumentName: string;

    // @DataMember
    public Sku: string;

    // @DataMember
    public Topic: string;

    // @DataMember
    public Image: string;

    // @DataMember
    public Level: number;

    // @DataMember
    public RentPrice?: number;

    // @DataMember
    public CashPrice?: number;

    // @DataMember
    public Token: string;

    // @DataMember
    public InstrumentId: number;

    // @DataMember
    public InstrumentTeacherId: number;

    // @DataMember
    public GradeList: C2BGradeGeneric[];

    // @DataMember
    public HasGrades: boolean;

    // @DataMember
    public DisplayOrder: number;

    // @DataMember
    public AccessoryList: C2BAccessoryGeneric[];

    // @DataMember
    public DeliveryList: C2BAccessoryGeneric[];

    // @DataMember
    public MaintenanceList: C2BAccessoryGeneric[];

    public constructor(init?: Partial<C2BInstrumentGeneric>) { (Object as any).assign(this, init); }
}

// @DataContract
export class C2BInstrumentDetailGeneric
{
    // @DataMember
    public PlanCode: C2BPlanCodeGeneric;

    // @DataMember
    public Teacher: C2BTeacherGeneric;

    // @DataMember
    public School: C2BSchoolGeneric;

    // @DataMember
    public DeliveryDate: string;

    // @DataMember
    public SalesPerson: string;

    // @DataMember
    public District: C2BDistrictGeneric;

    // @DataMember
    public Instrument: C2BInstrumentGeneric;

    // @DataMember
    public Grade: C2BGradeGeneric;

    // @DataMember
    public AccessoryList: C2BAccessoryGeneric[];

    // @DataMember
    public DeliveryList: C2BAccessoryGeneric[];

    // @DataMember
    public MaintenanceList: C2BAccessoryGeneric[];

    public constructor(init?: Partial<C2BInstrumentDetailGeneric>) { (Object as any).assign(this, init); }
}

// @DataContract
export class MobileLayout
{
    // @DataMember
    public title: string;

    // @DataMember
    public returnurl: string;

    // @DataMember
    public sections: Section[];

    public constructor(init?: Partial<MobileLayout>) { (Object as any).assign(this, init); }
}

// @DataContract
export class C2BGetInstrumentDetailResponse extends BaseResponse
{
    // @DataMember
    public InstrumentDetails: C2BInstrumentDetailGeneric;

    // @DataMember
    public MobileLayout: MobileLayout;

    public constructor(init?: Partial<C2BGetInstrumentDetailResponse>) { super(init); (Object as any).assign(this, init); }
}

/** @description C2BGetInstrumentDetailRequires active-e Contracts Service. */
// @DataContract
export class C2BGetInstrumentDetailRequest extends BaseSecureRequest
{
    /** @description ID of the Teacher/Instrument record. Either this *or* TeacherId + InstrumentId must be sent. */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Teacher/Instrument record. Either this *or* TeacherId + InstrumentId must be sent.", Format="int64", Name="RsiPk", ParameterType="query")
    public RsiPk?: number;

    /** @description ID of the Teacher record. Either this+InstrumentID *or* RsiPk must be sent. */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Teacher record. Either this+InstrumentID *or* RsiPk must be sent.", Format="int64", Name="TeacherId", ParameterType="query")
    public TeacherId?: number;

    /** @description ID of the Instrument record. Either this+TeacherID *or* RsiPk must be sent. */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Instrument record. Either this+TeacherID *or* RsiPk must be sent.", Format="int64", Name="InstrumentId", ParameterType="query")
    public InstrumentId?: number;

    /** @description ID of the Rate to be used. This is required. */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Rate to be used. This is required.", Format="int64", IsRequired=true, Name="RateId", ParameterType="query")
    public RateId: number;

    /** @description If 'Y', then Mobile Layout will be returned. */
    // @DataMember
    // @ApiMember(DataType="string", Description="If 'Y', then Mobile Layout will be returned.", Name="IncludeMobileLayout", ParameterType="query")
    public IncludeMobileLayout: string;

    /** @description ID of the Delivery option to be used. */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Delivery option to be used.", Format="int64", IsRequired=true, Name="DeliveryId", ParameterType="query")
    public DeliveryId: number;

    /** @description ID of the Location. Used for Location required Delivery options. */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Location. Used for Location required Delivery options.", Format="int64", IsRequired=true, Name="LocationId", ParameterType="query")
    public LocationId: number;

    public constructor(init?: Partial<C2BGetInstrumentDetailRequest>) { super(init); (Object as any).assign(this, init); }
}

// @DataContract
export class Section
{
    // @DataMember
    public header: string;

    // @DataMember
    public id: string;

    // @DataMember
    public margin: string;

    // @DataMember
    public elements: Element[];

    public constructor(init?: Partial<Section>) { (Object as any).assign(this, init); }
}

// @DataContract
export class LicenseMap
{
    // @DataMember
    public name: string;

    // @DataMember
    public value: string;

    public constructor(init?: Partial<LicenseMap>) { (Object as any).assign(this, init); }
}

// @DataContract
export class Element
{
    // @DataMember
    public type: string;

    // @DataMember
    public label: string;

    // @DataMember
    public id: string;

    // @DataMember
    public fontsize: string;

    // @DataMember
    public margin: string;

    // @DataMember
    public backgroundcolor: string;

    // @DataMember
    public textcolor: string;

    // @DataMember
    public height: string;

    // @DataMember
    public width: string;

    // @DataMember
    public value: string;

    // @DataMember
    public addvalue: boolean;

    // @DataMember
    public values: string[];

    // @DataMember
    public textalign: string;

    // @DataMember
    public required?: boolean;

    // @DataMember
    public placeholder: string;

    // @DataMember
    public fontbold?: boolean;

    // @DataMember
    public selected?: boolean;

    // @DataMember
    public disabled?: boolean;

    // @DataMember
    public totalamount?: boolean;

    // @DataMember
    public elements: Element[];

    // @DataMember
    public map: LicenseMap[];

    public constructor(init?: Partial<Element>) { (Object as any).assign(this, init); }
}

TypeScript C2BGetInstrumentDetailRequest DTOs

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

HTTP + OTHER

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

POST /api/C2BGetInstrumentDetail HTTP/1.1 
Host: active-ewebservice.biz 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"RsiPk":0,"TeacherId":0,"InstrumentId":0,"RateId":0,"IncludeMobileLayout":"String","DeliveryId":0,"LocationId":0,"Token":"String","DeviceId":"String","AppId":"String","ApiKey":"String","OAuthToken":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"MobileLayout":{"title":"String","returnurl":"String","sections":[{"header":"String","id":"String","margin":"String","elements":[{"type":"String","label":"String","id":"String","fontsize":"String","margin":"String","backgroundcolor":"String","textcolor":"String","height":"String","width":"String","value":"String","addvalue":false,"values":["String"],"textalign":"String","required":false,"placeholder":"String","fontbold":false,"selected":false,"disabled":false,"totalamount":false}]}]},"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}