Loyalty API

UpdateCustomerDetails1

Update the customer's details as if the customer has just entered that value on the loyalty page. Strictly for self-service portals, customer support portals, data collection forms and the like.

MethodPOST
KindWrite
URLhttps://app.bubblehouse.com/api/v2023061/<shop>/UpdateCustomerDetails1
AuthenticationCustomer TokenShop Token

You have a choice of making this call from your server using a shop token and specifying a customer ID, or making this call from a web browser/app using a customer token you have generated on the server.

This function runs in real time, and is meant to give an immediate feedback to the customer. It is for strictly customer-initiated updates happening right now.

Good usage examples: self-service customer portals, customer support portals, data collection forms and popups.

Bad usage examples: batch updates, importing data from other systems. Use UpdateCustomersV call for those.

Note that the function call itself will succeed even if some field updates fail (either due to invalid data or external system failures). You are expected to check the result property for each updated field, and to display validation errors accordingly.

Input

  • customerCustomerIdentity1required if using a shop token

    A customer to operate upon, when using a shop token.

    If you're using a customer token and decide to pass this field (which we do not recommend), it must match the customer from the token.

  • first_namestring | nulloptional

    The new first name to use.

    Set to empty string to remove the value. Omit or set to null to keep the current value.

  • last_namestring | nulloptional

    The new last name to use.

    Set to empty string to remove the value. Omit or set to null to keep the current value.

  • phonestring | nulloptional

    The new phone number to use.

    Set to empty string to remove the value. Omit or set to null to keep the current value.

    Updating a phone number is a long-running operation that involves talking to external systems; the call might take a few seconds or even a minute to complete.

    Updating a phone number can fail, or can report that the provided number is invalid.

    The resulting phone number might not match the input exactly, for example, if the input is missing a country code, the resulting phone number might have a country code added.

  • birthdaydate | nulloptional

    The new birthday to use (YYYY-MM-DD format).

    Set to an empty string (or 0-0-0) to remove the value. Omit or set to null to keep the current value.

    Use 0-MM-DD format if the year is unknown.

    Updating a birthday can report an invalid value if the day is invalid. Shop-specific rules might affect which exact dates are acceptable.

Output

  • okbooleanrequired

    True if all updates have succeeded, false otherwise.

  • first_nameUpdateResult1required if corresponding input field provided

    The result of updating the first name.

  • last_nameUpdateResult1required if corresponding input field provided

    The result of updating the last name.

  • birthdayUpdateResult1required if corresponding input field provided

    The result of updating the birthday.

  • phoneUpdateResult1required if corresponding input field provided

    The result of updating the birthday.

Specific Errors

StatusErrorReason & Examples

None.

API-wide Errors

StatusErrorReason & Examples
400missing_customer_identity

The customer identity ('customer' input parameter) has not been specified when using a shop token. You need to either specify a non-empty value for one of the customer identity fields, or use a customer token.

{"id":"missing_customer_identity"}
404empty_customer_identity

All fields of the customer identity ('customer' input parameter) have been empty when using a shop token. You need to either specify a non-empty value for one of the customer identity fields, or use a customer token.

{"id":"empty_customer_identity"}
404no_customers_match_customer_identity

The customer identity ('customer' input parameter) does not match a known customer.

{"id":"no_customers_match_customer_identity"}
404customer_identity_partially_mismatches_matched_customer

A customer has been matched by one of the fields of the customer identity ('customer' input parameter), but some non-empty fields do not match Bubblehouse data on that customer.

{"id":"customer_identity_partially_mismatches_matched_customer"}
403customer_identity_does_not_match_token

API call is using a customer token, but the customer identity in API params does not match the customer from the token.

{"id":"customer_identity_does_not_match_token"}

Global Errors

StatusErrorReason & Examples
401invalid_token

The provided authentication token is invalid or has expired.

{"id":"invalid_token","message":"The token has expired"}
429rate_limit_exceeded

Your usage is over the rate limit. Ensure that you're not making duplicate calls, and contact our team for a rate limit increase.

{"id":"rate_limit_exceeded","message":"You are over the read limit per second for this customer"}
400obsolete_global_api_version

The global API version you are trying to use is no longer supported.

{"id":"obsolete_global_api_version"}
400invalid_global_api_version

The global API version you are trying to use has never existed.

{"id":"invalid_global_api_version"}
400inaccessible_global_api_version

The global API version you are trying to use is not enabled on your account.

{"id":"inaccessible_global_api_version"}
Previous
QueryOrderDetails1