Đọc các bài viết, bộ sưu tập và mục nhật ký thay đổi bằng API Notiondesk

Đọc các bài viết và bộ sưu tập của trung tâm trợ giúp Notiondesk dưới dạng markdown, bằng bất kỳ ngôn ngữ nào, với trạng thái đồng bộ và liệt kê các mục nhật ký thay đổi thông qua API REST.

13 phút đọc

API Notiondesk đọc tất cả mọi thứ mà trung tâm trợ giúp của bạn xuất bản: mọi bài viết và bộ sưu tập bằng bất kỳ ngôn ngữ nào, với nội dung dưới dạng markdown, trạng thái xuất bản và trạng thái đồng bộ hóa, cùng với các mục nhật ký thay đổi đã xuất bản của bạn. Sử dụng nó để sao lưu trung tâm trợ giúp của bạn, cung cấp nội dung cho một công cụ khác hoặc kiểm tra xem bài viết nào không được đồng bộ hóa thành công.

API chỉ đọc nội dung chứ không ghi nội dung. Các bài viết và bộ sưu tập của bạn vẫn nằm trong Notion: để thay đổi một bài viết hoặc bộ sưu tập nào đó, hãy chỉnh sửa nó trong Notion và kích hoạt quá trình đồng bộ hóa .

Trong API Notiondesk, một tập hợp được gọi là một danh mục .

Phương pháp Con đường Phạm vi Làm
GET/sites/{site_id}/articlesreadLiệt kê các bài viết bằng một ngôn ngữ.
GET/sites/{site_id}/articles/{article_id}readĐọc một bài viết với nội dung được định dạng Markdown.
GET/sites/{site_id}/categoriesreadLiệt kê các bộ sưu tập bằng một ngôn ngữ, cùng với cấu trúc phân cấp của chúng.
GET/sites/{site_id}/categories/{category_id}readĐọc một bộ sưu tập với nội dung được định dạng Markdown.
GET/sites/{site_id}/changelogreadLiệt kê các mục nhật ký thay đổi đã được công bố, mục mới nhất được hiển thị đầu tiên.

Chọn ngôn ngữ

Mỗi tuyến đường trên trang này đều có tham số truy vấn tùy chọn locale, ví dụ như ?locale=fr. Nếu không có tham số này, phản hồi sẽ sử dụng ngôn ngữ mặc định của trung tâm trợ giúp. Đối với các tuyến đường dạng danh sách, locale phải là một trong các ngôn ngữ mà trung tâm trợ giúp hỗ trợ: supported_locales của trung tâm trợ giúp . Hãy đọc bài viết "Hỗ trợ nhiều ngôn ngữ trong Trung tâm trợ giúp của bạn" để thêm ngôn ngữ.

Liệt kê các bài viết

Danh sách này bao gồm mọi bài viết ở mọi trạng thái, cả bản nháp và bài viết đã lưu trữ, theo thứ tự tạo ra. Duyệt qua danh sách bằng page_size và cursor, như mô tả trong các yêu cầu API Paginate và phiên bản Notiondesk .

curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/articles?page_size=100&locale=en" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16"
{
  "object": "list",
  "data": [
    {
      "id": "1761580412",
      "title": "Connect your Notion workspace",
      "slug": "connect-your-notion-workspace",
      "status": "published",
      "categories": [
        {"id": "910000002", "name": "Connecting Notion", "slug": "connecting-notion", "locale": "en", "status": "published"}
      ],
      "tags": [{"name": "Setup", "slug": "setup"}],
      "locales_count": 2,
      "updated_at": "2026-10-18T14:39:03+00:00",
      "published_at": "2026-10-05T04:39:04+00:00",
      "locale": "en",
      "reading_time": 3,
      "views_count": 42,
      "reactions_percent": {"smiley": 50, "neutral_face": 25, "disappointed": 25},
      "source_notion_page_id": "3d5001d0-2470-8122-a1b2-c3d4e5f60789",
      "notion_article_page_url": "https://www.notion.so/3d5001d024708122a1b2c3d4e5f60789",
      "sync_in_progress": false,
      "sync_timeout": false,
      "sync_failed": false,
      "sync_error_code": null,
      "auto_translated": false
    }
  ],
  "has_more": true,
  "next_cursor": "OPAQUE_CURSOR"
}
Cánh đồng Nghĩa
idMã định danh bài viết, được sử dụng là article_id để đọc bài viết.
__ĐƯỢC BẢO QUẢN_102__, __ĐƯỢC BẢO QUẢN_101__ Tiêu đề bài viết và đoạn đường dẫn của nó trên trung tâm trợ giúp
statusdraft, published, review hoặc archived. Xem Cách kiểm soát khả năng hiển thị bài viết
categoriesBài viết này thuộc về các bộ sưu tập, mỗi bộ sưu tập đều có mã số id, name, slug, locale và status.
tagsCác thẻ của bài viết, mỗi thẻ đều có name và slug
locales_countBài viết này có bao nhiêu ngôn ngữ?
__ĐÃ BẢO TỒN_85__, __ĐÃ BẢO TỒN_84__ Bài viết được chỉnh sửa lần cuối khi nào và được xuất bản lần cuối khi nào.
localeNgôn ngữ của mục này
reading_timeThời gian đọc ước tính, tính bằng phút
views_countSố lần độc giả mở bài viết
reactions_percentMỗi phản hồi của người đọc được thể hiện bằng phần trăm, tương ứng với tỷ lệ phần trăm phản hồi của tất cả các phản hồi khác. Tên của các phản hồi tùy thuộc vào phong cách phản hồi của bạn.
__ĐƯỢC BẢO TỒN_79__, __ĐƯỢC BẢO TỒN_78__ Trang Notion mà bài viết được đồng bộ từ đó, và URL của trang Notion bằng ngôn ngữ này (null dành cho bản dịch tự động)
sync_in_progress, sync_timeout, sync_failed, sync_error_code Liệu quá trình đồng bộ hóa bài viết có đang diễn ra không, và liệu lần đồng bộ hóa cuối cùng có bị hết thời gian chờ hoặc thất bại hay không, và tại sao.
auto_translatedLiệu ngôn ngữ này có phải do dịch tự động tạo ra hay không?
Lưu ý: Hãy lọc kết quả trong mã của bạn để tìm tất cả các bài viết có lần đồng bộ cuối cùng thất bại, sau đó sửa lỗi trong Notion và đồng bộ lại .sync_failed: true

