namespace IDB.API.Common
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type GenerateDocumentResponse() =
///<summary>
///Contains the registration ID of the generated (corporate identity) document
///</summary>
[<ApiMember(Description="Contains the registration ID of the generated (corporate identity) document", IsRequired=true)>]
member val DocumentID:Guid = new Guid() with get,set
[<AllowNullLiteral>]
type UserReference() =
member val ID:Nullable<Int32> = new Nullable<Int32>() with get,set
member val LoginName:String = null with get,set
member val UserPrincipalName:String = null with get,set
member val FullName:String = null with get,set
member val EmailAddress:String = null with get,set
member val GlobalID:Nullable<Guid> = new Nullable<Guid>() with get,set
[<AllowNullLiteral>]
type DocumentgeneratorDocumentReference() =
member val ID:Nullable<Guid> = new Nullable<Guid>() with get,set
member val Name:String = null with get,set
member val GlobalID:Nullable<Guid> = new Nullable<Guid>() with get,set
[<AllowNullLiteral>]
type RegistrationProfileReference() =
member val ID:Guid = new Guid() with get,set
member val GlobalID:Nullable<Guid> = new Nullable<Guid>() with get,set
[<AllowNullLiteral>]
type DocumentReference() =
member val ID:Nullable<Guid> = new Nullable<Guid>() with get,set
member val Code:String = null with get,set
member val VersionCode:String = null with get,set
member val RootDocID:Nullable<Guid> = new Nullable<Guid>() with get,set
member val InternalInvoiceCode:String = null with get,set
member val CompanyNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
member val DocumentTypeID:String = null with get,set
member val InvoiceType:Nullable<Int32> = new Nullable<Int32>() with get,set
member val RegProfCatID:Nullable<Int32> = new Nullable<Int32>() with get,set
member val GlobalID:Nullable<Guid> = new Nullable<Guid>() with get,set
member val ExternalID:String = null with get,set
member val ExternNr:String = null with get,set
member val InternNummer:String = null with get,set
[<AllowNullLiteral>]
type MessageQueueReference() =
member val ID:Nullable<Int32> = new Nullable<Int32>() with get,set
member val GlobalID:Nullable<Guid> = new Nullable<Guid>() with get,set
[<AllowNullLiteral>]
type ConfigurationSource() =
///<summary>
///Document genereren op basis van een DocGenDocument.
///</summary>
member val DocumentgeneratorDocument:DocumentgeneratorDocumentReference = null with get,set
///<summary>
///Document genereren op basis van een RegistratieProfiel.
///</summary>
member val RegistrationProfile:RegistrationProfileReference = null with get,set
///<summary>
///Use existing document registration.
///</summary>
member val RegisteredDocument:DocumentReference = null with get,set
///<summary>
///Use draft document registration.
///</summary>
member val DraftDocumentRegistration:MessageQueueReference = null with get,set
member val DocumentgeneratorType:Type = null with get,set
///<summary>
///DocumentgeneratorType voor bijvoorbeeld Word of Email.
///</summary>
member val DocumentgeneratorTypeName:String = null with get,set
member val TemplateExtension:String = null with get,set
member val OutputExtension:String = null with get,set
type VersioningType =
| New = 0
| Change = 1
| Primary = 2
| Secondary = 3
[<AllowNullLiteral>]
type CompanyReference() =
member val ID:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Number:Nullable<Int32> = new Nullable<Int32>() with get,set
member val GlobalID:Nullable<Guid> = new Nullable<Guid>() with get,set
member val ExternalID:String = null with get,set
[<AllowNullLiteral>]
type RelationReference() =
member val ID:Nullable<Int32> = new Nullable<Int32>() with get,set
member val CreditorNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
member val DebtorNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
member val GlobalLocationNumber:String = null with get,set
member val GlobalID:Nullable<Guid> = new Nullable<Guid>() with get,set
member val ExternalID:String = null with get,set
[<AllowNullLiteral>]
type PersonReference() =
member val ID:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Number:Nullable<Int32> = new Nullable<Int32>() with get,set
member val GlobalID:Nullable<Guid> = new Nullable<Guid>() with get,set
member val ExternalID:String = null with get,set
[<AllowNullLiteral>]
type ProjectReference() =
member val ID:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Code:String = null with get,set
member val TypeExternalID:String = null with get,set
member val CompanyNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
member val GlobalID:Nullable<Guid> = new Nullable<Guid>() with get,set
member val ExternalID:String = null with get,set
[<AllowNullLiteral>]
type SubProject() =
member val Project:ProjectReference = null with get,set
[<AllowNullLiteral>]
type ContactPersonReference() =
member val ID:Nullable<Int32> = new Nullable<Int32>() with get,set
member val GlobalID:Nullable<Guid> = new Nullable<Guid>() with get,set
member val ExternalID:String = null with get,set
member val RelationID:Nullable<Int32> = new Nullable<Int32>() with get,set
member val PersonID:Nullable<Int32> = new Nullable<Int32>() with get,set
type SignerType =
| MainSigner = 0
| AdditionalSigner = 1
| ConfirmationDeclarant = 2
| AdditionalConfirmationDeclarant = 3
[<AllowNullLiteral>]
type Signer() =
member val User:UserReference = null with get,set
member val Person:PersonReference = null with get,set
member val Relation:RelationReference = null with get,set
member val ContactPerson:ContactPersonReference = null with get,set
member val RegisteredDocument:DocumentReference = null with get,set
member val Type:SignerType = new SignerType() with get,set
member val ClosingSentence:String = null with get,set
member val Name:String = null with get,set
member val Subsidiary:String = null with get,set
member val Function:String = null with get,set
member val Department:String = null with get,set
member val PhoneNumber:String = null with get,set
member val FaxNumber:String = null with get,set
member val MobileNumber:String = null with get,set
member val Email:String = null with get,set
member val CustomText:String = null with get,set
member val Signature:ResizeArray<String> = new ResizeArray<String>() with get,set
member val SignatureVisible:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val Visible:Nullable<Boolean> = new Nullable<Boolean>() with get,set
[<AllowNullLiteral>]
type Field() =
member val Name:String = null with get,set
member val OldValue:String = null with get,set
member val Value:String = null with get,set
member val Title:String = null with get,set
[<AllowNullLiteral>]
type AttachmentData() =
member val ContentType:String = null with get,set
///<summary>
///Data base64-encoded zonder padding.
///</summary>
member val Data:String = null with get,set
[<AllowNullLiteral>]
type Attachment() =
member val Name:String = null with get,set
member val AttachmentData:AttachmentData = null with get,set
[<AllowNullLiteral>]
type RegistrationMetaData() =
///<summary>
///Hoe moet het versiebeheer worden toegepast?
///</summary>
[<ApiMember(Description="Hoe moet het versiebeheer worden toegepast?")>]
member val Versioning:Nullable<VersioningType> = new Nullable<VersioningType>() with get,set
///<summary>
///Previous document will be used for registration of a new version.
///</summary>
[<ApiMember(Description="Previous document will be used for registration of a new version.")>]
member val PreviousDocument:DocumentReference = null with get,set
///<summary>
///Company
///</summary>
[<ApiMember(Description="Company")>]
member val Company:CompanyReference = null with get,set
///<summary>
///Relation
///</summary>
[<ApiMember(Description="Relation")>]
member val Relation:RelationReference = null with get,set
///<summary>
///Person
///</summary>
[<ApiMember(Description="Person")>]
member val Person:PersonReference = null with get,set
///<summary>
///Project
///</summary>
[<ApiMember(Description="Project")>]
member val Project:ProjectReference = null with get,set
///<summary>
///Sub projects
///</summary>
[<ApiMember(AllowMultiple=true, Description="Sub projects")>]
member val SubProjects:ResizeArray<SubProject> = new ResizeArray<SubProject>() with get,set
///<summary>
///Signers
///</summary>
[<ApiMember(AllowMultiple=true, Description="Signers")>]
member val Signers:ResizeArray<Signer> = new ResizeArray<Signer>() with get,set
///<summary>
///Bevat velden die gebruikt worden als additionele metadata voor het document, naast de vaste koppelingen zoals gebruiker, project en relatie.
///</summary>
[<ApiMember(AllowMultiple=true, Description="Bevat velden die gebruikt worden als additionele metadata voor het document, naast de vaste koppelingen zoals gebruiker, project en relatie.")>]
member val Fields:ResizeArray<Field> = new ResizeArray<Field>() with get,set
///<summary>
///Attachments die aan de documentregistratie gekoppeld moet worden.
///</summary>
[<ApiMember(AllowMultiple=true, Description="Attachments die aan de documentregistratie gekoppeld moet worden.")>]
member val Attachments:ResizeArray<Attachment> = new ResizeArray<Attachment>() with get,set
[<AllowNullLiteral>]
type CommonEntityBaseReference() =
member val ID:String = null with get,set
member val ExternalID:String = null with get,set
member val GlobalID:Nullable<Guid> = new Nullable<Guid>() with get,set
type Direction =
| Left2Right = 0
| UpLeft2DownRight = 45
| Up2Down = 90
| UpRight2DownLeft = 135
| Right2Left = 180
| DownRight2UpLeft = 225
| Down2Up = 270
| DownLeft2UpRight = 315
[<AllowNullLiteral>]
type Watermark() =
member val Text:String = null with get,set
member val FontFamilyText:String = null with get,set
member val FontFamily:FontFamily = null with get,set
member val Direction:Nullable<Direction> = new Nullable<Direction>() with get,set
member val StrokeColorText:String = null with get,set
member val StrokeColor:Color = new Color() with get,set
member val FillColorText:String = null with get,set
member val FillColor:Color = new Color() with get,set
///<summary>
///Generate custom Document (Don't use from inside VSTO's)
///</summary>
[<Api(Description="Generate custom Document (Don't use from inside VSTO's)")>]
[<AllowNullLiteral>]
type GenerateDocument() =
///<summary>
///DigiOffice user
///</summary>
[<ApiMember(Description="DigiOffice user")>]
member val User:UserReference = null with get,set
///<summary>
///Send the generated e-mail via the e-mail queue.
///</summary>
[<ApiMember(Description="Send the generated e-mail via the e-mail queue.")>]
member val SendMail:Boolean = new Boolean() with get,set
///<summary>
///ConfigurationSource: DocumentgeneratorDocument of RegistratieProfiel.
///</summary>
[<ApiMember(Description="ConfigurationSource: DocumentgeneratorDocument of RegistratieProfiel.", IsRequired=true)>]
member val ConfigurationSource:ConfigurationSource = null with get,set
///<summary>
///Set references to bind with Registration profile
///</summary>
[<ApiMember(Description="Set references to bind with Registration profile", IsRequired=true)>]
member val RegistrationMetaData:RegistrationMetaData = null with get,set
///<summary>
///Entity instance used as data source parent, if not exists default is Document registration instance.
///</summary>
[<ApiMember(Description="Entity instance used as data source parent, if not exists default is Document registration instance.")>]
member val DataSourceEntity:CommonEntityBaseReference = null with get,set
///<summary>
///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.
///</summary>
[<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.")>]
member val CustomData:String = null with get,set
///<summary>
///Insert a watermark into the document.
///</summary>
[<ApiMember(Description="Insert a watermark into the document.")>]
member val Watermark:Watermark = null with get,set
///<summary>
///Type van het gegenereerde document, bijvoorbeeld: Doc, Docx, Pdf.
///</summary>
[<ApiMember(Description="Type van het gegenereerde document, bijvoorbeeld: Doc, Docx, Pdf.")>]
member val OutputType:String = null with get,set
///<summary>
///Should update the document file.
///</summary>
[<ApiMember(Description="Should update the document file.")>]
member val ShouldUpdateDocumentFile:Boolean = new Boolean() with get,set
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
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"}