tvpl.api

<back to all web services

AdvanceCreateDocument

Requires Authentication
The following routes are available for this service:
POST/document/advance-create
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


open class AdvanceCreateDocument : BasicDocument()
{
    var partUploadedFile:UploadedFiles? = null
    var compactUploadedFile:UploadedFiles? = null
    var analysisUploadedFile:UploadedFiles? = null
    var fullUploadedFile:UploadedFiles? = null
    var attachFiles:ArrayList<UploadedFiles> = ArrayList<UploadedFiles>()
    var basisDocumentId:ArrayList<Int> = ArrayList<Int>()
    var referenceDocumentId:ArrayList<Int> = ArrayList<Int>()
    var replacedDocumentId:ArrayList<Int> = ArrayList<Int>()
    var expiredDocumentId:ArrayList<Int> = ArrayList<Int>()
}

open class BasicDocument
{
    @Required()
    var title:String? = null

    @StringLength(4000)
    var description:String? = null

    @StringLength(500)
    var owner:String? = null

    var documentPolicyId:Int? = null
    var updateDocumentId:Int? = null
    var effectBeginDate:Date? = null
    var effectEndDate:Date? = null
    var issuingAgencyId:Int? = null
    var documentTypeId:Int? = null
    var documentGroupId:Int? = null
    var subjectId:Int? = null
    @StringLength(500)
    var signBy:String? = null

    var signDate:Date? = null
    var statusId:Int? = null
    var isInternal:Boolean? = null
    var documentNumber:String? = null
    var documentCode:String? = null
    var isUrgent:Boolean? = null
    var scopeType:Int? = null
    var isActive:Boolean? = null
}

open class UploadedFiles : BasicUploadedFile()
{
    var id:Long? = null
    var uploadedFile:String? = null
    var subDocumentId:Int? = null
    var stepId:Int? = null
    var code:Int? = null
}

open class BasicUploadedFile
{
    var fileName:String? = null
    var filekey:String? = null
    var fileUrl:String? = null
    var checksum:String? = null
    var eTag:String? = null
    var fileSize:Long? = null
}

open class DocumentDetailResponse : IResponseRequest
{
    @SerializedName("data") var Data:DocumentDetail? = null
    var code:Int? = null
    var message:String? = null
}

open class DocumentDetail : DocumentSearchResultItem()
{
    var partUploadedFile:UploadedFileAttach? = null
    var compactUploadedFile:UploadedFileAttach? = null
    var analysisUploadedFile:UploadedFileAttach? = null
    var fullUploadedFile:UploadedFileAttach? = null
    var createdAt:Date? = null
    var nextApprover:ApproversProfile? = null
    var currentApprover:CurrentApprover? = null
    var attachFiles:ArrayList<UploadedFileAttach> = ArrayList<UploadedFileAttach>()
    var hasReadPermission:Boolean? = null
    var canGrantReadPermission:Boolean? = null
    var basisDocument:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
    var basisForDocument:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
    var mainDocument:SimpleDocumentRelation? = null
    var referenceDocument:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
    var referencedByDocument:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
    var replacedDocument:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
    var replacedByDocument:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
    var expiredDocument:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
    var expiredByDocument:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
    var updateForDocument:SimpleDocumentRelation? = null
    var scopeType:Int? = null
    var stepOrder:Int? = null
}

open class DocumentSearchResultItem
{
    var title:String? = null
    var description:String? = null
    var owner:String? = null
    var documentPolicyId:Int? = null
    var updateDocumentId:Int? = null
    var effectBeginDate:Date? = null
    var effectEndDate:Date? = null
    var issuingAgencyId:Int? = null
    var subjectId:Int? = null
    var signBy:String? = null
    var signDate:Date? = null
    var updatedAt:Date? = null
    var statusId:Int? = null
    var isInternal:Boolean? = null
    var documentNumber:String? = null
    var documentCode:String? = null
    var isUrgent:Boolean? = null
    var id:Int? = null
    var reasonReturn:String? = null
    var accountId:Int? = null
    var approverId:Int? = null
    @StringLength(500)
    var updatedBy:String? = null

    @StringLength(500)
    var createdBy:String? = null

    var isParty:Boolean? = null
    var isRevisionRequested:Boolean? = null
    var isPrivate:Boolean? = null
    var departmentId:Int? = null
    var publicationDate:Date? = null
    var processStatusId:Int? = null
    var documentTypeId:Int? = null
    var documentGroupId:Int? = null
    var accountName:String? = null
    var acceptAccountName:String? = null
    var documentGroupText:String? = null
    var processStatusText:String? = null
    var documentTypeText:String? = null
    var departmentText:String? = null
    var statusText:String? = null
    var issuingAgencyText:String? = null
    var subjectText:String? = null
    var comment:String? = null
    var submitComment:String? = null
    var fullFile:String? = null
    var parthFile:String? = null
    var isActive:Boolean? = null
    var stepOrder:Int? = null
    var stepCount:Int? = null
}

open class UploadedFileAttach : UploadedFileModel()
{
    var fileType:String? = null
    var subDocumentId:Int? = null
    var stepId:Int? = null
}

open class UploadedFileModel : BasicUploadedFile()
{
    var id:Long? = null
    var accessType:AccessType? = null
    var createdBy:Int? = null
    var createdDate:Date? = null
}

enum class AccessType
{
    Public,
    Restricted,
}

open class ApproversProfile
{
    var userProfiles:ArrayList<UserProfile> = ArrayList<UserProfile>()
    var processStatusId:Int? = null
    var processTitle:String? = null
    var actionButtonLabel:String? = null
    var processDescription:String? = null
    var isApprovalRequired:Boolean? = null
    var isFinalStep:Boolean? = null
    var stepOrder:Int? = null
}

