tvpl.api

<back to all web services

DocumentDetailRequest

Requires Authentication
The following routes are available for this service:
GET/document/detail

export class DocumentSearchResultItem
{
    public title?: string;
    public description: string;
    public owner?: string;
    public documentPolicyId?: number;
    public updateDocumentId?: number;
    public effectBeginDate?: string;
    public effectEndDate?: string;
    public issuingAgencyId?: number;
    public subjectId?: number;
    public signBy?: string;
    public signDate?: string;
    public updatedAt?: string;
    public statusId?: number;
    public isInternal: boolean;
    public documentNumber?: string;
    public documentCode?: string;
    public isUrgent?: boolean;
    public id: number;
    public reasonReturn?: string;
    public accountId?: number;
    public approverId?: number;
    // @StringLength(500)
    public updatedBy?: string;

    // @StringLength(500)
    public createdBy?: string;

    public isParty?: boolean;
    public isRevisionRequested?: boolean;
    public isPrivate?: boolean;
    public departmentId?: number;
    public publicationDate?: string;
    public processStatusId: number;
    public documentTypeId?: number;
    public documentGroupId?: number;
    public accountName?: string;
    public acceptAccountName?: string;
    public documentGroupText?: string;
    public processStatusText?: string;
    public documentTypeText?: string;
    public departmentText?: string;
    public statusText?: string;
    public issuingAgencyText?: string;
    public subjectText?: string;
    public comment?: string;
    public submitComment?: string;
    public fullFile?: string;
    public parthFile?: string;
    public isActive?: boolean;
    public stepOrder?: number;
    public stepCount?: number;

