Bài viết
Quản lý bài viết của Blog LadiPage và mục tin tức trên Website LadiPage: liệt kê, xem, tạo bản nháp, sửa, đăng hoặc hẹn giờ đăng, xoá; quản lý danh mục và thẻ. Nội dung bài viết là HTML.
Mọi API trong trang gọi bằng POST https://api.ladipage.net/2.0/api/{tên-api} với header api-key. Xem Xác thực và Mã lỗi.
| API | Việc làm | Loại |
|---|---|---|
post-list-sites | Liệt kê Blog và Website có bài viết | Đọc |
post-list | Liệt kê bài viết | Đọc |
post-get | Xem chi tiết bài viết | Đọc |
post-list-categories | Liệt kê danh mục và thẻ | Đọc |
post-create | Tạo bài viết (bản nháp) | Tạo |
post-update | Sửa bài viết | Cập nhật |
post-publish | Đăng hoặc gỡ bài viết | Cập nhật |
post-delete | Xoá bài viết | Xoá |
post-create-category | Tạo danh mục bài viết | Tạo |
post-update-category | Sửa danh mục bài viết | Cập nhật |
post-delete-category | Xoá danh mục bài viết | Xoá |
post-create-tag | Tạo thẻ bài viết | Tạo |
post-update-tag | Sửa thẻ bài viết | Cập nhật |
post-delete-tag | Xoá thẻ bài viết | Xoá |
Liệt kê Blog và Website có bài viết Đọc
POST/2.0/api/post-list-sites
Liệt kê các Blog và Website của workspace, mỗi nơi kèm site_type và site_id. Gọi trước mọi API post-* khác để lấy cặp site_type + site_id.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_type | string | Lọc theo loại: BLOG = Blog LadiPage, WEBSITE = mục tin tức của Website LadiPage, ALL = cả hai.Giá trị: BLOG, WEBSITE, ALLMặc định: ALL |
| keyword | string | Tìm theo tên hoặc tên miền, không phân biệt hoa thường. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-list-sites \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "WEBSITE"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"total": 2,
"items": [
{
"site_type": "WEBSITE",
"site_id": "6a1f3c9e2b7d4e0012a5c8f1",
"name": "Thời Trang An",
"link": "https://thoitrangan.vn"
},
{
"site_type": "BLOG",
"site_id": "6a0e7b2c4d9f1a0013b6d2e4",
"name": "Blog Thời Trang An",
"link": "https://blog.thoitrangan.vn"
}
]
}
}link là địa chỉ trang: ưu tiên tên miền riêng đã xác minh, nếu không có thì dùng tên miền mặc định.
Lưu ý
site_typephân biệt hai loại nơi chứa bài: BLOG là Blog LadiPage, WEBSITE là mục tin tức của Website LadiPage. Mọi APIpost-*khác cần đúng cặpsite_type+site_idlấy từ đây.- Trả tối đa 100 Blog và 100 Website, xếp theo lần cập nhật gần nhất.
- Nếu vai trò của chủ token trong workspace không được xem Blog hoặc Website, loại đó bị bỏ khỏi danh sách mà không báo lỗi.
Liệt kê bài viết Đọc
POST/2.0/api/post-list
Liệt kê bài viết của một Blog hoặc Website, có phân trang, lọc theo trạng thái, danh mục và từ khoá. Dùng để lấy post_id cho các API xem, sửa, đăng, xoá bài.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | BLOG = Blog LadiPage; WEBSITE = mục tin tức của Website LadiPage. Lấy từ post-list-sites.Giá trị: BLOG, WEBSITE |
| site_idbắt buộc | string | Id của Blog hoặc Website, lấy từ post-list-sites. |
| keyword | string | Tìm trong tiêu đề, mô tả ngắn hoặc đường dẫn bài, không phân biệt dấu. Khi có keyword, status và category_id bị bỏ qua. |
| status | string | Lọc theo trạng thái: PUBLISH = đang hiển thị, DRAFT = bản nháp, ALL = tất cả.Giá trị: ALL, PUBLISH, DRAFTMặc định: ALL |
| category_id | string | Chỉ lấy bài thuộc danh mục này. Lấy id từ post-list-categories. |
| page | integer | Số trang, bắt đầu từ 1.Mặc định: 1 |
| limit | integer | Số bài mỗi trang, tối đa 50.Mặc định: 20 |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-list \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "BLOG",
"site_id": "65a1c3e7b2d94f0012ab34cd",
"status": "PUBLISH",
"page": 1,
"limit": 20
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"site_link": "https://blog.thoitrangan.vn",
"total": 2,
"page": 1,
"limit": 20,
"items": [
{
"post_id": "6a2b9d4e1c7f3a0014c8e5b2",
"title": "Cách chọn giày chạy bộ cho người mới",
"url": "cach-chon-giay-chay-bo",
"status": "PUBLISH",
"published_at": "2026-10-20T09:00:00+07:00",
"updated_at": "2026-10-22T14:35:12+07:00"
},
{
"post_id": "6a2c1e7f3b9d4a0015d2f6c3",
"title": "5 mẹo phối đồ công sở mùa thu",
"url": "5-meo-phoi-do-cong-so-mua-thu",
"status": "DRAFT",
"published_at": null,
"updated_at": "2026-10-27T16:10:45+07:00"
}
]
}
}url là đường dẫn (slug) của bài; status là PUBLISH (đang hiển thị) hoặc DRAFT (bản nháp).
Lưu ý
- Bài đã xoá (trong Thùng rác) không có trong danh sách.
- status của bài là PUBLISH hoặc DRAFT; với Blog có thể gặp thêm ONLY_FOR_SUBSCRIBER (bài chỉ dành cho người đăng ký, đặt trong ứng dụng LadiPage). Lọc status=PUBLISH không trả các bài này.
- Blog xếp bài nổi bật trước, rồi bài ghim, rồi bài cập nhật gần nhất. Với Website và khi tìm theo keyword, thứ tự bài chưa được đảm bảo.
- Ghép link với url để có địa chỉ đầy đủ của bài: <
site_link>/<url>.
Xem chi tiết bài viết Đọc
POST/2.0/api/post-get
Lấy đầy đủ một bài viết: nội dung HTML, trường SEO, danh mục và thẻ. Gọi trước post-update để biết giá trị hiện tại.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | BLOG hoặc WEBSITE, đúng loại nơi chứa bài.Giá trị: BLOG, WEBSITE |
| post_idbắt buộc | string | Id bài viết, lấy từ post-list. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-get \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "WEBSITE",
"post_id": "66f0a2b4c8d1e3f5a7b9c0d2"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"post_id": "6a2b9d4e1c7f3a0014c8e5b2",
"site_type": "BLOG",
"site_id": "6a0e7b2c4d9f1a0013b6d2e4",
"status": "PUBLISH",
"published_at": "2026-10-20T09:00:00+07:00",
"title": "Cách chọn giày chạy bộ cho người mới",
"url": "cach-chon-giay-chay-bo",
"link": "https://blog.thoitrangan.vn/cach-chon-giay-chay-bo",
"description": "Những tiêu chí quan trọng khi chọn đôi giày chạy bộ đầu tiên.",
"thumbnail": "https://w.ladicdn.com/s800x600/giay-chay-bo.jpg",
"categories": [
{
"id": "6a1f4d2b8c3e5a0016e7a9d1",
"name": "Kinh nghiệm"
}
],
"tags": ["giày chạy bộ", "người mới"],
"meta_title": "Cách chọn giày chạy bộ cho người mới | Thời Trang An",
"meta_description": "Hướng dẫn chọn giày chạy bộ phù hợp dáng chân và cự ly.",
"meta_keywords": "giày chạy bộ, chọn giày, chạy bộ",
"meta_thumbnail": "https://w.ladicdn.com/s1200x630/giay-chay-bo-share.jpg",
"content": "<h2>Xác định dáng chân</h2><p>Trước khi mua giày, hãy kiểm tra vòm bàn chân của bạn...</p>",
"content_truncated": true
}
}link là địa chỉ đầy đủ của bài; tags là danh sách tên thẻ; content là HTML. content_truncated chỉ có khi nội dung bị cắt.
Lưu ý
- content là HTML. Nội dung dài hơn 200.000 ký tự bị cắt và có
content_truncated: true; khi đó không gửi lại content này quapost-updatevì phần bị cắt sẽ mất. - Bài đã xoá trả lỗi không tìm thấy.
Liệt kê danh mục và thẻ Đọc
POST/2.0/api/post-list-categories
Liệt kê danh mục và thẻ của một Blog hoặc Website. Dùng để lấy category_id, tag_id cho các API tạo, sửa, xoá bài, danh mục và thẻ.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | BLOG hoặc WEBSITE, lấy từ post-list-sites.Giá trị: BLOG, WEBSITE |
| site_idbắt buộc | string | Id của Blog hoặc Website, lấy từ post-list-sites. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-list-categories \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "WEBSITE",
"site_id": "65a1c3e7b2d94f0012ab34cd"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"categories": [
{
"id": "6a1f4d2b8c3e5a0016e7a9d1",
"name": "Kinh nghiệm",
"parent_id": null,
"is_default": true,
"position": 0
},
{
"id": "6a1f4d2b8c3e5a0017f1b3c2",
"name": "Phối đồ",
"parent_id": "6a1f4d2b8c3e5a0016e7a9d1",
"is_default": false,
"position": 1
}
],
"tags": [
{
"id": "6a2a7c3d9e1f4b0018a4c6e9",
"name": "giày chạy bộ",
"url": "giay-chay-bo",
"total_post": 4
},
{
"id": "6a2a7c3d9e1f4b0019b5d7f0",
"name": "công sở",
"url": "cong-so",
"total_post": 2
}
]
}
}Lưu ý
- Trả tối đa 500 danh mục và 500 thẻ; thẻ xếp theo số bài giảm dần.
is_default: true là danh mục mặc định của Blog / Website: không xoá được, và nhận các bài của danh mục bị xoá.parent_idrỗng nghĩa là danh mục cấp cao nhất.
Tạo bài viết (bản nháp) Tạo
POST/2.0/api/post-create
Tạo bài viết mới trong một Blog hoặc Website, luôn ở dạng bản nháp, người đọc chưa thấy. Gọi post-publish sau đó để đăng bài.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | BLOG = Blog LadiPage; WEBSITE = mục tin tức của Website LadiPage. Lấy từ post-list-sites.Giá trị: BLOG, WEBSITE |
| site_idbắt buộc | string | Id của Blog hoặc Website, lấy từ post-list-sites. |
| titlebắt buộc | string | Tiêu đề bài, không được trùng với bài khác trong cùng Blog / Website. |
| contentbắt buộc | string | Nội dung bài dạng HTML (<p>, <h2>, <ul>, <img src>, <a href>...). Không dùng thẻ script. |
| description | string | Mô tả ngắn, hiển thị ở danh sách bài. |
| thumbnail | string | URL ảnh đại diện (https). |
| url | string | Đường dẫn (slug) của bài, vd "cach-chon-giay-chay-bo". Giá trị gửi lên được chuẩn hoá thành slug. Bỏ trống thì tạo từ tiêu đề. Tối đa 200 ký tự; không được trùng với bài khác. |
| category_ids | array<string> | Danh sách id danh mục, lấy từ post-list-categories. Bài chưa có danh mục sẽ được đưa vào danh mục mặc định khi đăng. |
| tags | array<string> | Danh sách tên thẻ; thẻ chưa có sẽ được tạo mới. Tối đa 30 thẻ, phần dư bị bỏ. |
| meta_title | string | Tiêu đề SEO. |
| meta_description | string | Mô tả SEO. |
| meta_keywords | string | Từ khoá SEO, ngăn cách bằng dấu phẩy. |
| meta_thumbnail | string | URL ảnh hiển thị khi chia sẻ bài lên mạng xã hội. |
| pin | boolean | true = ghim bài lên đầu danh sách bài. Phải là boolean (true/false), không nhận chuỗi. |
| outstand | boolean | true = bài nổi bật (trang tin tức hiển thị tối đa 3 bài nổi bật: bài nổi bật mới nhất trước, thiếu thì bù bằng bài mới nhất). Phải là boolean. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-create \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "BLOG",
"site_id": "65a1c3e7b2d94f0012ab34cd",
"title": "Cách chọn giày chạy bộ cho người mới",
"content": "<p>Giày chạy bộ phù hợp giúp bạn tránh chấn thương.</p><h2>1. Chọn đúng size</h2><p>...</p>",
"category_ids": [
"66e1b3c5d7f9a1b2c3d4e5f6"
],
"tags": [
"chạy bộ",
"giày"
]
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"status": "created",
"post_id": "6a2c1e7f3b9d4a0015d2f6c3",
"post_status": "DRAFT",
"title": "5 mẹo phối đồ công sở mùa thu",
"url": "5-meo-phoi-do-cong-so-mua-thu",
"message": "Đã tạo bài viết ở dạng bản nháp."
}
}Bài mới luôn ở trạng thái DRAFT; url là đường dẫn (slug) đã tạo.
Lưu ý
- Bài luôn được tạo ở trạng thái DRAFT, người đọc không thấy cho tới khi gọi
post-publish. - Báo lỗi nếu tiêu đề hoặc đường dẫn đã có ở bài khác của cùng Blog / Website.
- Website: số bài bị giới hạn theo gói của workspace; vượt giới hạn thì báo lỗi.
- Website: nếu bài đã tạo nhưng không lưu được pin / outstand, API trả lỗi kèm
post_idtrong thông báo; gọipost-updatevớipost_idđó để đặt lại, không tạo bài lần nữa. - Quyền: Blog cần vai trò Chủ sở hữu, Quản lý, Trưởng nhóm hoặc Biên tập viên; tin tức Website chỉ Chủ sở hữu hoặc Quản lý.
Sửa bài viết Cập nhật
POST/2.0/api/post-update
Sửa nội dung, đường dẫn, danh mục, thẻ, SEO hoặc cờ ghim / nổi bật của một bài. Chỉ các trường được gửi mới thay đổi; không đổi trạng thái đăng (dùng post-publish).
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | BLOG hoặc WEBSITE, đúng loại nơi chứa bài.Giá trị: BLOG, WEBSITE |
| post_idbắt buộc | string | Id bài viết, lấy từ post-list. |
| title | string | Tiêu đề mới; không được rỗng, không trùng bài khác trong cùng Blog / Website. |
| content | string | Nội dung HTML mới, thay toàn bộ nội dung cũ. Không dùng thẻ script. |
| description | string | Mô tả ngắn. |
| thumbnail | string | URL ảnh đại diện (https). |
| url | string | Đường dẫn (slug) mới, được chuẩn hoá thành slug. Tối đa 200 ký tự, không trùng bài khác. Đổi url thì địa chỉ cũ của bài không còn dùng được. |
| category_ids | array<string> | Danh sách id danh mục (post-list-categories). Gửi lên là THAY toàn bộ danh mục hiện tại; bỏ trống để giữ nguyên. |
| tags | array<string> | Danh sách tên thẻ, thẻ chưa có sẽ được tạo. Gửi lên là THAY toàn bộ thẻ hiện tại; bỏ trống để giữ nguyên. Tối đa 30 thẻ. |
| meta_title | string | Tiêu đề SEO. |
| meta_description | string | Mô tả SEO. |
| meta_keywords | string | Từ khoá SEO, ngăn cách bằng dấu phẩy. |
| meta_thumbnail | string | URL ảnh khi chia sẻ lên mạng xã hội. |
| pin | boolean | true = ghim, false = bỏ ghim. Bỏ trống để giữ nguyên. Phải là boolean. |
| outstand | boolean | true = bài nổi bật, false = bỏ nổi bật. Bỏ trống để giữ nguyên. Phải là boolean. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-update \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "BLOG",
"post_id": "66f0a2b4c8d1e3f5a7b9c0d2",
"meta_description": "Hướng dẫn chọn giày chạy bộ cho người mới bắt đầu, theo dáng chân và mặt đường."
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"post_id": "6a2b9d4e1c7f3a0014c8e5b2",
"title": "Cách chọn giày chạy bộ cho người mới",
"post_status": "PUBLISH",
"changes": ["title", "description", "tags"],
"status": "saved",
"message": "Đã lưu thay đổi bài viết."
}
}title là tiêu đề TRƯỚC khi sửa; post_status là PUBLISH hoặc DRAFT; changes liệt kê các trường đã đổi.
Lưu ý
- Lưu ngay, không có bước xác nhận. Nếu bài đang hiển thị (PUBLISH), người đọc thấy thay đổi ngay lập tức; bài nháp vẫn là nháp.
- Phải gửi ít nhất một trường cần đổi, nếu không API báo lỗi.
- Nếu không gửi content mà hệ thống tạm thời không đọc được nội dung hiện tại, API từ chối lưu để tránh xoá trắng bài; thử lại sau hoặc gửi kèm content đầy đủ.
- Quyền: Blog cần vai trò Chủ sở hữu, Quản lý, Trưởng nhóm hoặc Biên tập viên; tin tức Website chỉ Chủ sở hữu hoặc Quản lý.
Đăng hoặc gỡ bài viết Cập nhật
POST/2.0/api/post-publish
Đăng bài lên trang (PUBLISH) hoặc gỡ bài khỏi trang về bản nháp (UNPUBLISH), tối đa 20 bài mỗi lần; có thể hẹn giờ đăng.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | BLOG hoặc WEBSITE, lấy từ post-list-sites.Giá trị: BLOG, WEBSITE |
| site_idbắt buộc | string | Id của Blog hoặc Website chứa các bài. |
| post_idsbắt buộc | array<string> | Danh sách id bài (post-list), tối đa 20; id thứ 21 trở đi bị bỏ qua. Bài không thuộc site_id này được trả về trong not_found. |
| actionbắt buộc | string | PUBLISH = đăng bài; UNPUBLISH = gỡ khỏi trang, bài trở về bản nháp.Giá trị: PUBLISH, UNPUBLISH |
| publish_at | string | Chỉ dùng với PUBLISH, ngày giờ ISO 8601 (vd "2026-11-05T08:00:00+07:00"). Blog: phải là thời điểm trong tương lai = hẹn giờ đăng. Website AI: thời điểm tương lai = hẹn giờ (bài tự hiện lên trang từ lúc đó); thời điểm quá khứ = giữ ngày đăng gốc (dùng khi chuyển bài cũ từ nơi khác sang). Website thường không hỗ trợ (báo lỗi). Bỏ trống để đăng ngay. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-publish \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "WEBSITE",
"site_id": "65a1c3e7b2d94f0012ab34cd",
"post_ids": [
"66f0a2b4c8d1e3f5a7b9c0d2"
],
"action": "PUBLISH"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"action": "PUBLISH",
"publish_at": "2026-11-05T08:00:00+07:00",
"posts": [
{
"post_id": "6a2c1e7f3b9d4a0015d2f6c3",
"title": "5 mẹo phối đồ công sở mùa thu",
"current_status": "DRAFT"
}
],
"not_found": ["6a2d0f8a4c1e5b001ae3a7d4"],
"status": "done",
"success": 1,
"failed": 0,
"site_link": "https://blog.thoitrangan.vn",
"message": "Đã hẹn giờ đăng 1 bài viết."
}
}current_status là trạng thái của bài TRƯỚC khi đổi. publish_at và not_found chỉ có khi có giá trị.
Lưu ý
- Chạy ngay, không có bước xác nhận: PUBLISH làm bài hiện với người đọc, UNPUBLISH gỡ bài khỏi trang ngay. Bộ nhớ đệm của trang có thể mất khoảng một phút để cập nhật.
- Không bao giờ gửi email cho người theo dõi Blog khi đăng.
- Khi đăng, bài chưa có danh mục được đưa vào danh mục mặc định; sitemap được cập nhật theo.
- Blog có gói đã hết hạn thì không đăng được (UNPUBLISH vẫn chạy).
post-list-siteskhông cho biết website nào là website AI; gửipublish_atcho website thường sẽ nhận lỗi, khi đó bỏpublish_atđể đăng ngay.- Quyền: Blog cần vai trò Chủ sở hữu, Quản lý, Trưởng nhóm hoặc Biên tập viên; tin tức Website chỉ Chủ sở hữu hoặc Quản lý.
Xoá bài viết Xoá
POST/2.0/api/post-delete
Xoá tối đa 20 bài của một Blog hoặc Website, giống nút Xoá trong ứng dụng: bài bị gỡ khỏi trang và chuyển vào Thùng rác.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | BLOG hoặc WEBSITE, lấy từ post-list-sites.Giá trị: BLOG, WEBSITE |
| site_idbắt buộc | string | Id của Blog hoặc Website chứa các bài. |
| post_idsbắt buộc | array<string> | Danh sách id bài (post-list), tối đa 20; id thứ 21 trở đi bị bỏ qua. Chỉ bài thuộc đúng site_id này mới bị xoá; id khác trả về trong not_found. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-delete \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "BLOG",
"site_id": "65a1c3e7b2d94f0012ab34cd",
"post_ids": [
"66f0a2b4c8d1e3f5a7b9c0d2",
"66f0a2b4c8d1e3f5a7b9c0d3"
]
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"status": "deleted",
"success": 1,
"failed": 0,
"not_found": ["6a2d0f8a4c1e5b001ae3a7d4"],
"site_link": "https://blog.thoitrangan.vn"
}
}success là số bài đã xoá. not_found (chỉ có khi có) liệt kê id không thuộc site hoặc đã bị xoá.
Lưu ý
- Chạy ngay, không có bước xác nhận. Bài đang hiển thị biến mất khỏi trang và sitemap ngay; bài đang hẹn giờ đăng bị huỷ hẹn giờ.
- Đây là xoá mềm: bài chuyển về bản nháp và nằm trong tab Thùng rác của ứng dụng LadiPage, khôi phục được từ đó (khôi phục xong vẫn là bản nháp, cần
post-publishlại). API không có xoá vĩnh viễn hay khôi phục. - Quyền: Blog cần vai trò Chủ sở hữu, Quản lý, Trưởng nhóm hoặc Biên tập viên; tin tức Website chỉ Chủ sở hữu hoặc Quản lý.
Tạo danh mục bài viết Tạo
POST/2.0/api/post-create-category
Tạo danh mục bài viết mới trong một Blog hoặc Website, có thể đặt làm danh mục con.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | BLOG hoặc WEBSITE, lấy từ post-list-sites.Giá trị: BLOG, WEBSITE |
| site_idbắt buộc | string | Id của Blog hoặc Website. |
| namebắt buộc | string | Tên danh mục; không trùng danh mục khác. Đường dẫn (slug) của danh mục được tạo tự động từ tên. |
| description | string | Mô tả danh mục. |
| parent_id | string | Id danh mục cha (post-list-categories). Bỏ trống để tạo danh mục cấp cao nhất. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-create-category \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "WEBSITE",
"site_id": "65a1c3e7b2d94f0012ab34cd",
"name": "Kinh nghiệm chạy bộ"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"status": "created",
"name": "Phối đồ",
"message": "Đã tạo danh mục."
}
}Không trả id danh mục: gọi post-list-categories để lấy.
Lưu ý
- Danh mục hiển thị công khai ngay sau khi tạo.
- Báo lỗi nếu tên hoặc đường dẫn danh mục đã tồn tại.
- Website: số danh mục bị giới hạn theo gói của workspace.
- Quyền: Blog cần vai trò Chủ sở hữu, Quản lý, Trưởng nhóm hoặc Biên tập viên; tin tức Website chỉ Chủ sở hữu hoặc Quản lý.
Sửa danh mục bài viết Cập nhật
POST/2.0/api/post-update-category
Sửa tên, đường dẫn, mô tả, danh mục cha, SEO hoặc thứ tự của một danh mục tin tức Website. Chỉ các trường được gửi mới thay đổi. Chỉ dùng cho Website.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | Chỉ nhận WEBSITE; gửi BLOG sẽ báo lỗi.Giá trị: WEBSITE |
| site_idbắt buộc | string | Id của Website, lấy từ post-list-sites. |
| category_idbắt buộc | string | Id danh mục, lấy từ post-list-categories. |
| name | string | Tên mới, 1–255 ký tự. |
| url | string | Đường dẫn (slug) mới, vd "kinh-nghiem": chỉ chữ thường không dấu, chữ số và dấu "-", tối đa 200 ký tự. |
| description | string | Mô tả danh mục. |
| parent_id | string | Id một danh mục khác của cùng Website để làm danh mục cha, hoặc "" để đưa lên cấp cao nhất. Danh mục mặc định không được có danh mục cha. |
| meta_title | string | Tiêu đề SEO. |
| meta_description | string | Mô tả SEO. |
| meta_keywords | string | Từ khoá SEO. |
| meta_thumbnail | string | URL ảnh https khi chia sẻ lên mạng xã hội, hoặc "" để xoá. |
| position | integer | Thứ tự trong danh sách danh mục, số nhỏ đứng trước. Số nguyên từ 0 đến 100000. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-update-category \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "WEBSITE",
"site_id": "65a1c3e7b2d94f0012ab34cd",
"category_id": "66e1b3c5d7f9a1b2c3d4e5f6",
"name": "Kinh nghiệm",
"url": "kinh-nghiem"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"status": "updated",
"category_id": "6a1f4d2b8c3e5a0017f1b3c2",
"site_link": "https://thoitrangan.vn"
}
}Lưu ý
- Chạy ngay, không có bước xác nhận; thay đổi hiện trên trang ngay. Đổi url thì địa chỉ cũ của trang danh mục không còn dùng được.
- Phải gửi ít nhất một trong các trường name, url, description,
parent_id, meta_*, position. - Báo lỗi nếu tên hoặc đường dẫn trùng danh mục khác.
- Quyền: chỉ Chủ sở hữu hoặc Quản lý.
Xoá danh mục bài viết Xoá
POST/2.0/api/post-delete-category
Xoá tối đa 20 danh mục của một Blog hoặc Website, giống thao tác xoá trong ứng dụng. Danh mục con bị xoá theo; bài viết không bị xoá mà được chuyển sang danh mục mặc định.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | BLOG hoặc WEBSITE, lấy từ post-list-sites.Giá trị: BLOG, WEBSITE |
| site_idbắt buộc | string | Id của Blog hoặc Website chứa các danh mục. |
| category_idsbắt buộc | array<string> | Danh sách id danh mục (post-list-categories), tối đa 20; id thứ 21 trở đi bị bỏ qua. Chỉ danh mục thuộc đúng site_id này mới bị xoá; id khác trả về trong not_found. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-delete-category \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "BLOG",
"site_id": "65a1c3e7b2d94f0012ab34cd",
"category_ids": [
"66e1b3c5d7f9a1b2c3d4e5f6"
]
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"status": "deleted",
"success": 2,
"failed": 0,
"not_found": ["6a1f4d2b8c3e5a001bc2d4e3"]
}
}success là số danh mục đã xoá, tính cả danh mục con bị xoá theo. not_found chỉ có khi có id không tìm thấy.
Lưu ý
- Chạy ngay, không có bước xác nhận, và không khôi phục được qua API hay trong ứng dụng.
- Mọi danh mục con (nhiều cấp) của danh mục bị xoá cũng bị xoá.
- Bài viết thuộc các danh mục bị xoá vẫn giữ nguyên trạng thái (đang hiển thị vẫn hiển thị): chúng được gỡ khỏi danh mục đó và gắn vào danh mục mặc định, kể cả bài còn thuộc danh mục khác.
- Danh mục mặc định (
is_default: true) không xoá được. Nếu danh sách có danh mục mặc định, API trả lỗi "Xoá thành công X bản ghi và không thành công Y bản ghi" nhưng các danh mục còn lại VẮN đã bị xoá; nên loại danh mục mặc định trước khi gọi. - Quyền: Blog cần vai trò Chủ sở hữu, Quản lý, Trưởng nhóm hoặc Biên tập viên; tin tức Website chỉ Chủ sở hữu hoặc Quản lý.
Tạo thẻ bài viết Tạo
POST/2.0/api/post-create-tag
Tạo thẻ (tag) mới cho tin tức của một Website. Chỉ dùng cho Website; với Blog, thẻ được tạo qua trường tags của post-create / post-update.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | Chỉ nhận WEBSITE; gửi BLOG sẽ báo lỗi.Giá trị: WEBSITE |
| site_idbắt buộc | string | Id của Website, lấy từ post-list-sites. |
| namebắt buộc | string | Tên thẻ, 1–255 ký tự, không trùng thẻ khác. |
| url | string | Đường dẫn (slug): chỉ chữ thường không dấu, chữ số và dấu "-", tối đa 200 ký tự. Bỏ trống thì tạo từ tên. |
| description | string | Mô tả thẻ. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-create-tag \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "WEBSITE",
"site_id": "65a1c3e7b2d94f0012ab34cd",
"name": "Chạy bộ"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"status": "created",
"tag_id": "6a2a7c3d9e1f4b0019b5d7f0",
"name": "công sở",
"url": "cong-so",
"site_link": "https://thoitrangan.vn"
}
}Lưu ý
- Thẻ có trang riêng hiển thị công khai ngay sau khi tạo.
- Báo lỗi nếu tên hoặc đường dẫn đã tồn tại.
- Số thẻ bị giới hạn theo gói của workspace.
- Quyền: chỉ Chủ sở hữu hoặc Quản lý.
Sửa thẻ bài viết Cập nhật
POST/2.0/api/post-update-tag
Đổi tên, đường dẫn hoặc mô tả của một thẻ tin tức Website. Chỉ các trường được gửi mới thay đổi. Chỉ dùng cho Website.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | Chỉ nhận WEBSITE; gửi BLOG sẽ báo lỗi.Giá trị: WEBSITE |
| site_idbắt buộc | string | Id của Website, lấy từ post-list-sites. |
| tag_idbắt buộc | string | Id thẻ, lấy từ post-list-categories (tags[].id). |
| name | string | Tên mới, 1–255 ký tự, không trùng thẻ khác. |
| url | string | Đường dẫn (slug) mới: chỉ chữ thường không dấu, chữ số và dấu "-", tối đa 200 ký tự. |
| description | string | Mô tả thẻ. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-update-tag \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "WEBSITE",
"site_id": "65a1c3e7b2d94f0012ab34cd",
"tag_id": "66d2c4e6f8a0b1c2d3e4f5a6",
"name": "Chạy bộ đường dài",
"url": "chay-bo-duong-dai"
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"status": "updated",
"tag_id": "6a2a7c3d9e1f4b0019b5d7f0",
"name": "thời trang công sở",
"url": "thoi-trang-cong-so",
"site_link": "https://thoitrangan.vn"
}
}name và url là giá trị sau khi sửa.
Lưu ý
- Chạy ngay, không có bước xác nhận; thay đổi hiện trên trang ngay. Đổi url thì địa chỉ cũ của trang thẻ không còn dùng được.
- Phải gửi ít nhất một trong name, url, description.
- Báo lỗi nếu tên hoặc đường dẫn trùng thẻ khác.
- Quyền: chỉ Chủ sở hữu hoặc Quản lý.
Xoá thẻ bài viết Xoá
POST/2.0/api/post-delete-tag
Xoá tối đa 20 thẻ tin tức của một Website. Thẻ được gỡ khỏi mọi bài đang gắn nó; bài viết không bị xoá. Chỉ dùng cho Website.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| store_id | string | Workspace cần thao tác, lấy từ account-list-workspaces (nhận store_id hoặc ladipage_store_id). Bỏ trống thì dùng workspace mà chủ token sở hữu. Chủ token không sở hữu workspace nào mà là thành viên của từ hai workspace trở lên thì bắt buộc truyền. |
| site_typebắt buộc | string | Chỉ nhận WEBSITE; gửi BLOG sẽ báo lỗi.Giá trị: WEBSITE |
| site_idbắt buộc | string | Id của Website chứa các thẻ. |
| tag_idsbắt buộc | array<string> | Danh sách id thẻ (post-list-categories, tags[].id), tối đa 20; id thứ 21 trở đi bị bỏ qua. Chỉ thẻ thuộc đúng site_id này mới bị xoá; id khác trả về trong not_found. |
Ví dụ
curl -X POST https://api.ladipage.net/2.0/api/post-delete-tag \
-H "api-key: $LADIPAGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"site_type": "WEBSITE",
"site_id": "65a1c3e7b2d94f0012ab34cd",
"tag_ids": [
"66d2c4e6f8a0b1c2d3e4f5a6"
]
}'Kết quả
{
"code": 200,
"message": "Success",
"data": {
"status": "deleted",
"success": 2,
"failed": 0,
"not_found": ["6a2a7c3d9e1f4b001cd6e8a1"],
"site_link": "https://thoitrangan.vn"
}
}success là số thẻ đã xoá. not_found chỉ có khi có id không tìm thấy.
Lưu ý
- Chạy ngay, không có bước xác nhận, và không khôi phục được qua API hay trong ứng dụng.
- Trang của thẻ bị gỡ khỏi Website; các bài gắn thẻ vẫn giữ nguyên, chỉ mất thẻ đó.
- Quyền: chỉ Chủ sở hữu hoặc Quản lý.