BokaMera.API.Host

<back to all web services

UpdateCustomer

Requires Authentication
The following routes are available for this service:
PUT/customers/{Id}Update an existing customerUpdates an existing user if the current logged in user is allowed to update the specified customer. Users are only allowed to update their own info, administrators are allowed to update customer belonging to their company (if no account is created, email is added, if so the customer can only update it's own info).
UpdateCustomer Parameters:
NameParameterData TypeRequiredDescription
CompanyIdqueryGuid?NoEnter the company and id for the customer, if blank company id and you are an admin, your company id will be used.
IdpathGuidYescustomer id
FirstnamebodystringYes
LastnamebodystringYes
PhonebodystringYes
EmailbodystringYes
CustomFieldsbodyList<AddCustomField>YesIf Custom Fields are added to the customer, here you will send the id and the value for each custom field to be updated
AccessKeysbodyList<AddUserAccessKey>YesList of Access Keys
AccessKeysToDeletebodyList<DeleteUserAccessKey>Yes
SubscribedToNewsletterbodybool?No
InvoiceAddressbodyInvoiceAddressToHandleYes
AddCustomField Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
ValueformstringYes
AddUserAccessKey Parameters:
NameParameterData TypeRequiredDescription
IdformGuid?NoSpecify 'Id' to update an existing access key, leave empty to create a new one
CompanyIdformGuid?NoThe company ID associated with this access key
AccessKeyTypeIdformintNoThe type of access key to create
ValueformstringYesThe actual key value or token
CustomerIdformGuid?NoThe customer ID this access key is associated with
DescriptionformstringYesA description or note about this access key
DeleteUserAccessKey Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNoThe unique identifier of the access key to delete
InvoiceAddressToHandle Parameters:
NameParameterData TypeRequiredDescription
CorporateIdentityNumberformstringYes
InvoiceAddress1formstringYes
InvoiceAddress2formstringYes
InvoiceCityformstringYes
InvoicePostalCodeformstringYes
InvoiceCountryCodeformstringYes
CustomerQueryResponse Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
FirstnameformstringYes
LastnameformstringYes
EmailformstringYes
PhoneformstringYes
ImageUrlformstringYes
CustomFieldsformList<CustomFieldConfigData>Yes
CustomFieldValuesformList<CustomFieldDataResponse>Yes
CommentsformList<CustomerCommentsResponse>Yes
AccessKeysformList<UserAccessKeys>Yes
UpdatedformDateTimeNo
CreatedformDateTimeNo
ResponseStatusformObjectYes
SubscribedToNewsletterformboolNo
InvoiceAddressformInvoiceAddressResponseYes
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

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

HTTP + XML

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

PUT /customers/{Id} HTTP/1.1 
Host: testapi.bokamera.se 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<UpdateCustomer xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <AccessKeys>
    <AddUserAccessKey>
      <AccessKeyTypeId>0</AccessKeyTypeId>
      <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
      <CustomerId>00000000-0000-0000-0000-000000000000</CustomerId>
      <Description>String</Description>
      <Id>00000000-0000-0000-0000-000000000000</Id>
      <Value>String</Value>
    </AddUserAccessKey>
  </AccessKeys>
  <AccessKeysToDelete>
    <DeleteUserAccessKey>
      <Id>00000000-0000-0000-0000-000000000000</Id>
    </DeleteUserAccessKey>
  </AccessKeysToDelete>
  <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
  <CustomFields>
    <AddCustomField>
      <Id>0</Id>
      <Value>String</Value>
    </AddCustomField>
  </CustomFields>
  <Email>String</Email>
  <Firstname>String</Firstname>
  <Id>00000000-0000-0000-0000-000000000000</Id>
  <InvoiceAddress>
    <CorporateIdentityNumber>String</CorporateIdentityNumber>
    <InvoiceAddress1>String</InvoiceAddress1>
    <InvoiceAddress2>String</InvoiceAddress2>
    <InvoiceCity>String</InvoiceCity>
    <InvoiceCountryCode>String</InvoiceCountryCode>
    <InvoicePostalCode>String</InvoicePostalCode>
  </InvoiceAddress>
  <Lastname>String</Lastname>
  <Phone>String</Phone>
  <SubscribedToNewsletter>false</SubscribedToNewsletter>
</UpdateCustomer>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CustomerQueryResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <AccessKeys xmlns:d2p1="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Db">
    <d2p1:UserAccessKeys>
      <d2p1:AccessKeyTypeId>0</d2p1:AccessKeyTypeId>
      <d2p1:CompanyId>00000000-0000-0000-0000-000000000000</d2p1:CompanyId>
      <d2p1:CustomerId>00000000-0000-0000-0000-000000000000</d2p1:CustomerId>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:UserAccessKeys>
  </AccessKeys>
  <Comments>
    <CustomerCommentsResponse>
      <Comments>String</Comments>
      <Created>0001-01-01T00:00:00</Created>
      <CustomerId>00000000-0000-0000-0000-000000000000</CustomerId>
      <Id>0</Id>
      <ImageUrl i:nil="true" />
      <Updated>0001-01-01T00:00:00</Updated>
    </CustomerCommentsResponse>
  </Comments>
  <Created>0001-01-01T00:00:00</Created>
  <CustomFieldValues>
    <CustomFieldDataResponse>
      <Column>String</Column>
      <DataType>String</DataType>
      <Description>String</Description>
      <Id>0</Id>
      <Name>String</Name>
      <Value>String</Value>
    </CustomFieldDataResponse>
  </CustomFieldValues>
  <CustomFields>
    <CustomFieldConfigData>
      <DataType>String</DataType>
      <DefaultValue>String</DefaultValue>
      <Description>String</Description>
      <Id>0</Id>
      <IsMandatory>false</IsMandatory>
      <MandatoryErrorMessage>String</MandatoryErrorMessage>
      <MaxLength>0</MaxLength>
      <MultipleLineText>false</MultipleLineText>
      <Name>String</Name>
      <RegEx>String</RegEx>
      <RegExErrorMessage>String</RegExErrorMessage>
      <Values>
        <CustomFieldValueResponse>
          <Value>String</Value>
        </CustomFieldValueResponse>
      </Values>
      <Width>0</Width>
    </CustomFieldConfigData>
  </CustomFields>
  <Email>String</Email>
  <Firstname>String</Firstname>
  <Id>00000000-0000-0000-0000-000000000000</Id>
  <ImageUrl>String</ImageUrl>
  <InvoiceAddress>
    <CorporateIdentityNumber>String</CorporateIdentityNumber>
    <InvoiceAddress1>String</InvoiceAddress1>
    <InvoiceAddress2>String</InvoiceAddress2>
    <InvoiceAddressId>00000000-0000-0000-0000-000000000000</InvoiceAddressId>
    <InvoiceCity>String</InvoiceCity>
    <InvoiceCountryCode>String</InvoiceCountryCode>
    <InvoicePostalCode>String</InvoicePostalCode>
    <UserId>00000000-0000-0000-0000-000000000000</UserId>
  </InvoiceAddress>
  <Lastname>String</Lastname>
  <Phone>String</Phone>
  <ResponseStatus />
  <SubscribedToNewsletter>false</SubscribedToNewsletter>
  <Updated>0001-01-01T00:00:00</Updated>
</CustomerQueryResponse>