DigiOffice Gateway Web Services

<back to all web services

GenerateDocumentBatch

Queue multiple (corporate identity) document(s) to generate later via the DigiOffice background agent.

Requires Authentication

export class GenerateDocumentBatchResponse implements IGenerateDocumentBatchResponse
{
    /** @description ID of the batch */
    // @ApiMember(Description="ID of the batch", IsRequired=true)
    public BatchID: string;

    /** @description Document processed count */
    // @ApiMember(Description="Document processed count", IsRequired=true)
    public Processed: number;

    /** @description Track and Trace url */
    // @ApiMember(Description="Track and Trace url", IsRequired=true)
    public TrackAndTraceUrl: string;

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

export class UserReference implements IEntityReference
{
    public ID?: number;
    public LoginName: string;
    public UserPrincipalName: string;
    public FullName: string;
    public EmailAddress: string;
    public GlobalID?: string;

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

export class DocumentgeneratorDocumentReference implements IEntityReference
{
    public ID?: string;
    public Name: string;
    public GlobalID?: string;

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

export class RegistrationProfileReference implements IEntityReference
{
    public ID: string;
    public GlobalID?: string;

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

export class DocumentReference implements IEntityReference
{
    public ID?: string;
    public Code: string;
    public VersionCode: string;
    public RootDocID?: string;
    public InternalInvoiceCode: string;
    public CompanyNumber?: number;
    public DocumentTypeID: string;
    public InvoiceType?: number;
    public RegProfCatID?: number;
    public GlobalID?: string;
    public ExternalID: string;
    public ExternNr: string;
    public ExternVersieNr: string;
    public InternNummer: string;

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

export enum DocInfoAction
{
    Create = 'Create',
    Register = 'Register',
}

export enum DocInfoMode
{
    New = 'New',
    Change = 'Change',
    NewVersionPrimary = 'NewVersionPrimary',
    NewVersionSecondary = 'NewVersionSecondary',
    NewFromExistingDocument = 'NewFromExistingDocument',
}

export enum DocInfoSilentMode
{
    Off = 'Off',
    AllowUserInteraction = 'AllowUserInteraction',
    DoNotAllowUserInteraction = 'DoNotAllowUserInteraction',
}

export class DocumentInfo
{
    public Action: DocInfoAction;
    public Mode: DocInfoMode;
    public Version: string;
    public SilentMode: DocInfoSilentMode;

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

export class MessageQueueReference implements IEntityReference
{
    public ID?: number;
    public GlobalID?: string;

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

export class ConfigurationSource
{
    /** @description Document genereren op basis van een DocGenDocument. */
    public DocumentgeneratorDocument: DocumentgeneratorDocumentReference;
    /** @description Document genereren op basis van een RegistratieProfiel. */
    public RegistrationProfile: RegistrationProfileReference;
    /** @description Use existing document registration. */
    public RegisteredDocument: DocumentReference;
    /** @description Use documentInfo. */
    public UnRegisteredDocument: DocumentInfo;
    /** @description Use draft document registration. */
    public DraftDocumentRegistration: MessageQueueReference;
    public DocumentgeneratorType: string;
    /** @description DocumentgeneratorType voor bijvoorbeeld Word of Email. */
    public DocumentgeneratorTypeName: string;
    public TemplateExtension: string;
    public OutputExtension: string;

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

export enum VersioningType
{
    New = 'New',
    Change = 'Change',
    Primary = 'Primary',
    Secondary = 'Secondary',
}

export class CompanyReference implements IEntityReference
{
    public ID?: number;
    public Number?: number;
    public GlobalID?: string;
    public ExternalID: string;

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

export class RelationReference implements IEntityReference
{
    public ID?: number;
    public CreditorNumber?: number;
    public DebtorNumber?: number;
    public GlobalLocationNumber: string;
    public GlobalID?: string;
    public ExternalID: string;

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

export class PersonReference implements IEntityReference
{
    public ID?: number;
    public Number?: number;
    public GlobalID?: string;
    public ExternalID: string;

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

export class ProjectReference implements IEntityReference
{
    public ID?: number;
    public Code: string;
    public TypeExternalID: string;
    public CompanyNumber?: number;
    public GlobalID?: string;
    public ExternalID: string;

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

export class SubProject
{
    public Project: ProjectReference;

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

export class ContactPersonReference implements IEntityReference
{
    public ID?: number;
    public GlobalID?: string;
    public ExternalID: string;
    public RelationID?: number;
    public PersonID?: number;

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

export enum SignerType
{
    MainSigner = 'MainSigner',
    AdditionalSigner = 'AdditionalSigner',
    ConfirmationDeclarant = 'ConfirmationDeclarant',
    AdditionalConfirmationDeclarant = 'AdditionalConfirmationDeclarant',
}

export class Signer
{
    public MainSignerPostFix: string;
    public User: UserReference;
    public Person: PersonReference;
    public Relation: RelationReference;
    public ContactPerson: ContactPersonReference;
    public RegisteredDocument: DocumentReference;
    public Type: SignerType;
    public ClosingSentence: string;
    public Name: string;
    public Subsidiary: string;
    public Function: string;
    public Department: string;
    public PhoneNumber: string;
    public FaxNumber: string;
    public MobileNumber: string;
    public Email: string;
    public CustomText: string;
    public Signature: string[];
    public Initials: string[];
    public SignatureVisible?: boolean;
    public InitialsVisible?: boolean;
    public Visible?: boolean;

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

export class Field
{
    public Name: string;
    public OldValue: string;
    public Value: string;
    public Title: string;

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

export class AttachmentData
{
    public ContentType: string;
    /** @description Data base64-encoded zonder padding. */
    public Data: string;

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

export class Attachment
{
    public Name: string;
    public AttachmentData: AttachmentData;

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

export class RegistrationMetaData
{
    /** @description Hoe moet het versiebeheer worden toegepast? */
    // @ApiMember(Description="Hoe moet het versiebeheer worden toegepast?")
    public Versioning?: VersioningType;

