Chuyển từ Magento sang Shopify
DataEase chuyển một cửa hàng Magento 2 (Magento Open Source, Adobe Commerce hoặc Mage-OS) sang Shopify trực tiếp qua REST API của Magento - không cần extension, không cần xuất CSV, không cần bảng tính. Bạn tạo một integration trong Magento, dán các khóa của nó, chọn dữ liệu cần chuyển, và DataEase lo phần còn lại. DataEase cũng tạo chuyển hướng từ các URL cũ, để liên kết và thứ hạng tìm kiếm vẫn hoạt động sau khi bạn đổi tên miền.
Dữ liệu nào được chuyển
Section titled “Dữ liệu nào được chuyển”| Magento | Shopify | Chi tiết |
|---|---|---|
| Sản phẩm đơn giản, ảo và có thể tải xuống | Sản phẩm | Tên, mô tả, trạng thái, khả năng hiển thị, danh mục đầu tiên làm loại sản phẩm, hình ảnh (ảnh chính đứng đầu), SKU, giá và giá đặc biệt (làm giá so sánh), giá vốn, trọng lượng, loại thuế, số lượng tồn kho (tại địa điểm chính), đặt hàng trước khi có hàng, thương hiệu (manufacturer), quốc gia sản xuất, tiêu đề và mô tả SEO. |
| Sản phẩm cấu hình (configurable) | Sản phẩm có biến thể | Thuộc tính cấu hình (Color, Size, …) trở thành tùy chọn (tối đa 3), mỗi sản phẩm con đang bật trở thành một biến thể với SKU, giá, tồn kho và hình ảnh riêng. |
| Danh mục | Bộ sưu tập | Bộ sưu tập thủ công với sản phẩm, mô tả, hình ảnh và SEO của danh mục. Danh mục lồng nhau trở thành các bộ sưu tập riêng biệt. |
| Khách hàng | Khách hàng | Tên, email, số điện thoại, tất cả địa chỉ (địa chỉ giao hàng mặc định đứng đầu), đăng ký nhận bản tin. Nhóm khách hàng được thêm làm thẻ, ví dụ magento-group-wholesale. |
| Đơn hàng | Đơn hàng | Bản sao lịch sử với các mặt hàng (liên kết với biến thể đã chuyển theo SKU), tùy chọn biến thể, vận chuyển, giảm giá, thuế, thanh toán và hoàn tiền. Không gửi email nào cho khách hàng. |
| Quy tắc giá giỏ hàng | Giảm giá | Quy tắc có phiếu giảm giá trở thành mã giảm giá, quy tắc không có phiếu trở thành giảm giá tự động: phần trăm, số tiền cố định trên mỗi mặt hàng hoặc trên giỏ hàng, miễn phí vận chuyển, tổng phụ hoặc số lượng tối thiểu, quốc gia giao hàng, điều kiện theo sản phẩm và danh mục, ngày và giới hạn sử dụng. |
| Trang CMS | Trang | Tiêu đề, nội dung, trạng thái, SEO. |
| URL cũ | Chuyển hướng URL | Sản phẩm và danh mục (với hậu tố .html theo cài đặt cửa hàng của bạn), trang CMS, giỏ hàng, tài khoản khách hàng và tìm kiếm được chuyển hướng tới địa chỉ Shopify tương ứng. |
- Hình ảnh trong mô tả và trang được sao chép vào Shopify → Content → Files, và liên kết được cập nhật, nên không có gì bị hỏng khi cửa hàng cũ ngừng hoạt động.
- Thẻ mẫu của Magento được chuyển đổi:
{{media url="…"}}trở thành địa chỉ hình ảnh,{{store url="…"}}trở thành liên kết; widget và khối CMS bị loại bỏ. - ID Magento của mỗi bản ghi được lưu trong metafield
magento.id. - Sản phẩm bị tắt được chuyển dưới dạng bản nháp. Sản phẩm không hiển thị riêng lẻ, hoặc không được gán cho website của cửa hàng, vẫn được chuyển nhưng không được xuất bản lên Online Store.
Không được chuyển: giao diện và thiết kế, extension và dữ liệu của chúng (blog, đánh giá, điểm thưởng), sản phẩm bundle, grouped và thẻ quà tặng, tùy chọn tùy chỉnh (customizable options), giá theo bậc và giá danh mục, store view bằng các ngôn ngữ khác, cài đặt thanh toán, vận chuyển và thuế, mật khẩu khách hàng (khách hàng đặt mật khẩu mới trong Shopify).
Trước khi bắt đầu
Section titled “Trước khi bắt đầu”- Magento 2.3 trở lên (Magento Open Source, Adobe Commerce hoặc Mage-OS).
- Một người dùng quản trị Magento có quyền tạo integration (System → Extensions → Integrations).
- Cửa hàng phải truy cập được từ internet - DataEase không thể kết nối tới
localhosthoặc địa chỉ mạng nội bộ. Giữ cửa hàng trực tuyến cho đến khi quá trình chuyển hoàn tất: hình ảnh được tải xuống từ đó. - Cửa hàng Shopify của bạn nên dùng cùng đơn vị tiền tệ với Magento - giá được sao chép nguyên vẹn, không quy đổi.
Bước 1. Tạo integration trong Magento
Section titled “Bước 1. Tạo integration trong Magento”- Trong trang quản trị Magento, mở System → Extensions → Integrations và nhấp Add New Integration.
- Nhập tên, ví dụ
DataEase, và mật khẩu quản trị của bạn vào ô Your Password. - Mở tab API và đặt Resource Access thành All.
- Nhấp Save, sau đó nhấp Activate bên cạnh integration mới và chọn Allow.
- Magento hiển thị bốn khóa: Consumer Key, Consumer Secret, Access Token và Access Token Secret. Sao chép cả bốn khóa.
Các khóa chỉ cấp quyền truy cập API và có thể thu hồi bất cứ lúc nào. DataEase chỉ đọc dữ liệu - không bao giờ thay đổi bất cứ điều gì trong Magento.
Muốn cấp ít quyền hơn? Thay vì All, bạn có thể chọn từng tài nguyên: cửa hàng (stores), danh mục sản phẩm (sản phẩm, danh mục và tồn kho), khách hàng và nhóm khách hàng, đơn bán hàng, quy tắc giá giỏ hàng và trang CMS. Nếu thiếu tài nguyên nào, DataEase sẽ cho biết cần thêm tài nguyên Magento nào.
Bước 2. Kết nối cửa hàng trong DataEase
Section titled “Bước 2. Kết nối cửa hàng trong DataEase”- Trong Shopify, mở DataEase → Store transfers.
- Chọn tab From Magento.
- Nhập địa chỉ cửa hàng (ví dụ
https://myshop.com) và bốn khóa integration. - Nhấp Check connection.
DataEase hiển thị tên cửa hàng, store view được dùng để đọc dữ liệu, và số bản ghi của từng loại trong cửa hàng.
Bước 3. Chọn dữ liệu cần chuyển và bắt đầu
Section titled “Bước 3. Chọn dữ liệu cần chuyển và bắt đầu”- Đánh dấu dữ liệu bạn muốn chuyển - mọi thứ tìm thấy trong cửa hàng được chọn sẵn theo mặc định.
- Nhấp Start migration.
Quá trình chuyển chạy nền - bạn có thể đóng trang. Danh sách Transfers cho biết dữ liệu nào đang được chuyển, và bạn có thể Cancel bất cứ lúc nào.
Bước 4. Kiểm tra kết quả
Section titled “Bước 4. Kiểm tra kết quả”Khi quá trình chuyển hoàn tất, danh sách hiển thị số bản ghi đã chuyển cho từng loại, kèm cảnh báo, lỗi và lý do - ví dụ Orders: 1250 ⚠3. Các cảnh báo thường gặp là quy tắc giá giỏ hàng có điều kiện Shopify không hỗ trợ, hoặc bản ghi đã được chuyển trước đó.
Sau khi chuyển
Section titled “Sau khi chuyển”- Xem lại sản phẩm, bộ sưu tập và giá trong trang quản trị Shopify.
- Thiết lập thanh toán, vận chuyển và thuế - chúng không được chuyển.
- Chọn và tùy chỉnh giao diện, sau đó thêm các trang và bộ sưu tập đã chuyển vào menu điều hướng.
- Kết nối tên miền với Shopify. Các liên kết cũ như
/joust-duffle-bag.htmlgiờ chuyển hướng tới/products/joust-duffle-bag. - Xóa integration trong Magento (System → Extensions → Integrations). DataEase xóa các khóa khỏi cơ sở dữ liệu của mình ngay khi quá trình chuyển hoàn tất.
Chạy lại quá trình chuyển
Section titled “Chạy lại quá trình chuyển”Bạn có thể chạy lại quá trình chuyển bất cứ lúc nào - ví dụ, ngay trước khi đổi tên miền để lấy các đơn hàng mới. Bản ghi hiện có được cập nhật, không bị nhân bản:
- sản phẩm, bộ sưu tập, khách hàng và trang được khớp theo handle hoặc email và được cập nhật;
- đơn hàng đã chuyển trước đó, mã giảm giá hiện có, giảm giá tự động trùng tên và chuyển hướng hiện có sẽ bị bỏ qua (bạn sẽ thấy cảnh báo kèm số lượng);
- hình ảnh đã sao chép vào Shopify Files được dùng lại.
Cách ánh xạ dữ liệu
Section titled “Cách ánh xạ dữ liệu”Sản phẩm
Section titled “Sản phẩm”- Handle: URL key của sản phẩm, để địa chỉ sản phẩm vẫn dễ nhận biết.
- Trạng thái: Enabled → Active; Disabled → Draft.
- Giá: giá đặc biệt đang có hiệu lực trở thành giá Shopify, còn giá thường trở thành giá so sánh. Ngày áp dụng giá đặc biệt được xét tại thời điểm chuyển.
- Tồn kho: số lượng được đưa vào địa điểm chính của bạn. Sản phẩm cho phép đặt hàng trước khi có hàng (backorders) vẫn tiếp tục bán khi hết hàng.
- Tùy chọn: thuộc tính của sản phẩm cấu hình trở thành tùy chọn theo cùng thứ tự, giá trị theo thứ tự các tùy chọn của thuộc tính. Shopify hỗ trợ tối đa 3 tùy chọn và 2048 biến thể cho mỗi sản phẩm; sản phẩm có nhiều tùy chọn hơn sẽ bị bỏ qua kèm cảnh báo. Sản phẩm con bị tắt không được chuyển.
- Thuế: sản phẩm có loại thuế None không chịu thuế.
- Mô tả ngắn được lưu trong metafield
magento.short_description.
Đơn hàng
Section titled “Đơn hàng”| Trạng thái Magento | Trạng thái thanh toán Shopify | Xử lý đơn |
|---|---|---|
| Pending (new), On hold | Pending (hoặc Paid, nếu đã xuất hóa đơn) | Unfulfilled |
| Processing | Paid (hoặc Partially paid) | Unfulfilled, hoặc Fulfilled khi đã giao toàn bộ |
| Complete | Paid | Fulfilled |
| Closed | Refunded (hoặc Partially refunded) | - |
| Canceled | Voided | - |
Trạng thái thanh toán được tính từ số tiền Magento ghi nhận là đã thanh toán và đã hoàn. Đơn hàng ở trạng thái Pending payment hoặc Payment review không được chuyển. Mỗi đơn hàng đã chuyển nhận thẻ magento và thẻ magento-<status> (ví dụ magento-complete), đồng thời giữ số đơn Magento (#000000145).
Quy tắc giá giỏ hàng
Section titled “Quy tắc giá giỏ hàng”| Magento | Shopify |
|---|---|
| Quy tắc có phiếu giảm giá cụ thể | Mã giảm giá |
| Quy tắc không có phiếu giảm giá | Giảm giá tự động |
| Percent of product price discount | Giảm theo phần trăm |
| Fixed amount discount | Giảm một số tiền cố định trên mỗi mặt hàng đủ điều kiện |
| Fixed amount discount for whole cart | Giảm một số tiền cố định trên đơn hàng |
| Miễn phí vận chuyển (số tiền giảm 0) | Giảm giá miễn phí vận chuyển |
| Điều kiện Subtotal equals or greater than | Số tiền mua tối thiểu |
| Điều kiện Total items quantity | Số lượng mặt hàng tối thiểu |
| Điều kiện Shipping country (miễn phí vận chuyển) | Giao hàng tới các quốc gia đã chọn |
| Điều kiện hành động SKU hoặc Category | Sản phẩm hoặc bộ sưu tập cụ thể |
| Uses per coupon / Uses per customer = 1 | Giới hạn sử dụng / Giới hạn một lần sử dụng cho mỗi khách hàng |
| Discard subsequent rules | Không kết hợp với giảm giá khác |
DataEase không bao giờ làm cho một khoản giảm giá rộng hơn so với trong Magento. Quy tắc chỉ áp dụng cho một số nhóm khách hàng, quy tắc có điều kiện mà Shopify không thể biểu diễn (phương thức thanh toán, thuộc tính giỏ hàng, điều kiện kết hợp) và quy tắc Buy X get Y sẽ bị bỏ qua kèm cảnh báo - hãy tạo lại chúng thủ công. Quy tắc không hoạt động và mã phiếu giảm giá được tạo tự động không được chuyển.
Khắc phục sự cố
Section titled “Khắc phục sự cố”| Thông báo | Cách xử lý |
|---|---|
| Magento rejected the integration keys | Kiểm tra cả bốn khóa và đảm bảo integration đang ở trạng thái Active. Nếu bạn đã ủy quyền lại, hãy sao chép access token và secret mới. |
| The consumer isn’t authorized to access … | Chỉnh sửa integration, đặt Resource Access thành All (hoặc thêm tài nguyên nêu trong thông báo) và lưu lại. |
| Magento REST API endpoint … was not found | Kiểm tra địa chỉ cửa hàng - dùng địa chỉ storefront, không dùng URL trang quản trị. |
| returned a non-JSON response | Tường lửa, chế độ bảo trì hoặc bộ nhớ đệm đang chặn REST API. Cho phép các yêu cầu /rest/ trong thời gian chuyển. |
| must be reachable from the internet | Dùng địa chỉ công khai của cửa hàng, không dùng localhost hoặc IP nội bộ. |
| Image … was not copied | Không truy cập được URL hình ảnh. Trang giữ liên kết cũ - hãy tải hình ảnh lên thủ công trong Content → Files. |
Câu hỏi thường gặp
Section titled “Câu hỏi thường gặp”Khách hàng có nhận email không? Không. Khách hàng và đơn hàng được tạo mà không có thông báo hay lời mời.
Cửa hàng Magento của tôi có bị thay đổi không? Không. DataEase chỉ đọc dữ liệu từ đó.
Các khóa integration có được lưu trữ không? Chỉ trong khi quá trình chuyển đang chạy, ở dạng mã hóa. Các khóa bị xóa khi quá trình chuyển hoàn tất, thất bại hoặc bị hủy.
Tôi có nhiều website hoặc store view. Cái nào được chuyển? Store view mặc định của website mặc định: tên, mô tả, giá và URL của nó.
Bạn đang chuyển từ WordPress hoặc giữa hai cửa hàng Shopify? Xem Chuyển từ WordPress / WooCommerce và Chuyển dữ liệu cửa hàng.