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
import Foundation
import ServiceStack

/**
* 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.")
public class GenerateDocumentBatch : IGenerateDocumentBatch, Codable
{
    /**
    * Owner of the badge (DigiOffice user)
    */
    // @ApiMember(Description="Owner of the badge (DigiOffice user)")
    public var user:UserReference?

    /**
    * Description of the badge
    */
    // @ApiMember(Description="Description of the badge", IsRequired=true)
    public var Description:String?

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

    /**
    * Generated document is not registered in DigiOffice DMS.
    */
    // @ApiMember(Description="Generated document is not registered in DigiOffice DMS.")
    public var dontRegister:Bool?

    /**
    * Send the generated e-mail via the e-mail queue.
    */
    // @ApiMember(Description="Send the generated e-mail via the e-mail queue.")
    public var sendMail:Bool?

    required public init(){}
}

public class UserReference : IEntityReference, Codable
{
    public var id:Int?
    public var loginName:String?
    public var userPrincipalName:String?
    public var fullName:String?
    public var emailAddress:String?
    public var globalID:String?

    required public init(){}
}

public class BatchDocument : IDocument, Codable
{
    /**
    * ConfigurationSource: DocumentgeneratorDocument of RegistratieProfiel.
    */
    // @ApiMember(Description="ConfigurationSource: DocumentgeneratorDocument of RegistratieProfiel.", IsRequired=true)
    public var configurationSource:ConfigurationSource?

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

    /**
    * 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 var dataSourceEntity:CommonEntityBaseReference?

    /**
    * 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 var customData:String?

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

    /**
    * Type van het gegenereerde document, bijvoorbeeld: Doc, Docx, Pdf.
    */
    // @ApiMember(Description="Type van het gegenereerde document, bijvoorbeeld: Doc, Docx, Pdf.")
    public var outputType:String?

    required public init(){}
}

public class ConfigurationSource : Codable
{
    /**
    * Document genereren op basis van een DocGenDocument.
    */
    public var documentgeneratorDocument:DocumentgeneratorDocumentReference?
    /**
    * Document genereren op basis van een RegistratieProfiel.
    */
    public var registrationProfile:RegistrationProfileReference?
    /**
    * Use existing document registration.
    */
    public var registeredDocument:DocumentReference?
    /**
    * Use draft document registration.
    */
    public var draftDocumentRegistration:MessageQueueReference?
    public var documentgeneratorType:String?
    /**
    * DocumentgeneratorType voor bijvoorbeeld Word of Email.
    */
    public var documentgeneratorTypeName:String?
    public var templateExtension:String?
    public var outputExtension:String?

    required public init(){}
}

public class DocumentgeneratorDocumentReference : IEntityReference, Codable
{
    public var id:String?
    public var name:String?
    public var globalID:String?

    required public init(){}
}

public class RegistrationProfileReference : IEntityReference, Codable
{
    public var id:String?
    public var globalID:String?

    required public init(){}
}

public class DocumentReference : IEntityReference, Codable
{
    public var id:String?
    public var code:String?
    public var versionCode:String?
    public var rootDocID:String?
    public var internalInvoiceCode:String?
    public var companyNumber:Int?
    public var documentTypeID:String?
    public var invoiceType:Int?
    public var regProfCatID:Int?
    public var globalID:String?
    public var externalID:String?
    public var externNr:String?
    public var internNummer:String?

    required public init(){}
}

public class MessageQueueReference : IEntityReference, Codable
{
    public var id:Int?
    public var globalID:String?

    required public init(){}
}

public class RegistrationMetaData : Codable
{
    /**
    * Hoe moet het versiebeheer worden toegepast?
    */
    // @ApiMember(Description="Hoe moet het versiebeheer worden toegepast?")
    public var versioning:VersioningType?

    /**
    * 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 var previousDocument:DocumentReference?

    /**
    * Company
    */
    // @ApiMember(Description="Company")
    public var company:CompanyReference?

    /**
    * Relation
    */
    // @ApiMember(Description="Relation")
    public var relation:RelationReference?

    /**
    * Person
    */
    // @ApiMember(Description="Person")
    public var person:PersonReference?

    /**
    * Project
    */
    // @ApiMember(Description="Project")
    public var project:ProjectReference?

