-
Notifications
You must be signed in to change notification settings - Fork 52
DEVDOCS-6477 - OP Docs for Migration Customers #1085
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
chris-nowicki
wants to merge
21
commits into
main
Choose a base branch
from
DEVDOCS-6477
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 7 commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
88d6a6d
Initial Overview Update Commit
chris-nowicki c421cf7
move error handling to root migration folder
chris-nowicki 32f3315
udpate overview and rename catelog folder to products
chris-nowicki 4f725f9
finalized initial draft of migration overview
chris-nowicki 2a4688c
finalized initial draft of customer migration
chris-nowicki 1f76fef
formatting fix
chris-nowicki e8c7e0d
fix password reset example
chris-nowicki 4174a68
add segments and update to customer groups
chris-nowicki 8f199a1
rename error-handling.md to error-handling.mdx
chris-nowicki b4bd526
Merge branch 'main' into DEVDOCS-6477
chris-nowicki a9dc8da
Merge branch 'main' into DEVDOCS-6477
chris-nowicki 1c778ed
Merge branch 'main' into DEVDOCS-6477
chris-nowicki c7d9a33
fix: document structure based on james q feedback
chris-nowicki 4524491
fix: remove initial header as it was redundant
chris-nowicki abd1c3a
fix: add additional information for channels
chris-nowicki d526c8a
fix: added clarity to optional fields
chris-nowicki 6eeff1d
fix: minor introduction fix
chris-nowicki 00c8a76
add additional context to end of api rate limits section
chris-nowicki a88687e
updates per james q comments
chris-nowicki 24a59f5
Merge branch 'main' into DEVDOCS-6477
chris-nowicki eccadf9
Merge branch 'main' into DEVDOCS-6477
chris-nowicki File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,165 @@ | ||
| # Transferring Your Customers to BigCommerce | ||
|
|
||
| ## Customer data migration: Best practices and process overview | ||
|
|
||
| Customer information can be transferred to a BigCommerce store via the API. This guide outlines the recommended process for migrating customers with minimal dependencies on CSV import. | ||
|
|
||
| We recommend migrating customers in the following order: | ||
|
|
||
| 1. Prepare prerequisites | ||
| 2. Create customers | ||
| 3. Validate and finalize | ||
|
|
||
| ## Migration Steps | ||
|
|
||
| ### 1. Preparing for customer migration | ||
|
|
||
| Before you begin, decide on the following: | ||
|
|
||
| #### Passwords | ||
|
|
||
| Passwords can be set via API using the `authentication` object when creating customers: | ||
| [`POST /customers`](https://developer.bigcommerce.com/docs/rest-management/customers#create-customers) | ||
|
|
||
| Options: | ||
|
|
||
| 1. **Preferred method**: Create customers without a password and notify them to reset using a password reset link. | ||
| 2. **Alternative**: Provide a password during creation by including the `authentication` object. Example: | ||
|
|
||
| ```json | ||
| { | ||
| "first_name": "Jane", | ||
| "last_name": "Doe", | ||
| "email": "[email protected]", | ||
| "authentication": { | ||
| "force_password_reset": true, | ||
| "new_password": "string123" | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| Setting `force_password_reset: true` ensures customers must update their password at first login. | ||
|
|
||
| #### Customer groups | ||
|
|
||
| - Customer groups must be created in the control panel before migration. | ||
| - Customers can be assigned to groups during creation (customer_group_id) or afterward via API. | ||
| - Each customer can belong to only one group. | ||
|
|
||
| <Callout type='info'> | ||
| Use CSV import only if you need to bulk-assign groups in one action. | ||
| Otherwise, use the API. | ||
| </Callout> | ||
|
|
||
| #### Channels / Multi-Storefront | ||
|
|
||
| - Decide whether customers have global or channel-specific access. | ||
| - Channels must be created in the control panel before migration. | ||
| - Customers without a channel assignment default to global access. | ||
|
|
||
| ### 2. Migrate customer data | ||
|
|
||
| #### Rate limits | ||
|
|
||
| <Callout type='info'> | ||
| Create up to 10 customers per `POST /v3/customers` call; implement backoff | ||
| using the rate-limit headers. | ||
| </Callout> | ||
|
|
||
| BigCommerce APIs are subject to rate limits. Always design your migration to: | ||
|
|
||
| - Batch requests where possible | ||
| - Implement retries with exponential backoff | ||
chris-nowicki marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - Monitor headers: `X-Rate-Limit-Remaining` | ||
|
|
||
| #### Create customers | ||
|
|
||
| <Callout> | ||
| Tip: You can assign `store_credit_amounts` when creating customers. If | ||
| omitted, you can add it later with `PUT /customers/{id}`. | ||
| </Callout> | ||
|
|
||
| minimum required fields: | ||
|
|
||
| - `first_name` | ||
| - `last_name` | ||
| - `email` | ||
|
|
||
| Use the [`POST /customers`](https://developer.bigcommerce.com/docs/rest-management/customers#create-customers) endpoint to create customers. Include all required fields and any optional fields needed. | ||
|
|
||
| Example minimal request body: | ||
|
|
||
| ```json | ||
| { | ||
| "first_name": "Jane", | ||
| "last_name": "Doe", | ||
| "email": "[email protected]" | ||
| } | ||
| ``` | ||
|
|
||
| Example request body: | ||
|
|
||
| ```json | ||
| { | ||
| "email": "[email protected]", | ||
| "first_name": "Jane", | ||
| "last_name": "Doe", | ||
| "company": "Acme Corp", | ||
| "phone": "512-555-1234", | ||
| "notes": "VIP customer", | ||
| "customer_group_id": 2, | ||
| "addresses": [ | ||
| { | ||
| "address1": "Addr 1", | ||
| "address2": "", | ||
| "address_type": "residential", | ||
| "city": "San Francisco", | ||
| "company": "History", | ||
| "country_code": "US", | ||
| "first_name": "Ronald", | ||
| "last_name": "Swimmer", | ||
| "phone": "707070707", | ||
| "postal_code": "33333", | ||
| "state_or_province": "California", | ||
| "form_fields": [ | ||
| { | ||
| "name": "Delivery Instructions", | ||
| "value": "Leave at front desk" | ||
| } | ||
| ] | ||
| } | ||
| ], | ||
| "authentication": { | ||
| "force_password_reset": true, | ||
| "new_password": "string123" | ||
| }, | ||
| "store_credit_amounts": [ | ||
| { | ||
| "amount": 43.15 | ||
| } | ||
| ], | ||
| "channel_ids": [1, 2], | ||
| "form_fields": [ | ||
| { | ||
| "name": "Delivery Instructions", | ||
| "value": "Leave at front desk" | ||
| } | ||
| ] | ||
| } | ||
| ``` | ||
|
|
||
| ### 3. Post-migration tasks | ||
|
|
||
| - Trigger password reset emails (if customers were created without passwords). | ||
| - Verify login across channels. | ||
| - Spot-check customer group assignments and store credit. | ||
| - Confirm that custom fields and preferences are correctly associated. | ||
|
|
||
| ## Additional resources | ||
|
|
||
| For more technical details and API documentation, see: | ||
|
|
||
| - [Create Customer API Reference](/docs/rest-management/customers#create-customers) | ||
| - [API best practices](/docs/start/best-practices) | ||
| - [API rate limits](/docs/start/best-practices/api-rate-limits) | ||
| - [Data migration services](https://www.bigcommerce.com/services/launch/#data-migration-services) | ||
File renamed without changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| --- | ||
| title: Product data migration overview | ||
| --- | ||
|
|
||
| # Product data migration: Best practices and process overview | ||
|
|
||
| Migrating product data is a foundational part of launching or replatforming an ecommerce store. This section provides practical guidance and best practices for migrating your product catalog into BigCommerce, focusing on accuracy, efficiency, and minimizing common migration errors. | ||
chris-nowicki marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ## Why focus on data migration? | ||
|
|
||
| Product data migration affects core areas of your storefront, including product listings, search, inventory, pricing, and overall customer experience. Early planning and process validation help reduce the risk of errors and delays during launch. The following pages walk through the technical and operational steps of migration to support a smooth transition. | ||
|
|
||
| ## Migration workflow pages | ||
|
|
||
| - [Prepare Your Migration Data](/docs/start/migration/prepare-data) | ||
| - [Test a Limited Dataset](/docs/start/migration/test-data) | ||
| - [Error Handling](/docs/start/migration/error-handling) | ||
| - [Load Complete Data](/docs/start/migration/complete-migration) | ||
| - [Go Live and Delta Migration](/docs/start/migration/delta-migration) | ||
|
|
||
| ## Getting started | ||
|
|
||
| <Callout type="info"> | ||
| Data migration is complex and impacts your entire store setup. You should plan for it early in your project timeline to prevent setbacks. | ||
| </Callout> | ||
|
|
||
| ### Recommended preparatory tasks | ||
|
|
||
| - **Test your migration workflow early** | ||
| Once you have defined your migration plan and scope, test your migration process in a non-production environment. Address any issues found during testing before moving to a full migration. | ||
|
|
||
| - **Align store settings and source data** | ||
| Before importing product data, configure your store’s [store settings](https://support.bigcommerce.com/s/article/Store-Settings) including product weight units, dimensions, currency, and timezone. Check that your source data matches these settings to avoid inconsistencies. | ||
|
|
||
| - **Configure categories and brands in advance** | ||
| Categories and brands must be created in BigCommerce before importing products. Category and brand assignments are done by numeric ID, not by name. Prepare a mapping between your source data and BigCommerce IDs to ensure products are assigned correctly. See the [Catalog API Reference](/docs/rest-catalog) for details. | ||
|
|
||
| <Callout type="info"> | ||
| Category and brand IDs are not accessible by name, so create and cache a mapping schema to guarantee your catalog is properly configured. | ||
| </Callout> | ||
|
|
||
| ## Additional resources | ||
|
|
||
| For more technical details and API documentation, see: | ||
|
|
||
| - [Catalog API Reference](/docs/rest-catalog) | ||
| - [API best practices](/docs/start/best-practices) | ||
| - [API rate limits](/docs/start/best-practices/api-rate-limits) | ||
| - [WebDAV file access](https://support.bigcommerce.com/s/article/File-Access-WebDAV) | ||
| - [Data migration services](https://www.bigcommerce.com/services/launch/#data-migration-services) | ||
|
|
||
| By following these recommendations and the linked migration workflow pages, you can manage your BigCommerce product migration with greater confidence and fewer disruptions. | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.