Nếu bạn đã từng mua sắm trên một giao diện cửa hàng tùy chỉnh không giống một mẫu có sẵn, rất có thể API thương mại điện tử headless đã hoạt động đằng sau đó. API thương mại điện tử headless là giao diện mà một hệ thống phụ trợ thương mại điện tử (commerce backend) cung cấp để bất kỳ giao diện cửa hàng nào cũng có thể đọc sản phẩm, tạo giỏ hàng và đặt hàng mà không bị ràng buộc bởi một giao diện dựng sẵn. Bài giải thích này sẽ trình bày ý nghĩa của điều đó, cách nó liên quan đến thương mại điện tử composable và MACH, và tại sao giao diện cửa hàng cùng các nhóm đối tác của bạn phụ thuộc vào hợp đồng API đó. Nó dựa trên ý tưởng rằng phần mềm đang chuyển sang mô hình headless và API của bạn giờ đây là sản phẩm.
button
“Headless” nghĩa là gì trong thương mại điện tử
Các nền tảng thương mại điện tử truyền thống được phát hành dưới dạng một khối thống nhất. Danh mục sản phẩm, giỏ hàng, thanh toán và các trang HTML hiển thị chúng đều nằm trong cùng một hệ thống. Bạn áp dụng chủ đề, tinh chỉnh và triển khai.
Thương mại điện tử Headless chia hệ thống đó thành hai phần. Hệ thống phụ trợ (backend), thường được gọi là công cụ thương mại điện tử (commerce engine), giữ vai trò quản lý danh mục, giá cả, kho hàng, giỏ hàng và logic đặt hàng. Giao diện người dùng (frontend), tức là giao diện cửa hàng của bạn, trở thành một ứng dụng riêng biệt mà bạn xây dựng theo ý muốn. Điều duy nhất kết nối chúng là một API.
Vì vậy, “head” (đầu) là lớp trình bày (presentation layer). Chuyển sang headless có nghĩa là loại bỏ "đầu" cố định và để lộ "thân", tức là logic thương mại, thông qua một API. Một trang web React, một ứng dụng di động gốc, màn hình tủ lạnh thông minh hoặc trợ lý giọng nói đều có thể giao tiếp với cùng một hệ thống phụ trợ vì tất cả chúng đều "nói" cùng một API.
Sự tách rời đó là điểm mấu chốt. Nhóm frontend của bạn chọn framework riêng và triển khai theo lịch trình riêng. Nhóm backend sở hữu các quy tắc thương mại. API là ranh giới giữa hai nhóm.
Đánh đổi là bạn sẽ phải làm nhiều việc hơn. Một nền tảng truyền thống cung cấp cho bạn một cửa hàng hoạt động ngay lập tức. Chuyển sang headless có nghĩa là bạn tự xây dựng và lưu trữ giao diện cửa hàng, vì vậy sự linh hoạt đi kèm với chi phí kỹ thuật. Các nhóm chọn headless khi một giao diện chủ đề có sẵn không thể mang lại trải nghiệm mà họ cần, hoặc khi họ muốn phục vụ nhiều kênh từ một hệ thống phụ trợ.
Headless so với Composable so với MACH
Ba thuật ngữ này thường được sử dụng thay thế cho nhau, nhưng chúng mô tả các phạm vi khác nhau. Dưới đây là phân tích trung thực.
| Thuật ngữ | Mô tả | Phạm vi |
|---|---|---|
| Thương mại điện tử Headless | Frontend được tách rời khỏi một backend thương mại điện tử duy nhất, được kết nối bằng API | Một backend, một hoặc nhiều frontend |
| Thương mại điện tử Composable | Toàn bộ hệ thống được chia thành các dịch vụ "best-of-breed" có thể hoán đổi (danh mục, tìm kiếm, thanh toán, PIM, OMS) | Nhiều dịch vụ độc lập được lắp ghép lại với nhau |
| MACH | Một tập hợp các nguyên tắc kiến trúc mà các hệ thống composable thường tuân theo | Một triết lý, không phải một sản phẩm |
Headless là trường hợp hẹp. Bạn có thể là headless với một backend nguyên khối, miễn là giao diện cửa hàng giao tiếp với nó qua API.
Thương mại điện tử Composable đi xa hơn. Thay vì một backend, bạn lắp ghép các dịch vụ độc lập và chọn công cụ tốt nhất cho từng tác vụ. Tìm kiếm từ một nhà cung cấp, thanh toán từ một nhà cung cấp khác, một công cụ quản lý thông tin sản phẩm riêng biệt. Mỗi thứ là một dịch vụ riêng với API riêng, và bạn kết hợp chúng lại thành một trải nghiệm duy nhất.
MACH là tập hợp các nguyên tắc đằng sau hầu hết các hệ thống composable. Theo MACH Alliance, một nhóm ngành được thành lập vào năm 2020, MACH là viết tắt của Microservices, API-first, Cloud-native SaaS và Headless. Hãy chú ý rằng API-first nằm ngay giữa. Trong thế giới MACH, API không phải là một tính năng phụ. Đó là cách duy nhất các phần tử giao tiếp với nhau, đây cũng là lý do đằng sau việc coi API của bạn như một sản phẩm.
API thương mại điện tử headless thực sự cung cấp những gì
Hình dạng chính xác khác nhau tùy theo nền tảng, nhưng hầu hết các API thương mại điện tử headless đều bao gồm các tác vụ cốt lõi tương tự:
- Danh mục và sản phẩm. Đọc sản phẩm, biến thể, bộ sưu tập và phương tiện để giao diện cửa hàng có thể hiển thị danh sách và trang chi tiết.
- Tìm kiếm và duyệt. Truy vấn, lọc và sắp xếp danh mục.
- Giỏ hàng và thanh toán. Tạo giỏ hàng, thêm và xóa các mặt hàng, áp dụng giảm giá và tiến tới thanh toán.
- Khách hàng. Đăng nhập, quản lý tài khoản và theo dõi lịch sử đơn hàng.
- Kho hàng và giá cả. Hiển thị mức tồn kho và giá chính xác cho từng ngữ cảnh phù hợp.
Một số nền tảng chia chúng thành một API giao diện cửa hàng (storefront API) hướng tới công chúng và một API quản trị (admin API) riêng biệt cho công việc hậu cần. API giao diện cửa hàng chủ yếu là đọc dữ liệu và hướng tới khách hàng. API quản trị xử lý việc chỉnh sửa danh mục, quản lý đơn hàng và cấu hình.
Giao thức cũng quan trọng. Nhiều API thương mại điện tử headless là GraphQL, cho phép giao diện cửa hàng yêu cầu chính xác các trường cần thiết chỉ trong một lần gửi yêu cầu. Các API khác là REST, và một số nền tảng cung cấp cả hai. Nếu bạn đang cân nhắc các đánh đổi, hãy xem REST vs GraphQL.
Các nền tảng chính
Không gian thương mại điện tử headless được chia đại khái thành các công cụ SaaS và các công cụ mã nguồn mở. Một vài cái tên bạn sẽ gặp:
- commercetools. Một thành viên sáng lập của MACH Alliance và là một trong những nền tảng thương mại điện tử composable được nhắc đến nhiều nhất. Được thiết kế theo nguyên tắc API-first và cloud-native.
- Shopify. Cung cấp các bản dựng headless thông qua Storefront API của mình, với Hydrogen như một framework React để tiêu thụ nó. Nếu bạn đã ở trong thế giới Shopify, hướng dẫn Shopify API của chúng tôi là một điểm khởi đầu tốt.
- BigCommerce. Hỗ trợ chế độ headless với GraphQL Storefront và Checkout API bên trên danh mục của nó. Xem hướng dẫn của chúng tôi về cách sử dụng BigCommerce APIs.
- Saleor. Một công cụ mã nguồn mở, ưu tiên GraphQL được xây dựng trên Python và Django.
- Medusa. Một công cụ mã nguồn mở được xây dựng trên Node.js và TypeScript, phổ biến với các nhóm JavaScript muốn kiểm soát hoàn toàn hệ thống phụ trợ.
Hãy xác minh các chi tiết cụ thể của nền tảng trước khi cam kết, vì giá cả, mô hình lưu trữ và phạm vi bao phủ API có thể thay đổi. Mô hình chung của tất cả chúng là giống nhau: công cụ phơi bày logic thương mại thông qua một API, và bạn xây dựng "head" (giao diện người dùng).
Tại sao các nhóm phụ thuộc vào hợp đồng API thương mại điện tử
Khi giao diện cửa hàng được tách rời, API không còn là một phần "đường ống dẫn" mà trở thành thỏa thuận mà mọi người đều xây dựng dựa vào đó. Đây là lúc headless trở nên thực tế.
Nhóm frontend của bạn không thể triển khai trang sản phẩm cho đến khi họ biết hình dạng chính xác của phản hồi sản phẩm. Các tích hợp đối tác của bạn, một ứng dụng khách hàng thân thiết, một dịch vụ thuế, một nguồn cấp dữ liệu thị trường, tất cả đều kết nối vào cùng một điểm cuối. Một nhóm di động sử dụng cùng một hợp đồng với nhóm web. Nếu hình dạng phản hồi thay đổi mà không có cảnh báo, mọi người tiêu dùng đó có thể bị lỗi cùng lúc.
Đó là rủi ro và cơ hội. Một hợp đồng API thương mại điện tử rõ ràng, ổn định, được tài liệu hóa tốt cho phép các nhóm độc lập di chuyển nhanh chóng mà không cản trở nhau. Một hợp đồng mơ hồ hoặc không nhất quán sẽ biến mỗi lần phát hành thành một cuộc phối hợp hỗn loạn. Hợp đồng là sản phẩm, vì vậy nó xứng đáng được chăm sóc như chính giao diện cửa hàng, bao gồm cả kiểm thử hợp đồng để phát hiện các thay đổi gây lỗi trước khi chúng được triển khai.
Quản lý phiên bản cũng là một phần của thỏa thuận. Khi bạn cần thay đổi phản hồi sản phẩm hoặc đổi tên một trường, bạn không thể chỉ chỉnh sửa điểm cuối và hy vọng. Những người tiêu dùng mà bạn không kiểm soát đang đọc nó. Vì vậy, các nhóm headless coi hợp đồng là một cam kết công khai: các thay đổi bổ sung nếu có thể, các khoảng thời gian ngừng hỗ trợ rõ ràng và các thử nghiệm gắn cờ bất kỳ điều gì gây lỗi trước khi nó đến tích hợp của đối tác.
Apidog phù hợp ở đâu
Apidog không vận hành cửa hàng của bạn. Nó không phải là một công cụ thương mại điện tử, một CMS hay một gateway, và nó không làm cho hệ thống của bạn trở nên headless hay composable. Điều nó làm là sở hữu trụ cột API-first của tất cả những điều này: lớp nơi bạn thiết kế, kiểm thử, giả lập và tài liệu hóa hợp đồng mà mọi thứ khác phụ thuộc vào.

