Field Squared API Services

<back to all web services

Conversation

The following routes are available for this service:
GET,POST/{Workspace}/Conversation
GET/{Workspace}/Conversation/{ObjectId}
GET/{Workspace}/Conversation/Search/{MemberId}
GET/{Workspace}/Conversation/Search/{SearchType}/{SearchText}
namespace Field2Office.API.Model.Messaging

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

    [<AllowNullLiteral>]
    type ConversationEvent() = 
        member val ObjectId:String = null with get,set
        member val Workspace:String = null with get,set
        member val Date:String = null with get,set
        member val ConversationId:String = null with get,set
        member val UserId:String = null with get,set
        member val Text:String = null with get,set
        member val ThumbnailId:String = null with get,set
        member val IsLink:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type Conversation() = 
        member val ObjectId:String = null with get,set
        member val Workspace:String = null with get,set
        member val TeamId:String = null with get,set
        member val Members:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val Events:ResizeArray<ConversationEvent> = new ResizeArray<ConversationEvent>() with get,set
        member val Unread:Int64 = new Int64() with get,set
        member val MemberId:String = null with get,set
        member val SearchType:String = null with get,set
        member val SearchText:String = null with get,set

F# Conversation 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 /{Workspace}/Conversation HTTP/1.1 
Host: dev.fieldsquared.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ObjectId: String,
	Workspace: String,
	TeamId: String,
	Members: 
	[
		String
	],
	Events: 
	[
		{
			ObjectId: String,
			Workspace: String,
			Date: String,
			ConversationId: String,
			UserId: String,
			Text: String,
			ThumbnailId: String,
			IsLink: False
		}
	],
	Unread: 0,
	MemberId: String,
	SearchType: String,
	SearchText: String
}