Hướng dẫn dành cho nhà phát triển
Tạo công cụ tự động hóa xây dựng liên kết với BlogDrip API
Kết nối phần mềm của bạn trực tiếp với BlogDrip và tự động hóa quy trình đặt bài viết khách. Xây dựng quy trình SEO tùy chỉnh, tích hợp các ứng dụng hiện có và quản lý hoạt động xây dựng liên kết hiệu quả hơn.
Tại sao tự động hóa
Tại sao nên xây dựng công cụ tự động hóa xây dựng liên kết riêng
Các agency SEO và đội ngũ marketing nội bộ đều gặp cùng một mô hình vận hành: tìm kiếm cơ hội xuất bản thủ công, nhập lại đơn đặt bài viết khách, quản lý đồng thời nhiều chiến dịch khách hàng, chuyển giao thông tin giữa các hệ thống nội bộ, theo dõi tiến độ đơn, và cố gắng mở rộng tất cả những việc này mà không tăng tương ứng nhân sự.
Một tích hợp API sẽ loại bỏ công việc lặp đi lặp lại và cơ học khỏi đội ngũ của bạn và xử lý chúng bằng mã. Phần mềm hiện có của bạn — CRM, công cụ quản lý chiến dịch, hoặc bảng điều khiển tùy chỉnh mà nhóm đang sử dụng — kết nối trực tiếp với thị trường. Người vận hành tập trung vào chiến lược, bản tóm tắt và kiểm soát chất lượng thay vì nhập đơn.
Tự động hóa mang lại hiệu quả quy trình, chứ không phải thứ hạng SEO. Nó sẽ không khiến một chiến dịch kém hiệu quả trở nên thành công, và không thay thế được phán đoán con người khi chọn nhà xuất bản. Điều nó làm tốt là loại bỏ tầng nhập dữ liệu, nên khi bạn quyết định mua gì, bạn có thể thực hiện ở bất kỳ quy mô nào.

Những gì bạn có thể xây dựng
Những giải pháp bạn có thể tạo với BlogDrip API
Các mô hình thiết thực cho phần mềm xây dựng trên nền tích hợp thị trường theo lập trình.
Bảng điều khiển đặt bài viết khách tùy chỉnh
Ứng dụng nội bộ kết nối với BlogDrip và gửi các đơn đặt bài viết khách được hỗ trợ từ giao diện do đội ngũ bạn kiểm soát.
Hệ thống quản lý agency SEO
Đặt bài viết khách được tích hợp vào quy trình của agency hiện tại, giúp quản lý chiến dịch không phải rời khỏi hệ thống họ đang dùng.
Gửi đơn tự động
Các yêu cầu API tạo hàng loạt đơn bài viết khách được hỗ trợ, không cần nhập dữ liệu thủ công cho từng đơn.
Quản lý chiến dịch khách hàng
Kết nối hồ sơ khách hàng và chiến dịch nội bộ với quy trình đặt hàng trên BlogDrip — một nguồn dữ liệu duy nhất cho việc ai đang mua gì.
Tự động hóa quy trình
Kích hoạt các thao tác API được hỗ trợ từ quy trình nội bộ — phê duyệt, khởi động, các đợt chiến dịch theo lịch.
Báo cáo và giám sát
Kéo thông tin liên quan đến đơn vào công cụ báo cáo tùy chỉnh khi được hỗ trợ. Hạn định phạm vi báo cáo theo những gì API thực sự cung cấp thay vì giả định có khả năng quan sát thời gian thực đầy đủ.
Kiến trúc
Ví dụ về kiến trúc tự động hóa
Một tích hợp lành mạnh phân tách các mối quan tâm ra bốn lớp.
Ở trên cùng là ứng dụng tự động hóa bên ngoài của bạn — bảng điều khiển tùy chỉnh, phần mềm agency SEO, CRM nội bộ hoặc hệ thống quản lý chiến dịch. Đây là nơi nhóm của bạn làm việc hàng ngày.
Bên dưới là backend ứng dụng của bạn. Các trách nhiệm của nó là những việc mọi tích hợp cần làm đúng: lưu `x-client-id` và `x-client-secret` một cách an toàn, xác thực đầu vào trước khi nó đến BlogDrip, chuẩn bị và gửi yêu cầu API, xử lý các phản hồi `{ data, pagination }`, ghi lại các sự kiện vận hành, và quản lý retry an toàn để một sự cố mạng tạm thời không biến thành đơn trả phí bị trùng.
Từ đó, các yêu cầu đến API dành cho nhà quảng cáo của BlogDrip — bề mặt công khai có phiên bản dưới `/api/public/*` — nơi cung cấp chức năng đặt bài viết khách được hỗ trợ.
API dẫn đơn vào thị trường BlogDrip — hơn 275,000 website trong tổng kho — và từ đó vào quy trình xử lý đơn và xuất bản tương ứng. Tùy theo website được chọn, việc xuất bản có thể do nhà xuất bản thực hiện thủ công hoặc tự động thông qua plugin WordPress của BlogDrip hoặc kết nối API dành cho Agency. Không phải website nào trong thị trường cũng hỗ trợ xuất bản tức thì, nên tích hợp của bạn nên coi thời điểm xuất bản là phụ thuộc vào quy trình từng website, chứ không phải ngay lập tức.

