Billhighway Cloud API

<back to all web services

FormBuilderRq

The following routes are available for this service:
GET/signup/api/nat/{natID}/group/{groupId}/formBuilder/type/{FormBuilderTypeID}/info
GET/signup/api/nat/{natID}/group/{groupId}/{usertype}/user/{userid}/formBuilder/type/{FormBuilderTypeID}/info
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BH.CloudAPI.Common4.DTO.FormBuilder.Request;
using BH.CloudAPI.Common4.DTO.FormBuilder.Response;
using BH.API.DataAccess.Dto.FormBuilder;

namespace BH.API.DataAccess.Dto.FormBuilder
{
    public partial class BhControlDto
    {
        public BhControlDto()
        {
            options = new List<BhNameValue>{};
            conditionalValues = new List<string>{};
            validation = new List<BhValidation>{};
            notifyPubs = new List<BhNotifyPub>{};
            notifySubs = new List<BhNotifySub>{};
            validationMessages = new Dictionary<string, string>{};
            radioNames = new List<BhNameValue>{};
            children = new List<BhControlDto>{};
        }

        public virtual bool? disabled { get; set; }
        public virtual string label { get; set; }
        public virtual string label2 { get; set; }
        public virtual string name { get; set; }
        public virtual List<BhNameValue> options { get; set; }
        public virtual List<string> conditionalValues { get; set; }
        public virtual string selectGetUri { get; set; }
        public virtual List<BhValidation> validation { get; set; }
        public virtual List<BhNotifyPub> notifyPubs { get; set; }
        public virtual List<BhNotifySub> notifySubs { get; set; }
        public virtual BhCustomValidation customValidation { get; set; }
        public virtual string placeholder { get; set; }
        public virtual string type { get; set; }
        public virtual Object value { get; set; }
        public virtual Dictionary<string, string> validationMessages { get; set; }
        public virtual string validationPosition { get; set; }
        public virtual bool hideInitialValidation { get; set; }
        public virtual string widthClass { get; set; }
        public virtual string html { get; set; }
        public virtual string img { get; set; }
        public virtual string imgWidth { get; set; }
        public virtual string category { get; set; }
        public virtual string getUri { get; set; }
        public virtual string controlStyle { get; set; }
        public virtual bool hasSensitiveData { get; set; }
        public virtual bool debug { get; set; }
        public virtual string icon { get; set; }
        public virtual string mask { get; set; }
        public virtual int postService { get; set; }
        public virtual string printType { get; set; }
        public virtual List<BhNameValue> radioNames { get; set; }
        public virtual List<BhControlDto> children { get; set; }
    }

    public partial class BhCustomValidation
    {
        public BhCustomValidation()
        {
            customParams = new List<string>{};
        }

        public virtual string customFunctionName { get; set; }
        public virtual List<string> customParams { get; set; }
    }

    public partial class BhFormDto
    {
        public BhFormDto()
        {
            groups = new List<BhGroupDto>{};
        }

        public virtual int templateId { get; set; }
        public virtual List<BhGroupDto> groups { get; set; }
    }

    public partial class BhGroupDto
    {
        public BhGroupDto()
        {
            notifyPubs = new List<BhNotifyPub>{};
            notifySubs = new List<BhNotifySub>{};
            controlDetails = new List<BhControlDto>{};
        }

        public virtual string name { get; set; }
        public virtual string type { get; set; }
        public virtual string groupStyle { get; set; }
        public virtual bool debug { get; set; }
        public virtual List<BhNotifyPub> notifyPubs { get; set; }
        public virtual List<BhNotifySub> notifySubs { get; set; }
        public virtual List<BhControlDto> controlDetails { get; set; }
        public virtual BhGroupDto childGroup { get; set; }
    }

    public partial class BhNameValue
    {
        public virtual string name { get; set; }
        public virtual string value { get; set; }
    }

    public partial class BhNotifyPub
    {
        public virtual string notifyType { get; set; }
        public virtual string notifyEventType { get; set; }
        public virtual int delay { get; set; }
    }

    public partial class BhNotifySub
    {
        public virtual string notifyType { get; set; }
        public virtual string notifyActionType { get; set; }
    }

    public partial class BhServiceDetailInfoDto
    {
        public virtual int serviceId { get; set; }
        public virtual string name { get; set; }
        public virtual string mappedName { get; set; }
        public virtual bool required { get; set; }
    }

    public partial class BhServiceInfoDto
    {
        public BhServiceInfoDto()
        {
            serviceDetails = new List<BhServiceDetailInfoDto>{};
        }

