Evo Voice

<back to all web services

ListMessages

Requires Authentication
The following routes are available for this service:
GET/messages


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

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


export enum SortOrders
{
    Ascend = 'Ascend',
    Descend = 'Descend',
}

export class ListRequest<T> implements IGet
{
    /** @description The page of data to retrieve */
    // @ApiMember(Description="The page of data to retrieve")
    public page: number;

    /** @description If you want all objects to be returned. This should be used with care */
    // @ApiMember(Description="If you want all objects to be returned. This should be used with care")
    public all: boolean;

    /** @description The number per page to retrieve */
    // @ApiMember(Description="The number per page to retrieve")
    public countPerPage: number;

    /** @description Specific IDs */
    // @ApiMember(Description="Specific IDs")
    public specificIds: string[];

    /** @description Specify a sort field */
    // @ApiMember(Description="Specify a sort field")
    public sortField: string;

    /** @description Specify a sort order */
    // @ApiMember(Description="Specify a sort order")
    public sortOrder: SortOrders;

    /** @description Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array */
    // @ApiMember(Description="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array")
    public simplifiedPaging: boolean;

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

export enum MessageDirections
{
    Incoming = 'Incoming',
    Outgoing = 'Outgoing',
}

export class MessageInfo
{
    public id: string;
    public accountId: string;
    public customerId: string;
    public endpointId: string;
    public endpointDisplayName: string;
    public date: string;
    public direction: MessageDirections;
    public otherAddress: string;
    public sender: string;
    public text: string;
    public isUnread: boolean;

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

export class ListMessages extends ListRequest<MessageInfo>
{
    /** @description The IDs of the account whose messages you want to retrieve */
    // @ApiMember(Description="The IDs of the account whose messages you want to retrieve")
    public accountIds: string[];

    /** @description The IDs of the customers whose messages you want to retrieve */
    // @ApiMember(Description="The IDs of the customers whose messages you want to retrieve")
    public customerIds: string[];

    /** @description The IDs of the endpoints whose messages you want to retrieve */
    // @ApiMember(Description="The IDs of the endpoints whose messages you want to retrieve")
    public endpointIds: string[];

    /** @description The ID of the conversations whose messages you want to retrieve */
    // @ApiMember(Description="The ID of the conversations whose messages you want to retrieve")
    public conversationIds: string[];

    /** @description The date after which messages should be retrieved */
    // @ApiMember(Description="The date after which messages should be retrieved")
    public afterDate: string;

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

export class EntityInfo
{
    /** @description The ID of the object */
    // @ApiMember(Description="The ID of the object")
    public id: string;

    /** @description The date the object was created */
    // @ApiMember(Description="The date the object was created")
    public dateCreated: string;

    /** @description The date the object was last modified */
    // @ApiMember(Description="The date the object was last modified")
    public dateLastModified: string;

    /** @description The user that created this object */
    // @ApiMember(Description="The user that created this object")
    public createdBy: string;

    /** @description The user that last modified this object */
    // @ApiMember(Description="The user that last modified this object")
    public lastModifiedBy: string;

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

export class BillingItem
{
    public baseCost: number;
    public rawUnitMultiplier: number;
    public unitCost: number;
    public allowance: number;

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

export class BillingSettings
{
    public base: BillingItem;
    public localNumbers: BillingItem;
    public tollFreeNumbers: BillingItem;
    public inboundVoiceCalls: BillingItem;
    public outboundVoiceCalls: BillingItem;
    public inboundFaxes: BillingItem;
    public outboundFaxes: BillingItem;
    public inboundSmsMessages: BillingItem;
    public outboundSmsMessages: BillingItem;
    public aiInsights: BillingItem;
    public aiLiveMinutes: BillingItem;

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

export class AccountInfo extends EntityInfo
{
    /** @description The name of this account */
    // @ApiMember(Description="The name of this account")
    public name: string;

    /** @description The ID of this account's parent */
    // @ApiMember(Description="The ID of this account's parent")
    public parentAccountId: string;

    /** @description The twilio account SID */
    // @ApiMember(Description="The twilio account SID")
    public twilioAccountSid: string;

    /** @description The ancestors of this account. Useful for breadcrumbs */
    // @ApiMember(Description="The ancestors of this account. Useful for breadcrumbs")
    public ancestorIds: string[];

    /** @description The max number of phone numbers this account can have */
    // @ApiMember(Description="The max number of phone numbers this account can have")
    public maxPhoneNumbers: number;

    /** @description This account is BYOA */
    // @ApiMember(Description="This account is BYOA")
    public isBYOA: boolean;

    /** @description TrustHub Profile Sid */
    // @ApiMember(Description="TrustHub Profile Sid")
    public trustHubProfileSid: string;

    /** @description The ID of the logo file */
    // @ApiMember(Description="The ID of the logo file")
    public logoId: string;

    /** @description The URI of the logo file */
    // @ApiMember(Description="The URI of the logo file")
    public logoUri: string;

    /** @description The billing settings for this account */
    // @ApiMember(Description="The billing settings for this account")
    public billingSettings: BillingSettings;

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

export class ListResponse<T>
{
    /** @description The items */
    // @ApiMember(Description="The items")
    public items: AccountInfo[];

    /** @description The total number of items */
    // @ApiMember(Description="The total number of items")
    public totalCount: number;

    /** @description The total number of pages */
    // @ApiMember(Description="The total number of pages")
    public totalPages: number;

    /** @description Are there more pages of items? Used with simplified paging */
    // @ApiMember(Description="Are there more pages of items? Used with simplified paging")
    public hasMorePages: boolean;

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

TypeScript ListMessages 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 /messages HTTP/1.1 
Host: team.evovoice.io 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ListResponseOfMessageInfoCeNIv4MU xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">
  <HasMorePages>false</HasMorePages>
  <Items xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.Messaging">
    <d2p1:MessageInfo>
      <d2p1:AccountId>String</d2p1:AccountId>
      <d2p1:CustomerId>String</d2p1:CustomerId>
      <d2p1:Date>String</d2p1:Date>
      <d2p1:Direction>Incoming</d2p1:Direction>
      <d2p1:EndpointDisplayName>String</d2p1:EndpointDisplayName>
      <d2p1:EndpointId>String</d2p1:EndpointId>
      <d2p1:Id>String</d2p1:Id>
      <d2p1:IsUnread>false</d2p1:IsUnread>
      <d2p1:OtherAddress>String</d2p1:OtherAddress>
      <d2p1:Sender>String</d2p1:Sender>
      <d2p1:Text>String</d2p1:Text>
    </d2p1:MessageInfo>
  </Items>
  <TotalCount>0</TotalCount>
  <TotalPages>0</TotalPages>
</ListResponseOfMessageInfoCeNIv4MU>