    /** @description Previous document will be used for registration of a new version. */
    // @ApiMember(Description="Previous document will be used for registration of a new version.")
    public PreviousDocument: DocumentReference;

    /** @description Company */
    // @ApiMember(Description="Company")
    public Company: CompanyReference;

    /** @description Relation */
    // @ApiMember(Description="Relation")
    public Relation: RelationReference;

    /** @description Person */
    // @ApiMember(Description="Person")
    public Person: PersonReference;

    /** @description Project */
    // @ApiMember(Description="Project")
    public Project: ProjectReference;

    /** @description Sub projects */
    // @ApiMember(AllowMultiple=true, Description="Sub projects")
    public SubProjects: SubProject[];

    /** @description Signers */
    // @ApiMember(AllowMultiple=true, Description="Signers")
    public Signers: Signer[];

    /** @description Bevat velden die gebruikt worden als additionele metadata voor het document, naast de vaste koppelingen zoals gebruiker, project en relatie. */
    // @ApiMember(AllowMultiple=true, Description="Bevat velden die gebruikt worden als additionele metadata voor het document, naast de vaste koppelingen zoals gebruiker, project en relatie.")
    public Fields: Field[];

    /** @description Attachments die aan de documentregistratie gekoppeld moet worden. */
    // @ApiMember(AllowMultiple=true, Description="Attachments die aan de documentregistratie gekoppeld moet worden.")
    public Attachments: Attachment[];

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

export class CommonEntityBaseReference implements IEntityReference
{
    public ID: string;
    public ExternalID: string;
    public GlobalID?: string;

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

export enum Direction
{
    Left2Right = 0,
    UpLeft2DownRight = 45,
    Up2Down = 90,
    UpRight2DownLeft = 135,
    Right2Left = 180,
    DownRight2UpLeft = 225,
    Down2Up = 270,
    DownLeft2UpRight = 315,
}

export class Watermark
{
    public Text: string;
    public FontFamilyText: string;
    public FontFamily: FontFamily;
    public Direction?: Direction;
    public StrokeColorText: string;
    public StrokeColor: Color;
    public FillColorText: string;
    public FillColor: Color;

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

export class BatchDocument implements IDocument
{
    /** @description ConfigurationSource: DocumentgeneratorDocument of RegistratieProfiel. */
    // @ApiMember(Description="ConfigurationSource: DocumentgeneratorDocument of RegistratieProfiel.", IsRequired=true)
    public ConfigurationSource: ConfigurationSource;

