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
"use strict";
export class BaseRequest {
    /** @param {{ApiKey?:string,OAuthToken?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description This is your AIM API Key provided by Tri-Tech */
    ApiKey;
    /** @type {string} */
    OAuthToken;
}
export class BaseSecureRequest extends BaseRequest {
    /** @param {{Token?:string,DeviceId?:string,AppId?:string,ApiKey?:string,OAuthToken?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    Token;
    /** @type {string} */
    DeviceId;
    /** @type {string} */
    AppId;
}
export class BaseResponseResult {
    /** @param {{StatusCode?:string,Login?:string,ErrorCode?:string,ErrorDisplayText?:string,ErrorMessage?:string,DomainName?:string,IpAddress?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    StatusCode;
    /** @type {string} */
    Login;
    /** @type {string} */
    ErrorCode;
    /** @type {string} */
    ErrorDisplayText;
    /** @type {string} */
    ErrorMessage;
    /** @type {string} */
    DomainName;
    /** @type {string} */
    IpAddress;
}
export class BaseResponse {
    /** @param {{Status?:BaseResponseResult}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {BaseResponseResult} */
    Status;
}
export class C2BPlanCodeGeneric {
    /** @param {{Code?:string,Name?:string,Months?:number,Topic?:string,Url?:string,FinalTopic?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Code;
    /** @type {string} */
    Name;
    /** @type {number} */
    Months;
    /** @type {string} */
    Topic;
    /** @type {string} */
    Url;
    /** @type {string} */
    FinalTopic;
}
export class C2BDeliveryInfo {
    /** @param {{FirstDelivery?:string,DeliveryTime?:string,DeliveryThreshold?:number,SundayDelivery?:boolean,MondayDelivery?:boolean,TuesdayDelivery?:boolean,WednesdayDelivery?:boolean,ThursdayDelivery?:boolean,FridayDelivery?:boolean,SaturdayDelivery?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    FirstDelivery;
    /** @type {string} */
    DeliveryTime;
    /** @type {number} */
    DeliveryThreshold;
    /** @type {boolean} */
    SundayDelivery;
    /** @type {boolean} */
    MondayDelivery;
    /** @type {boolean} */
    TuesdayDelivery;
    /** @type {boolean} */
    WednesdayDelivery;
    /** @type {boolean} */
    ThursdayDelivery;
    /** @type {boolean} */
    FridayDelivery;
    /** @type {boolean} */
    SaturdayDelivery;
}
export class C2BTeacherGeneric {
    /** @param {{TeacherName?:string,SchoolName?:string,DistrictName?:string,Topic?:string,Id?:number,DeliveryInfo?:C2BDeliveryInfo,AIMSchoolId?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    TeacherName;
    /** @type {string} */
    SchoolName;
    /** @type {string} */
    DistrictName;
    /** @type {string} */
    Topic;
    /** @type {number} */
    Id;
    /** @type {C2BDeliveryInfo} */
    DeliveryInfo;
    /** @type {?number} */
    AIMSchoolId;
}
export class C2BSchoolGeneric {
    /** @param {{SchoolName?:string,DistrictName?:string,TeacherCount?:number,Topic?:string,Id?:number,DeliveryInfo?:C2BDeliveryInfo,AIMSchoolId?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    SchoolName;
    /** @type {string} */
    DistrictName;
    /** @type {number} */
    TeacherCount;
    /** @type {string} */
    Topic;
    /** @type {number} */
    Id;
    /** @type {C2BDeliveryInfo} */
    DeliveryInfo;
    /** @type {?number} */
    AIMSchoolId;
}
export class C2BDistrictGeneric {
    /** @param {{DistrictName?:string,SchoolCount?:number,TeacherCount?:number,Topic?:string,Id?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    DistrictName;
    /** @type {number} */
    SchoolCount;
    /** @type {number} */
    TeacherCount;
    /** @type {string} */
    Topic;
    /** @type {number} */
    Id;
}
export class C2BGradeGeneric {
    /** @param {{Level?:number,Grade?:string,DownPay?:number,DownMaint?:number,MoPay?:number,MoMaint?:number,Id?:number,OutOfStock?:boolean,RentPrice?:number,CashPrice?:number,DownPayTax?:number,DownMaintTax?:number,MoPayTax?:number,MoMaintTax?:number,RentPricePlusTax?:number,RentPricePlusTaxLessDownpay?:number,Months?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Level;
    /** @type {string} */
    Grade;
    /** @type {number} */
    DownPay;
    /** @type {number} */
    DownMaint;
    /** @type {number} */
    MoPay;
    /** @type {number} */
    MoMaint;
    /** @type {number} */
    Id;
    /** @type {boolean} */
    OutOfStock;
    /** @type {number} */
    RentPrice;
    /** @type {number} */
    CashPrice;
    /** @type {?number} */
    DownPayTax;
    /** @type {?number} */
    DownMaintTax;
    /** @type {?number} */
    MoPayTax;
    /** @type {?number} */
    MoMaintTax;
    /** @type {number} */
    RentPricePlusTax;
    /** @type {number} */
    RentPricePlusTaxLessDownpay;
    /** @type {number} */
    Months;
}
export class C2BAccessoryGeneric {
    /** @param {{AccessoryDesc?:string,Price?:number,Required?:boolean,Default?:boolean,RequiresLocation?:boolean,Type?:string,Topic?:string,Id?:number,DisplayOrder?:number,Sku?:string,TaxAmount?:number,CatNum?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    AccessoryDesc;
    /** @type {number} */
    Price;
    /** @type {boolean} */
    Required;
    /** @type {boolean} */
    Default;
    /** @type {boolean} */
    RequiresLocation;
    /** @type {string} */
    Type;
    /** @type {string} */
    Topic;
    /** @type {number} */
    Id;
    /** @type {number} */
    DisplayOrder;
    /** @type {string} */
    Sku;
    /** @type {?number} */
    TaxAmount;
    /** @type {?number} */
    CatNum;
}
export class C2BInstrumentGeneric {
    /** @param {{InstrumentName?:string,Sku?:string,Topic?:string,Image?:string,Level?:number,RentPrice?:number,CashPrice?:number,Token?:string,InstrumentId?:number,InstrumentTeacherId?:number,GradeList?:C2BGradeGeneric[],HasGrades?:boolean,DisplayOrder?:number,AccessoryList?:C2BAccessoryGeneric[],DeliveryList?:C2BAccessoryGeneric[],MaintenanceList?:C2BAccessoryGeneric[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    InstrumentName;
    /** @type {string} */
    Sku;
    /** @type {string} */
    Topic;
    /** @type {string} */
    Image;
    /** @type {number} */
    Level;
    /** @type {?number} */
    RentPrice;
    /** @type {?number} */
    CashPrice;
    /** @type {string} */
    Token;
    /** @type {number} */
    InstrumentId;
    /** @type {number} */
    InstrumentTeacherId;
    /** @type {C2BGradeGeneric[]} */
    GradeList;
    /** @type {boolean} */
    HasGrades;
    /** @type {number} */
    DisplayOrder;
    /** @type {C2BAccessoryGeneric[]} */
    AccessoryList;
    /** @type {C2BAccessoryGeneric[]} */
    DeliveryList;
    /** @type {C2BAccessoryGeneric[]} */
    MaintenanceList;
}
export class C2BInstrumentDetailGeneric {
    /** @param {{PlanCode?:C2BPlanCodeGeneric,Teacher?:C2BTeacherGeneric,School?:C2BSchoolGeneric,DeliveryDate?:string,SalesPerson?:string,District?:C2BDistrictGeneric,Instrument?:C2BInstrumentGeneric,Grade?:C2BGradeGeneric,AccessoryList?:C2BAccessoryGeneric[],DeliveryList?:C2BAccessoryGeneric[],MaintenanceList?:C2BAccessoryGeneric[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {C2BPlanCodeGeneric} */
    PlanCode;
    /** @type {C2BTeacherGeneric} */
    Teacher;
    /** @type {C2BSchoolGeneric} */
    School;
    /** @type {string} */
    DeliveryDate;
    /** @type {string} */
    SalesPerson;
    /** @type {C2BDistrictGeneric} */
    District;
    /** @type {C2BInstrumentGeneric} */
    Instrument;
    /** @type {C2BGradeGeneric} */
    Grade;
    /** @type {C2BAccessoryGeneric[]} */
    AccessoryList;
    /** @type {C2BAccessoryGeneric[]} */
    DeliveryList;
    /** @type {C2BAccessoryGeneric[]} */
    MaintenanceList;
}
export class MobileLayout {
    /** @param {{title?:string,returnurl?:string,sections?:Section[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    title;
    /** @type {string} */
    returnurl;
    /** @type {Section[]} */
    sections;
}
export class C2BGetInstrumentDetailResponse extends BaseResponse {
    /** @param {{InstrumentDetails?:C2BInstrumentDetailGeneric,MobileLayout?:MobileLayout,Status?:BaseResponseResult}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {C2BInstrumentDetailGeneric} */
    InstrumentDetails;
    /** @type {MobileLayout} */
    MobileLayout;
}
export class C2BGetInstrumentDetailRequest extends BaseSecureRequest {
    /** @param {{RsiPk?:number,TeacherId?:number,InstrumentId?:number,RateId?:number,IncludeMobileLayout?:string,DeliveryId?:number,LocationId?:number,Token?:string,DeviceId?:string,AppId?:string,ApiKey?:string,OAuthToken?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {?number}
     * @description ID of the Teacher/Instrument record. Either this *or* TeacherId + InstrumentId must be sent. */
    RsiPk;
    /**
     * @type {?number}
     * @description ID of the Teacher record. Either this+InstrumentID *or* RsiPk must be sent. */
    TeacherId;
    /**
     * @type {?number}
     * @description ID of the Instrument record. Either this+TeacherID *or* RsiPk must be sent. */
    InstrumentId;
    /**
     * @type {number}
     * @description ID of the Rate to be used. This is required. */
    RateId;
    /**
     * @type {string}
     * @description If 'Y', then Mobile Layout will be returned. */
    IncludeMobileLayout;
    /**
     * @type {number}
     * @description ID of the Delivery option to be used. */
    DeliveryId;
    /**
     * @type {number}
     * @description ID of the Location. Used for Location required Delivery options. */
    LocationId;
}
export class Section {
    /** @param {{header?:string,id?:string,margin?:string,elements?:Element[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    header;
    /** @type {string} */
    id;
    /** @type {string} */
    margin;
    /** @type {Element[]} */
    elements;
}
export class LicenseMap {
    /** @param {{name?:string,value?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
    /** @type {string} */
    value;
}
export class Element {
    /** @param {{type?:string,label?:string,id?:string,fontsize?:string,margin?:string,backgroundcolor?:string,textcolor?:string,height?:string,width?:string,value?:string,addvalue?:boolean,values?:string[],textalign?:string,required?:boolean,placeholder?:string,fontbold?:boolean,selected?:boolean,disabled?:boolean,totalamount?:boolean,elements?:Element[],map?:LicenseMap[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    type;
    /** @type {string} */
    label;
    /** @type {string} */
    id;
    /** @type {string} */
    fontsize;
    /** @type {string} */
    margin;
    /** @type {string} */
    backgroundcolor;
    /** @type {string} */
    textcolor;
    /** @type {string} */
    height;
    /** @type {string} */
    width;
    /** @type {string} */
    value;
    /** @type {boolean} */
    addvalue;
    /** @type {string[]} */
    values;
    /** @type {string} */
    textalign;
    /** @type {?boolean} */
    required;
    /** @type {string} */
    placeholder;
    /** @type {?boolean} */
    fontbold;
    /** @type {?boolean} */
    selected;
    /** @type {?boolean} */
    disabled;
    /** @type {?boolean} */
    totalamount;
    /** @type {Element[]} */
    elements;
    /** @type {LicenseMap[]} */
    map;
}

JavaScript 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>