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 documentInfo.
    */
    public var unRegisteredDocument:DocumentInfo
    /**
    * 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 externVersieNr:String
    public var internNummer:String

    required public init(){}
}

public class DocumentInfo : Codable
{
    public var action:DocInfoAction
    public var mode:DocInfoMode
    public var version:String
    public var silentMode:DocInfoSilentMode

    required public init(){}
}

public enum DocInfoAction : String, Codable
{
    case Create
    case Register
}

public enum DocInfoMode : String, Codable
{
    case New
    case Change
    case NewVersionPrimary
    case NewVersionSecondary
    case NewFromExistingDocument
}

public enum DocInfoSilentMode : String, Codable
{
    case Off
    case AllowUserInteraction
    case DoNotAllowUserInteraction
}

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 mainSignerPostFix:String
    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 initials:[String] = []
    public var signatureVisible:Bool?
    public var initialsVisible: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 .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"}