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 .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/C2BGetInstrumentDetail HTTP/1.1 
Host: active-ewebservice.biz 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<C2BGetInstrumentDetailRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AIM.WebService">
  <ApiKey>String</ApiKey>
  <OAuthToken>String</OAuthToken>
  <AppId>String</AppId>
  <DeviceId>String</DeviceId>
  <Token>String</Token>
  <DeliveryId>0</DeliveryId>
  <IncludeMobileLayout>String</IncludeMobileLayout>
  <InstrumentId>0</InstrumentId>
  <LocationId>0</LocationId>
  <RateId>0</RateId>
  <RsiPk>0</RsiPk>
  <TeacherId>0</TeacherId>
</C2BGetInstrumentDetailRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<C2BGetInstrumentDetailResponse 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>
  <InstrumentDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/AIM" i:nil="true" />
  <MobileLayout xmlns:d2p1="http://schemas.datacontract.org/2004/07/AIM.BL.Core.ExternalAPIs.MobileRentals">
    <d2p1:returnurl>String</d2p1:returnurl>
    <d2p1:sections>
      <d2p1:MobileLayout.Section>
        <d2p1:elements>
          <d2p1:MobileLayout.Element>
            <d2p1:addvalue>false</d2p1:addvalue>
            <d2p1:backgroundcolor>String</d2p1:backgroundcolor>
            <d2p1:disabled>false</d2p1:disabled>
            <d2p1:elements i:nil="true" />
            <d2p1:fontbold>false</d2p1:fontbold>
            <d2p1:fontsize>String</d2p1:fontsize>
            <d2p1:height>String</d2p1:height>
            <d2p1:id>String</d2p1:id>
            <d2p1:label>String</d2p1:label>
            <d2p1:map i:nil="true" />
            <d2p1:margin>String</d2p1:margin>
            <d2p1:placeholder>String</d2p1:placeholder>
            <d2p1:required>false</d2p1:required>
            <d2p1:selected>false</d2p1:selected>
            <d2p1:textalign>String</d2p1:textalign>
            <d2p1:textcolor>String</d2p1:textcolor>
            <d2p1:totalamount>false</d2p1:totalamount>
            <d2p1:type>String</d2p1:type>
            <d2p1:value>String</d2p1:value>
            <d2p1:values xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:string>String</d7p1:string>
            </d2p1:values>
            <d2p1:width>String</d2p1:width>
          </d2p1:MobileLayout.Element>
        </d2p1:elements>
        <d2p1:header>String</d2p1:header>
        <d2p1:id>String</d2p1:id>
        <d2p1:margin>String</d2p1:margin>
      </d2p1:MobileLayout.Section>
    </d2p1:sections>
    <d2p1:title>String</d2p1:title>
  </MobileLayout>
</C2BGetInstrumentDetailResponse>