Đọc bài viết dưới dạng Markdown

curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/articles/1761580412?locale=en" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16"
{
  "id": "1761580412",
  "type": "article",
  "title": "Connect your Notion workspace",
  "slug": "connect-your-notion-workspace",
  "text": "# Connect your Notion workspace\n\nOpen **Settings**, then **Notion**...",
  "url": "https://help.example.com/en/articles/connect-your-notion-workspace",
  "locale": "en",
  "last_updated": "2026-10-18T14:39:03+00:00",
  "category": {"id": "910000002", "title": "Connecting Notion", "slug": "connecting-notion"},
  "tags": ["setup"],
  "truncated": false,
  "author": {"name": "Ada Lovelace"},
  "status": "published",
  "content_available": true,
  "sync_in_progress": false,
  "sync_timeout": false,
  "sync_failed": false,
  "sync_error_code": null
}
Cánh đồng Nghĩa
typeLuôn luôn __ĐƯỢC BẢO QUẢN_69__
textNội dung bài viết dưới dạng Markdown. Sẽ trống nếu chưa có nội dung nào được lưu trữ.
truncatedtrue khi text bị cắt ở 200.000 byte. Việc cắt luôn luôn rơi vào một ký tự nguyên vẹn.
content_availableLiệu Notiondesk có chứa nội dung cho ngôn ngữ này hay không?
urlBài phát biểu công khai của bài báo
categoryBộ sưu tập chính của bài viết: id, title và slug
tagsCác slug của thẻ bài viết
authorTác giả bài viết: name

Mọi trạng thái đều có thể đọc được, vì vậy bạn có thể đọc bản nháp trước khi xuất bản. Một bài viết không có bản dịch trong yêu cầu locale sẽ trả về 404 not_found.

Liệt kê các bộ sưu tập

Mỗi mục là một tập hợp các nội dung bằng ngôn ngữ được yêu cầu, theo thứ tự các tập hợp đó được tạo ra:

Xây dựng lại cây bộ sưu tập của bạn với ba trường:

curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/categories?page_size=100" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16"
{
  "id": "910000001",
  "name": "Getting Started",
  "slug": "getting-started",
  "updated_at": "2026-10-18T14:39:12+00:00",
  "locale": "en",
  "is_parent": true,
  "source_notion_page_id": "5d5001d0-2470-8122-a1b2-c3d4e5f60789",
  "notion_category_page_url": "https://www.notion.so/5d5001d024708122a1b2c3d4e5f60789",
  "sync_in_progress": false,
  "sync_timeout": false,
  "sync_failed": false,
  "sync_error_code": null,
  "parent_ids": [],
  "children_ids": ["910000002"],
  "locales_count": 2,
  "status": "published",
  "auto_translated": false
}
Cánh đồng Nghĩa
is_parenttrue dành cho một bộ sưu tập ở đầu hệ thống phân cấp
parent_idsCác bộ sưu tập nằm ngay phía trên bộ sưu tập này.
children_idsCác bộ sưu tập ngay bên dưới bộ sưu tập này.

Danh sách này không hiển thị số lượng bài viết. Để đếm số bài viết trong một bộ sưu tập, hãy liệt kê các bài viết và nhóm chúng theo categories. Tìm hiểu cách các bộ sưu tập sắp xếp trung tâm trợ giúp của bạn trong Sử dụng bộ sưu tập để sắp xếp bài viết của bạn .

Đọc một tuyển tập

Phản hồi có cấu trúc tương tự như một bài viết: type là category, title, slug, url, status, các trường đồng bộ, và text với nội dung riêng của bộ sưu tập dưới dạng markdown, trống khi không có nội dung nào.

Liệt kê các mục nhật ký thay đổi