open class UserProfile : UserLogin()
{
    var id:Int? = null
    var fullName:String? = null
    var email:String? = null
    var departmentId:Int? = null
    var partyGroupId:Int? = null
    var avatar:String? = null
    var telephone:String? = null
    var birthday:Date? = null
    var createdAt:Date? = null
    var updatedAt:Date? = null
    var failedLoginCount:Int? = null
    @Ignore()
    var roles:ArrayList<Int> = ArrayList<Int>()

    var lastLoginDate:Date? = null
}

open class UserLogin
{
    @Required()
    var name:String? = null
}

open class CurrentApprover
{
    var approverId:Int? = null
    var status:String? = null
    var processStatusId:Int? = null
    var processTitle:String? = null
    var actionButtonLabel:String? = null
    var processDescription:String? = null
    var isApprovalRequired:Boolean? = null
    var isFinalStep:Boolean? = null
    var stepOrder:Int? = null
}

open class SimpleDocumentRelation
{
    var id:Int? = null
    var title:String? = null
    var documentCode:String? = null
    var publicationDate:Date? = null
}

Kotlin AdvanceCreateDocument 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.

POST /document/advance-create HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"partUploadedFile":{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"compactUploadedFile":{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"analysisUploadedFile":{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"fullUploadedFile":{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"attachFiles":[{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0}],"basisDocumentId":[0],"referenceDocumentId":[0],"replacedDocumentId":[0],"expiredDocumentId":[0],"title":"String","description":"String","owner":"String","documentPolicyId":0,"updateDocumentId":0,"effectBeginDate":"0001-01-01T00:00:00.0000000+07:06","effectEndDate":"0001-01-01T00:00:00.0000000+07:06","issuingAgencyId":0,"documentTypeId":0,"documentGroupId":0,"subjectId":0,"signBy":"String","signDate":"0001-01-01T00:00:00.0000000+07:06","statusId":0,"isInternal":false,"documentNumber":"String","documentCode":"String","isUrgent":false,"scopeType":0,"isActive":false}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"data":{"partUploadedFile":{"fileType":"String","subDocumentId":0,"stepId":0,"id":0,"accessType":"Public","createdBy":0,"createdDate":"0001-01-01T00:00:00.0000000+07:06","fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"compactUploadedFile":{"fileType":"String","subDocumentId":0,"stepId":0,"id":0,"accessType":"Public","createdBy":0,"createdDate":"0001-01-01T00:00:00.0000000+07:06","fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"analysisUploadedFile":{"fileType":"String","subDocumentId":0,"stepId":0,"id":0,"accessType":"Public","createdBy":0,"createdDate":"0001-01-01T00:00:00.0000000+07:06","fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"fullUploadedFile":{"fileType":"String","subDocumentId":0,"stepId":0,"id":0,"accessType":"Public","createdBy":0,"createdDate":"0001-01-01T00:00:00.0000000+07:06","fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"createdAt":"0001-01-01T00:00:00.0000000+07:06","nextApprover":{"userProfiles":[{"id":0,"fullName":"String","email":"String","departmentId":0,"partyGroupId":0,"avatar":"String","telephone":"String","birthday":"0001-01-01T00:00:00.0000000+07:06","createdAt":"0001-01-01T00:00:00.0000000+07:06","updatedAt":"0001-01-01T00:00:00.0000000+07:06","failedLoginCount":0,"roles":[0],"lastLoginDate":"0001-01-01T00:00:00.0000000+07:06","name":"String"}],"processStatusId":0,"processTitle":"String","actionButtonLabel":"String","processDescription":"String","isApprovalRequired":false,"isFinalStep":false,"stepOrder":0},"currentApprover":{"approverId":0,"status":"String","processStatusId":0,"processTitle":"String","actionButtonLabel":"String","processDescription":"String","isApprovalRequired":false,"isFinalStep":false,"stepOrder":0},"attachFiles":[{"fileType":"String","subDocumentId":0,"stepId":0,"id":0,"accessType":"Public","createdBy":0,"createdDate":"0001-01-01T00:00:00.0000000+07:06","fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0}],"hasReadPermission":false,"canGrantReadPermission":false,"basisDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"basisForDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"mainDocument":{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"},"referenceDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"referencedByDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"replacedDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"replacedByDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"expiredDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"expiredByDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"updateForDocument":{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"},"scopeType":0,"stepOrder":0,"title":"String","description":"String","owner":"String","documentPolicyId":0,"updateDocumentId":0,"effectBeginDate":"0001-01-01T00:00:00.0000000+07:06","effectEndDate":"0001-01-01T00:00:00.0000000+07:06","issuingAgencyId":0,"subjectId":0,"signBy":"String","signDate":"0001-01-01T00:00:00.0000000+07:06","updatedAt":"0001-01-01T00:00:00.0000000+07:06","statusId":0,"isInternal":false,"documentNumber":"String","documentCode":"String","isUrgent":false,"id":0,"reasonReturn":"String","accountId":0,"approverId":0,"updatedBy":"String","createdBy":"String","isParty":false,"isRevisionRequested":false,"isPrivate":false,"departmentId":0,"publicationDate":"0001-01-01T00:00:00.0000000+07:06","processStatusId":0,"documentTypeId":0,"documentGroupId":0,"accountName":"String","acceptAccountName":"String","documentGroupText":"String","processStatusText":"String","documentTypeText":"String","departmentText":"String","statusText":"String","issuingAgencyText":"String","subjectText":"String","comment":"String","submitComment":"String","fullFile":"String","parthFile":"String","isActive":false,"stepOrder":0,"stepCount":0},"code":0,"message":"String"}