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.
Method | POST |
---|---|
Kind | Write |
URL | https://app.bubblehouse.com/api/v2023061/<shop>/UpdateCustomerDetails1 |
Authentication | Customer 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
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_name
string | nulloptionalThe new first name to use.
Set to empty string to remove the value. Omit or set to null to keep the current value.
last_name
string | nulloptionalThe new last name to use.
Set to empty string to remove the value. Omit or set to null to keep the current value.
phone
string | nulloptionalThe 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.
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
ok
booleanrequiredTrue if all updates have succeeded, false otherwise.
The result of updating the first name.
The result of updating the last name.
The result of updating the birthday.
The result of updating the birthday.
Specific Errors
Status | Error | Reason & Examples |
---|---|---|
None. |
API-wide Errors
Status | Error | Reason & Examples |
---|---|---|
400 | missing_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"} |
404 | empty_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"} |
404 | no_customers_match_customer_identity | The customer identity ('customer' input parameter) does not match a known customer. {"id":"no_customers_match_customer_identity"} |
404 | customer_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"} |
403 | customer_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
Status | Error | Reason & Examples |
---|---|---|
401 | invalid_token | The provided authentication token is invalid or has expired. {"id":"invalid_token","message":"The token has expired"} |
429 | rate_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"} |
400 | obsolete_global_api_version | The global API version you are trying to use is no longer supported. {"id":"obsolete_global_api_version"} |
400 | invalid_global_api_version | The global API version you are trying to use has never existed. {"id":"invalid_global_api_version"} |
400 | inaccessible_global_api_version | The global API version you are trying to use is not enabled on your account. {"id":"inaccessible_global_api_version"} |