API Nội dung
API Nội dung cung cấp các điểm cuối để tạo, lập lịch, tải lên phương tiện, kiểm tra và hủy các công việc xuất bản trên mạng xã hội.
📌 Điểm cuối
Phần tiêu đề “📌 Điểm cuối”| Phương thức | Đường dẫn | Mô tả | Scope yêu cầu |
|---|---|---|---|
POST | /v1/brand/contents/uploads | Tạo URL PUT được ký trước để tải lên hình ảnh và video | publishing:create hoặc * |
POST | /v1/brand/contents | Gửi bài viết ngay lập tức hoặc theo lịch trình (202 Accepted) | publishing:create hoặc * |
GET | /v1/brand/contents | Liệt kê nội dung thương hiệu với phân trang và bộ lọc trạng thái | publishing:read hoặc * |
GET | /v1/brand/contents/{content_id} | Lấy chi tiết nội dung và kết quả công việc xuất bản | publishing:read hoặc * |
DELETE | /v1/brand/contents/{content_id}/cancel | Hủy một bài viết đã lên lịch trước khi quá trình xử lý bắt đầu | publishing:delete hoặc * |
1. URL được ký trước để tải lên phương tiện (POST /v1/brand/contents/uploads)
Phần tiêu đề “1. URL được ký trước để tải lên phương tiện (POST /v1/brand/contents/uploads)”Để đính kèm phương tiện vào bài viết, hãy yêu cầu một URL tải lên được ký trước và tải lên tệp tin nhị phân trực tiếp vào bộ lưu trữ S3/R2 thông qua HTTP PUT.
Các định dạng phương tiện được hỗ trợ
Phần tiêu đề “Các định dạng phương tiện được hỗ trợ”- Hình ảnh (Tối đa 20MB, URL hết hạn sau 300 giây):
image/jpeg,image/png,image/webp,image/gif - Video (Tối đa 500MB, URL hết hạn sau 600 giây):
video/mp4,video/quicktime(.mov),video/webm
Ví dụ yêu cầu
Phần tiêu đề “Ví dụ yêu cầu”curl -X POST "https://api.ankk.app/v1/brand/contents/uploads" \ -H "Authorization: Bearer spk_live_xxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "filename": "launch-banner.png", "content_type": "image/png", "size": 1420500 }'Ví dụ phản hồi (200 OK)
Phần tiêu đề “Ví dụ phản hồi (200 OK)”{ "upload_url": "https://storage.ankk.app/sns-posts/original/brand_.../launch-banner.png?X-Amz-Signature=...", "asset_ref": "https://cdn.ankk.app/sns-posts/original/brand_.../launch-banner.png", "method": "PUT", "object_key": "sns-posts/original/brand_.../launch-banner.png", "content_type": "image/png", "size": 1420500, "expires_in_seconds": 300}Tải lên tệp tin nhị phân qua PUT
Phần tiêu đề “Tải lên tệp tin nhị phân qua PUT”curl -X PUT "<upload_url>" \ -H "Content-Type: image/png" \ --data-binary "@/path/to/launch-banner.png"2. Xuất bản nội dung (POST /v1/brand/contents)
Phần tiêu đề “2. Xuất bản nội dung (POST /v1/brand/contents)”Gửi văn bản cùng với asset_ref đã tải lên để tạo một công việc xuất bản.
Các trường trong thân yêu cầu
Phần tiêu đề “Các trường trong thân yêu cầu”| Trường | Loại | Bắt buộc | Mô tả |
|---|---|---|---|
connection_id | string | Bắt buộc | ID kết nối SNS mục tiêu (API Kết nối) |
idempotency_key | string | Bắt buộc | Khóa duy nhất do khách hàng tạo để ngăn chặn việc gửi trùng lặp |
text | string | Tùy chọn | Văn bản thân bài viết |
media | array | Tùy chọn | Mảng các đối tượng phương tiện với url hoặc asset_ref |
scheduled_for | string | Tùy chọn | Dấu thời gian ISO 8601 để lập lịch. Bỏ qua nếu muốn xuất bản ngay lập tức |
thread_posts | array | Tùy chọn | Các bài viết bổ sung cho chuỗi hội thoại Threads |
provider_settings | object | Tùy chọn | Cấu hình riêng cho từng nền tảng (ví dụ: danh mục YouTube) |
Ví dụ yêu cầu (Bài viết ngay lập tức)
Phần tiêu đề “Ví dụ yêu cầu (Bài viết ngay lập tức)”curl -X POST "https://api.ankk.app/v1/brand/contents" \ -H "Authorization: Bearer spk_live_xxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "connection_id": "conn_01jm8x9k2example", "idempotency_key": "launch-2026-001", "text": "Excited to launch our new product today! 🚀\nhttps://ankk.app", "media": [ { "url": "https://cdn.ankk.app/sns-posts/original/brand_.../launch-banner.png" } ] }'Ví dụ phản hồi (202 Accepted)
Phần tiêu đề “Ví dụ phản hồi (202 Accepted)”{ "content_id": "content_01jm8za2example", "status": "scheduled", "publish_job_id": "job_01jm8za2jobexample", "connection_id": "conn_01jm8x9k2example", "idempotency_key": "launch-2026-001"}3. Liệt kê và Kiểm tra Nội dung
Phần tiêu đề “3. Liệt kê và Kiểm tra Nội dung”Liệt kê nội dung (GET /v1/brand/contents)
Phần tiêu đề “Liệt kê nội dung (GET /v1/brand/contents)”curl -X GET "https://api.ankk.app/v1/brand/contents?status=published&limit=20" \ -H "Authorization: Bearer spk_live_xxxxxxxx"Lấy chi tiết nội dung (GET /v1/brand/contents/{content_id})
Phần tiêu đề “Lấy chi tiết nội dung (GET /v1/brand/contents/{content_id})”curl -X GET "https://api.ankk.app/v1/brand/contents/content_01jm8za2example" \ -H "Authorization: Bearer spk_live_xxxxxxxx"4. Hủy bài viết đã lên lịch (DELETE /v1/brand/contents/{content_id}/cancel)
Phần tiêu đề “4. Hủy bài viết đã lên lịch (DELETE /v1/brand/contents/{content_id}/cancel)”Hủy một bài viết đã scheduled trước khi việc thực thi bắt đầu.
curl -X DELETE "https://api.ankk.app/v1/brand/contents/content_01jm8za2example/cancel" \ -H "Authorization: Bearer spk_live_xxxxxxxx"