    /** @description Set references to bind with Registration profile */
    // @ApiMember(Description="Set references to bind with Registration profile", IsRequired=true)
    public RegistrationMetaData: RegistrationMetaData;

    /** @description Entity instance used as data source parent, if not exists default is Document registration instance. */
    // @ApiMember(Description="Entity instance used as data source parent, if not exists default is Document registration instance.")
    public DataSourceEntity: CommonEntityBaseReference;

    /** @description Hier kan de (dynamische) data voor het document geplaatst worden, de data kan middels tekstblokken en placeholders worden geplaatst.Het formaat binnen CustomData staat vrij maar vereist een 'root' element. */
    // @ApiMember(Description="Hier kan de (dynamische) data voor het document geplaatst worden, de data kan middels tekstblokken en placeholders worden geplaatst.Het formaat binnen CustomData staat vrij maar vereist een 'root' element.")
    public CustomData: string;

    /** @description Insert a watermark into the document. */
    // @ApiMember(Description="Insert a watermark into the document.")
    public Watermark: Watermark;

    /** @description Type van het gegenereerde document, bijvoorbeeld: Doc, Docx, Pdf. */
    // @ApiMember(Description="Type van het gegenereerde document, bijvoorbeeld: Doc, Docx, Pdf.")
    public OutputType: string;

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

/** @description Queue multiple (corporate identity) document(s) to generate later via the DigiOffice background agent. */
// @Api(Description="Queue multiple (corporate identity) document(s) to generate later via the DigiOffice background agent.")
export class GenerateDocumentBatch implements IGenerateDocumentBatch
{
    /** @description Owner of the badge (DigiOffice user) */
    // @ApiMember(Description="Owner of the badge (DigiOffice user)")
    public User: UserReference;

    /** @description Description of the badge */
    // @ApiMember(Description="Description of the badge", IsRequired=true)
    public Description: string;

    /** @description Corporate identity document(s) to be generate */
    // @ApiMember(AllowMultiple=true, Description="Corporate identity document(s) to be generate", IsRequired=true)
    public Documents: BatchDocument[];

    /** @description Generated document is not registered in DigiOffice DMS. */
    // @ApiMember(Description="Generated document is not registered in DigiOffice DMS.")
    public DontRegister?: boolean;

