BokaMera.API.Host

<back to all web services

UpdateUser

Requires Authentication
The following routes are available for this service:
PUT/usersUpdate my informationUpdates the logged in users info both in customer profile and application admin profile if any exists. Users are only allowed to update their own info.
UpdateUser Parameters:
NameParameterData TypeRequiredDescription
UserIdbodyGuid?NoThe user id for your profile.
NewEmailbodystringYes
UserProfilebodyUpdateCustomerProfileYes
AdminProfilebodyUpdateAdminProfileYes
RealmbodyKeyCloakRealmYesThe user realm for identity server. BookMore = 1, BookMoreAdmin = 2
InvoiceAddressbodyInvoiceAddressToHandleYes
UpdateCustomerProfile Parameters:
NameParameterData TypeRequiredDescription
FirstnameformstringYes
LastnameformstringYes
PhoneformstringYes
EmailformstringYes
InvoiceAddressformInvoiceAddressResponseYes
InvoiceAddressResponse Parameters:
NameParameterData TypeRequiredDescription
InvoiceAddressIdformGuidNo
UserIdformGuid?No
CorporateIdentityNumberformstringNo
InvoiceAddress1formstringNo
InvoiceAddress2formstringNo
InvoiceCityformstringNo
InvoicePostalCodeformstringNo
InvoiceCountryCodeformstringNo
UpdateAdminProfile Parameters:
NameParameterData TypeRequiredDescription
FirstnameformstringYes
LastnameformstringYes
PhoneformstringYes
EmailformstringYes
KeyCloakRealm Enum:
NameValue
BookMore1
BookMoreAdmin2
SuperAdmin3
InvoiceAddressToHandle Parameters:
NameParameterData TypeRequiredDescription
CorporateIdentityNumberformstringNo
InvoiceAddress1formstringNo
InvoiceAddress2formstringNo
InvoiceCityformstringNo
InvoicePostalCodeformstringNo
InvoiceCountryCodeformstringNo
UpdateUserResponse Parameters:
NameParameterData TypeRequiredDescription
ResponseStatusformObjectYes
UserIdformGuid?YesThe user id for your profile.
UserProfileformUserProfileResponseYes
AdminProfileformAdminProfileYes
IsSentConfirmationUpdateEmailformbool?No
InvoiceAddressformInvoiceAddressResponseYes
UserProfileResponse Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
FirstnameformstringYes
LastnameformstringYes
PhoneformstringYes
EmailformstringYes
InvoiceAddressformInvoiceAddressResponseYes
AdminProfile Parameters:
NameParameterData TypeRequiredDescription
CompanyIdformGuidNo
IdformGuidNo
FirstnameformstringNo
LastnameformstringNo
EmailformstringNo
WorkerIdformstringNo
PhoneformstringNo

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.

PUT /users HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	UserId: 00000000-0000-0000-0000-000000000000,
	NewEmail: String,
	UserProfile: 
	{
		Firstname: String,
		Lastname: String,
		Phone: String,
		Email: String,
		InvoiceAddress: 
		{
			UserId: 00000000-0000-0000-0000-000000000000,
			CorporateIdentityNumber: String,
			InvoiceAddress1: String,
			InvoiceAddress2: String,
			InvoiceCity: String,
			InvoicePostalCode: String,
			InvoiceCountryCode: String
		}
	},
	AdminProfile: 
	{
		Firstname: String,
		Lastname: String,
		Phone: String,
		Email: String
	},
	Realm: BookMore,
	InvoiceAddress: 
	{
		CorporateIdentityNumber: String,
		InvoiceAddress1: String,
		InvoiceAddress2: String,
		InvoiceCity: String,
		InvoicePostalCode: String,
		InvoiceCountryCode: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: {},
	UserId: 00000000-0000-0000-0000-000000000000,
	UserProfile: 
	{
		Firstname: String,
		Lastname: String,
		Phone: String,
		Email: String,
		InvoiceAddress: 
		{
			UserId: 00000000-0000-0000-0000-000000000000,
			CorporateIdentityNumber: String,
			InvoiceAddress1: String,
			InvoiceAddress2: String,
			InvoiceCity: String,
			InvoicePostalCode: String,
			InvoiceCountryCode: String
		}
	},
	AdminProfile: 
	{
		Firstname: String,
		Lastname: String,
		Email: String,
		WorkerId: String,
		Phone: String
	},
	IsSentConfirmationUpdateEmail: False,
	InvoiceAddress: 
	{
		UserId: 00000000-0000-0000-0000-000000000000,
		CorporateIdentityNumber: String,
		InvoiceAddress1: String,
		InvoiceAddress2: String,
		InvoiceCity: String,
		InvoicePostalCode: String,
		InvoiceCountryCode: String
	}
}