    public constructor(init?: Partial<DocumentSearchResultItem>) { (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 enum AccessType
{
    Public = 'Public',
    Restricted = 'Restricted',
}

export class UploadedFileModel extends BasicUploadedFile
{
    public id: number;
    public accessType: AccessType;
    public createdBy: number;
    public createdDate: string;

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

export class UploadedFileAttach extends UploadedFileModel
{
    public fileType: string;
    public subDocumentId?: number;
    public stepId?: number;

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

export class UserLogin
{
    // @Required()
    public name: string;

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

export class UserProfile extends UserLogin
{
    public id: number;
    public fullName?: string;
    public email?: string;
    public departmentId?: number;
    public partyGroupId?: number;
    public avatar?: string;
    public telephone?: string;
    public birthday?: string;
    public createdAt?: string;
    public updatedAt?: string;
    public failedLoginCount: number;
    // @Ignore()
    public roles: number[];

    public lastLoginDate?: string;

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

export class ApproversProfile
{
    public userProfiles?: UserProfile[];
    public processStatusId: number;
    public processTitle: string;
    public actionButtonLabel?: string;
    public processDescription: string;
    public isApprovalRequired: boolean;
    public isFinalStep: boolean;
    public stepOrder: number;

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

export class CurrentApprover
{
    public approverId?: number;
    public status?: string;
    public processStatusId: number;
    public processTitle: string;
    public actionButtonLabel?: string;
    public processDescription: string;
    public isApprovalRequired: boolean;
    public isFinalStep: boolean;
    public stepOrder: number;

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

export class SimpleDocumentRelation
{
    public id: number;
    public title: string;
    public documentCode: string;
    public publicationDate?: string;

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

export class DocumentDetail extends DocumentSearchResultItem
{
    public partUploadedFile?: UploadedFileAttach;
    public compactUploadedFile?: UploadedFileAttach;
    public analysisUploadedFile?: UploadedFileAttach;
    public fullUploadedFile?: UploadedFileAttach;
    public createdAt: string;
    public nextApprover?: ApproversProfile;
    public currentApprover?: CurrentApprover;
    public attachFiles?: UploadedFileAttach[];
    public hasReadPermission: boolean;
    public canGrantReadPermission: boolean;
    public basisDocument?: SimpleDocumentRelation[];
    public basisForDocument?: SimpleDocumentRelation[];
    public mainDocument?: SimpleDocumentRelation;
    public referenceDocument?: SimpleDocumentRelation[];
    public referencedByDocument?: SimpleDocumentRelation[];
    public replacedDocument?: SimpleDocumentRelation[];
    public replacedByDocument?: SimpleDocumentRelation[];
    public expiredDocument?: SimpleDocumentRelation[];
    public expiredByDocument?: SimpleDocumentRelation[];
    public updateForDocument?: SimpleDocumentRelation;
    public scopeType?: number;
    public stepOrder: number;

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

export class DocumentDetailResponse implements IResponseRequest
{
    public data: DocumentDetail;
    public code: number;
    public message: string;

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

export class DocumentDetailRequest
{
    public id: number;

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

TypeScript DocumentDetailRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /document/detail HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<DocumentDetailResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/tvpl.api.ServiceModel">
  <Code>0</Code>
  <Data xmlns:d2p1="http://schemas.datacontract.org/2004/07/tvpl.data.Models">
    <d2p1:AcceptAccountName>String</d2p1:AcceptAccountName>
    <d2p1:AccountId>0</d2p1:AccountId>
    <d2p1:AccountName>String</d2p1:AccountName>
    <d2p1:ApproverId>0</d2p1:ApproverId>
    <d2p1:Comment>String</d2p1:Comment>
    <d2p1:CreatedBy>String</d2p1:CreatedBy>
    <d2p1:DepartmentId>0</d2p1:DepartmentId>
    <d2p1:DepartmentText>String</d2p1:DepartmentText>
    <d2p1:Description>String</d2p1:Description>
    <d2p1:DocumentCode>String</d2p1:DocumentCode>
    <d2p1:DocumentGroupId>0</d2p1:DocumentGroupId>
    <d2p1:DocumentGroupText>String</d2p1:DocumentGroupText>
    <d2p1:DocumentNumber>String</d2p1:DocumentNumber>
    <d2p1:DocumentPolicyId>0</d2p1:DocumentPolicyId>
    <d2p1:DocumentTypeId>0</d2p1:DocumentTypeId>
    <d2p1:DocumentTypeText>String</d2p1:DocumentTypeText>
    <d2p1:EffectBeginDate>0001-01-01T00:00:00</d2p1:EffectBeginDate>
    <d2p1:EffectEndDate>0001-01-01T00:00:00</d2p1:EffectEndDate>
    <d2p1:FullFile>String</d2p1:FullFile>
    <d2p1:Id>0</d2p1:Id>
    <d2p1:IsActive>false</d2p1:IsActive>
    <d2p1:IsInternal>false</d2p1:IsInternal>
    <d2p1:IsParty>false</d2p1:IsParty>
    <d2p1:IsPrivate>false</d2p1:IsPrivate>
    <d2p1:IsRevisionRequested>false</d2p1:IsRevisionRequested>
    <d2p1:IsUrgent>false</d2p1:IsUrgent>
    <d2p1:IssuingAgencyId>0</d2p1:IssuingAgencyId>
    <d2p1:IssuingAgencyText>String</d2p1:IssuingAgencyText>
    <d2p1:Owner>String</d2p1:Owner>
    <d2p1:ParthFile>String</d2p1:ParthFile>
    <d2p1:ProcessStatusId>0</d2p1:ProcessStatusId>
    <d2p1:ProcessStatusText>String</d2p1:ProcessStatusText>
    <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
    <d2p1:ReasonReturn>String</d2p1:ReasonReturn>
    <d2p1:SignBy>String</d2p1:SignBy>
    <d2p1:SignDate>0001-01-01T00:00:00</d2p1:SignDate>
    <d2p1:StatusId>0</d2p1:StatusId>
    <d2p1:StatusText>String</d2p1:StatusText>
    <d2p1:StepCount>0</d2p1:StepCount>
    <d2p1:StepOrder>0</d2p1:StepOrder>
    <d2p1:SubjectId>0</d2p1:SubjectId>
    <d2p1:SubjectText>String</d2p1:SubjectText>
    <d2p1:SubmitComment>String</d2p1:SubmitComment>
    <d2p1:Title>String</d2p1:Title>
    <d2p1:UpdateDocumentId>0</d2p1:UpdateDocumentId>
    <d2p1:UpdatedAt>0001-01-01T00:00:00</d2p1:UpdatedAt>
    <d2p1:UpdatedBy>String</d2p1:UpdatedBy>
    <d2p1:AnalysisUploadedFile>
      <d2p1:Checksum>String</d2p1:Checksum>
      <d2p1:ETag>String</d2p1:ETag>
      <d2p1:FileName>String</d2p1:FileName>
      <d2p1:FileSize>0</d2p1:FileSize>
      <d2p1:FileUrl>String</d2p1:FileUrl>
      <d2p1:Filekey>String</d2p1:Filekey>
      <d2p1:AccessType>Public</d2p1:AccessType>
      <d2p1:CreatedBy>0</d2p1:CreatedBy>
      <d2p1:CreatedDate>0001-01-01T00:00:00</d2p1:CreatedDate>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:FileType>String</d2p1:FileType>
      <d2p1:StepId>0</d2p1:StepId>
      <d2p1:SubDocumentId>0</d2p1:SubDocumentId>
    </d2p1:AnalysisUploadedFile>
    <d2p1:AttachFiles>
      <d2p1:UploadedFileAttach>
        <d2p1:Checksum>String</d2p1:Checksum>
        <d2p1:ETag>String</d2p1:ETag>
        <d2p1:FileName>String</d2p1:FileName>
        <d2p1:FileSize>0</d2p1:FileSize>
        <d2p1:FileUrl>String</d2p1:FileUrl>
        <d2p1:Filekey>String</d2p1:Filekey>
        <d2p1:AccessType>Public</d2p1:AccessType>
        <d2p1:CreatedBy>0</d2p1:CreatedBy>
        <d2p1:CreatedDate>0001-01-01T00:00:00</d2p1:CreatedDate>
        <d2p1:Id>0</d2p1:Id>
        <d2p1:FileType>String</d2p1:FileType>
        <d2p1:StepId>0</d2p1:StepId>
        <d2p1:SubDocumentId>0</d2p1:SubDocumentId>
      </d2p1:UploadedFileAttach>
    </d2p1:AttachFiles>
    <d2p1:BasisDocument>
      <d2p1:SimpleDocumentRelation>
        <d2p1:DocumentCode>String</d2p1:DocumentCode>
        <d2p1:Id>0</d2p1:Id>
        <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
        <d2p1:Title>String</d2p1:Title>
        <d2p1:Type>String</d2p1:Type>
      </d2p1:SimpleDocumentRelation>
    </d2p1:BasisDocument>
    <d2p1:BasisForDocument>
      <d2p1:SimpleDocumentRelation>
        <d2p1:DocumentCode>String</d2p1:DocumentCode>
        <d2p1:Id>0</d2p1:Id>
        <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
        <d2p1:Title>String</d2p1:Title>
        <d2p1:Type>String</d2p1:Type>
      </d2p1:SimpleDocumentRelation>
    </d2p1:BasisForDocument>
    <d2p1:CanGrantReadPermission>false</d2p1:CanGrantReadPermission>
    <d2p1:CompactUploadedFile>
      <d2p1:Checksum>String</d2p1:Checksum>
      <d2p1:ETag>String</d2p1:ETag>
      <d2p1:FileName>String</d2p1:FileName>
      <d2p1:FileSize>0</d2p1:FileSize>
      <d2p1:FileUrl>String</d2p1:FileUrl>
      <d2p1:Filekey>String</d2p1:Filekey>
      <d2p1:AccessType>Public</d2p1:AccessType>
      <d2p1:CreatedBy>0</d2p1:CreatedBy>
      <d2p1:CreatedDate>0001-01-01T00:00:00</d2p1:CreatedDate>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:FileType>String</d2p1:FileType>
      <d2p1:StepId>0</d2p1:StepId>
      <d2p1:SubDocumentId>0</d2p1:SubDocumentId>
    </d2p1:CompactUploadedFile>
    <d2p1:CreatedAt>0001-01-01T00:00:00</d2p1:CreatedAt>
    <d2p1:CurrentApprover>
      <d2p1:ActionButtonLabel>String</d2p1:ActionButtonLabel>
      <d2p1:ApproverId>0</d2p1:ApproverId>
      <d2p1:IsApprovalRequired>false</d2p1:IsApprovalRequired>
      <d2p1:IsFinalStep>false</d2p1:IsFinalStep>
      <d2p1:ProcessDescription>String</d2p1:ProcessDescription>
      <d2p1:ProcessStatusId>0</d2p1:ProcessStatusId>
      <d2p1:ProcessTitle>String</d2p1:ProcessTitle>
      <d2p1:Status>String</d2p1:Status>
      <d2p1:StepOrder>0</d2p1:StepOrder>
    </d2p1:CurrentApprover>
    <d2p1:ExpiredByDocument>
      <d2p1:SimpleDocumentRelation>
        <d2p1:DocumentCode>String</d2p1:DocumentCode>
        <d2p1:Id>0</d2p1:Id>
        <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
        <d2p1:Title>String</d2p1:Title>
        <d2p1:Type>String</d2p1:Type>
      </d2p1:SimpleDocumentRelation>
    </d2p1:ExpiredByDocument>
    <d2p1:ExpiredDocument>
      <d2p1:SimpleDocumentRelation>
        <d2p1:DocumentCode>String</d2p1:DocumentCode>
        <d2p1:Id>0</d2p1:Id>
        <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
        <d2p1:Title>String</d2p1:Title>
        <d2p1:Type>String</d2p1:Type>
      </d2p1:SimpleDocumentRelation>
    </d2p1:ExpiredDocument>
    <d2p1:FullUploadedFile>
      <d2p1:Checksum>String</d2p1:Checksum>
      <d2p1:ETag>String</d2p1:ETag>
      <d2p1:FileName>String</d2p1:FileName>
      <d2p1:FileSize>0</d2p1:FileSize>
      <d2p1:FileUrl>String</d2p1:FileUrl>
      <d2p1:Filekey>String</d2p1:Filekey>
      <d2p1:AccessType>Public</d2p1:AccessType>
      <d2p1:CreatedBy>0</d2p1:CreatedBy>
      <d2p1:CreatedDate>0001-01-01T00:00:00</d2p1:CreatedDate>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:FileType>String</d2p1:FileType>
      <d2p1:StepId>0</d2p1:StepId>
      <d2p1:SubDocumentId>0</d2p1:SubDocumentId>
    </d2p1:FullUploadedFile>
    <d2p1:HasReadPermission>false</d2p1:HasReadPermission>
    <d2p1:MainDocument>
      <d2p1:DocumentCode>String</d2p1:DocumentCode>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
      <d2p1:Title>String</d2p1:Title>
      <d2p1:Type>String</d2p1:Type>
    </d2p1:MainDocument>
    <d2p1:NextApprover>
      <d2p1:ActionButtonLabel>String</d2p1:ActionButtonLabel>
      <d2p1:IsApprovalRequired>false</d2p1:IsApprovalRequired>
      <d2p1:IsFinalStep>false</d2p1:IsFinalStep>
      <d2p1:ProcessDescription>String</d2p1:ProcessDescription>
      <d2p1:ProcessStatusId>0</d2p1:ProcessStatusId>
      <d2p1:ProcessTitle>String</d2p1:ProcessTitle>
      <d2p1:StepOrder>0</d2p1:StepOrder>
      <d2p1:UserProfiles>
        <d2p1:UserProfile>
          <d2p1:Name>String</d2p1:Name>
          <d2p1:Password>String</d2p1:Password>
          <d2p1:Avatar>String</d2p1:Avatar>
          <d2p1:Birthday>0001-01-01T00:00:00</d2p1:Birthday>
          <d2p1:CreatedAt>0001-01-01T00:00:00</d2p1:CreatedAt>
          <d2p1:CreatedBy>String</d2p1:CreatedBy>
          <d2p1:DeletedAt>0001-01-01T00:00:00</d2p1:DeletedAt>
          <d2p1:DeletedBy>String</d2p1:DeletedBy>
          <d2p1:DepartmentId>0</d2p1:DepartmentId>
          <d2p1:Email>String</d2p1:Email>
          <d2p1:FailedLoginCount>0</d2p1:FailedLoginCount>
          <d2p1:FullName>String</d2p1:FullName>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:IsDeleted>false</d2p1:IsDeleted>
          <d2p1:LastLoginDate>0001-01-01T00:00:00</d2p1:LastLoginDate>
          <d2p1:PartyGroupId>0</d2p1:PartyGroupId>
          <d2p1:Roles xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:int>0</d6p1:int>
          </d2p1:Roles>
          <d2p1:Telephone>String</d2p1:Telephone>
          <d2p1:UpdatedAt>0001-01-01T00:00:00</d2p1:UpdatedAt>
          <d2p1:UpdatedBy>String</d2p1:UpdatedBy>
        </d2p1:UserProfile>
      </d2p1:UserProfiles>
    </d2p1:NextApprover>
    <d2p1:PartUploadedFile>
      <d2p1:Checksum>String</d2p1:Checksum>
      <d2p1:ETag>String</d2p1:ETag>
      <d2p1:FileName>String</d2p1:FileName>
      <d2p1:FileSize>0</d2p1:FileSize>
      <d2p1:FileUrl>String</d2p1:FileUrl>
      <d2p1:Filekey>String</d2p1:Filekey>
      <d2p1:AccessType>Public</d2p1:AccessType>
      <d2p1:CreatedBy>0</d2p1:CreatedBy>
      <d2p1:CreatedDate>0001-01-01T00:00:00</d2p1:CreatedDate>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:FileType>String</d2p1:FileType>
      <d2p1:StepId>0</d2p1:StepId>
      <d2p1:SubDocumentId>0</d2p1:SubDocumentId>
    </d2p1:PartUploadedFile>
    <d2p1:ReferenceDocument>
      <d2p1:SimpleDocumentRelation>
        <d2p1:DocumentCode>String</d2p1:DocumentCode>
        <d2p1:Id>0</d2p1:Id>
        <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
        <d2p1:Title>String</d2p1:Title>
        <d2p1:Type>String</d2p1:Type>
      </d2p1:SimpleDocumentRelation>
    </d2p1:ReferenceDocument>
    <d2p1:ReferencedByDocument>
      <d2p1:SimpleDocumentRelation>
        <d2p1:DocumentCode>String</d2p1:DocumentCode>
        <d2p1:Id>0</d2p1:Id>
        <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
        <d2p1:Title>String</d2p1:Title>
        <d2p1:Type>String</d2p1:Type>
      </d2p1:SimpleDocumentRelation>
    </d2p1:ReferencedByDocument>
    <d2p1:ReplacedByDocument>
      <d2p1:SimpleDocumentRelation>
        <d2p1:DocumentCode>String</d2p1:DocumentCode>
        <d2p1:Id>0</d2p1:Id>
        <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
        <d2p1:Title>String</d2p1:Title>
        <d2p1:Type>String</d2p1:Type>
      </d2p1:SimpleDocumentRelation>
    </d2p1:ReplacedByDocument>
    <d2p1:ReplacedDocument>
      <d2p1:SimpleDocumentRelation>
        <d2p1:DocumentCode>String</d2p1:DocumentCode>
        <d2p1:Id>0</d2p1:Id>
        <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
        <d2p1:Title>String</d2p1:Title>
        <d2p1:Type>String</d2p1:Type>
      </d2p1:SimpleDocumentRelation>
    </d2p1:ReplacedDocument>
    <d2p1:ScopeType>0</d2p1:ScopeType>
    <d2p1:StepOrder>0</d2p1:StepOrder>
    <d2p1:UpdateForDocument>
      <d2p1:DocumentCode>String</d2p1:DocumentCode>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:PublicationDate>0001-01-01T00:00:00</d2p1:PublicationDate>
      <d2p1:Title>String</d2p1:Title>
      <d2p1:Type>String</d2p1:Type>
    </d2p1:UpdateForDocument>
  </Data>
  <Message>String</Message>
</DocumentDetailResponse>