Skip to main content
Make giao tiếp với MADIAD Hub qua module chung HTTP → Make a request, không cần cài app tuỳ chỉnh nào. Thêm module này vào bất kỳ scenario nào, bạn có thể đăng khi Google Sheet thay đổi, theo lịch, khi có form gửi về, hoặc theo bất kỳ sự kiện kích hoạt nào khác mà Make hỗ trợ.
Hướng dẫn này giả định bạn đã có API key và ít nhất một profile được kết nối. Nếu chưa, hãy làm Bắt đầu nhanh trước (5 phút).

1. Khối cơ bản: HTTP → Make a request

Mọi lệnh gọi bên dưới đều dùng chung một module là HTTP → Make a request. Các thiết lập chung:
Tạo một API key riêng cho Make (đặt tên make trong dashboard). Nếu bị lộ, bạn chỉ thu hồi đúng key đó mà không ảnh hưởng các tích hợp khác. Lưu key trong một biến scenario hoặc data store của Make thay vì dán vào từng module.

2. Đăng một bài chỉ có chữ

Thêm module HTTP → Make a request:
  • URLhttps://api.madiad.com/v1/posts/text
  • MethodPOST
  • Headers là thêm Authorization = Bearer mdc_live_…
  • Body typeRaw
  • Content typeapplication/json
  • Request content:
Bài chỉ có chữ dùng JSON. Ảnh và video dùng hai định dạng khác nhau, xem Đăng file.

3. Chống trùng lặp bằng Idempotency-Key

Make chạy lại một module khi gặp lỗi hoặc khi bạn thực thi lại scenario. Để tránh đăng trùng, thêm một header có giá trị ổn định cho mỗi mục. Hub sẽ coi lần lặp lại cùng key là cùng một yêu cầu. Thêm header: Dùng một giá trị duy nhất cho mỗi bài định đăngkhông đổi khi thử lại chính bài đó. Lựa chọn tốt: một UUID bạn sinh một lần rồi ghi ngược lại vào dòng dữ liệu, hoặc một hash của chính nội dung.
Tuyệt đối không dùng giá trị bị tái sử dụng. Số dòng bảng tính sẽ dịch chuyển khi bạn xoá dòng, khiến nội dung hôm nay mang một key mà bài hôm qua đã chiếm. Khi gặp key đã dùng, Hub trả về kết quả và không đăng gì cả, nên một key hỏng trông y hệt một bài đăng thành công. Hãy để ý header Idempotent-Replayed: true, và xem Idempotency.

4. Đăng ảnh hoặc video

Ảnh dùng POST /v1/posts/photos. Đặt Body type thành Multipart/form-data, lặp lại platforms[] một lần cho mỗi nền tảng, và đính kèm ảnh qua một trường file map từ module trước (ví dụ Google Drive → Download a file, hoặc HTTP → Get a file): Đã có sẵn URL ảnh công khai thay vì file? Bỏ qua bước tải lên và gửi photo_urls[] dưới dạng Raw JSON, xem Đăng ảnh bằng URL. Video dùng POST /v1/posts/video, chỉ nhận JSON chứ không nhận file tải lên. Đặt Body type thành Raw / application/json và truyền một video_url công khai:

5. Xử lý phản hồi bất đồng bộ

Bài chỉ có chữ hoặc bài ảnh tới các nền tảng nhanh thường trả về "status": "completed". Video là bất đồng bộ, nó trả về "status": "processing" và một request_id. Có hai cách hoàn tất: Poll là thêm module Sleep, rồi một module HTTP → Make a request khác:
Bọc nó trong một Repeater và dừng khi statuscompleted, partial, hoặc failed. Webhook (khuyến nghị) là thêm module Custom webhook trong Make, sao chép địa chỉ của nó, và đăng ký trong dashboard tại hub.madiad.com/dashboard/webhooks cho sự kiện post.completed. Hub ký mỗi lần gửi bằng HMAC-SHA256, hãy xác thực trước khi tin vào payload. Xem Webhooks.

6. Đọc kết quả theo từng nền tảng

Khi bật Parse response, bạn map thẳng phản hồi. Một bài đăng có thể thành công một phần, hãy rẽ nhánh theo success của từng nền tảng thay vì chỉ nhìn status tổng:
Dùng một Router với bộ lọc theo success để chuyển các lỗi sang một cảnh báo.

Ví dụ scenario: Google Sheets → mọi nền tảng

  1. Google Sheets → Watch rows (hoặc Search rows theo lịch với status = ready).
  2. HTTP → Make a requestPOST /v1/posts/photos với profile_id, platforms[], và caption map từ dòng đó; Idempotency-Key là một cột UUID trên dòng đó (không dùng số dòng, xem cảnh báo ở trên).
  3. Router theo phản hồi → nếu thành công, Google Sheets → Update a row thành published; nếu lỗi, gửi cảnh báo.

Bước tiếp theo

Tuỳ chọn theo nền tảng

Ghi đè caption, tiêu đề và tuỳ chọn cho từng nền tảng.

Lên lịch

Để Hub tự đăng vào thời điểm tương lai.

Idempotency

Chạy lại an toàn cho mọi quy trình tự động hóa.

Webhooks

Nhận callback có chữ ký khi bài đăng hoàn tất.