Startup có nên Open API ?
Mấy ngày nay tôi toàn viết bài kể chuyện (trong chuỗi bài Chuyện gì đã xảy ra ở Deligent), hôm nay đổi gió làm bài về kĩ thuật nha.
Mở đầu
Trong bài viết này, tôi sẽ chia sẻ góc nhìn cá nhân về việc các startup đặc biệt là các startup nhỏ có nên Open API hay không, và vì sao tôi chọn Open API từ rất sớm cho sản phẩm goihangchuan.vn - sau tôi xin gọi tắt là GHC cho gọn.
Bài viết này được xuất bản vào 05/04/2025, OpenAPI của GHC có thể sẽ được release vào 07/04/2025.
Những tín hiệu đầu tiên
Trước khi bắt đầu, chúng ta cần biết Open API là gì đã.

Open API là một cách để hệ thống của bạn "mở cửa" cho các hệ thống bên ngoài – như phần mềm khác hoặc đối tác – có thể kết nối, trao đổi dữ liệu hoặc sử dụng một số chức năng nhất định. Nhờ có Open API, bên thứ ba không cần phải “tự lần mò” mà có tài liệu rõ ràng, cách gọi API minh bạch, và chỉ được phép truy cập trong phạm vi bạn cho phép.
Hãy tưởng tượng bạn vào một quán cà phê. Trên bàn có sẵn một menu – đó chính là Open API. Menu liệt kê tất cả món bạn có thể gọi: cà phê sữa, trà đào, bánh mì,… và đi kèm hướng dẫn đơn giản: gọi tên món và thanh toán. Bạn không cần biết cách chế biến hay vào bếp xem đầu bếp làm gì. Bất kỳ ai – dù là khách quen hay mới – cũng có thể dùng menu này để đặt món một cách dễ dàng. Tương tự, với Open API, hệ thống bên ngoài có thể “gọi món” từ hệ thống của bạn theo cách bạn đã quy định sẵn. - ChatGPT gen
Thiệt ra trong quá trình phát triển GHC, Open API chưa bao giờ được đưa vào roadmap. Do các nguyên nhân tiêu biểu dưới đây:
- Thời gian phát triển đang rất cấp bách.
- Nguồn lực của công ty thì hạn chế.
- Tâm lý ngại.
Hai lý do đầu khá rõ ràng và không cần bàn cãi nhiều. Tuy nhiên, cái khiến tôi trăn trở nhất là tâm lý “ngại open” – điều mà tôi thấy rất phổ biến ở các startup, và cả chính bản thân tôi cũng không ngoại lệ.
Có một sự e dè nhất định khi nghĩ đến việc phải mở dữ liệu ra cho bên ngoài sử dụng, dù biết là có xác thực, có kiểm soát. Nó giống như cảm giác “vạch áo cho người xem lưng” – có thể kéo theo nhiều rủi ro bảo mật mà mình chưa lường trước hết được. Càng nhận thức được điều đó, tâm lý ngại “open” lại càng lớn.
Mà khổ cái, sợ cái gì thì cái đó sẽ đến, ngay từ khi giới thiệu GHC lần đầu tôi đã gặp những câu hỏi như:
- Có Open API không em ?
- Đấu nối với phần mềm bên anh được không ?
- Giờ anh muốn tự thêm những đơn hàng hoàn vào Google Sheet thì có được không ?

Biết là sớm muộn gì cũng phải đối mặt, nhưng vẫn thấy hơi ngán. Vì những câu hỏi đó không đơn thuần chỉ là yêu cầu kỹ thuật mà nó là một lời nhắc rằng: sản phẩm muốn sống thì không thể mãi khép kín.