Xây dựng công cụ tự động hóa, từng bước
Tám bước từ xác định phạm vi đến giám sát. Xem chúng như tham chiếu, không phải trình tự cứng — nhiều bước có thể chạy song song.
Xác định quy trình tự động hóa
Xác định những tác vụ nào nên được tự động hóa, thông tin ứng dụng của bạn cần là gì, khi nào nên gửi đơn, cách ngăn chặn đơn trùng, cách xử lý lỗi, và cách lưu dữ liệu chiến dịch. Một ví dụ phạm vi cụ thể: một agency quản lý 20 khách hàng, mỗi khách có 3–5 chiến dịch đang hoạt động, muốn các chiến dịch mới tự động tạo đơn cho danh sách rút gọn các website được phê duyệt trước — nhưng chỉ sau khi con người phê duyệt brief chiến dịch.
Lấy quyền truy cập BlogDrip API
Mở tài khoản của bạn tại app.blogdrip.com/settings và vào Cài đặt của tôi → Truy cập API để tìm thông tin xác thực. Bạn sẽ thấy hai giá trị: `x-client-id` và `x-client-secret`. Mật khẩu (secret) chỉ hiển thị một lần khi phát hành hoặc khi được xoay vòng, nên hãy sao chép vào trình quản lý bí mật của bạn ngay lập tức. Việc truy cập yêu cầu chi tiêu tài khoản tối thiểu €500 mỗi tháng — bao gồm đơn thủ công và đơn qua API, cộng gộp. Quyền truy cập API sẽ bị vô hiệu hóa tự động nếu mức tối thiểu không đạt trong tháng đó. €500 là ngưỡng chi tiêu, không phải phí đăng ký API riêng.
Đọc tài liệu API
Tài liệu chính thức tại app.blogdrip.com/api/public/docs/index.html mô tả chính xác các endpoint dưới namespace `/api/public/*`, xác thực (cặp header đã nêu ở trên), phương thức yêu cầu, tham số bắt buộc, định dạng phản hồi (các endpoint danh sách đóng gói phản hồi trong `{ data, pagination }` với phân trang bắt đầu từ 0 `?page=0`), lỗi xác thực (`{ message }`), và các thao tác đặt hàng có sẵn. Hãy coi tài liệu là nguồn chính: nếu một tham số không được ghi trong tài liệu, đừng giả định nó tồn tại.
Xây dựng kết nối API
Tạo backend ứng dụng lưu trữ cả `x-client-id` và `x-client-secret` một cách an toàn (biến môi trường, secret manager — không bao giờ trong mã frontend), gửi yêu cầu có xác thực với cả hai header, phân tích phản hồi, xử lý lỗi, và ghi log có cấu trúc cho mọi cuộc gọi ra ngoài. Giữ client API như một module nhỏ, có kiểm thử tốt để phần còn lại của ứng dụng không nói chuyện trực tiếp với BlogDrip.
Triển khai đặt bài viết khách tự động
Kết nối quy trình nội bộ của bạn với các thao tác đặt hàng BlogDrip được hỗ trợ. Một luồng điển hình: một chiến dịch mới được tạo trong hệ thống của bạn → chọn một website (giải mã `marketSiteId` từ các endpoint marketplace) → ứng dụng của bạn chuẩn bị thông tin đơn cần thiết (title, URL, description, `categoryId`, `marketSiteId`, `campaignId`, `scheduleDate` tùy chọn, `linkNoFollow`) → backend xác thực đơn theo quy tắc doanh nghiệp của bạn → ứng dụng gửi đơn qua Advertiser API → phản hồi được lưu trong hệ thống để truy vết. Xác thực mọi trường theo đặc tả OpenAPI trước khi gửi.
Xử lý lỗi và đơn trùng
Xác thực yêu cầu trước khi gửi, ngăn ngừa đặt đơn trùng vô tình (sử dụng khóa idempotency hoặc kiểm tra loại trùng phía máy chủ là mô hình an toàn), ghi log mọi lỗi API với đủ ngữ cảnh để gỡ lỗi sau này, xử lý một cách mềm dẻo các sự cố kết nối tạm thời, và tôn trọng bất kỳ giới hạn tốc độ nào được ghi trong tài liệu. Một nguyên tắc cần ghi nhớ: không bao giờ tự động thử lại một yêu cầu tạo đơn không idempotent mà không có xác nhận rõ ràng từ con người hoặc hệ thống — thử lại trên một đơn đã thành công nhưng bạn không thấy phản hồi sẽ tạo ra phí kép.
Kiểm thử tích hợp
Chạy tích hợp của bạn trên môi trường sandbox nếu có trong tài liệu. Nếu không có sandbox, thử nghiệm trên môi trường production một cách thận trọng — không bao giờ chạy bộ kiểm thử tự động tạo đơn trả phí thực sự mà không có ủy quyền rõ ràng. Dùng một chiến dịch thử chuyên dụng với kiểm duyệt có con người trước khi đơn tự động đầu tiên được gửi, và khóa các lần chạy kiểm thử tự động vào danh sách chấp nhận ngắn gồm các website bạn đã phê duyệt trước cho kiểm thử tích hợp.
Triển khai và giám sát
Di chuyển thông tin xác thực vào kho bí mật production, thêm giám sát cho các lỗi tích hợp và các mẫu gửi đơn bất thường, theo dõi kết quả gửi đơn đầu-cuối, giữ log vận hành đủ lâu để gỡ lỗi một sự cố hai tuần tuổi, giám sát chi tiêu tài khoản để không mất truy cập API do chi tiêu dưới ngưỡng €500 hàng tháng, và theo dõi changelog của BlogDrip cho các cập nhật API có thể yêu cầu bảo trì tích hợp.
Mô hình tích hợp
Hình mẫu của một tích hợp lành mạnh
Nguồn tham chiếu cho ví dụ có thể chạy là đặc tả OpenAPI tại app.blogdrip.com/api/public/openapi.json và tài liệu đọc được cho con người tại /api/public/docs. Đặc tả là thứ mã của bạn nên được sinh hoặc kiểm tra theo — không phải đoạn mã trên trang giới thiệu có thể trở nên lỗi thời.
Trong thực tế, một tích hợp sạch sẽ thường theo cùng một khuôn mẫu. Một module client API mỏng trong ngôn ngữ bạn chọn — một hàm wrapper cho mỗi thao tác bạn cần — xử lý cơ chế: đặt header `x-client-id` và `x-client-secret` trên mọi yêu cầu, tuần tự hóa body yêu cầu, giải tuần tự phong bì `{ data, pagination }` trên các endpoint danh sách (phân trang bắt đầu từ 0), và chuyển các phản hồi lỗi (`{ message }`) thành ngoại lệ mà logic nghiệp vụ có thể bắt được gọn gàng. Mỗi wrapper nên có ít nhất một kiểm thử khẳng định hình dạng đã được tài liệu, để khi có thay đổi schema nó xuất hiện như một kiểm thử thất bại trước khi đến production. Chỉ sau khi module đó ổn định, bạn mới nối nó vào phần còn lại của ứng dụng — kích hoạt chiến dịch, hàng đợi đơn, worker retry, báo cáo.
Chuỗi đó giữ cho tích hợp có thể kiểm toán: client API của bạn là một bề mặt nhỏ, có kiểm thử; mọi thứ khác nói chuyện với BlogDrip thông qua nó.

