| POST | /v1/c/thread/{Kind}/{RefId} |
|---|
export class JobThreadMessageView
{
public Id: number;
public Party: string;
public Mine: boolean;
public Who: string;
public Body: string;
public ViaVoice: boolean;
public IsStatusChip: boolean;
public ChipKey: string;
public SentUtc: string;
public SentLocal: string;
public Seen: boolean;
public constructor(init?: Partial<JobThreadMessageView>) { (Object as any).assign(this, init); }
}
export class JobThreadView
{
public Id: number;
public Kind: string;
public RefId: number;
public RefCode: string;
public WorkerContactId: number;
public Who: string;
public Closed: boolean;
public ClosesLocal: string;
public Unread: number;
public Note: string;
public QuickReplies: string[] = [];
public Messages: JobThreadMessageView[] = [];
public constructor(init?: Partial<JobThreadView>) { (Object as any).assign(this, init); }
}
export class ProblemReasonView
{
public Key: string;
public Label: string;
public constructor(init?: Partial<ProblemReasonView>) { (Object as any).assign(this, init); }
}
export class CustomerThreadResponse
{
public Threads: JobThreadView[] = [];
public ProblemReasons: ProblemReasonView[] = [];
public Message: string;
public ResponseStatus: ResponseStatus;
public constructor(init?: Partial<CustomerThreadResponse>) { (Object as any).assign(this, init); }
}
export class CustomerThreadPostRequest
{
public Kind: string;
public RefId: number;
public WorkerContactId: number;
public Body: string;
public constructor(init?: Partial<CustomerThreadPostRequest>) { (Object as any).assign(this, init); }
}
TypeScript CustomerThreadPostRequest 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.
POST /v1/c/thread/{Kind}/{RefId} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Kind: String,
RefId: 0,
WorkerContactId: 0,
Body: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Threads:
[
{
Id: 0,
Kind: String,
RefId: 0,
RefCode: String,
WorkerContactId: 0,
Who: String,
Closed: False,
ClosesLocal: String,
Unread: 0,
Note: String,
QuickReplies:
[
String
],
Messages:
[
{
Id: 0,
Party: String,
Mine: False,
Who: String,
Body: String,
ViaVoice: False,
IsStatusChip: False,
ChipKey: String,
SentUtc: 0001-01-01,
SentLocal: String,
Seen: False
}
]
}
],
ProblemReasons:
[
{
Key: String,
Label: String
}
],
Message: String,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}