Trendsic Platform Service

<back to all web services

StaffMatchRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/staff/match
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 StaffSkillChip() = 
        member val Name:String = null with get,set
        member val Matched:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type StaffCandidate() = 
        member val ContactID:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Kind:String = null with get,set
        member val Rate:Decimal = new Decimal() with get,set
        member val Rating:Decimal = new Decimal() with get,set
        member val RatingCount:Int32 = new Int32() with get,set
        member val Base:String = null with get,set
        member val DistanceMi:Int32 = new Int32() with get,set
        member val MatchCount:Int32 = new Int32() with get,set
        member val TotalRequired:Int32 = new Int32() with get,set
        member val Skills:ResizeArray<StaffSkillChip> = new ResizeArray<StaffSkillChip>() with get,set
        member val Conflict:Boolean = new Boolean() with get,set
        member val BusyUntil:String = null with get,set
        member val BusyJob:String = null with get,set
        member val Phone:String = null with get,set
        member val Email:String = null with get,set
        member val Sms:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type StaffPosition() = 
        member val PlaceholderContactID:Int32 = new Int32() with get,set
        member val JobID:Int32 = new Int32() with get,set
        member val ProjectID:Int32 = new Int32() with get,set
        member val JobName:String = null with get,set
        member val PositionTag:String = null with get,set
        member val Skills:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val BudgetedHours:Double = new Double() with get,set
        member val TargetRate:Decimal = new Decimal() with get,set
        member val StartDate:String = null with get,set
        member val EndDate:String = null with get,set
        member val WindowText:String = null with get,set
        member val ResponsesActionable:Int32 = new Int32() with get,set
        member val PostingStatus:String = null with get,set
        member val ApplicantTotal:Int32 = new Int32() with get,set
        member val ApplicantStrong:Int32 = new Int32() with get,set
        member val Filled:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type StaffMatchResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val Candidates:ResizeArray<StaffCandidate> = new ResizeArray<StaffCandidate>() with get,set
        member val Position:StaffPosition = null with get,set

    [<AllowNullLiteral>]
    type StaffMatchRequest() = 
        member val PlaceholderContactID:Int32 = new Int32() with get,set
        member val JobID:Int32 = new Int32() with get,set

F# StaffMatchRequest 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.

GET /v1/staff/match HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
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"}},"Candidates":[{"ContactID":0,"Name":"String","Kind":"String","Rate":0,"Rating":0,"RatingCount":0,"Base":"String","DistanceMi":0,"MatchCount":0,"TotalRequired":0,"Skills":[{"Name":"String","Matched":false}],"Conflict":false,"BusyUntil":"String","BusyJob":"String","Phone":"String","Email":"String","Sms":false}],"Position":{"PlaceholderContactID":0,"JobID":0,"ProjectID":0,"JobName":"String","PositionTag":"String","Skills":["String"],"BudgetedHours":0,"TargetRate":0,"StartDate":"String","EndDate":"String","WindowText":"String","ResponsesActionable":0,"PostingStatus":"String","ApplicantTotal":0,"ApplicantStrong":0,"Filled":false}}