    /**
    * Sub projects
    */
    // @ApiMember(AllowMultiple=true, Description="Sub projects")
    public var subProjects:[SubProject] = []

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

    /**
    * 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 var fields:[Field] = []

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

    required public init(){}
}

public enum VersioningType : String, Codable
{
    case New
    case Change
    case Primary
    case Secondary
}

public class CompanyReference : IEntityReference, Codable
{
    public var id:Int?
    public var number:Int?
    public var globalID:String?
    public var externalID:String?

    required public init(){}
}

public class RelationReference : IEntityReference, Codable
{
    public var id:Int?
    public var creditorNumber:Int?
    public var debtorNumber:Int?
    public var globalLocationNumber:String?
    public var globalID:String?
    public var externalID:String?

    required public init(){}
}

public class PersonReference : IEntityReference, Codable
{
    public var id:Int?
    public var number:Int?
    public var globalID:String?
    public var externalID:String?

    required public init(){}
}

public class ProjectReference : IEntityReference, Codable
{
    public var id:Int?
    public var code:String?
    public var typeExternalID:String?
    public var companyNumber:Int?
    public var globalID:String?
    public var externalID:String?

    required public init(){}
}

public class SubProject : Codable
{
    public var project:ProjectReference?

    required public init(){}
}

public class Signer : Codable
{
    public var user:UserReference?
    public var person:PersonReference?
    public var relation:RelationReference?
    public var contactPerson:ContactPersonReference?
    public var registeredDocument:DocumentReference?
    public var type:SignerType?
    public var closingSentence:String?
    public var name:String?
    public var subsidiary:String?
    public var function:String?
    public var department:String?
    public var phoneNumber:String?
    public var faxNumber:String?
    public var mobileNumber:String?
    public var email:String?
    public var customText:String?
    public var signature:[String] = []
    public var signatureVisible:Bool?
    public var visible:Bool?

    required public init(){}
}

public class ContactPersonReference : IEntityReference, Codable
{
    public var id:Int?
    public var globalID:String?
    public var externalID:String?
    public var relationID:Int?
    public var personID:Int?

    required public init(){}
}

public enum SignerType : String, Codable
{
    case MainSigner
    case AdditionalSigner
    case ConfirmationDeclarant
    case AdditionalConfirmationDeclarant
}

public class Field : Codable
{
    public var name:String?
    public var oldValue:String?
    public var value:String?
    public var title:String?

    required public init(){}
}

public class Attachment : Codable
{
    public var name:String?
    public var attachmentData:AttachmentData?

    required public init(){}
}

public class AttachmentData : Codable
{
    public var contentType:String?
    /**
    * Data base64-encoded zonder padding.
    */
    public var data:String?

    required public init(){}
}

public class CommonEntityBaseReference : IEntityReference, Codable
{
    public var id:String?
    public var externalID:String?
    public var globalID:String?

    required public init(){}
}

public class Watermark : Codable
{
    public var text:String?
    public var fontFamilyText:String?
    public var fontFamily:FontFamily?
    public var direction:Direction?
    public var strokeColorText:String?
    public var strokeColor:Color?
    public var fillColorText:String?
    public var fillColor:Color?

    required public init(){}
}

public enum Direction : Int, Codable
{
    case Left2Right = 0
    case UpLeft2DownRight = 45
    case Up2Down = 90
    case UpRight2DownLeft = 135
    case Right2Left = 180
    case DownRight2UpLeft = 225
    case Down2Up = 270
    case DownLeft2UpRight = 315
}

public class GenerateDocumentBatchResponse : IGenerateDocumentBatchResponse, Codable
{
    /**
    * ID of the batch
    */
    // @ApiMember(Description="ID of the batch", IsRequired=true)
    public var batchID:String?

    /**
    * Document processed count
    */
    // @ApiMember(Description="Document processed count", IsRequired=true)
    public var processed:Int?

    /**
    * Track and Trace url
    */
    // @ApiMember(Description="Track and Trace url", IsRequired=true)
    public var trackAndTraceUrl:String?

    required public init(){}
}


Swift GenerateDocumentBatch 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 /csv/reply/GenerateDocumentBatch HTTP/1.1 
Host: digiofficeapigateway.deltares.nl 
Accept: text/csv
Content-Type: text/csv
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"},"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"}],"DontRegister":false,"SendMail":false}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

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