GET | /conversations |
---|
"use strict";
/** @typedef {'Incoming'|'Outgoing'} */
export var MessageDirections;
(function (MessageDirections) {
MessageDirections["Incoming"] = "Incoming"
MessageDirections["Outgoing"] = "Outgoing"
})(MessageDirections || (MessageDirections = {}));
export class MessageInfo {
/** @param {{id?:string,accountId?:string,customerId?:string,endpointId?:string,endpointDisplayName?:string,date?:string,direction?:MessageDirections,otherAddress?:string,sender?:string,text?:string,isUnread?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
accountId;
/** @type {string} */
customerId;
/** @type {string} */
endpointId;
/** @type {string} */
endpointDisplayName;
/** @type {string} */
date;
/** @type {MessageDirections} */
direction;
/** @type {string} */
otherAddress;
/** @type {string} */
sender;
/** @type {string} */
text;
/** @type {boolean} */
isUnread;
}
export class ConversationInfo {
/** @param {{id?:string,endpointId?:string,otherAddress?:string,mostRecentMessage?:MessageInfo}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
endpointId;
/** @type {string} */
otherAddress;
/** @type {MessageInfo} */
mostRecentMessage;
}
export class ListConversationsResponse {
/** @param {{conversations?:ConversationInfo[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ConversationInfo[]} */
conversations;
}
export class ListConversations {
/** @param {{accountIds?:string[],endpointIds?:string[],customerIds?:string[],afterDate?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string[]}
* @description The IDs of the account whose conversations you want to retrieve */
accountIds;
/**
* @type {string[]}
* @description The list of endpoint IDs whose conversations you want to retrieve */
endpointIds;
/**
* @type {string[]}
* @description The list of customer IDs whose conversations you want to retrieve */
customerIds;
/**
* @type {string}
* @description The start date for the conversations you want to retrieve */
afterDate;
}
JavaScript ListConversations DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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: team.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 } } ] }