BokaMera.API.Host

<back to all web services

AddTagsToCustomer

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/customers/{CustomerId}/tagsAdd tags to a customerAttaches one or more tags to an existing customer.
AddTagsToCustomer Parameters:
NameParameterData TypeRequiredDescription
CompanyIdbodyGuid?NoThe company id, if empty will use the company id for the user you are logged in with.
CustomerIdpathGuidYesThe customer id.
TagIdsbodyList<int>YesThe ids of the tags to attach.
CustomerQueryResponse Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
FirstnameformstringYes
LastnameformstringYes
EmailformstringYes
PhoneformstringYes
ImageUrlformstringYes
PersonalIdentityNumberformstringYes
CustomFieldsformList<CustomFieldConfigData>Yes
CustomFieldValuesformList<CustomFieldDataResponse>Yes
CommentsformList<CustomerCommentsResponse>Yes
AccessKeysformList<UserAccessKeys>Yes
UpdatedformDateTimeNo
CreatedformDateTimeNo
ResponseStatusformObjectYes
SubscribedToNewsletterformboolNo
InvoiceAddressformInvoiceAddressResponseYes
TagsformList<TagResponse>Yes
CustomFieldConfigData Parameters:
NameParameterData TypeRequiredDescription
IdformintNoCustom field id
NameformstringYesConfiguration name. Example: 'Number of persons'.
DescriptionformstringYesCustom field description. Example: 'For how many persons is this booking?'
Widthformint?NoField width. Example: 20 for 20px
DataTypeformstringYesData field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
DefaultValueformstringYesDefault value of the field. Example: '3'
IsMandatoryformboolNoDetermines if the field is required to have a value or not
MandatoryErrorMessageformstringYesError message shown to the user if the field data is required but not entered
MaxLengthformintNoMax lenght of the field
MultipleLineTextformboolNoIf the field should have multiple lines
RegExformstringYesRegular expression used for validation of the field
RegExErrorMessageformstringYesError message shown if the regular expression validation failed
ValuesformList<CustomFieldValueResponse>YesThe values to select from if Datatype is DropDown for this custom field
CustomFieldValueResponse Parameters:
NameParameterData TypeRequiredDescription
ValueformstringYes
CustomFieldDataResponse Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
ColumnformstringYes
NameformstringYes
DescriptionformstringYes
ValueformstringYes
DataTypeformstringYesData field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
CustomerCommentsResponse Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
CustomerIdformGuidNo
CommentsformstringYes
UpdatedformDateTimeNo
CreatedformDateTimeNo
ImageUrlformUriYes
UserAccessKeys Parameters:
NameParameterData TypeRequiredDescription
CompanyIdformGuidYes
AccessKeyTypeIdformintYes
ValueformstringYes
CustomerIdformGuidYes
DescriptionformstringNo
IdformGuidYes
InvoiceAddressResponse Parameters:
NameParameterData TypeRequiredDescription
InvoiceAddressIdformGuidNo
UserIdformGuid?No
CorporateIdentityNumberformstringYes
InvoiceAddress1formstringYes
InvoiceAddress2formstringYes
InvoiceCityformstringYes
InvoicePostalCodeformstringYes
InvoiceCountryCodeformstringYes
TagResponse Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
CompanyIdformGuidNo
NameformstringYes
ScopeformTagScopeNo
ColorformstringYes
SortOrderformintNo
ActiveformboolNo
CreatedDateformDateTimeNo
ResponseStatusformResponseStatusYes
TagScope Enum:
Booking
Customer

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 /customers/{CustomerId}/tags HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	TagIds: 
	[
		0
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Firstname: String,
	Lastname: String,
	Email: String,
	Phone: String,
	ImageUrl: String,
	PersonalIdentityNumber: String,
	CustomFields: 
	[
		{
			"Id": 0,
			"Name": "String",
			"Description": "String",
			"Width": 0,
			"DataType": "String",
			"DefaultValue": "String",
			"IsMandatory": false,
			"MandatoryErrorMessage": "String",
			"MaxLength": 0,
			"MultipleLineText": false,
			"RegEx": "String",
			"RegExErrorMessage": "String",
			"Values": 
			[
				{
					"Value": "String"
				}
			]
		}
	],
	CustomFieldValues: 
	[
		{
			Id: 0,
			Column: String,
			Name: String,
			Description: String,
			Value: String,
			DataType: String
		}
	],
	Comments: 
	[
		{
			Id: 0,
			Comments: String
		}
	],
	AccessKeys: 
	[
		{
			AccessKeyTypeId: 0,
			Value: String,
			Description: String
		}
	],
	ResponseStatus: {},
	SubscribedToNewsletter: False,
	InvoiceAddress: 
	{
		UserId: 00000000-0000-0000-0000-000000000000,
		CorporateIdentityNumber: String,
		InvoiceAddress1: String,
		InvoiceAddress2: String,
		InvoiceCity: String,
		InvoicePostalCode: String,
		InvoiceCountryCode: String
	},
	Tags: 
	[
		{
			Id: 0,
			Name: String,
			Scope: Booking,
			Color: String,
			SortOrder: 0,
			Active: False,
			ResponseStatus: 
			{
				ErrorCode: String,
				Message: String,
				StackTrace: String,
				Errors: 
				[
					{
						ErrorCode: String,
						FieldName: String,
						Message: String,
						Meta: 
						{
							String: String
						}
					}
				],
				Meta: 
				{
					String: String
				}
			}
		}
	]
}