Trendsic Platform Service

<back to all web services

CustomerThreadPostRequest

The following routes are available for this service:
POST/v1/c/thread/{Kind}/{RefId}
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 JobThreadMessageView() = 
        member val Id:Int32 = new Int32() with get,set
        member val Party:String = null with get,set
        member val Mine:Boolean = new Boolean() with get,set
        member val Who:String = null with get,set
        member val Body:String = null with get,set
        member val ViaVoice:Boolean = new Boolean() with get,set
        member val IsStatusChip:Boolean = new Boolean() with get,set
        member val ChipKey:String = null with get,set
        member val SentUtc:DateTime = new DateTime() with get,set
        member val SentLocal:String = null with get,set
        member val Seen:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type JobThreadView() = 
        member val Id:Int32 = new Int32() with get,set
        member val Kind:String = null with get,set
        member val RefId:Int32 = new Int32() with get,set
        member val RefCode:String = null with get,set
        member val WorkerContactId:Int32 = new Int32() with get,set
        member val Who:String = null with get,set
        member val Closed:Boolean = new Boolean() with get,set
        member val ClosesLocal:String = null with get,set
        member val Unread:Int32 = new Int32() with get,set
        member val Note:String = null with get,set
        member val QuickReplies:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val Messages:ResizeArray<JobThreadMessageView> = new ResizeArray<JobThreadMessageView>() with get,set

    [<AllowNullLiteral>]
    type ProblemReasonView() = 
        member val Key:String = null with get,set
        member val Label:String = null with get,set

    [<AllowNullLiteral>]
    type CustomerThreadResponse() = 
        member val Threads:ResizeArray<JobThreadView> = new ResizeArray<JobThreadView>() with get,set
        member val ProblemReasons:ResizeArray<ProblemReasonView> = new ResizeArray<ProblemReasonView>() with get,set
        member val Message:String = null with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type CustomerThreadPostRequest() = 
        member val Kind:String = null with get,set
        member val RefId:Int32 = new Int32() with get,set
        member val WorkerContactId:Int32 = new Int32() with get,set
        member val Body:String = null with get,set

F# CustomerThreadPostRequest DTOs

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

HTTP + OTHER

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

{"Kind":"String","RefId":0,"WorkerContactId":0,"Body":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
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-01T00:00:00.0000000","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"}}}