Trendsic Platform Service

<back to all web services

PunchCreateRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/projects/{ProjectID}/punch
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 PunchItem() = 
        member val PunchItemID:Int32 = new Int32() with get,set
        member val PunchItemUID:Guid = new Guid() with get,set
        member val ProjectID:Int32 = new Int32() with get,set
        member val PunchNo:String = null with get,set
        member val Title:String = null with get,set
        member val Description:String = null with get,set
        member val Area:String = null with get,set
        member val Trade:String = null with get,set
        member val Status:String = null with get,set
        member val Priority:String = null with get,set
        member val AssignedSub:String = null with get,set
        member val AssignedTo:String = null with get,set
        member val AssignedSubContactID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val PhotoCount:Int32 = new Int32() with get,set
        member val OriginType:String = null with get,set
        member val OriginRef:String = null with get,set
        member val OpenedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val VerifiedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ClosedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val CreatedBy:String = null with get,set
        member val CreatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val UpdatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    [<AllowNullLiteral>]
    type PunchSummary() = 
        member val ProjectID:Int32 = new Int32() with get,set
        member val TotalItems:Int32 = new Int32() with get,set
        member val OpenCount:Int32 = new Int32() with get,set
        member val VerifyCount:Int32 = new Int32() with get,set
        member val ClosedCount:Int32 = new Int32() with get,set
        member val RejectedCount:Int32 = new Int32() with get,set
        member val PercentComplete:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type PunchItemResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val Item:PunchItem = null with get,set
        member val Summary:PunchSummary = null with get,set

    [<AllowNullLiteral>]
    type PunchCreateRequest() = 
        member val ProjectID:Int32 = new Int32() with get,set
        member val PunchNo:String = null with get,set
        member val Title:String = null with get,set
        member val Description:String = null with get,set
        member val Area:String = null with get,set
        member val Trade:String = null with get,set
        member val Priority:String = null with get,set
        member val AssignedSub:String = null with get,set
        member val AssignedTo:String = null with get,set
        member val AssignedSubContactID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val OriginType:String = null with get,set
        member val OriginRef:String = null with get,set

F# PunchCreateRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/projects/{ProjectID}/punch HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"ProjectID":0,"PunchNo":"String","Title":"String","Description":"String","Area":"String","Trade":"String","Priority":"String","AssignedSub":"String","AssignedTo":"String","AssignedSubContactID":0,"OriginType":"String","OriginRef":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Item":{"PunchItemID":0,"PunchItemUID":"00000000000000000000000000000000","ProjectID":0,"PunchNo":"String","Title":"String","Description":"String","Area":"String","Trade":"String","Status":"String","Priority":"String","AssignedSub":"String","AssignedTo":"String","AssignedSubContactID":0,"PhotoCount":0,"OriginType":"String","OriginRef":"String","OpenedAt":"0001-01-01T00:00:00.0000000","VerifiedAt":"0001-01-01T00:00:00.0000000","ClosedAt":"0001-01-01T00:00:00.0000000","CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedAt":"0001-01-01T00:00:00.0000000"},"Summary":{"ProjectID":0,"TotalItems":0,"OpenCount":0,"VerifyCount":0,"ClosedCount":0,"RejectedCount":0,"PercentComplete":0}}