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
namespace CRM.AgencyPlatform.API.Internal

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type ChatMember() = 
        member val ChatMemberId:Guid = new Guid() with get,set
        member val ChatId:Guid = new Guid() with get,set
        member val UserId:Guid = new Guid() with get,set
        member val IsActive:Boolean = new Boolean() with get,set
        member val IsArchived:Boolean = new Boolean() with get,set
        member val LastChatMessageId:Guid = new Guid() with get,set
        member val ChatMemberName:String = null with get,set

    [<AllowNullLiteral>]
    type Chat() = 
        member val ChatId:Guid = new Guid() with get,set
        member val ChatName:String = null with get,set
        member val CreatedBy:Guid = new Guid() with get,set
        member val DateCreated:DateTime = new DateTime() with get,set
        member val ChatMembers:ResizeArray<ChatMember> = new ResizeArray<ChatMember>() with get,set
        member val IsArchived:Boolean = new Boolean() with get,set
        member val MemberCount:Int32 = new Int32() with get,set
        member val MessageCount:Int32 = new Int32() with get,set
        member val UnreadCount:Int32 = new Int32() with get,set
        member val CreatedByName:String = null with get,set

    [<AllowNullLiteral>]
    type ChatResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val Chat:ResizeArray<Chat> = new ResizeArray<Chat>() with get,set

    [<AllowNullLiteral>]
    type ChatRequest() = 
        member val ChatId:Guid = new Guid() with get,set
        member val Chat:Chat = null with get,set

F# ChatRequest DTOs

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

HTTP + CSV

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/csv
Content-Type: text/csv
Content-Length: length

{"ChatId":"00000000000000000000000000000000","Chat":{"ChatId":"00000000000000000000000000000000","ChatName":"String","CreatedBy":"00000000000000000000000000000000","DateCreated":"0001-01-01T00:00:00.0000000","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/csv
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-01T00:00:00.0000000","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"}]}