Thực hành tốt nhất
Những yếu tố giúp tích hợp API bền bỉ
Các mô hình giữ cho hệ thống tự động khỏe mạnh lâu sau ngày ra mắt.
Idempotency từ thiết kế
Xem việc tạo đơn là tốn kém và không thể đảo ngược. Loại trùng ở phía bạn trước khi yêu cầu được gửi — không bao giờ sau.
Quản lý thông tin xác thực
Thông tin xác thực API nên nằm trong secret manager, phân theo môi trường. Xoay vòng khi nhân sự rời đi, không chờ đến khi có vi phạm.
Ghi log có cấu trúc
Mỗi cặp yêu cầu + phản hồi đều có một correlation ID. Bạn trong tương lai khi gỡ lỗi một đơn cũ sẽ cảm ơn bạn hôm nay.
Client tuân thủ giới hạn tốc độ
Tôn trọng các giới hạn tốc độ được ghi trong tài liệu. Client biết lùi lại một cách gọn gàng sẽ dễ mở rộng hơn client thử lại ồ ạt.
Con người trong vòng xử lý
Đặt cuộc gọi production đầu tiên sau khi có phê duyệt của con người. Mở rộng tự động hóa chỉ sau khi tích hợp đã chứng minh ổn định.
Giám sát chi tiêu
Cảnh báo khi chi tiêu tài khoản hàng tháng có xu hướng tiến tới hoặc dưới €500. Mất quyền truy cập API giữa chừng một chiến dịch là điều khó chịu.
Câu hỏi thường gặp
BlogDrip API dành cho ai?
Các tài khoản nhà quảng cáo muốn kết nối phần mềm của họ — bảng điều khiển tùy chỉnh, nền tảng agency SEO, CRM nội bộ — với quy trình đặt bài viết khách của BlogDrip. Người dùng điển hình là các agency quản lý chiến dịch ở quy mô lớn, đội SEO nội bộ tích hợp với hệ thống hiện có, và các nhà phát triển xây dựng công cụ vận hành cho một khách hàng hoặc sản phẩm cụ thể.
Tôi có cần là nhà phát triển để dùng API không?
Để xây dựng tích hợp thì có. API là giao diện lập trình — sử dụng nó đòi hỏi viết mã hoặc làm việc với một nhà phát triển. Nếu bạn muốn lợi ích vận hành mà không làm tích hợp, giao diện trên thị trường (marketplace) cung cấp cùng chức năng đặt hàng theo cách thủ công.
Yêu cầu truy cập là gì?
Một tài khoản BlogDrip hoạt động và có chi tiêu ít nhất €500 mỗi tháng tổng cộng — đơn thủ công và đơn API đều được tính vào ngưỡng. Quyền truy cập API sẽ tự động bị vô hiệu hóa nếu tài khoản chi dưới mức tối thiểu trong một tháng. €500 là ngưỡng khối lượng chi tiêu, không phải phí đăng ký API riêng.
Tài liệu API ở đâu?
Tài liệu API chính thức được xuất bản tại app.blogdrip.com/api/public/docs/index.html, với đặc tả OpenAPI máy đọc được tại app.blogdrip.com/api/public/openapi.json. Cả hai mô tả sơ đồ xác thực, danh mục đầy đủ các endpoint dưới namespace `/api/public/*`, hình dạng yêu cầu và phản hồi, định dạng phân trang và các phản hồi lỗi. Hãy coi chúng là nguồn chính cho tích hợp của bạn.
Tôi tìm thông tin xác thực API ở đâu?
Trong Cài đặt của tôi → Truy cập API tại app.blogdrip.com/settings. Bạn sẽ nhận được `x-client-id` và `x-client-secret`; cả hai được gửi trong mọi yêu cầu có xác thực như HTTP headers. Mật khẩu chỉ hiển thị một lần khi phát hành hoặc khi xoay vòng — sao chép vào secret manager ngay, vì không thể truy xuất lại sau này. Thông tin xác thực là theo tài khoản; đối xử chúng như bất kỳ bí mật nào khác và không lưu vào version control.
Phân trang hoạt động như thế nào trên các endpoint danh sách?
Các endpoint danh sách đóng gói phản hồi trong phong bì `{ data, pagination }` và sử dụng phân trang bắt đầu từ 0 — gửi `?page=0` cho trang đầu, `?page=1` cho trang thứ hai, v.v. Khối pagination trong phản hồi cho bạn biết còn trang tiếp theo hay không. Nếu bạn di chuyển từ giao diện cũ `/api/<path>`, hình dạng phản hồi không thay đổi — chỉ có base path di chuyển sang `/api/public/*`.
API có hỗ trợ webhooks không?
Kiểm tra đặc tả OpenAPI tại app.blogdrip.com/api/public/openapi.json để biết danh sách hiện tại các cơ chế callback hoặc thông báo sự kiện được hỗ trợ. Nếu một tính năng không được liệt kê, hãy xây dựng tích hợp mà không giả định nó tồn tại — polling API theo lịch của bạn là phương án an toàn thay thế.
Có môi trường sandbox không?
Câu trả lời chính xác nằm trong tài liệu API hiện tại. Nếu có sandbox được liệt kê, hãy dùng nó cho kiểm thử tích hợp. Nếu không có, đừng tạo đơn trả phí thực sự trong quá trình kiểm thử tự động mà không có ủy quyền rõ ràng — dùng chiến dịch thử chuyên dụng và kiểm duyệt có con người thay thế.
Đơn API có thể sử dụng xuất bản tức thì không?
Khả năng xuất bản tức thì phụ thuộc vào website được chọn có tích hợp xuất bản tự động được hỗ trợ hay không (hoặc plugin WordPress của BlogDrip hoặc kết nối API dành cho Agency). Mọi đơn — API hay thủ công — đặt trên một website đủ điều kiện đều có thể hưởng lợi từ xuất bản tự động. Không phải website nào trong thị trường cũng hỗ trợ, nên tích hợp của bạn nên coi thời điểm xuất bản là theo từng website, không đồng đều.
Sự khác nhau giữa Advertiser API và Agency API là gì?
Advertiser API dành cho khách hàng muốn tự động hóa đặt bài viết khách từ phần mềm của họ. Agency API dành cho các agency bên ngoài, nền tảng xây dựng liên kết và mạng lưới nhà xuất bản muốn kết nối kho nội dung của họ với BlogDrip và tự động hóa các quy trình hoàn tất được hỗ trợ. Cả hai hoạt động độc lập — dùng cái này không yêu cầu phải dùng cái kia.
Chuyện gì xảy ra nếu tôi thử lại một yêu cầu tạo đơn thất bại?
Nếu bạn không nhận được phản hồi xác nhận, hãy giả định yêu cầu đầu tiên có thể đã thành công ở phía server. Không tự động thử lại các yêu cầu tạo đơn không idempotent. Thêm khóa loại trùng phía máy chủ, hoặc truy vấn xem đơn có thể đã được tạo chưa trước khi thử lại — tùy theo quy trình của bạn. Thử lại trên một đơn đã thành công nhưng bạn không nhìn thấy phản hồi sẽ tạo ra phí trả kép.
Sẵn sàng tự động hóa xây dựng liên kết?
Mở tài liệu API, tạo thông tin xác thực và bắt đầu xây dựng. Thị trường sẽ mở rộng theo tự động hóa của bạn — không phải ngược lại.