        public virtual int serviceId { get; set; }
        public virtual string serviceName { get; set; }
        public virtual string uri { get; set; }
        public virtual string serviceType { get; set; }
        public virtual bool initFormState { get; set; }
        public virtual List<BhServiceDetailInfoDto> serviceDetails { get; set; }
    }

    public partial class BhValidation
    {
        public virtual string validationName { get; set; }
        public virtual decimal? validationLength { get; set; }
        public virtual string validationPattern { get; set; }
    }

}

namespace BH.CloudAPI.Common4.DTO.FormBuilder.Request
{
    public partial class FormBuilderRq
        : IApiRequest
    {
        public virtual int NatID { get; set; }
        public virtual int? GroupId { get; set; }
        public virtual int? FormBuilderTypeID { get; set; }
        public virtual string UserType { get; set; }
        public virtual string UserId { get; set; }
    }

}

namespace BH.CloudAPI.Common4.DTO.FormBuilder.Response
{
    public partial class FormBuilderRs
        : IApiResponse
    {
        public FormBuilderRs()
        {
            services = new List<BhServiceInfoDto>{};
        }

        public virtual BhFormDto form { get; set; }
        public virtual List<BhServiceInfoDto> services { get; set; }
    }

}

C# FormBuilderRq 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.

GET /signup/api/nat/{natID}/group/{groupId}/formBuilder/type/{FormBuilderTypeID}/info HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	form: 
	{
		templateId: 0,
		groups: 
		[
			{
				name: String,
				type: String,
				groupStyle: String,
				debug: False,
				notifyPubs: 
				[
					{
						notifyType: String,
						notifyEventType: String,
						delay: 0
					}
				],
				notifySubs: 
				[
					{
						notifyType: String,
						notifyActionType: String
					}
				],
				controlDetails: 
				[
					{
						disabled: False,
						label: String,
						label2: String,
						name: String,
						options: 
						[
							{
								name: String,
								value: String
							}
						],
						conditionalValues: 
						[
							String
						],
						selectGetUri: String,
						validation: 
						[
							{
								validationName: String,
								validationLength: 0,
								validationPattern: String
							}
						],
						notifyPubs: 
						[
							{
								notifyType: String,
								notifyEventType: String,
								delay: 0
							}
						],
						notifySubs: 
						[
							{
								notifyType: String,
								notifyActionType: String
							}
						],
						customValidation: 
						{
							customFunctionName: String,
							customParams: 
							[
								String
							]
						},
						placeholder: String,
						type: String,
						value: {},
						validationMessages: 
						{
							String: String
						},
						validationPosition: String,
						hideInitialValidation: False,
						widthClass: String,
						html: String,
						img: String,
						imgWidth: String,
						category: String,
						getUri: String,
						controlStyle: String,
						hasSensitiveData: False,
						debug: False,
						icon: String,
						mask: String,
						postService: 0,
						printType: String,
						radioNames: 
						[
							{
								name: String,
								value: String
							}
						],
						children: 
						[
							{
								disabled: False,
								label: String,
								label2: String,
								name: String,
								options: 
								[
									{
										name: String,
										value: String
									}
								],
								conditionalValues: 
								[
									String
								],
								selectGetUri: String,
								validation: 
								[
									{
										validationName: String,
										validationLength: 0,
										validationPattern: String
									}
								],
								notifyPubs: 
								[
									{
										notifyType: String,
										notifyEventType: String,
										delay: 0
									}
								],
								notifySubs: 
								[
									{
										notifyType: String,
										notifyActionType: String
									}
								],
								customValidation: 
								{
									customFunctionName: String,
									customParams: 
									[
										String
									]
								},
								placeholder: String,
								type: String,
								value: {},
								validationMessages: 
								{
									String: String
								},
								validationPosition: String,
								hideInitialValidation: False,
								widthClass: String,
								html: String,
								img: String,
								imgWidth: String,
								category: String,
								getUri: String,
								controlStyle: String,
								hasSensitiveData: False,
								debug: False,
								icon: String,
								mask: String,
								postService: 0,
								printType: String,
								radioNames: 
								[
									{
										name: String,
										value: String
									}
								],
								children: 
								[
									{
										disabled: False,
										label: String,
										label2: String,
										name: String,
										options: 
										[
											{
												name: String,
												value: String
											}
										],
										conditionalValues: 
										[
											String
										],
										selectGetUri: String,
										validation: 
										[
											{
												validationName: String,
												validationLength: 0,
												validationPattern: String
											}
										],
										notifyPubs: 
										[
											{
												notifyType: String,
												notifyEventType: String,
												delay: 0
											}
										],
										notifySubs: 
										[
											{
												notifyType: String,
												notifyActionType: String
											}
										],
										customValidation: 
										{
											customFunctionName: String,
											customParams: 
											[
												String
											]
										},
										placeholder: String,
										type: String,
										value: {},
										validationMessages: 
										{
											String: String
										},
										validationPosition: String,
										hideInitialValidation: False,
										widthClass: String,
										html: String,
										img: String,
										imgWidth: String,
										category: String,
										getUri: String,
										controlStyle: String,
										hasSensitiveData: False,
										debug: False,
										icon: String,
										mask: String,
										postService: 0,
										printType: String,
										radioNames: 
										[
											{
												name: String,
												value: String
											}
										]
									}
								]
							}
						]
					}
				],
				childGroup: 
				{
					name: String,
					type: String,
					groupStyle: String,
					debug: False,
					notifyPubs: 
					[
						{
							notifyType: String,
							notifyEventType: String,
							delay: 0
						}
					],
					notifySubs: 
					[
						{
							notifyType: String,
							notifyActionType: String
						}
					],
					controlDetails: 
					[
						{
							disabled: False,
							label: String,
							label2: String,
							name: String,
							options: 
							[
								{
									name: String,
									value: String
								}
							],
							conditionalValues: 
							[
								String
							],
							selectGetUri: String,
							validation: 
							[
								{
									validationName: String,
									validationLength: 0,
									validationPattern: String
								}
							],
							notifyPubs: 
							[
								{
									notifyType: String,
									notifyEventType: String,
									delay: 0
								}
							],
							notifySubs: 
							[
								{
									notifyType: String,
									notifyActionType: String
								}
							],
							customValidation: 
							{
								customFunctionName: String,
								customParams: 
								[
									String
								]
							},
							placeholder: String,
							type: String,
							value: {},
							validationMessages: 
							{
								String: String
							},
							validationPosition: String,
							hideInitialValidation: False,
							widthClass: String,
							html: String,
							img: String,
							imgWidth: String,
							category: String,
							getUri: String,
							controlStyle: String,
							hasSensitiveData: False,
							debug: False,
							icon: String,
							mask: String,
							postService: 0,
							printType: String,
							radioNames: 
							[
								{
									name: String,
									value: String
								}
							],
							children: 
							[
								{
									disabled: False,
									label: String,
									label2: String,
									name: String,
									options: 
									[
										{
											name: String,
											value: String
										}
									],
									conditionalValues: 
									[
										String
									],
									selectGetUri: String,
									validation: 
									[
										{
											validationName: String,
											validationLength: 0,
											validationPattern: String
										}
									],
									notifyPubs: 
									[
										{
											notifyType: String,
											notifyEventType: String,
											delay: 0
										}
									],
									notifySubs: 
									[
										{
											notifyType: String,
											notifyActionType: String
										}
									],
									customValidation: 
									{
										customFunctionName: String,
										customParams: 
										[
											String
										]
									},
									placeholder: String,
									type: String,
									value: {},
									validationMessages: 
									{
										String: String
									},
									validationPosition: String,
									hideInitialValidation: False,
									widthClass: String,
									html: String,
									img: String,
									imgWidth: String,
									category: String,
									getUri: String,
									controlStyle: String,
									hasSensitiveData: False,
									debug: False,
									icon: String,
									mask: String,
									postService: 0,
									printType: String,
									radioNames: 
									[
										{
											name: String,
											value: String
										}
									],
									children: 
									[
										{
											disabled: False,
											label: String,
											label2: String,
											name: String,
											options: 
											[
												{
													name: String,
													value: String
												}
											],
											conditionalValues: 
											[
												String
											],
											selectGetUri: String,
											validation: 
											[
												{
													validationName: String,
													validationLength: 0,
													validationPattern: String
												}
											],
											notifyPubs: 
											[
												{
													notifyType: String,
													notifyEventType: String,
													delay: 0
												}
											],
											notifySubs: 
											[
												{
													notifyType: String,
													notifyActionType: String
												}
											],
											customValidation: 
											{
												customFunctionName: String,
												customParams: 
												[
													String
												]
											},
											placeholder: String,
											type: String,
											value: {},
											validationMessages: 
											{
												String: String
											},
											validationPosition: String,
											hideInitialValidation: False,
											widthClass: String,
											html: String,
											img: String,
											imgWidth: String,
											category: String,
											getUri: String,
											controlStyle: String,
											hasSensitiveData: False,
											debug: False,
											icon: String,
											mask: String,
											postService: 0,
											printType: String,
											radioNames: 
											[
												{
													name: String,
													value: String
												}
											]
										}
									]
								}
							]
						}
					],
					childGroup: 
					{
						name: String,
						type: String,
						groupStyle: String,
						debug: False,
						notifyPubs: 
						[
							{
								notifyType: String,
								notifyEventType: String,
								delay: 0
							}
						],
						notifySubs: 
						[
							{
								notifyType: String,
								notifyActionType: String
							}
						],
						controlDetails: 
						[
							{
								disabled: False,
								label: String,
								label2: String,
								name: String,
								options: 
								[
									{
										name: String,
										value: String
									}
								],
								conditionalValues: 
								[
									String
								],
								selectGetUri: String,
								validation: 
								[
									{
										validationName: String,
										validationLength: 0,
										validationPattern: String
									}
								],
								notifyPubs: 
								[
									{
										notifyType: String,
										notifyEventType: String,
										delay: 0
									}
								],
								notifySubs: 
								[
									{
										notifyType: String,
										notifyActionType: String
									}
								],
								customValidation: 
								{
									customFunctionName: String,
									customParams: 
									[
										String
									]
								},
								placeholder: String,
								type: String,
								value: {},
								validationMessages: 
								{
									String: String
								},
								validationPosition: String,
								hideInitialValidation: False,
								widthClass: String,
								html: String,
								img: String,
								imgWidth: String,
								category: String,
								getUri: String,
								controlStyle: String,
								hasSensitiveData: False,
								debug: False,
								icon: String,
								mask: String,
								postService: 0,
								printType: String,
								radioNames: 
								[
									{
										name: String,
										value: String
									}
								],
								children: 
								[
									{
										disabled: False,
										label: String,
										label2: String,
										name: String,
										options: 
										[
											{
												name: String,
												value: String
											}
										],
										conditionalValues: 
										[
											String
										],
										selectGetUri: String,
										validation: 
										[
											{
												validationName: String,
												validationLength: 0,
												validationPattern: String
											}
										],
										notifyPubs: 
										[
											{
												notifyType: String,
												notifyEventType: String,
												delay: 0
											}
										],
										notifySubs: 
										[
											{
												notifyType: String,
												notifyActionType: String
											}
										],
										customValidation: 
										{
											customFunctionName: String,
											customParams: 
											[
												String
											]
										},
										placeholder: String,
										type: String,
										value: {},
										validationMessages: 
										{
											String: String
										},
										validationPosition: String,
										hideInitialValidation: False,
										widthClass: String,
										html: String,
										img: String,
										imgWidth: String,
										category: String,
										getUri: String,
										controlStyle: String,
										hasSensitiveData: False,
										debug: False,
										icon: String,
										mask: String,
										postService: 0,
										printType: String,
										radioNames: 
										[
											{
												name: String,
												value: String
											}
										],
										children: 
										[
											{
												disabled: False,
												label: String,
												label2: String,
												name: String,
												options: 
												[
													{
														name: String,
														value: String
													}
												],
												conditionalValues: 
												[
													String
												],
												selectGetUri: String,
												validation: 
												[
													{
														validationName: String,
														validationLength: 0,
														validationPattern: String
													}
												],
												notifyPubs: 
												[
													{
														notifyType: String,
														notifyEventType: String,
														delay: 0
													}
												],
												notifySubs: 
												[
													{
														notifyType: String,
														notifyActionType: String
													}
												],
												customValidation: 
												{
													customFunctionName: String,
													customParams: 
													[
														String
													]
												},
												placeholder: String,
												type: String,
												value: {},
												validationMessages: 
												{
													String: String
												},
												validationPosition: String,
												hideInitialValidation: False,
												widthClass: String,
												html: String,
												img: String,
												imgWidth: String,
												category: String,
												getUri: String,
												controlStyle: String,
												hasSensitiveData: False,
												debug: False,
												icon: String,
												mask: String,
												postService: 0,
												printType: String,
												radioNames: 
												[
													{
														name: String,
														value: String
													}
												]
											}
										]
									}
								]
							}
						]
					}
				}
			}
		]
	},
	services: 
	[
		{
			serviceId: 0,
			serviceName: String,
			uri: String,
			serviceType: String,
			initFormState: False,
			serviceDetails: 
			[
				{
					serviceId: 0,
					name: String,
					mappedName: String,
					required: False
				}
			]
		}
	]
}