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.

MethodPOST
KindWrite
URLhttps://app.bubblehouse.com/api/v2023061/<shop>/MergeCustomers1
AuthenticationShop 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

  • customersarray of CustomerIdentity1required

    The customer accounts to merge.

    You need to specify at least two accounts. All customer accounts will be merged into the first one.

  • descriptionstringoptional

    An override of the description of the change to show to the customer.

  • private_notestringoptional

    Extra 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

StatusErrorReason & Examples

None.

API-wide Errors

StatusErrorReason & Examples

None.

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
ExportCustomerData1