Evo Voice

<back to all web services

GetAIUsage

Requires Authentication
Required role:SystemAdministrator
The following routes are available for this service:
All Verbs/ai/usage


export class NodeParameterMap
{
    [key:string] : NodeParameter;

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


export class AIAccountUsage
{
    /** @description The account ID this customer belongs to */
    // @ApiMember(Description="The account ID this customer belongs to")
    public accountId: string;

    /** @description The total number of AI minutes used in the date range */
    // @ApiMember(Description="The total number of AI minutes used in the date range")
    public aiMinutes: number;

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

export class AICustomerUsage
{
    /** @description The account ID this customer belongs to */
    // @ApiMember(Description="The account ID this customer belongs to")
    public accountId: string;

    /** @description The customer ID for this uage */
    // @ApiMember(Description="The customer ID for this uage")
    public customerId: string;

    /** @description The total number of AI minutes used in the date range */
    // @ApiMember(Description="The total number of AI minutes used in the date range")
    public aiMinutes: number;

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

export class AIUsage
{
    public accountUsage: AIAccountUsage[];
    public customerUsage: AICustomerUsage[];

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

export class GetAIUsage implements IGet
{
    /** @description Filter by account ID. If not specified will return entries for all customers in all accounts in the date range */
    // @ApiMember(Description="Filter by account ID. If not specified will return entries for all customers in all accounts in the date range")
    public accountId: string;

    /** @description Filter by customer ID. If not specified, will return all customers for the accounts considered */
    // @ApiMember(Description="Filter by customer ID. If not specified, will return all customers for the accounts considered")
    public customerId: string;

    /** @description The start of the date range to consider */
    // @ApiMember(Description="The start of the date range to consider")
    public startDate: string;

    /** @description The end of the date range to consider */
    // @ApiMember(Description="The end of the date range to consider")
    public endDate: string;

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

TypeScript GetAIUsage 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 /ai/usage HTTP/1.1 
Host: team.evovoice.io 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<GetAIUsage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.AI">
  <AccountId>String</AccountId>
  <CustomerId>String</CustomerId>
  <EndDate>String</EndDate>
  <StartDate>String</StartDate>
</GetAIUsage>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<AIUsage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.AI">
  <AccountUsage>
    <AIAccountUsage>
      <AIMinutes>0</AIMinutes>
      <AccountId>String</AccountId>
    </AIAccountUsage>
  </AccountUsage>
  <CustomerUsage>
    <AICustomerUsage>
      <AIMinutes>0</AIMinutes>
      <AccountId>String</AccountId>
      <CustomerId>String</CustomerId>
    </AICustomerUsage>
  </CustomerUsage>
</AIUsage>