Open API không còn là “nice-to-have”, mà là một expectation mặc định. Khách hàng, đối tác họ không chỉ muốn dùng, mà còn muốn tích hợp, tùy biến, mở rộng theo nhu cầu riêng. Và không thể cứ mãi xây sản phẩm như một "ốc đảo".
Vì sao tôi chọn Open API cho GHC?
Quay lại GHC một chút. Đây là giải pháp giúp seller quay video đóng hàng, gửi hàng, trả hàng một cách chuyên nghiệp, với các tính năng như:
- Quay tự động bằng QR đơn hàng.
- Lưu trữ video trên cloud (không tốn dung lượng thiết bị).
- Hỗ trợ đa nền tảng (web, iOS, Android) và đa kênh (Shopee, TikTok,...).
- Quản lý nhiều nhân viên, tích hợp camera rời, máy quét mã vạch.
Khách hàng của tôi chủ yếu là các shop TMĐT. Họ không chỉ cần một công cụ quay video đơn thuần mà còn muốn kết nối với hệ thống quản lý đơn hàng, kho vận, hoặc thậm chí tự động đẩy dữ liệu lên Google Sheets để tiện theo dõi. Đó là chưa kể đa phần khách hàng hiện đã dùng phần mềm quản lí đơn hàng như Haravan, KiotViet,... Những nhu cầu trên chỉ có thể đáp ứng khi có Open API.
Ngoài ra, dưới đây là những lý do chính khiến tôi quyết định “open” GHC:
- Tăng tính cạnh tranh: GHC sẽ trở nên mạnh mẽ hơn nếu chúng tôi có thể kết nối thêm với bên thứ 3 để đồng bộ dữ liệu với nhau. Đây là điều mà ít đối thủ cạnh tranh của chúng tôi có hỗ trợ.
- Đáp ứng kỳ vọng khách hàng: Seller không chỉ muốn quay video, họ muốn tích hợp dữ liệu với quy trình của riêng mình. Không có Open API, GHC sẽ mãi chỉ là công cụ khó mở rộng.
- Tạo hệ sinh thái: Open API cho phép đối tác, nhà phát triển bên thứ ba xây dựng các tính năng bổ sung dựa trên GHC, từ đó gia tăng giá trị sản phẩm mà không cần team dev làm.
Bắt tay vào làm
Quyết định đã có, nhưng triển khai thế nào lại là một câu chuyện khác. Với nguồn lực hạn chế của một startup nhỏ, tôi phải lên kế hoạch chi tiết để vừa đảm bảo tiến độ, vừa không làm xáo trộn hệ thống hiện tại.
Công nghệ sử dụng
Để rút ngắn thời gian triển khai mà vẫn đảm bảo hiệu suất, tôi quyết định chọn FastAPI làm framework chính cho Open API. FastAPI tự động tạo ra tài liệu, đây một điểm cộng lớn khi mà team dev của tôi thường hay ngán viết docs.
Ngoài ra, để xử lý các tác vụ bất đồng bộ như gửi thông báo realtime qua webhook, tôi dùng RabbitMQ làm hàng đợi (message queue). RabbitMQ giúp giảm tải cho hệ thống bằng cách xếp hàng các request gửi webhook, đảm bảo không bị nghẽn khi có quá nhiều shop yêu cầu thông báo cùng lúc. Cụ thể:
- Khi một đơn hàng được ghi nhận, hệ thống đẩy sự kiện vào RabbitMQ.
- Worker riêng biệt sẽ lấy sự kiện từ queue và gửi webhook đến URL mà đối tác đăng ký.
Phương thức xác thực
Để đảm bảo an toàn và kiểm soát truy cập, tôi thiết kế quy trình xác thực như sau:
- Đăng ký tài khoản đối tác: Các bên thứ ba (partner) muốn dùng Open API phải đăng ký tài khoản đối tác qua website goihangchuan.vn. Họ cung cấp thông tin cơ bản như tên công ty, mục đích sử dụng, và URL nhận webhook (nếu có).
- Xét duyệt thủ công: Team CSKH sẽ xem xét từng đăng ký trong vòng 24-48 giờ. Nếu hợp lệ, chúng tôi cấp một Partner ID duy nhất cho họ. Quy trình thủ công này giúp chọn lọc những đối tác chất lượng.
- Chủ shop cấp quyền: Sau khi có Partner ID, đối tác cần được chủ shop (người dùng GHC) cấp quyền truy cập vào dữ liệu cửa hàng của họ. Chủ shop ấn vào link cấp quyền của Partner cung cấp, hệ thống sinh ra một API Key riêng cho cặp shop-partner đó.
- Sử dụng API Key: Đối tác dùng API Key này trong header của mỗi request (ví dụ: Authorization: Bearer <API_KEY> hoặc bỏ trong x-api-key).
Quy trình này vừa bảo mật (không ai tự ý truy cập dữ liệu shop), vừa linh hoạt (chủ shop toàn quyền kiểm soát), dù hơi mất công xét duyệt thủ công ở đầu vào.
Các giai đoạn triển khai
Giai đoạn 1: Xác định phạm vi API và thiết kế tổng quan
Tôi bắt đầu bằng việc ngồi lại với team để liệt kê các API cần mở. Sau khi phân tích feedback từ khách hàng (như yêu cầu đẩy đơn hoàn lên Google Sheets hay tra cứu video), tôi quyết định tập trung vào các API lấy thông tin (GET) ở 4 mục chính:

Open API được thiết kế như một service độc lập với backend chính của GHC. Lý do là:
- Tránh ảnh hưởng đến hệ thống hiện tại (quay video, lưu trữ).
- Dễ bảo trì và mở rộng sau này.
Giai đoạn 2: Phát triển, kiểm thử trong sandbox và viết tài liệu
Việc code khá nhanh vì hầu hết logic (lấy dữ liệu shop, đơn hàng, video) đã có sẵn từ backend chính. Team backend chỉ cần viết wrapper để expose qua API, tích hợp RabbitMQ cho webhook, và thêm middleware xác thực. Tổng thời gian dev ước tính 2 tuần.
Chúng tôi dựng một môi trường sandbox riêng trên server dev để chạy thử.
Viết docs là phần tôi ngán nhất, như ăn chè đậu. Hên là FastAPI tự sinh docs cơ bản, nên team chỉ cần bổ sung ví dụ thực tế (dùng cURL và Python) và hướng dẫn lấy API Key. Tài liệu hoàn thiện được đăng lên landing page riêng trên goihangchuan.vn, kèm video demo 1 phút.
Giai đoạn 3: Triển khai lên production
Open API được deploy lên production, chạy song song với backend chính. Nó được tích hợp vào dashboard của GHC, cho phép khách hàng tạo API Key từ mục “Đối tác” trong tài khoản.
Những rủi ro cần lường trước
Nhưng không có gì là màu hồng mãi mãi, và Open API cũng vậy. Dưới đây là những rủi ro tôi đã cân nhắc.
Bảo mật
Dù có xác thực bằng API Key, vẫn luôn tồn tại nguy cơ dữ liệu lạm dụng. Ví dụ, một đối tác nào đó có thể cố tình spam request để quá tải hệ thống (DDoS kiểu nhỏ), hoặc tìm cách truy cập dữ liệu ngoài phạm vi cho phép. Để hạn chế điều này, tôi áp dụng rate limiting và định kỳ audit log request. Nhưng mà nghĩ đến có ngày mình bị hack cũng cũng thấy ớn.
Task chồng tasks
Backend vốn đã bận với hệ thống quay video, cloud, giờ thêm Open API là thêm một đứa con nữa cần chăm sóc. Mỗi khi có lỗi API, team phải chạy đua fix ngay để không ảnh hưởng khách hàng. Chưa kể, nếu số lượng request tăng đột biến, chúng tôi có thể phải scale server. Giải pháp tạm thời là tách API thành service độc lập (như kế hoạch triển khai), nhưng về lâu dài cũng khá đuối đó.
Chi phí vận hành tăng
Ở trên server production, mỗi request đều tốn tiền.
Chăm sóc khách hàng, chăm sóc đối tác
Mở API nghĩa là phải hỗ trợ cả shop lẫn đối tác. Từ cách lấy Key, gọi API, đến xử lý lỗi. Team CSKH chắc chắn sẽ mệt với mấ câu hỏi kiểu “Sao API không chạy?”. Chưa kể, nếu docs tệ, đối tác nghỉ làm, mọi công sức đổ sông đổ biển.
Phản hồi tiêu cực nếu không ổn định
Nếu API lỗi liên tục hoặc chậm, uy tín GHC có thể bị ảnh hưởng theo. Khách hàng rất nhạy cảm với tốc độ phản hồi của API. Chậm quá là bị chê liền.
GHC là vậy đó, còn bạn thì sao ?
Đến đây, tôi đã kể khá chi tiết về hành trình Open API của GHC – từ lúc “ngại open” đến quyết định release ngày 07/04/2025. Nhưng GHC là GHC, còn startup của bạn thì sao? Có nên mở API không, và mở vào lúc nào? Nó phụ thuộc vào mô hình kinh doanh của bạn – B2B hay B2C – và một số yếu tố thực tế khác.

Nếu bạn làm B2B như GHC thì nên cân nhắc sớm. Khách hàng doanh nghiệp không chỉ mua sản phẩm, họ muốn tích hợp nó vào quy trình của họ. Với GHC, các shop cần API để kết nối với kho vận, CRM, hay Google Sheets – đó là nhu cầu thực tế từ ngày đầu.
Nếu bạn làm B2C (Deligent nè), Open API không phải lúc nào cũng cần thiết, ít nhất là ở giai đoạn đầu. Người dùng cá nhân thường chỉ muốn sản phẩm dễ dùng, không quan tâm đến tích hợp phức tạp.
Dù bạn làm mô hình nào, đây là vài câu hỏi để tự check.
- Khách hàng có thực sự cần không?
- Team có đủ sức không?
- Bạn sẵn sàng hỗ trợ chưa?
- Chi phí có kham nổi không?
Tổng kết
Vậy các startup nhỏ có nên Open API không? Theo tôi, câu trả lời là có, nhưng phải tùy thời điểm và nguồn lực.
Ngày 07/04/2025, khi Open API của GHC ra mắt, tôi hy vọng nó sẽ là cầu nối giúp các seller tích hợp tốt hơn với quy trình của họ, đồng thời là tiền đề để GHC không chỉ là một phần mềm quay video, mà là một hệ sinh thái thực thụ.
Cảm ơn bạn đã đọc đến cuối bài. Bài hơi dài đọc hơi ngán, ngày mai Chủ nhật mình tiếp tục series kể chuyện Deligent hen!
Bình luận ()