Nhật ký thay đổi liệt kê các bài viết đã xuất bản được lưu trữ trong bộ sưu tập nhật ký thay đổi của bạn, bài mới nhất được hiển thị trước. Thiết lập nhật ký thay đổi bằng cách làm theo hướng dẫn trong trung tâm trợ giúp của bạn .

curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/categories/910000001?locale=en" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16"
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/changelog?page_size=50&locale=en" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16"
{
  "object": "list",
  "data": [
    {
      "id": "article:1761497350",
      "title": "Multilingual sync is now available",
      "slug": "multilingual-sync-is-now-available",
      "text": "Help centers on the Enterprise plan can now sync every configured locale in a single run instead of one language at a time.",
      "published_at": "2026-10-13T09:12:44+00:00",
      "last_updated": "2026-10-18T14:39:03+00:00",
      "tags": [],
      "url": "https://help.example.com/en/changelogs",
      "locale": "en"
    }
  ],
  "has_more": true,
  "next_cursor": "OPAQUE_CURSOR"
}
Cánh đồng Nghĩa
idarticle: theo sau là ID bài viết của mục nhập. Xóa tiền tố để đọc toàn bộ mục nhập với đường dẫn bài viết.
textVăn bản thuần túy của mục nhập, thường là một đoạn trích khoảng 30 từ.
__ĐƯỢC BẢO TỒN_38__, __ĐƯỢC BẢO TỒN_37__ Thời điểm bài viết được đăng tải và thời điểm bài viết được chỉnh sửa lần cuối.
tagsCác slug của thẻ mục nhập
urlTrang nhật ký thay đổi của bạn bằng ngôn ngữ này

Thông tin hữu ích:

  • Một mục chỉ hiển thị khi bộ sưu tập nhật ký thay đổi của nó được xuất bản bằng ngôn ngữ được yêu cầu.
  • Trên trung tâm trợ giúp sử dụng tài khoản khách, danh sách chỉ hiển thị các mục mà mọi người dùng đều có thể xem.
  • Danh sách chỉ hiển thị tối đa 1.000 mục mới nhất. Sau đó, has_more sẽ trở thành false ngay cả khi có các mục cũ hơn.
  • Trong một số trường hợp hiếm gặp, khi xảy ra sự cố tạm thời, danh sách có thể bị bỏ qua hoặc lặp lại một mục. Hãy đọc lại sau để có danh sách đầy đủ.

Lỗi

Trạng thái Khicode
400 page_size nằm ngoài phạm vi từ 1 đến 100, cursor không hợp lệ, locale không phải là ngôn ngữ mà trung tâm trợ giúp hỗ trợ (danh sách) hoặc không có độ dài từ 2 đến 10 ký tự (đọc đơn), hoặc truy vấn có tham số không xác định.validation_error
403 Khóa này thiếu phạm vi readinsufficient_scope
403 Chỉ hiển thị nhật ký thay đổi: nhật ký thay đổi đã bị tắt hoặc không được bao gồm trong gói dịch vụ của bạn, hoặc tính năng phân tích của trung tâm trợ giúp đã bị tắt.permission_denied
404 Trung tâm trợ giúp, bài viết hoặc bộ sưu tập không tồn tại trong không gian làm việc của bạn, nó không có bản dịch trong locale, hoặc nhật ký thay đổi đang bật nhưng không có bộ sưu tập nhật ký thay đổi.not_found

Mỗi tuyến đường cũng có thể trả lời invalid_version, authentication_error, rate_limited và internal_error. Xem Xử lý lỗi API Notiondesk, giới hạn tỷ lệ và số lần thử lại .

Câu hỏi thường gặp

Tôi có thể tạo hoặc chỉnh sửa bài viết bằng API Notiondesk không?

Không. Notion là nguồn thông tin chính xác nhất cho nội dung của bạn. Chỉnh sửa bài viết trong Notion, sau đó kích hoạt đồng bộ hóa với API hoặc chờ đồng bộ hóa theo lịch trình.

Danh sách bài viết có bao gồm cả bản nháp không?

Đúng vậy. Danh sách và đường dẫn đọc bao gồm mọi trạng thái: draft, published, review và archived. Hãy lọc kết quả trong mã của bạn theo status để chỉ giữ lại các bài viết đã được xuất bản.

Làm thế nào để xuất tất cả bài viết dưới dạng Markdown?

Liệt kê các bài viết, sau đó đọc từng bài theo thứ tự id. Bài viết ví dụ có một kịch bản sao lưu hoàn chỉnh.

truncated: true có nghĩa là gì?

Đoạn mã Markdown của bài viết dài hơn 200.000 byte, vì vậy text chứa 200.000 byte đầu tiên, được cắt bớt khi đi qua một ký tự nguyên vẹn.

Tại sao notion_article_page_url lại trống đối với một số ngôn ngữ?

Ngôn ngữ đó được tạo ra bằng phương pháp dịch tự động, vì vậy nó không có trang riêng trong Notion.

Tiếp theo là gì?

Bài viết liên quan

Trang này có hữu ích không?

Still need help? Ask us