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}
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ConversationEvent:
    object_id: Optional[str] = None
    workspace: Optional[str] = None
    date: Optional[str] = None
    conversation_id: Optional[str] = None
    user_id: Optional[str] = None
    text: Optional[str] = None
    thumbnail_id: Optional[str] = None
    is_link: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Conversation:
    object_id: Optional[str] = None
    workspace: Optional[str] = None
    team_id: Optional[str] = None
    members: Optional[List[str]] = None
    events: Optional[List[ConversationEvent]] = None
    unread: int = 0
    member_id: Optional[str] = None
    search_type: Optional[str] = None
    search_text: Optional[str] = None

Python 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
}