tvpl.api

<back to all web services

CreateWorkflowStepRequest

Requires Authentication
The following routes are available for this service:
POST/WorkflowStep/update
namespace tvpl.api.ServiceModel

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type WorkflowStepResponse() = 
        member val Code:Int32 = new Int32() with get,set
        member val Message:String = null with get,set
        member val InsertedId:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BasicUploadedFile() = 
        member val FileName:String = null with get,set
        member val Filekey:String = null with get,set
        member val FileUrl:String = null with get,set
        member val Checksum:String = null with get,set
        member val ETag:String = null with get,set
        member val FileSize:Int64 = new Int64() with get,set

    [<AllowNullLiteral>]
    type UploadedFiles() = 
        inherit BasicUploadedFile()
        member val Id:Nullable<Int64> = new Nullable<Int64>() with get,set
        member val UploadedFile:String = null with get,set
        member val SubDocumentId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val StepId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Code:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BasicSignerConfig() = 
        member val SubDocumentId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val DepartmentId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SignerType:Byte = new Byte() with get,set
        member val SignerRefId:Int32 = new Int32() with get,set
        [<Ignore>]
        member val SignerRefText:String = null with get,set

        member val ActionType:Byte = new Byte() with get,set
        member val OrderIndex:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type SignerConfig() = 
        inherit BasicSignerConfig()
        member val Id:Int32 = new Int32() with get,set
        member val DocumentId:Int32 = new Int32() with get,set
        member val StepId:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<AllowNullLiteral>]
    type WorkFlowProfile() = 
        member val Id:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val FullName:String = null with get,set
        member val Email:String = null with get,set
        member val DepartmentId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Avatar:String = null with get,set
        member val Telephone:String = null with get,set
        member val Birthday:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ConfirmStatus:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ConfirmStatusText:String = null with get,set
        member val SignAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val SignedFileId:Nullable<Int64> = new Nullable<Int64>() with get,set
        member val OriginalFileId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SignedFileName:String = null with get,set
        member val IsSigned:Boolean = new Boolean() with get,set
        member val SignStatusText:String = null with get,set

    [<AllowNullLiteral>]
    type Roles() = 
        member val Id:Int32 = new Int32() with get,set
        [<StringLength(50)>]
        member val Name:String = null with get,set

        member val CreatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val DeletedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val UpdatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val UpdatedBy:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val DeletedBy:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val CreatedBy:Nullable<Int32> = new Nullable<Int32>() with get,set
        [<Ignore>]
        member val Permission:ResizeArray<String> = new ResizeArray<String>() with get,set

    [<AllowNullLiteral>]
    type SignerConfigDetail() = 
        inherit SignerConfig()
        member val Profile:WorkFlowProfile = null with get,set
        member val Role:Roles = null with get,set

    [<AllowNullLiteral>]
    type StepAttached() = 
        member val Id:Int32 = new Int32() with get,set
        member val DocumentCode:String = null with get,set
        member val Title:String = null with get,set
        member val IsSequentialSigning:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val PendingSignFile:UploadedFiles = null with get,set
        member val OriginalFile:UploadedFiles = null with get,set
        member val SignerConfigs:ResizeArray<SignerConfigDetail> = new ResizeArray<SignerConfigDetail>() with get,set

    [<AllowNullLiteral>]
    type WorkflowStep() = 
        member val Id:Int32 = new Int32() with get,set
        [<References(typeof<Document>)>]
        member val WorkflowId:Int32 = new Int32() with get,set

        member val StepOrder:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val StatusId:Nullable<Int32> = new Nullable<Int32>() with get,set
        [<Required>]
        [<StringLength(255)>]
        member val StepName:String = null with get,set

        [<Required>]
        member val IsRequired:Boolean = new Boolean() with get,set

        member val SLALegalValue:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SLALegalIsByDay:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val SLAInternalValue:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SLAInternalIsByDay:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val RequireAttachment:Boolean = new Boolean() with get,set
        member val IsUsingForm:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        [<Required>]
        member val Description:String = null with get,set

        member val CreatedBy:Int32 = new Int32() with get,set
        [<Ignore>]
        member val DepartmentIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set

        [<Ignore>]
        member val MainAssigneeIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set

        [<Ignore>]
        member val CoDepartmentIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set

        [<Ignore>]
        member val SupportingAssigneeIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set

        [<Ignore>]
        member val StepBasisDocumentIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set

        [<Ignore>]
        member val AttachedDocuments:ResizeArray<StepAttached> = new ResizeArray<StepAttached>() with get,set

    [<AllowNullLiteral>]
    type CreateWorkflowStepRequest() = 
        inherit WorkflowStep()

F# CreateWorkflowStepRequest 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 /WorkflowStep/update HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	workflowId: 0,
	stepOrder: 0,
	statusId: 0,
	stepName: String,
	isRequired: False,
	slaLegalValue: 0,
	slaLegalIsByDay: False,
	slaInternalValue: 0,
	slaInternalIsByDay: False,
	requireAttachment: False,
	isUsingForm: False,
	description: String,
	createdBy: 0,
	departmentIds: 
	[
		0
	],
	mainAssigneeIds: 
	[
		0
	],
	coDepartmentIds: 
	[
		0
	],
	supportingAssigneeIds: 
	[
		0
	],
	stepBasisDocumentIds: 
	[
		0
	],
	attachedDocuments: 
	[
		{
			id: 0,
			documentCode: String,
			title: String,
			isSequentialSigning: False,
			pendingSignFile: 
			{
				id: 0,
				uploadedFile: String,
				subDocumentId: 0,
				stepId: 0,
				code: 0,
				fileName: String,
				filekey: String,
				fileUrl: String,
				checksum: String,
				eTag: String,
				fileSize: 0
			},
			originalFile: 
			{
				id: 0,
				uploadedFile: String,
				subDocumentId: 0,
				stepId: 0,
				code: 0,
				fileName: String,
				filekey: String,
				fileUrl: String,
				checksum: String,
				eTag: String,
				fileSize: 0
			},
			signerConfigs: 
			[
				{
					profile: 
					{
						id: 0,
						name: String,
						fullName: String,
						email: String,
						departmentId: 0,
						avatar: String,
						telephone: String,
						birthday: "0001-01-01T00:00:00.0000000+07:06",
						confirmStatus: 0,
						confirmStatusText: String,
						signAt: "0001-01-01T00:00:00.0000000+07:06",
						signedFileId: 0,
						originalFileId: 0,
						signedFileName: String,
						isSigned: False,
						signStatusText: String
					},
					role: 
					{
						id: 0,
						name: String,
						createdAt: "0001-01-01T00:00:00.0000000+07:06",
						deletedAt: "0001-01-01T00:00:00.0000000+07:06",
						updatedAt: "0001-01-01T00:00:00.0000000+07:06",
						updatedBy: 0,
						deletedBy: 0,
						createdBy: 0,
						permission: 
						[
							String
						]
					},
					id: 0,
					documentId: 0,
					stepId: 0,
					subDocumentId: 0,
					departmentId: 0,
					signerType: 0,
					signerRefId: 0,
					signerRefText: String,
					actionType: 0,
					orderIndex: 0
				}
			]
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	code: 0,
	message: String,
	insertedId: 0
}