Evo Voice

<back to all web services

ListConversations

Requires Authentication
The following routes are available for this service:
GET/conversations
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Voice.Api.Messaging;

namespace Voice.Api.Messaging
{
    public partial class ConversationInfo
    {
        public virtual string Id { get; set; }
        public virtual string EndpointId { get; set; }
        public virtual string OtherAddress { get; set; }
        public virtual MessageInfo MostRecentMessage { get; set; }
    }

    public partial class ListConversations
    {
        public ListConversations()
        {
            AccountIds = new List<string>{};
            EndpointIds = new List<string>{};
            CustomerIds = new List<string>{};
        }

        ///<summary>
        ///The IDs of the account whose conversations you want to retrieve
        ///</summary>
        [ApiMember(Description="The IDs of the account whose conversations you want to retrieve")]
        public virtual List<string> AccountIds { get; set; }

        ///<summary>
        ///The list of endpoint IDs whose conversations you want to retrieve
        ///</summary>
        [ApiMember(Description="The list of endpoint IDs whose conversations you want to retrieve")]
        public virtual List<string> EndpointIds { get; set; }

        ///<summary>
        ///The list of customer IDs whose conversations you want to retrieve
        ///</summary>
        [ApiMember(Description="The list of customer IDs whose conversations you want to retrieve")]
        public virtual List<string> CustomerIds { get; set; }

        ///<summary>
        ///The start date for the conversations you want to retrieve
        ///</summary>
        [ApiMember(Description="The start date for the conversations you want to retrieve")]
        public virtual string AfterDate { get; set; }
    }

    public partial class ListConversationsResponse
    {
        public ListConversationsResponse()
        {
            Conversations = new List<ConversationInfo>{};
        }

        public virtual List<ConversationInfo> Conversations { get; set; }
    }

    public enum MessageDirections
    {
        Incoming,
        Outgoing,
    }

    public partial class MessageInfo
    {
        public virtual string Id { get; set; }
        public virtual string AccountId { get; set; }
        public virtual string CustomerId { get; set; }
        public virtual string EndpointId { get; set; }
        public virtual string EndpointDisplayName { get; set; }
        public virtual string Date { get; set; }
        public virtual MessageDirections Direction { get; set; }
        public virtual string OtherAddress { get; set; }
        public virtual string Sender { get; set; }
        public virtual string Text { get; set; }
        public virtual bool IsUnread { get; set; }
    }

}

C# ListConversations DTOs

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

HTTP + JSV

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

GET /conversations HTTP/1.1 
Host: evovoice.io 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	conversations: 
	[
		{
			id: String,
			endpointId: String,
			otherAddress: String,
			mostRecentMessage: 
			{
				id: String,
				accountId: String,
				customerId: String,
				endpointId: String,
				endpointDisplayName: String,
				date: String,
				direction: Incoming,
				otherAddress: String,
				sender: String,
				text: String,
				isUnread: False
			}
		}
	]
}