tvpl.api

<back to all web services

SignatureRequest

Requires Authentication
The following routes are available for this service:
POST/Signature
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using tvpl.api.ServiceModel;
using tvpl.data.Models;

namespace tvpl.api.ServiceModel
{
    public partial class SignatureRequest
    {
        public virtual int FileId { get; set; }
        public virtual int OriginalFileId { get; set; }
        public virtual int WorkflowId { get; set; }
        public virtual int StepId { get; set; }
        public virtual int SubDocumentId { get; set; }
    }

    public partial class SignatureResponse
        : IResponseRequest
    {
        public virtual int Code { get; set; }
        public virtual string Message { get; set; }
        public virtual UploadedFiles SignedFile { get; set; }
        public virtual DocumentSignLog SignLog { get; set; }
    }

}

namespace tvpl.data.Models
{
    public partial class BasicUploadedFile
    {
        public virtual string FileName { get; set; }
        public virtual string Filekey { get; set; }
        public virtual string FileUrl { get; set; }
        public virtual string Checksum { get; set; }
        public virtual string ETag { get; set; }
        public virtual long FileSize { get; set; }
    }

    public partial class DocumentSignLog
    {
        public virtual long Id { get; set; }
        public virtual long DocumentId { get; set; }
        public virtual long? SubDocumentId { get; set; }
        public virtual int StepId { get; set; }
        public virtual long FileId { get; set; }
        [StringLength(50)]
        public virtual string SignProvider { get; set; }

        [StringLength(100)]
        public virtual string CertSerial { get; set; }

        public virtual bool IsSuccess { get; set; }
        [StringLength(500)]
        public virtual string SignMessage { get; set; }

        public virtual long SignBy { get; set; }
        public virtual DateTime SignAt { get; set; }
        public virtual Guid? RequestId { get; set; }
        public virtual int? OriginalFileId { get; set; }
        public virtual DateTime? EffectBeginDate { get; set; }
        public virtual DateTime? EffectEndDate { get; set; }
    }

    public partial class UploadedFiles
        : BasicUploadedFile
    {
        public virtual long? Id { get; set; }
        public virtual string UploadedFile { get; set; }
        public virtual int? SubDocumentId { get; set; }
        public virtual int? StepId { get; set; }
        public virtual int Code { get; set; }
    }

}

C# 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"
	}
}