Skip to main content
Mọi request thất bại đều trả về cùng một cấu trúc JSON, bất kể endpoint nào hay lỗi gì:
code là một chuỗi ổn định, có thể đọc bằng máy, bạn có thể dùng nó để rẽ nhánh xử lý. message là mô tả dễ đọc cho người, hữu ích khi ghi log, nhưng đừng parse nó vì nội dung có thể thay đổi theo thời gian. Khi nền tảng đích từ chối một bài đăng, message mở đầu bằng nguyên văn của nền tảng đó, thường là tiếng Anh. Nếu MADIAD Hub có bản dịch tiếng Việt cho câu đó, bản dịch nằm ngay sau · Tạm dịch:. Đây là bản dịch đúng nghĩa: nó giữ đủ các mệnh đề và các con số của nền tảng, không thêm lời khuyên nào của chúng tôi. Câu nào chưa có bản dịch thì giữ nguyên tiếng Anh chứ không đoán bừa. Phần duy nhất bị sửa còn lại là những gì thuộc về chúng tôi: tên, địa chỉ hỗ trợ và link tài liệu của backend xuất bản được đổi thành của MADIAD, còn định danh Profile nội bộ thì được gỡ bỏ.

Bảng mã lỗi

Xem Idempotency để hiểu Idempotency-Key ngăn tạo bài đăng trùng lặp khi retry như thế nào, và Rate limit để hiểu giới hạn theo phút đứng sau rate_limited.

Khi nào nên retry?

Hãy phân nhánh theo mã trạng thái, đừng bao giờ dựa vào câu chữ trong message:
Tới trước ngày 07/08/2026, mọi lỗi phát sinh từ backend xuất bản đều được báo là 502, kể cả những lỗi vĩnh viễn như caption vượt giới hạn hoặc Profile chưa kết nối tài khoản. Vì vậy các automation retry theo 5xx đã retry cả những request không bao giờ thành công được. Nếu tích hợp của bạn đang lách chỗ này bằng cách đọc message, giờ có thể bỏ đoạn đó và phân nhánh theo mã trạng thái.

Lỗi không có envelope chuẩn

Một request multipart quá lớn có thể bị chặn ở tầng biên mạng trước khi tới được MADIAD Hub, phản hồi khi đó là 413 Request Entity Too Large dạng thuần (không có envelope JSON). Hãy chuyển sang gửi ảnh bằng photo_urls[]: MADIAD Hub sẽ tự tải ảnh về phía máy chủ, nên request body luôn nhỏ gọn bất kể ảnh lớn đến đâu. Nén file ảnh lại cũng là một cách nếu chỉ vượt nhẹ.