    /** @description Send the generated e-mail via the e-mail queue. */
    // @ApiMember(Description="Send the generated e-mail via the e-mail queue.")
    public SendMail: boolean;

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

TypeScript GenerateDocumentBatch DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /json/reply/GenerateDocumentBatch HTTP/1.1 
Host: doapigw.baasbv.nl 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"User":{"ID":0,"LoginName":"String","UserPrincipalName":"String","FullName":"String","EmailAddress":"String","GlobalID":"00000000-0000-0000-0000-000000000000"},"Description":"String","Documents":[{"ConfigurationSource":{"DocumentgeneratorDocument":{"ID":"00000000-0000-0000-0000-000000000000","Name":"String"},"RegistrationProfile":{},"RegisteredDocument":{"ID":"00000000-0000-0000-0000-000000000000","Code":"String","VersionCode":"String","RootDocID":"00000000-0000-0000-0000-000000000000","InternalInvoiceCode":"String","CompanyNumber":0,"DocumentTypeID":"String","InvoiceType":0,"RegProfCatID":0,"GlobalID":"00000000-0000-0000-0000-000000000000","ExternalID":"String","ExternVersieNr":"String"},"UnRegisteredDocument":{"Action":"Create","Mode":"New","Version":"String","SilentMode":"Off"},"DraftDocumentRegistration":{"ID":0},"DocumentgeneratorType":null,"TemplateExtension":"String","OutputExtension":"String"},"RegistrationMetaData":{"Versioning":"New","PreviousDocument":{"ID":"00000000-0000-0000-0000-000000000000","Code":"String","VersionCode":"String","RootDocID":"00000000-0000-0000-0000-000000000000","InternalInvoiceCode":"String","CompanyNumber":0,"DocumentTypeID":"String","InvoiceType":0,"RegProfCatID":0,"GlobalID":"00000000-0000-0000-0000-000000000000","ExternalID":"String","ExternVersieNr":"String"},"Company":{"ID":0,"Number":0,"GlobalID":"00000000-0000-0000-0000-000000000000","ExternalID":"String"},"Relation":{"ID":0,"CreditorNumber":0,"DebtorNumber":0,"GlobalLocationNumber":"String","GlobalID":"00000000-0000-0000-0000-000000000000","ExternalID":"String"},"Person":{"ID":0,"Number":0,"GlobalID":"00000000-0000-0000-0000-000000000000","ExternalID":"String"},"Project":{"ID":0,"Code":"String","TypeExternalID":"String","CompanyNumber":0,"GlobalID":"00000000-0000-0000-0000-000000000000","ExternalID":"String"},"SubProjects":[{"Project":{"ID":0,"Code":"String","TypeExternalID":"String","CompanyNumber":0,"GlobalID":"00000000-0000-0000-0000-000000000000","ExternalID":"String"}}],"Signers":[{"MainSignerPostFix":"String","User":{"ID":0,"LoginName":"String","UserPrincipalName":"String","FullName":"String","EmailAddress":"String","GlobalID":"00000000-0000-0000-0000-000000000000"},"Person":{"ID":0,"Number":0,"GlobalID":"00000000-0000-0000-0000-000000000000","ExternalID":"String"},"Relation":{"ID":0,"CreditorNumber":0,"DebtorNumber":0,"GlobalLocationNumber":"String","GlobalID":"00000000-0000-0000-0000-000000000000","ExternalID":"String"},"ContactPerson":{"ID":0,"GlobalID":"00000000-0000-0000-0000-000000000000","ExternalID":"String","RelationID":0,"PersonID":0},"RegisteredDocument":{"ID":"00000000-0000-0000-0000-000000000000","Code":"String","VersionCode":"String","RootDocID":"00000000-0000-0000-0000-000000000000","InternalInvoiceCode":"String","CompanyNumber":0,"DocumentTypeID":"String","InvoiceType":0,"RegProfCatID":0,"GlobalID":"00000000-0000-0000-0000-000000000000","ExternalID":"String","ExternVersieNr":"String"},"Type":"MainSigner","ClosingSentence":"String","Name":"String","Subsidiary":"String","Function":"String","Department":"String","PhoneNumber":"String","FaxNumber":"String","MobileNumber":"String","Email":"String","CustomText":"String","Signature":["String"],"Initials":["String"],"SignatureVisible":false,"InitialsVisible":false,"Visible":false}],"Fields":[{"Name":"String","OldValue":"String","Value":"String","Title":"String = String -> String"}],"Attachments":[{"Name":"String","AttachmentData":{"ContentType":"String","Data":"String"}}]},"DataSourceEntity":{"ID":"String","ExternalID":"String","GlobalID":"00000000-0000-0000-0000-000000000000"},"CustomData":"String","Watermark":{"Text":"String","FontFamilyText":null,"Direction":"Left2Right","StrokeColorText":null,"FillColorText":null},"OutputType":"String"}],"DontRegister":false,"SendMail":false}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"BatchID":"00000000-0000-0000-0000-000000000000","Processed":0,"TrackAndTraceUrl":"String"}