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

{"fileId":0,"originalFileId":0,"workflowId":0,"stepId":0,"subDocumentId":0}
HTTP/1.1 200 OK
Content-Type: text/csv
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,"signAt":"0001-01-01T00:00:00.0000000+07:06","requestId":"00000000000000000000000000000000","originalFileId":0,"effectBeginDate":"0001-01-01T00:00:00.0000000+07:06","effectEndDate":"0001-01-01T00:00:00.0000000+07:06"}}