DigiOffice Gateway Web Services

<back to all web services

CreateOrUpdateEmailDraft

Requires Authentication

export class Outlook365Properties
{
    public PidTag: string;
    public ItemId: string;
    public EwsUrl: string;
    public Token: string;

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

export class FieldState
{
    public Required: boolean;
    public Visible: boolean;
    public Readonly: boolean;

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

export class RegistrationProfileFieldStateBase extends FieldState
{
    public DocumentFieldID: string;

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

export class CorporateIdentityMail
{
    public DocumentId: string;
    public EmailHtml: string;
    public IsRegistered: boolean;
    public DocumentNr: string;
    public Values: RegistrationProfileFieldStateBase[];
    public RegistrationProfileID: string;
    public RegisterAutomatically: boolean;

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

export class RegistrationValue
{
    public Key: string;
    public Value: string;
    public ShadowValue: string;

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

export class Transition
{
    public ID: string;
    public Reason: string;
    public DelayDate?: string;
    public DelayReason: string;
    public UserIDs: number[];
    public GroupIDs: number[];

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

export class Process
{
    public ID: number;
    public Title: string;
    public Description: string;
    public Note: string;
    public Coordinator: string;
    public Urgent: boolean;
    public Transitions: Transition[];

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

export class CreateDraftCorporateIdentityMail extends Outlook365Properties
{
    public RegistrationProfileID: string;
    public Values: RegistrationValue[];
    public Processes: Process[];
    public DocumentUploadId: string;
    public MessageQueueId: string;
    public ReplyEmailHtml: string;

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

export class CreateOrUpdateEmailDraft extends CreateDraftCorporateIdentityMail
{

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

TypeScript CreateOrUpdateEmailDraft DTOs

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

HTTP + JSV

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

POST /jsv/reply/CreateOrUpdateEmailDraft HTTP/1.1 
Host: doapigw.baasbv.nl 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Values: 
	[
		{
			Value: String,
			ShadowValue: String
		}
	],
	Processes: 
	[
		{
			ID: 0,
			Title: String,
			Description: String,
			Note: String,
			Coordinator: String,
			Urgent: False,
			Transitions: 
			[
				{
					Reason: String,
					DelayDate: 0001-01-01,
					DelayReason: String,
					UserIDs: 
					[
						0
					],
					GroupIDs: 
					[
						0
					]
				}
			]
		}
	],
	DocumentUploadId: String,
	MessageQueueId: String,
	ReplyEmailHtml: String,
	PidTag: String,
	ItemId: String,
	EwsUrl: String,
	Token: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	EmailHtml: String,
	IsRegistered: False,
	DocumentNr: String,
	Values: 
	[
		{
			Required: False,
			Visible: False,
			Readonly: False
		}
	],
	RegisterAutomatically: False
}