Trendsic Platform Service

<back to all web services

ChatRequest

Requires Authentication
Requires any of the roles:Agent, Administrator, Agent, Administrator, Agent, Administrator
The following routes are available for this service:
PUT,OPTIONS/v1/Chat/{ChatId}
GET,POST,OPTIONS/v1/Chat
"use strict";
export class ChatMember {
    /** @param {{ChatMemberId?:string,ChatId?:string,UserId?:string,IsActive?:boolean,IsArchived?:boolean,LastChatMessageId?:string,ChatMemberName?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    ChatMemberId;
    /** @type {string} */
    ChatId;
    /** @type {string} */
    UserId;
    /** @type {boolean} */
    IsActive;
    /** @type {boolean} */
    IsArchived;
    /** @type {string} */
    LastChatMessageId;
    /** @type {string} */
    ChatMemberName;
}
export class Chat {
    /** @param {{ChatId?:string,ChatName?:string,CreatedBy?:string,DateCreated?:string,ChatMembers?:ChatMember[],IsArchived?:boolean,MemberCount?:number,MessageCount?:number,UnreadCount?:number,CreatedByName?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    ChatId;
    /** @type {string} */
    ChatName;
    /** @type {string} */
    CreatedBy;
    /** @type {string} */
    DateCreated;
    /** @type {ChatMember[]} */
    ChatMembers = [];
    /** @type {boolean} */
    IsArchived;
    /** @type {number} */
    MemberCount;
    /** @type {number} */
    MessageCount;
    /** @type {number} */
    UnreadCount;
    /** @type {string} */
    CreatedByName;
}
export class ChatResponse {
    /** @param {{ResponseStatus?:ResponseStatus,Chat?:Chat[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ResponseStatus} */
    ResponseStatus;
    /** @type {Chat[]} */
    Chat = [];
}
export class ChatRequest {
    /** @param {{ChatId?:string,Chat?:Chat}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    ChatId;
    /** @type {Chat} */
    Chat;
}

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

POST /v1/Chat HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ChatId: 00000000000000000000000000000000,
	Chat: 
	{
		ChatId: 00000000000000000000000000000000,
		ChatName: String,
		CreatedBy: 00000000000000000000000000000000,
		DateCreated: 0001-01-01,
		ChatMembers: 
		[
			{
				ChatMemberId: 00000000000000000000000000000000,
				ChatId: 00000000000000000000000000000000,
				UserId: 00000000000000000000000000000000,
				IsActive: False,
				IsArchived: False,
				LastChatMessageId: 00000000000000000000000000000000,
				ChatMemberName: String
			}
		],
		IsArchived: False,
		MemberCount: 0,
		MessageCount: 0,
		UnreadCount: 0,
		CreatedByName: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	Chat: 
	[
		{
			ChatId: 00000000000000000000000000000000,
			ChatName: String,
			CreatedBy: 00000000000000000000000000000000,
			DateCreated: 0001-01-01,
			ChatMembers: 
			[
				{
					ChatMemberId: 00000000000000000000000000000000,
					ChatId: 00000000000000000000000000000000,
					UserId: 00000000000000000000000000000000,
					IsActive: False,
					IsArchived: False,
					LastChatMessageId: 00000000000000000000000000000000,
					ChatMemberName: String
				}
			],
			IsArchived: False,
			MemberCount: 0,
			MessageCount: 0,
			UnreadCount: 0,
			CreatedByName: String
		}
	]
}