Loyalty Admin API
MergeCustomers1
Merges multiple customer accounts into a single account.
After making this call, all customer accounts you specify are merged into a single account.
In case of data conflicts (e.g. different names or birthdays), the priorities match the order of the accounts that you specify, i.e. the data in the first account takes priority over the data in the second account, and the second account takes priority over the third, etc.
An attempt to refer to any of the accounts, including by Bubblehouse ID, will resolve to the merged account.
Method | POST |
---|---|
Kind | Write |
URL | https://app.bubblehouse.com/api/v2023061/<shop>/MergeCustomers1 |
Authentication | Shop Token |
Note that because networking is unreliable, each call needs to have a unique idempotency key, and repeated calls with the same key do nothing and silently succeed. This means that you can safely retry calls failed due to networking errors. To help with testing, use an option that simulates a 500 error.
While customer data is merged during the call, the rest of the processing may complete afterwards, so expect stats and history to keep updating for a little while.
A merge is currently hard (although not impossible) to undo, and you will need Bubblehouse team assistance for that.
Input
The customer accounts to merge.
You need to specify at least two accounts. All customer accounts will be merged into the first one.
description
stringoptionalAn override of the description of the change to show to the customer.
private_note
stringoptionalExtra information about the change for the staff eyes only.
Output
A successful response has no meaningful properties and only contains an ok property always set to true:
{"ok": true}
Specific Errors
Status | Error | Reason & Examples |
---|---|---|
None. |
API-wide Errors
Status | Error | Reason & Examples |
---|---|---|
None. |
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"} |