DigiOffice Gateway Web Services

<back to all web services

GenerateDocument

Generate custom Document (Don't use from inside VSTO's)

Requires Authentication
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    /**
    * Generate custom Document (Don't use from inside VSTO's)
    */
    @Api(Description="Generate custom Document (Don't use from inside VSTO's)")
    public static class GenerateDocument implements IGenerateDocument
    {
        /**
        * DigiOffice user
        */
        @ApiMember(Description="DigiOffice user")
        public UserReference User = null;

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

        /**
        * ConfigurationSource: DocumentgeneratorDocument of RegistratieProfiel.
        */
        @ApiMember(Description="ConfigurationSource: DocumentgeneratorDocument of RegistratieProfiel.", IsRequired=true)
        public ConfigurationSource ConfigurationSource = null;

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

        /**
        * 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 CommonEntityBaseReference DataSourceEntity = null;

        /**
        * 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 String CustomData = null;

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

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

        /**
        * Should update the document file.
        */
        @ApiMember(Description="Should update the document file.")
        public Boolean ShouldUpdateDocumentFile = null;
        
        public UserReference getUser() { return User; }
        public GenerateDocument setUser(UserReference value) { this.User = value; return this; }
        public Boolean isSendMail() { return SendMail; }
        public GenerateDocument setSendMail(Boolean value) { this.SendMail = value; return this; }
        public ConfigurationSource getConfigurationSource() { return ConfigurationSource; }
        public GenerateDocument setConfigurationSource(ConfigurationSource value) { this.ConfigurationSource = value; return this; }
        public RegistrationMetaData getRegistrationMetaData() { return RegistrationMetaData; }
        public GenerateDocument setRegistrationMetaData(RegistrationMetaData value) { this.RegistrationMetaData = value; return this; }
        public CommonEntityBaseReference getDataSourceEntity() { return DataSourceEntity; }
        public GenerateDocument setDataSourceEntity(CommonEntityBaseReference value) { this.DataSourceEntity = value; return this; }
        public String getCustomData() { return CustomData; }
        public GenerateDocument setCustomData(String value) { this.CustomData = value; return this; }
        public Watermark getWatermark() { return Watermark; }
        public GenerateDocument setWatermark(Watermark value) { this.Watermark = value; return this; }
        public String getOutputType() { return OutputType; }
        public GenerateDocument setOutputType(String value) { this.OutputType = value; return this; }
        public Boolean isShouldUpdateDocumentFile() { return ShouldUpdateDocumentFile; }
        public GenerateDocument setShouldUpdateDocumentFile(Boolean value) { this.ShouldUpdateDocumentFile = value; return this; }
    }

    public static class UserReference implements IEntityReference
    {
        public Integer ID = null;
        public String LoginName = null;
        public String UserPrincipalName = null;
        public String FullName = null;
        public String EmailAddress = null;
        public UUID GlobalID = null;
        
        public Integer getId() { return ID; }
        public UserReference setId(Integer value) { this.ID = value; return this; }
        public String getLoginName() { return LoginName; }
        public UserReference setLoginName(String value) { this.LoginName = value; return this; }
        public String getUserPrincipalName() { return UserPrincipalName; }
        public UserReference setUserPrincipalName(String value) { this.UserPrincipalName = value; return this; }
        public String getFullName() { return FullName; }
        public UserReference setFullName(String value) { this.FullName = value; return this; }
        public String getEmailAddress() { return EmailAddress; }
        public UserReference setEmailAddress(String value) { this.EmailAddress = value; return this; }
        public UUID getGlobalID() { return GlobalID; }
        public UserReference setGlobalID(UUID value) { this.GlobalID = value; return this; }
    }

    public static class ConfigurationSource
    {
        /**
        * Document genereren op basis van een DocGenDocument.
        */
        public DocumentgeneratorDocumentReference DocumentgeneratorDocument = null;
        /**
        * Document genereren op basis van een RegistratieProfiel.
        */
        public RegistrationProfileReference RegistrationProfile = null;
        /**
        * Use existing document registration.
        */
        public DocumentReference RegisteredDocument = null;
        /**
        * Use draft document registration.
        */
        public MessageQueueReference DraftDocumentRegistration = null;
        public Class DocumentgeneratorType = null;
        /**
        * DocumentgeneratorType voor bijvoorbeeld Word of Email.
        */
        public String DocumentgeneratorTypeName = null;
        public String TemplateExtension = null;
        public String OutputExtension = null;
        
        public DocumentgeneratorDocumentReference getDocumentgeneratorDocument() { return DocumentgeneratorDocument; }
        public ConfigurationSource setDocumentgeneratorDocument(DocumentgeneratorDocumentReference value) { this.DocumentgeneratorDocument = value; return this; }
        public RegistrationProfileReference getRegistrationProfile() { return RegistrationProfile; }
        public ConfigurationSource setRegistrationProfile(RegistrationProfileReference value) { this.RegistrationProfile = value; return this; }
        public DocumentReference getRegisteredDocument() { return RegisteredDocument; }
        public ConfigurationSource setRegisteredDocument(DocumentReference value) { this.RegisteredDocument = value; return this; }
        public MessageQueueReference getDraftDocumentRegistration() { return DraftDocumentRegistration; }
        public ConfigurationSource setDraftDocumentRegistration(MessageQueueReference value) { this.DraftDocumentRegistration = value; return this; }
        public Class getDocumentgeneratorType() { return DocumentgeneratorType; }
        public ConfigurationSource setDocumentgeneratorType(Class value) { this.DocumentgeneratorType = value; return this; }
        public String getDocumentgeneratorTypeName() { return DocumentgeneratorTypeName; }
        public ConfigurationSource setDocumentgeneratorTypeName(String value) { this.DocumentgeneratorTypeName = value; return this; }
        public String getTemplateExtension() { return TemplateExtension; }
        public ConfigurationSource setTemplateExtension(String value) { this.TemplateExtension = value; return this; }
        public String getOutputExtension() { return OutputExtension; }
        public ConfigurationSource setOutputExtension(String value) { this.OutputExtension = value; return this; }
    }

    public static class DocumentgeneratorDocumentReference implements IEntityReference
    {
        public UUID ID = null;
        public String Name = null;
        public UUID GlobalID = null;
        
        public UUID getId() { return ID; }
        public DocumentgeneratorDocumentReference setId(UUID value) { this.ID = value; return this; }
        public String getName() { return Name; }
        public DocumentgeneratorDocumentReference setName(String value) { this.Name = value; return this; }
        public UUID getGlobalID() { return GlobalID; }
        public DocumentgeneratorDocumentReference setGlobalID(UUID value) { this.GlobalID = value; return this; }
    }

    public static class RegistrationProfileReference implements IEntityReference
    {
        public UUID ID = null;
        public UUID GlobalID = null;
        
        public UUID getId() { return ID; }
        public RegistrationProfileReference setId(UUID value) { this.ID = value; return this; }
        public UUID getGlobalID() { return GlobalID; }
        public RegistrationProfileReference setGlobalID(UUID value) { this.GlobalID = value; return this; }
    }

    public static class DocumentReference implements IEntityReference
    {
        public UUID ID = null;
        public String Code = null;
        public String VersionCode = null;
        public UUID RootDocID = null;
        public String InternalInvoiceCode = null;
        public Integer CompanyNumber = null;
        public String DocumentTypeID = null;
        public Integer InvoiceType = null;
        public Integer RegProfCatID = null;
        public UUID GlobalID = null;
        public String ExternalID = null;
        public String ExternNr = null;
        public String InternNummer = null;
        
        public UUID getId() { return ID; }
        public DocumentReference setId(UUID value) { this.ID = value; return this; }
        public String getCode() { return Code; }
        public DocumentReference setCode(String value) { this.Code = value; return this; }
        public String getVersionCode() { return VersionCode; }
        public DocumentReference setVersionCode(String value) { this.VersionCode = value; return this; }
        public UUID getRootDocID() { return RootDocID; }
        public DocumentReference setRootDocID(UUID value) { this.RootDocID = value; return this; }
        public String getInternalInvoiceCode() { return InternalInvoiceCode; }
        public DocumentReference setInternalInvoiceCode(String value) { this.InternalInvoiceCode = value; return this; }
        public Integer getCompanyNumber() { return CompanyNumber; }
        public DocumentReference setCompanyNumber(Integer value) { this.CompanyNumber = value; return this; }
        public String getDocumentTypeID() { return DocumentTypeID; }
        public DocumentReference setDocumentTypeID(String value) { this.DocumentTypeID = value; return this; }
        public Integer getInvoiceType() { return InvoiceType; }
        public DocumentReference setInvoiceType(Integer value) { this.InvoiceType = value; return this; }
        public Integer getRegProfCatID() { return RegProfCatID; }
        public DocumentReference setRegProfCatID(Integer value) { this.RegProfCatID = value; return this; }
        public UUID getGlobalID() { return GlobalID; }
        public DocumentReference setGlobalID(UUID value) { this.GlobalID = value; return this; }
        public String getExternalID() { return ExternalID; }
        public DocumentReference setExternalID(String value) { this.ExternalID = value; return this; }
        public String getExternNr() { return ExternNr; }
        public DocumentReference setExternNr(String value) { this.ExternNr = value; return this; }
        public String getInternNummer() { return InternNummer; }
        public DocumentReference setInternNummer(String value) { this.InternNummer = value; return this; }
    }

    public static class MessageQueueReference implements IEntityReference
    {
        public Integer ID = null;
        public UUID GlobalID = null;
        
        public Integer getId() { return ID; }
        public MessageQueueReference setId(Integer value) { this.ID = value; return this; }
        public UUID getGlobalID() { return GlobalID; }
        public MessageQueueReference setGlobalID(UUID value) { this.GlobalID = value; return this; }
    }

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

        /**
        * 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 DocumentReference PreviousDocument = null;

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

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

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

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

        /**
        * Sub projects
        */
        @ApiMember(AllowMultiple=true, Description="Sub projects")
        public ArrayList<SubProject> SubProjects = null;

        /**
        * Signers
        */
        @ApiMember(AllowMultiple=true, Description="Signers")
        public ArrayList<Signer> Signers = null;

        /**
        * 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 ArrayList<Field> Fields = null;

        /**
        * Attachments die aan de documentregistratie gekoppeld moet worden.
        */
        @ApiMember(AllowMultiple=true, Description="Attachments die aan de documentregistratie gekoppeld moet worden.")
        public ArrayList<Attachment> Attachments = null;
        
        public VersioningType getVersioning() { return Versioning; }
        public RegistrationMetaData setVersioning(VersioningType value) { this.Versioning = value; return this; }
        public DocumentReference getPreviousDocument() { return PreviousDocument; }
        public RegistrationMetaData setPreviousDocument(DocumentReference value) { this.PreviousDocument = value; return this; }
        public CompanyReference getCompany() { return Company; }
        public RegistrationMetaData setCompany(CompanyReference value) { this.Company = value; return this; }
        public RelationReference getRelation() { return Relation; }
        public RegistrationMetaData setRelation(RelationReference value) { this.Relation = value; return this; }
        public PersonReference getPerson() { return Person; }
        public RegistrationMetaData setPerson(PersonReference value) { this.Person = value; return this; }
        public ProjectReference getProject() { return Project; }
        public RegistrationMetaData setProject(ProjectReference value) { this.Project = value; return this; }
        public ArrayList<SubProject> getSubProjects() { return SubProjects; }
        public RegistrationMetaData setSubProjects(ArrayList<SubProject> value) { this.SubProjects = value; return this; }
        public ArrayList<Signer> getSigners() { return Signers; }
        public RegistrationMetaData setSigners(ArrayList<Signer> value) { this.Signers = value; return this; }
        public ArrayList<Field> getFields() { return Fields; }
        public RegistrationMetaData setFields(ArrayList<Field> value) { this.Fields = value; return this; }
        public ArrayList<Attachment> getAttachments() { return Attachments; }
        public RegistrationMetaData setAttachments(ArrayList<Attachment> value) { this.Attachments = value; return this; }
    }

    public static enum VersioningType
    {
        New,
        Change,
        Primary,
        Secondary;
    }

    public static class CompanyReference implements IEntityReference
    {
        public Integer ID = null;
        public Integer Number = null;
        public UUID GlobalID = null;
        public String ExternalID = null;
        
        public Integer getId() { return ID; }
        public CompanyReference setId(Integer value) { this.ID = value; return this; }
        public Integer getNumber() { return Number; }
        public CompanyReference setNumber(Integer value) { this.Number = value; return this; }
        public UUID getGlobalID() { return GlobalID; }
        public CompanyReference setGlobalID(UUID value) { this.GlobalID = value; return this; }
        public String getExternalID() { return ExternalID; }
        public CompanyReference setExternalID(String value) { this.ExternalID = value; return this; }
    }

    public static class RelationReference implements IEntityReference
    {
        public Integer ID = null;
        public Integer CreditorNumber = null;
        public Integer DebtorNumber = null;
        public String GlobalLocationNumber = null;
        public UUID GlobalID = null;
        public String ExternalID = null;
        
        public Integer getId() { return ID; }
        public RelationReference setId(Integer value) { this.ID = value; return this; }
        public Integer getCreditorNumber() { return CreditorNumber; }
        public RelationReference setCreditorNumber(Integer value) { this.CreditorNumber = value; return this; }
        public Integer getDebtorNumber() { return DebtorNumber; }
        public RelationReference setDebtorNumber(Integer value) { this.DebtorNumber = value; return this; }
        public String getGlobalLocationNumber() { return GlobalLocationNumber; }
        public RelationReference setGlobalLocationNumber(String value) { this.GlobalLocationNumber = value; return this; }
        public UUID getGlobalID() { return GlobalID; }
        public RelationReference setGlobalID(UUID value) { this.GlobalID = value; return this; }
        public String getExternalID() { return ExternalID; }
        public RelationReference setExternalID(String value) { this.ExternalID = value; return this; }
    }

    public static class PersonReference implements IEntityReference
    {
        public Integer ID = null;
        public Integer Number = null;
        public UUID GlobalID = null;
        public String ExternalID = null;
        
        public Integer getId() { return ID; }
        public PersonReference setId(Integer value) { this.ID = value; return this; }
        public Integer getNumber() { return Number; }
        public PersonReference setNumber(Integer value) { this.Number = value; return this; }
        public UUID getGlobalID() { return GlobalID; }
        public PersonReference setGlobalID(UUID value) { this.GlobalID = value; return this; }
        public String getExternalID() { return ExternalID; }
        public PersonReference setExternalID(String value) { this.ExternalID = value; return this; }
    }

    public static class ProjectReference implements IEntityReference
    {
        public Integer ID = null;
        public String Code = null;
        public String TypeExternalID = null;
        public Integer CompanyNumber = null;
        public UUID GlobalID = null;
        public String ExternalID = null;
        
        public Integer getId() { return ID; }
        public ProjectReference setId(Integer value) { this.ID = value; return this; }
        public String getCode() { return Code; }
        public ProjectReference setCode(String value) { this.Code = value; return this; }
        public String getTypeExternalID() { return TypeExternalID; }
        public ProjectReference setTypeExternalID(String value) { this.TypeExternalID = value; return this; }
        public Integer getCompanyNumber() { return CompanyNumber; }
        public ProjectReference setCompanyNumber(Integer value) { this.CompanyNumber = value; return this; }
        public UUID getGlobalID() { return GlobalID; }
        public ProjectReference setGlobalID(UUID value) { this.GlobalID = value; return this; }
        public String getExternalID() { return ExternalID; }
        public ProjectReference setExternalID(String value) { this.ExternalID = value; return this; }
    }

    public static class SubProject
    {
        public ProjectReference Project = null;
        
        public ProjectReference getProject() { return Project; }
        public SubProject setProject(ProjectReference value) { this.Project = value; return this; }
    }

    public static class Signer
    {
        public UserReference User = null;
        public PersonReference Person = null;
        public RelationReference Relation = null;
        public ContactPersonReference ContactPerson = null;
        public DocumentReference RegisteredDocument = null;
        public SignerType Type = null;
        public String ClosingSentence = null;
        public String Name = null;
        public String Subsidiary = null;
        public String Function = null;
        public String Department = null;
        public String PhoneNumber = null;
        public String FaxNumber = null;
        public String MobileNumber = null;
        public String Email = null;
        public String CustomText = null;
        public ArrayList<String> Signature = null;
        public Boolean SignatureVisible = null;
        public Boolean Visible = null;
        
        public UserReference getUser() { return User; }
        public Signer setUser(UserReference value) { this.User = value; return this; }
        public PersonReference getPerson() { return Person; }
        public Signer setPerson(PersonReference value) { this.Person = value; return this; }
        public RelationReference getRelation() { return Relation; }
        public Signer setRelation(RelationReference value) { this.Relation = value; return this; }
        public ContactPersonReference getContactPerson() { return ContactPerson; }
        public Signer setContactPerson(ContactPersonReference value) { this.ContactPerson = value; return this; }
        public DocumentReference getRegisteredDocument() { return RegisteredDocument; }
        public Signer setRegisteredDocument(DocumentReference value) { this.RegisteredDocument = value; return this; }
        public SignerType getType() { return Type; }
        public Signer setType(SignerType value) { this.Type = value; return this; }
        public String getClosingSentence() { return ClosingSentence; }
        public Signer setClosingSentence(String value) { this.ClosingSentence = value; return this; }
        public String getName() { return Name; }
        public Signer setName(String value) { this.Name = value; return this; }
        public String getSubsidiary() { return Subsidiary; }
        public Signer setSubsidiary(String value) { this.Subsidiary = value; return this; }
        public String getFunction() { return Function; }
        public Signer setFunction(String value) { this.Function = value; return this; }
        public String getDepartment() { return Department; }
        public Signer setDepartment(String value) { this.Department = value; return this; }
        public String getPhoneNumber() { return PhoneNumber; }
        public Signer setPhoneNumber(String value) { this.PhoneNumber = value; return this; }
        public String getFaxNumber() { return FaxNumber; }
        public Signer setFaxNumber(String value) { this.FaxNumber = value; return this; }
        public String getMobileNumber() { return MobileNumber; }
        public Signer setMobileNumber(String value) { this.MobileNumber = value; return this; }
        public String getEmail() { return Email; }
        public Signer setEmail(String value) { this.Email = value; return this; }
        public String getCustomText() { return CustomText; }
        public Signer setCustomText(String value) { this.CustomText = value; return this; }
        public ArrayList<String> getSignature() { return Signature; }
        public Signer setSignature(ArrayList<String> value) { this.Signature = value; return this; }
        public Boolean isSignatureVisible() { return SignatureVisible; }
        public Signer setSignatureVisible(Boolean value) { this.SignatureVisible = value; return this; }
        public Boolean isVisible() { return Visible; }
        public Signer setVisible(Boolean value) { this.Visible = value; return this; }
    }

    public static class ContactPersonReference implements IEntityReference
    {
        public Integer ID = null;
        public UUID GlobalID = null;
        public String ExternalID = null;
        public Integer RelationID = null;
        public Integer PersonID = null;
        
        public Integer getId() { return ID; }
        public ContactPersonReference setId(Integer value) { this.ID = value; return this; }
        public UUID getGlobalID() { return GlobalID; }
        public ContactPersonReference setGlobalID(UUID value) { this.GlobalID = value; return this; }
        public String getExternalID() { return ExternalID; }
        public ContactPersonReference setExternalID(String value) { this.ExternalID = value; return this; }
        public Integer getRelationID() { return RelationID; }
        public ContactPersonReference setRelationID(Integer value) { this.RelationID = value; return this; }
        public Integer getPersonID() { return PersonID; }
        public ContactPersonReference setPersonID(Integer value) { this.PersonID = value; return this; }
    }

    public static enum SignerType
    {
        MainSigner,
        AdditionalSigner,
        ConfirmationDeclarant,
        AdditionalConfirmationDeclarant;
    }

    public static class Field
    {
        public String Name = null;
        public String OldValue = null;
        public String Value = null;
        public String Title = null;
        
        public String getName() { return Name; }
        public Field setName(String value) { this.Name = value; return this; }
        public String getOldValue() { return OldValue; }
        public Field setOldValue(String value) { this.OldValue = value; return this; }
        public String getValue() { return Value; }
        public Field setValue(String value) { this.Value = value; return this; }
        public String getTitle() { return Title; }
        public Field setTitle(String value) { this.Title = value; return this; }
    }

    public static class Attachment
    {
        public String Name = null;
        public AttachmentData AttachmentData = null;
        
        public String getName() { return Name; }
        public Attachment setName(String value) { this.Name = value; return this; }
        public AttachmentData getAttachmentData() { return AttachmentData; }
        public Attachment setAttachmentData(AttachmentData value) { this.AttachmentData = value; return this; }
    }

    public static class AttachmentData
    {
        public String ContentType = null;
        /**
        * Data base64-encoded zonder padding.
        */
        public String Data = null;
        
        public String getContentType() { return ContentType; }
        public AttachmentData setContentType(String value) { this.ContentType = value; return this; }
        public String getData() { return Data; }
        public AttachmentData setData(String value) { this.Data = value; return this; }
    }

    public static class CommonEntityBaseReference implements IEntityReference
    {
        public String ID = null;
        public String ExternalID = null;
        public UUID GlobalID = null;
        
        public String getId() { return ID; }
        public CommonEntityBaseReference setId(String value) { this.ID = value; return this; }
        public String getExternalID() { return ExternalID; }
        public CommonEntityBaseReference setExternalID(String value) { this.ExternalID = value; return this; }
        public UUID getGlobalID() { return GlobalID; }
        public CommonEntityBaseReference setGlobalID(UUID value) { this.GlobalID = value; return this; }
    }

    public static class Watermark
    {
        public String Text = null;
        public String FontFamilyText = null;
        public FontFamily FontFamily = null;
        public Direction Direction = null;
        public String StrokeColorText = null;
        public Color StrokeColor = null;
        public String FillColorText = null;
        public Color FillColor = null;
        
        public String getText() { return Text; }
        public Watermark setText(String value) { this.Text = value; return this; }
        public String getFontFamilyText() { return FontFamilyText; }
        public Watermark setFontFamilyText(String value) { this.FontFamilyText = value; return this; }
        public FontFamily getFontFamily() { return FontFamily; }
        public Watermark setFontFamily(FontFamily value) { this.FontFamily = value; return this; }
        public Direction getDirection() { return Direction; }
        public Watermark setDirection(Direction value) { this.Direction = value; return this; }
        public String getStrokeColorText() { return StrokeColorText; }
        public Watermark setStrokeColorText(String value) { this.StrokeColorText = value; return this; }
        public Color getStrokeColor() { return StrokeColor; }
        public Watermark setStrokeColor(Color value) { this.StrokeColor = value; return this; }
        public String getFillColorText() { return FillColorText; }
        public Watermark setFillColorText(String value) { this.FillColorText = value; return this; }
        public Color getFillColor() { return FillColor; }
        public Watermark setFillColor(Color value) { this.FillColor = value; return this; }
    }

    public static enum Direction
    {
        Left2Right(0),
        UpLeft2DownRight(45),
        Up2Down(90),
        UpRight2DownLeft(135),
        Right2Left(180),
        DownRight2UpLeft(225),
        Down2Up(270),
        DownLeft2UpRight(315);

        private final int value;
        Direction(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    public static class GenerateDocumentResponse implements IGenerateDocumentResponse
    {
        /**
        * Contains the registration ID of the generated (corporate identity) document
        */
        @ApiMember(Description="Contains the registration ID of the generated (corporate identity) document", IsRequired=true)
        public UUID DocumentID = null;
        
        public UUID getDocumentID() { return DocumentID; }
        public GenerateDocumentResponse setDocumentID(UUID value) { this.DocumentID = value; return this; }
    }

}

Java GenerateDocument 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/GenerateDocument HTTP/1.1 
Host: digiofficeapigateway.deltares.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"},"SendMail":false,"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"},"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"},"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":[{"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"},"Type":"MainSigner","ClosingSentence":"String","Name":"String","Subsidiary":"String","Function":"String","Department":"String","PhoneNumber":"String","FaxNumber":"String","MobileNumber":"String","Email":"String","CustomText":"String","Signature":["String"],"SignatureVisible":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","ShouldUpdateDocumentFile":false}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"DocumentID":"00000000-0000-0000-0000-000000000000"}