YM REST Services

<back to all web services

MarkupMacroComponents

Requires Authentication
Requires any of the roles:admin, oauthadmin
The following routes are available for this service:
GET/Ams/{ClientID}/MarkupMacroComponentsReturn the MarkupMacroComponents for that client - with cache.
POST/Ams/{ClientID}/MarkupMacroComponentsAdd a new Macro Component.
DELETE/Ams/{ClientID}/MarkupMacroComponents/{ComponentId}Delete a Macro Component.
MarkupMacroComponents Parameters:
NameParameterData TypeRequiredDescription
MarkupTypebodyMarkupTypeNo
ComponentIdpathintNo
ComponentDatabodyMarkupComponentDataNo
MacroComponentNamebodystringNo
MacroComponentIdbodyintNo
BaseDto Parameters:
NameParameterData TypeRequiredDescription
UsingRedisformboolNo
AppInitTimeformDateTimeNo
ServerIDformstringNo
BaseSharedDto Parameters:
NameParameterData TypeRequiredDescription
ClientIDformintNo
ResponseStatusformResponseStatusNo
BypassCacheformboolNo
DateCachedformDateTimeNo
DeviceformDeviceNo
MarkupComponentData Parameters:
NameParameterData TypeRequiredDescription
ComponentTypeformComponentTypeNo
ComponentNameformstringNo
IsAtRootColumnformboolNo
CanHaveChildrenformboolNo
OrderIdformintNo
ButtonDataformButtonDataNo
ImageDataformImageDataNo
DividerDataformDividerDataNo
TextDataformTextDataNo
ContainerDataformContainerDataNo
PlainTextformstringNo
ButtonData Parameters:
NameParameterData TypeRequiredDescription
PropertiesformButtonPropertiesNo
SettingsformButtonSettingsNo
ButtonProperties Parameters:
NameParameterData TypeRequiredDescription
TextformstringNo
LinkformstringNo
ButtonSettings Parameters:
NameParameterData TypeRequiredDescription
ButtonColorformstringNo
TextColorformstringNo
AlignmentformstringNo
ButtonWidthformstringNo
MarginTopformintNo
MarginBottomformintNo
MarginLeftformintNo
MarginRightformintNo
ImageData Parameters:
NameParameterData TypeRequiredDescription
PropertiesformImagePropertiesNo
SettingsformImageSettingsNo
ImageProperties Parameters:
NameParameterData TypeRequiredDescription
URLformstringNo
HyperLinkformstringNo
AltTextformstringNo
ImageSettings Parameters:
NameParameterData TypeRequiredDescription
AlignmentformstringNo
MarginTopformintNo
MarginBottomformintNo
MarginLeftformintNo
MarginRightformintNo
WidthformintNo
HeightformintNo
DividerData Parameters:
NameParameterData TypeRequiredDescription
SettingsformDividerSettingsNo
DividerSettings Parameters:
NameParameterData TypeRequiredDescription
MarginTopformintNo
MarginBottomformintNo
MarginLeftformintNo
MarginRightformintNo
BorderColorformstringNo
HeightformintNo
TextData Parameters:
NameParameterData TypeRequiredDescription
PropertiesformTextPropertiesNo
SettingsformTextSettingsNo
TextProperties Parameters:
NameParameterData TypeRequiredDescription
TextformstringNo
TextSettings Parameters:
NameParameterData TypeRequiredDescription
MarginTopformintNo
MarginBottomformintNo
MarginLeftformintNo
MarginRightformintNo
ContainerData Parameters:
NameParameterData TypeRequiredDescription
PropertiesformContainerPropertiesNo
SettingsformContainerSettingsNo
ColumnsformList<MarkupComponentData>>No
ContainerSettings Parameters:
NameParameterData TypeRequiredDescription
BackgroundColorformstringNo
MarginTopformintNo
MarginBottomformintNo
MarginLeftformintNo
MarginRightformintNo
MarkupMacroComponentsResponse Parameters:
NameParameterData TypeRequiredDescription
ComponentsformList<MacroComponent>No
ContainerIdformintNo
MacroComponent Parameters:
NameParameterData TypeRequiredDescription
MacroComponentIdformintNo
IsSharedformboolNo
NameformstringNo
ComponentDataformMarkupComponentDataNo

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 /Ams/{ClientID}/MarkupMacroComponents HTTP/1.1 
Host: ws.yourmembership.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	MarkupType: None,
	ComponentId: 0,
	ComponentData: 
	{
		ComponentType: Button,
		ComponentName: String,
		IsAtRootColumn: False,
		CanHaveChildren: False,
		OrderId: 0,
		ButtonData: 
		{
			Properties: 
			{
				Text: String,
				Link: String
			},
			Settings: 
			{
				ButtonColor: String,
				TextColor: String,
				Alignment: String,
				ButtonWidth: String,
				MarginTop: 0,
				MarginBottom: 0,
				MarginLeft: 0,
				MarginRight: 0
			}
		},
		ImageData: 
		{
			Properties: 
			{
				URL: String,
				HyperLink: String,
				AltText: String
			},
			Settings: 
			{
				Alignment: String,
				MarginTop: 0,
				MarginBottom: 0,
				MarginLeft: 0,
				MarginRight: 0,
				Width: 0,
				Height: 0
			}
		},
		DividerData: 
		{
			Settings: 
			{
				MarginTop: 0,
				MarginBottom: 0,
				MarginLeft: 0,
				MarginRight: 0,
				BorderColor: String,
				Height: 0
			}
		},
		TextData: 
		{
			Properties: 
			{
				Text: String
			},
			Settings: 
			{
				MarginTop: 0,
				MarginBottom: 0,
				MarginLeft: 0,
				MarginRight: 0
			}
		},
		ContainerData: 
		{
			Properties: {},
			Settings: 
			{
				BackgroundColor: String,
				MarginTop: 0,
				MarginBottom: 0,
				MarginLeft: 0,
				MarginRight: 0
			},
			Columns: 
			[
				[
					{
						ComponentType: Button,
						ComponentName: String,
						IsAtRootColumn: False,
						CanHaveChildren: False,
						OrderId: 0,
						ButtonData: 
						{
							Properties: 
							{
								Text: String,
								Link: String
							},
							Settings: 
							{
								ButtonColor: String,
								TextColor: String,
								Alignment: String,
								ButtonWidth: String,
								MarginTop: 0,
								MarginBottom: 0,
								MarginLeft: 0,
								MarginRight: 0
							}
						},
						ImageData: 
						{
							Properties: 
							{
								URL: String,
								HyperLink: String,
								AltText: String
							},
							Settings: 
							{
								Alignment: String,
								MarginTop: 0,
								MarginBottom: 0,
								MarginLeft: 0,
								MarginRight: 0,
								Width: 0,
								Height: 0
							}
						},
						DividerData: 
						{
							Settings: 
							{
								MarginTop: 0,
								MarginBottom: 0,
								MarginLeft: 0,
								MarginRight: 0,
								BorderColor: String,
								Height: 0
							}
						},
						TextData: 
						{
							Properties: 
							{
								Text: String
							},
							Settings: 
							{
								MarginTop: 0,
								MarginBottom: 0,
								MarginLeft: 0,
								MarginRight: 0
							}
						},
						ContainerData: 
						{
							Properties: {},
							Settings: 
							{
								BackgroundColor: String,
								MarginTop: 0,
								MarginBottom: 0,
								MarginLeft: 0,
								MarginRight: 0
							},
							Columns: 
							[
								[
									{
										ComponentType: Button,
										ComponentName: String,
										IsAtRootColumn: False,
										CanHaveChildren: False,
										OrderId: 0,
										ButtonData: 
										{
											Properties: 
											{
												Text: String,
												Link: String
											},
											Settings: 
											{
												ButtonColor: String,
												TextColor: String,
												Alignment: String,
												ButtonWidth: String,
												MarginTop: 0,
												MarginBottom: 0,
												MarginLeft: 0,
												MarginRight: 0
											}
										},
										ImageData: 
										{
											Properties: 
											{
												URL: String,
												HyperLink: String,
												AltText: String
											},
											Settings: 
											{
												Alignment: String,
												MarginTop: 0,
												MarginBottom: 0,
												MarginLeft: 0,
												MarginRight: 0,
												Width: 0,
												Height: 0
											}
										},
										DividerData: 
										{
											Settings: 
											{
												MarginTop: 0,
												MarginBottom: 0,
												MarginLeft: 0,
												MarginRight: 0,
												BorderColor: String,
												Height: 0
											}
										},
										TextData: 
										{
											Properties: 
											{
												Text: String
											},
											Settings: 
											{
												MarginTop: 0,
												MarginBottom: 0,
												MarginLeft: 0,
												MarginRight: 0
											}
										},
										ContainerData: 
										{
											Properties: {},
											Settings: 
											{
												BackgroundColor: String,
												MarginTop: 0,
												MarginBottom: 0,
												MarginLeft: 0,
												MarginRight: 0
											},
											Columns: 
											[
												[
													{
														
													}
												]
											]
										},
										PlainText: String
									}
								]
							]
						},
						PlainText: String
					}
				]
			]
		},
		PlainText: String
	},
	MacroComponentName: String,
	MacroComponentId: 0,
	UsingRedis: True,
	AppInitTime: 2024-05-03T01:24:04.8651967-04:00,
	ServerID: WS-6-134-823,
	ClientID: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	BypassCache: False,
	DateCached: 2024-05-03T03:30:31.2215189-04:00,
	Device: Desktop
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Components: 
	[
		{
			MacroComponentId: 0,
			IsShared: False,
			Name: String,
			ComponentData: 
			{
				ComponentType: Button,
				ComponentName: String,
				IsAtRootColumn: False,
				CanHaveChildren: False,
				OrderId: 0,
				ButtonData: 
				{
					Properties: 
					{
						Text: String,
						Link: String
					},
					Settings: 
					{
						ButtonColor: String,
						TextColor: String,
						Alignment: String,
						ButtonWidth: String,
						MarginTop: 0,
						MarginBottom: 0,
						MarginLeft: 0,
						MarginRight: 0
					}
				},
				ImageData: 
				{
					Properties: 
					{
						URL: String,
						HyperLink: String,
						AltText: String
					},
					Settings: 
					{
						Alignment: String,
						MarginTop: 0,
						MarginBottom: 0,
						MarginLeft: 0,
						MarginRight: 0,
						Width: 0,
						Height: 0
					}
				},
				DividerData: 
				{
					Settings: 
					{
						MarginTop: 0,
						MarginBottom: 0,
						MarginLeft: 0,
						MarginRight: 0,
						BorderColor: String,
						Height: 0
					}
				},
				TextData: 
				{
					Properties: 
					{
						Text: String
					},
					Settings: 
					{
						MarginTop: 0,
						MarginBottom: 0,
						MarginLeft: 0,
						MarginRight: 0
					}
				},
				ContainerData: 
				{
					Properties: {},
					Settings: 
					{
						BackgroundColor: String,
						MarginTop: 0,
						MarginBottom: 0,
						MarginLeft: 0,
						MarginRight: 0
					},
					Columns: 
					[
						[
							{
								ComponentType: Button,
								ComponentName: String,
								IsAtRootColumn: False,
								CanHaveChildren: False,
								OrderId: 0,
								ButtonData: 
								{
									Properties: 
									{
										Text: String,
										Link: String
									},
									Settings: 
									{
										ButtonColor: String,
										TextColor: String,
										Alignment: String,
										ButtonWidth: String,
										MarginTop: 0,
										MarginBottom: 0,
										MarginLeft: 0,
										MarginRight: 0
									}
								},
								ImageData: 
								{
									Properties: 
									{
										URL: String,
										HyperLink: String,
										AltText: String
									},
									Settings: 
									{
										Alignment: String,
										MarginTop: 0,
										MarginBottom: 0,
										MarginLeft: 0,
										MarginRight: 0,
										Width: 0,
										Height: 0
									}
								},
								DividerData: 
								{
									Settings: 
									{
										MarginTop: 0,
										MarginBottom: 0,
										MarginLeft: 0,
										MarginRight: 0,
										BorderColor: String,
										Height: 0
									}
								},
								TextData: 
								{
									Properties: 
									{
										Text: String
									},
									Settings: 
									{
										MarginTop: 0,
										MarginBottom: 0,
										MarginLeft: 0,
										MarginRight: 0
									}
								},
								ContainerData: 
								{
									Properties: {},
									Settings: 
									{
										BackgroundColor: String,
										MarginTop: 0,
										MarginBottom: 0,
										MarginLeft: 0,
										MarginRight: 0
									},
									Columns: 
									[
										[
											{
												ComponentType: Button,
												ComponentName: String,
												IsAtRootColumn: False,
												CanHaveChildren: False,
												OrderId: 0,
												ButtonData: 
												{
													Properties: 
													{
														Text: String,
														Link: String
													},
													Settings: 
													{
														ButtonColor: String,
														TextColor: String,
														Alignment: String,
														ButtonWidth: String,
														MarginTop: 0,
														MarginBottom: 0,
														MarginLeft: 0,
														MarginRight: 0
													}
												},
												ImageData: 
												{
													Properties: 
													{
														URL: String,
														HyperLink: String,
														AltText: String
													},
													Settings: 
													{
														Alignment: String,
														MarginTop: 0,
														MarginBottom: 0,
														MarginLeft: 0,
														MarginRight: 0,
														Width: 0,
														Height: 0
													}
												},
												DividerData: 
												{
													Settings: 
													{
														MarginTop: 0,
														MarginBottom: 0,
														MarginLeft: 0,
														MarginRight: 0,
														BorderColor: String,
														Height: 0
													}
												},
												TextData: 
												{
													Properties: 
													{
														Text: String
													},
													Settings: 
													{
														MarginTop: 0,
														MarginBottom: 0,
														MarginLeft: 0,
														MarginRight: 0
													}
												},
												ContainerData: 
												{
													Properties: {},
													Settings: 
													{
														BackgroundColor: String,
														MarginTop: 0,
														MarginBottom: 0,
														MarginLeft: 0,
														MarginRight: 0
													},
													Columns: 
													[
														[
															{
																
															}
														]
													]
												},
												PlainText: String
											}
										]
									]
								},
								PlainText: String
							}
						]
					]
				},
				PlainText: String
			}
		}
	],
	ContainerId: 0,
	MarkupType: None,
	ComponentId: 0,
	ComponentData: 
	{
		ComponentType: Button,
		ComponentName: String,
		IsAtRootColumn: False,
		CanHaveChildren: False,
		OrderId: 0,
		ButtonData: 
		{
			Properties: 
			{
				Text: String,
				Link: String
			},
			Settings: 
			{
				ButtonColor: String,
				TextColor: String,
				Alignment: String,
				ButtonWidth: String,
				MarginTop: 0,
				MarginBottom: 0,
				MarginLeft: 0,
				MarginRight: 0
			}
		},
		ImageData: 
		{
			Properties: 
			{
				URL: String,
				HyperLink: String,
				AltText: String
			},
			Settings: 
			{
				Alignment: String,
				MarginTop: 0,
				MarginBottom: 0,
				MarginLeft: 0,
				MarginRight: 0,
				Width: 0,
				Height: 0
			}
		},
		DividerData: 
		{
			Settings: 
			{
				MarginTop: 0,
				MarginBottom: 0,
				MarginLeft: 0,
				MarginRight: 0,
				BorderColor: String,
				Height: 0
			}
		},
		TextData: 
		{
			Properties: 
			{
				Text: String
			},
			Settings: 
			{
				MarginTop: 0,
				MarginBottom: 0,
				MarginLeft: 0,
				MarginRight: 0
			}
		},
		ContainerData: 
		{
			Properties: {},
			Settings: 
			{
				BackgroundColor: String,
				MarginTop: 0,
				MarginBottom: 0,
				MarginLeft: 0,
				MarginRight: 0
			},
			Columns: 
			[
				[
					{
						ComponentType: Button,
						ComponentName: String,
						IsAtRootColumn: False,
						CanHaveChildren: False,
						OrderId: 0,
						ButtonData: 
						{
							Properties: 
							{
								Text: String,
								Link: String
							},
							Settings: 
							{
								ButtonColor: String,
								TextColor: String,
								Alignment: String,
								ButtonWidth: String,
								MarginTop: 0,
								MarginBottom: 0,
								MarginLeft: 0,
								MarginRight: 0
							}
						},
						ImageData: 
						{
							Properties: 
							{
								URL: String,
								HyperLink: String,
								AltText: String
							},
							Settings: 
							{
								Alignment: String,
								MarginTop: 0,
								MarginBottom: 0,
								MarginLeft: 0,
								MarginRight: 0,
								Width: 0,
								Height: 0
							}
						},
						DividerData: 
						{
							Settings: 
							{
								MarginTop: 0,
								MarginBottom: 0,
								MarginLeft: 0,
								MarginRight: 0,
								BorderColor: String,
								Height: 0
							}
						},
						TextData: 
						{
							Properties: 
							{
								Text: String
							},
							Settings: 
							{
								MarginTop: 0,
								MarginBottom: 0,
								MarginLeft: 0,
								MarginRight: 0
							}
						},
						ContainerData: 
						{
							Properties: {},
							Settings: 
							{
								BackgroundColor: String,
								MarginTop: 0,
								MarginBottom: 0,
								MarginLeft: 0,
								MarginRight: 0
							},
							Columns: 
							[
								[
									{
										ComponentType: Button,
										ComponentName: String,
										IsAtRootColumn: False,
										CanHaveChildren: False,
										OrderId: 0,
										ButtonData: 
										{
											Properties: 
											{
												Text: String,
												Link: String
											},
											Settings: 
											{
												ButtonColor: String,
												TextColor: String,
												Alignment: String,
												ButtonWidth: String,
												MarginTop: 0,
												MarginBottom: 0,
												MarginLeft: 0,
												MarginRight: 0
											}
										},
										ImageData: 
										{
											Properties: 
											{
												URL: String,
												HyperLink: String,
												AltText: String
											},
											Settings: 
											{
												Alignment: String,
												MarginTop: 0,
												MarginBottom: 0,
												MarginLeft: 0,
												MarginRight: 0,
												Width: 0,
												Height: 0
											}
										},
										DividerData: 
										{
											Settings: 
											{
												MarginTop: 0,
												MarginBottom: 0,
												MarginLeft: 0,
												MarginRight: 0,
												BorderColor: String,
												Height: 0
											}
										},
										TextData: 
										{
											Properties: 
											{
												Text: String
											},
											Settings: 
											{
												MarginTop: 0,
												MarginBottom: 0,
												MarginLeft: 0,
												MarginRight: 0
											}
										},
										ContainerData: 
										{
											Properties: {},
											Settings: 
											{
												BackgroundColor: String,
												MarginTop: 0,
												MarginBottom: 0,
												MarginLeft: 0,
												MarginRight: 0
											},
											Columns: 
											[
												[
													{
														
													}
												]
											]
										},
										PlainText: String
									}
								]
							]
						},
						PlainText: String
					}
				]
			]
		},
		PlainText: String
	},
	MacroComponentName: String,
	MacroComponentId: 0,
	UsingRedis: True,
	AppInitTime: 2024-05-03T01:24:04.8651967-04:00,
	ServerID: WS-6-134-823,
	ClientID: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	BypassCache: False,
	DateCached: 2024-05-03T03:30:31.2370964-04:00,
	Device: Desktop
}