Điều đó phù hợp một cách rõ ràng với công việc thương mại điện tử headless:
- Thiết kế hợp đồng trước. Mô hình hóa API giao diện cửa hàng hoặc API quản trị dưới dạng đặc tả OpenAPI trong Apidog trước khi có code, để frontend và backend đồng ý về hình dạng ngay từ đầu.
- Giả lập trước khi backend sẵn sàng. Khởi tạo một máy chủ giả lập từ đặc tả để nhóm giao diện cửa hàng của bạn xây dựng dựa trên các phản hồi sản phẩm và giỏ hàng thực tế trong khi công cụ thương mại điện tử vẫn đang được thiết lập. Đó là lời hứa tách rời được thực hiện một cách thực tế, và bạn có thể đọc thêm trong bài giải thích API giả lập của chúng tôi.
- Kiểm thử hợp đồng trong CI. Apidog CLI chạy các bài kiểm thử API của bạn mà không cần GUI, thực hiện kiểm thử headless phù hợp với pipeline. Đó là một sự tương đồng khái niệm thực sự với thương mại điện tử headless: không cần frontend, chỉ cần hợp đồng được xác minh.
- Tài liệu hóa nó cho các đối tác. Các tài liệu tương tác, tự động tạo cung cấp cho các nhóm giao diện cửa hàng và đối tác của bạn một nguồn thông tin đáng tin cậy duy nhất cho API mà họ đang tích hợp.
Để tìm hiểu sâu hơn về lý do tại sao điều này quan trọng khi API trở thành giao diện duy nhất, hãy xem phần mềm đang chuyển sang mô hình headless và API của bạn giờ đây là sản phẩm. Nếu bạn muốn thử quy trình làm việc, tải Apidog và nhập một đặc tả hiện có.
Các câu hỏi thường gặp
Thương mại điện tử headless có giống với thương mại điện tử composable không?
Không. Thương mại điện tử headless tách rời giao diện cửa hàng khỏi một hệ thống phụ trợ thương mại điện tử thông qua API. Thương mại điện tử composable đi xa hơn và lắp ghép nhiều dịch vụ "best-of-breed" độc lập, mỗi dịch vụ có API riêng, thành một trải nghiệm duy nhất. Mọi hệ thống composable đều là headless, nhưng một thiết lập headless với một hệ thống phụ trợ nguyên khối không nhất thiết phải là composable.
Tôi có cần GraphQL cho một API thương mại điện tử headless không?
Không. GraphQL phổ biến vì nó cho phép giao diện cửa hàng yêu cầu chính xác các trường cần thiết trong một cuộc gọi duy nhất, điều này rất phù hợp cho việc hiển thị sản phẩm và giỏ hàng. Nhưng nhiều API thương mại điện tử headless sử dụng REST, và một số nền tảng cung cấp cả hai. Giao thức ít quan trọng hơn việc hợp đồng phải ổn định và được tài liệu hóa.
Tôi có thể kiểm thử một API thương mại điện tử headless trước khi hệ thống phụ trợ được xây dựng không?
Có, và đó là một trong những lý do chính để áp dụng cách tiếp cận thiết kế-trước. Nếu bạn mô hình hóa hợp đồng API dưới dạng đặc tả, bạn có thể tạo một máy chủ giả lập trả về các phản hồi thực tế. Nhóm giao diện cửa hàng của bạn sẽ xây dựng và kiểm thử dựa trên máy chủ giả lập trong khi công cụ thương mại điện tử vẫn đang được phát triển, sau đó chuyển sang các điểm cuối thực tế sau.
MACH Alliance là gì?
MACH Alliance là một nhóm ngành được thành lập vào năm 2020 để thúc đẩy các ngăn xếp công nghệ mở, "best-of-breed" được xây dựng trên các nguyên tắc Microservices, API-first, Cloud-native SaaS và Headless. Các nhà cung cấp như commercetools là thành viên sáng lập. MACH là một tập hợp các nguyên tắc kiến trúc, không phải một sản phẩm duy nhất bạn mua.
Hợp đồng là cửa hàng
Thương mại điện tử Headless chuyển giá trị từ giao diện chủ đề sang API. Một khi giao diện cửa hàng được tách rời, API thương mại điện tử là thứ mà các nhóm frontend, di động và đối tác của bạn thực sự xây dựng dựa vào. Thương mại điện tử composable và MACH đẩy điều đó đi xa hơn bằng cách biến API-first thành một nguyên tắc cốt lõi chứ không phải là một tính năng "có thì tốt".
Không có điều nào trong số đó phụ thuộc vào Apidog, nhưng chất lượng của hợp đồng chắc chắn được hưởng lợi từ một nơi để thiết kế, giả lập, kiểm thử và tài liệu hóa nó. Nếu đó là nơi dự án headless của bạn đang hướng tới, Apidog cung cấp cho bạn lớp đó mà không giả vờ là công cụ thương mại điện tử bên dưới.
button
