tvpl.api

<back to all web services

SignatureRequest

Requires Authentication
The following routes are available for this service:
POST/Signature

export class SignatureRequest
{
    public fileId: number;
    public originalFileId: number;
    public workflowId: number;
    public stepId: number;
    public subDocumentId: number;

    public constructor(init?: Partial<SignatureRequest>) { (Object as any).assign(this, init); }
}

export class BasicUploadedFile
{
    public fileName: string;
    public filekey: string;
    public fileUrl: string;
    public checksum: string;
    public eTag: string;
    public fileSize: number;

    public constructor(init?: Partial<BasicUploadedFile>) { (Object as any).assign(this, init); }
}

export class UploadedFiles extends BasicUploadedFile
{
    public id?: number;
    public uploadedFile: string;
    public subDocumentId?: number;
    public stepId?: number;
    public code: number;

    public constructor(init?: Partial<UploadedFiles>) { super(init); (Object as any).assign(this, init); }
}

export class DocumentSignLog
{
    public id: number;
    public documentId: number;
    public subDocumentId?: number;
    public stepId: number;
    public fileId: number;
    // @StringLength(50)
    public signProvider?: string;

    // @StringLength(100)
    public certSerial?: string;

    public isSuccess: boolean;
    // @StringLength(500)
    public signMessage?: string;

    public signBy: number;
    public signAt: string;
    public requestId?: string;
    public originalFileId?: number;
    public effectBeginDate?: string;
    public effectEndDate?: string;

    public constructor(init?: Partial<DocumentSignLog>) { (Object as any).assign(this, init); }
}

export class SignatureResponse implements IResponseRequest
{
    public code: number;
    public message: string;
    public signedFile?: UploadedFiles;
    public signLog?: DocumentSignLog;

    public constructor(init?: Partial<SignatureResponse>) { (Object as any).assign(this, init); }
}

TypeScript SignatureRequest 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 /Signature HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	fileId: 0,
	originalFileId: 0,
	workflowId: 0,
	stepId: 0,
	subDocumentId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	code: 0,
	message: String,
	signedFile: 
	{
		id: 0,
		uploadedFile: String,
		subDocumentId: 0,
		stepId: 0,
		code: 0,
		fileName: String,
		filekey: String,
		fileUrl: String,
		checksum: String,
		eTag: String,
		fileSize: 0
	},
	signLog: 
	{
		id: 0,
		documentId: 0,
		subDocumentId: 0,
		stepId: 0,
		fileId: 0,
		signProvider: String,
		certSerial: String,
		isSuccess: False,
		signMessage: String,
		signBy: 0,
		requestId: 00000000000000000000000000000000,
		originalFileId: 0,
		effectBeginDate: "0001-01-01T00:00:00.0000000+07:06",
		effectEndDate: "0001-01-01T00:00:00.0000000+07:06"
	}
}