Xóa sản phẩm liên quan khỏi tin tức
API này giúp bạn gỡ một hoặc nhiều sản phẩm liên quan khỏi một bài viết tin tức. Chỉ liên kết giữa sản phẩm và bài viết bị gỡ bỏ — bản thân sản phẩm không bị xóa khỏi hệ thống.
Endpoint
http DELETE https://staging-manage.api.miniai.vn/api/external/news/{id}/items
http DELETE https://manage-api.miniap.vn/api/external/news/{id}/items
API tin tức nằm trực tiếp dưới /api/external/news, không có tiền tố /v1 như API sản phẩm hay đơn hàng.
Xác thực (Authentication)
Mọi request phải gửi kèm API key của bạn trong header:
| Header | Giá trị | Yêu cầu |
|---|---|---|
x-api-key | miniai-partner <API_KEY_CỦA_BẠN> | Bắt buộc |
Content-Type | application/json | Bắt buộc |
Hệ thống tự động xác định gian hàng (shopId) từ API key của bạn và gán vào request.
Vì vậy bạn không cần gửi shopId trong body.
Tham số đường dẫn (Path Parameters)
| Tham số | Kiểu | Yêu cầu | Mô tả |
|---|---|---|---|
id | string | Bắt buộc | ID của tin tức cần gỡ sản phẩm (ObjectId 24 ký tự hex) |
Dữ liệu yêu cầu (Request Body)
API này là request DELETE kèm JSON body — khác với thói quen của một số thư viện HTTP.
Ví dụ với axios, body của DELETE phải đặt trong config.data:
axios.delete(url, { headers, data: { newsIds: [...] } }).
Với fetch hoặc curl, gửi body như request POST thông thường.
Tham số (Parameters)
| Trường | Kiểu | Yêu cầu | Mô tả |
|---|---|---|---|
newsIds | string[] | Bắt buộc | Danh sách ID sản phẩm cần gỡ khỏi bài viết (xem lưu ý bên dưới) |
Dù có tên là newsIds, trường này nhận ID của sản phẩm, không phải ID tin tức —
giống với API Thêm sản phẩm liên quan vào tin tức.
Nếu ID sản phẩm không nằm trong danh sách liên quan của bài viết, hệ thống bỏ qua và vẫn trả về thành công (idempotent). Bạn có thể gọi lại API nhiều lần mà không gây lỗi.
- Request Body
- cURL (Staging)
- cURL (Production)
- Axios
{
"newsIds": [
"68c93dba802d36826bc45d01",
"68c93dba802d36826bc45d02"
]
}
curl -X DELETE 'https://staging-manage.api.miniai.vn/api/external/news/68c93dba802d36826bc45c9c/items' \
-H 'x-api-key: miniai-partner <API_KEY_CỦA_BẠN>' \
-H 'Content-Type: application/json' \
-d '{
"newsIds": [
"68c93dba802d36826bc45d01",
"68c93dba802d36826bc45d02"
]
}'
curl -X DELETE 'https://manage-api.miniap.vn/api/external/news/68c93dba802d36826bc45c9c/items' \
-H 'x-api-key: miniai-partner <API_KEY_CỦA_BẠN>' \
-H 'Content-Type: application/json' \
-d '{
"newsIds": [
"68c93dba802d36826bc45d01",
"68c93dba802d36826bc45d02"
]
}'
await axios.delete(
'https://staging-manage.api.miniai.vn/api/external/news/68c93dba802d36826bc45c9c/items',
{
headers: {
'x-api-key': 'miniai-partner <API_KEY_CỦA_BẠN>',
'Content-Type': 'application/json',
},
data: {
newsIds: ['68c93dba802d36826bc45d01', '68c93dba802d36826bc45d02'],
},
},
);
Phản hồi (Response)
Thành công trả về mã 200. Phản hồi chỉ gồm cờ success, không kèm dữ liệu bài viết.
Để xem danh sách sản phẩm còn lại, hãy gọi Lấy danh sách tin tức
và kiểm tra trường items của bài viết.
- Response
{
"success": true
}
Lỗi thường gặp
| Mã | Nguyên nhân |
|---|---|
400 | Thiếu newsIds, hoặc newsIds không phải mảng chuỗi |
404 | Không tìm thấy tin tức với id đã cho |
401 | Thiếu header x-api-key, sai tiền tố miniai-partner , hoặc API key không hợp lệ |
429 | Vượt giới hạn số request (xem mục Giới hạn bên dưới) |
500 | id hoặc phần tử trong newsIds không đúng định dạng ObjectId, hoặc lỗi hệ thống |
- Lỗi 400 - Validation
- Lỗi 404 - Không tìm thấy
- Lỗi 429 - Quá giới hạn
{
"statusCode": 400,
"error": "Bad Request",
"message": "Validation failed",
"validation": {
"body": {
"source": "body",
"keys": ["newsIds"],
"message": "\"newsIds\" is required"
}
}
}
{
"error": "Resource not found",
"message": "không tìm thấy tin tức"
}
{
"error": "Too many requests, limit to 100 requests per minute"
}
Giới hạn (Rate limit)
Mỗi gian hàng được gọi tối đa 100 request mỗi phút trên toàn bộ External API.
Vượt quá giới hạn sẽ nhận mã 429.
Các bước tiếp theo
- Lấy danh sách tin tức — kiểm tra trường
itemscủa bài viết sau khi gỡ - Thêm sản phẩm liên quan vào tin tức — gắn lại sản phẩm vào bài viết
- Xóa tin tức — xóa vĩnh viễn bài viết khỏi hệ thống