Czytaj artykuły, kolekcje i wpisy w dzienniku zmian za pomocą interfejsu API Notiondesk

Przeczytaj artykuły i kolekcje centrum pomocy Notiondesk w formacie Markdown, w dowolnym języku, z synchronizacją stanu i wyświetl wpisy dziennika zmian za pomocą interfejsu API REST.

7 min czytania

API Notiondesk odczytuje wszystko, co publikuje Twoje centrum pomocy: każdy artykuł i kolekcję w dowolnym języku, z zawartością w formacie Markdown, statusem publikacji i stanem synchronizacji, a także opublikowanymi wpisami w dzienniku zmian. Użyj go do utworzenia kopii zapasowej swojego centrum pomocy, przesłania treści do innego narzędzia lub sprawdzenia, które artykuły nie zostały zsynchronizowane.

API odczytuje treść, ale nigdy jej nie zapisuje. Twoje artykuły i kolekcje pozostają w Notion: aby je zmienić, edytuj je w Notion i uruchom synchronizację .

W interfejsie API Notiondesk kolekcję nazywa się kategorią .

Metoda Ścieżka Zakres Robi
GET/sites/{site_id}/articlesreadWyświetla artykuły w jednym języku
GET/sites/{site_id}/articles/{article_id}readCzyta jeden artykuł z jego zawartością w formacie Markdown
GET/sites/{site_id}/categoriesreadWyświetla kolekcje w jednym języku wraz z ich hierarchią
GET/sites/{site_id}/categories/{category_id}readOdczytuje jedną kolekcję wraz z jej zawartością w formacie Markdown
GET/sites/{site_id}/changelogreadWyświetla opublikowane wpisy w dzienniku zmian, od najnowszych

Wybierz język

Każda trasa na tej stronie przyjmuje opcjonalny parametr zapytania locale, taki jak ?locale=fr. Bez niego odpowiedź używa domyślnego języka centrum pomocy. Na liście tras locale musi być jednym z języków obsługiwanych przez centrum pomocy: supported_locales centrum pomocy . Aby dodać języki, zapoznaj się z sekcją „Obsługa wielu języków” w Centrum pomocy .

Lista artykułów

Lista zawiera wszystkie artykuły w każdym statusie, wersje robocze i artykuły zarchiwizowane, w kolejności ich utworzenia. Przejrzyj ją za pomocą page_size i cursor, zgodnie z opisem w sekcji Paginate i w wersji Notiondesk API Requests .

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"
}
Pole Oznaczający
idIdentyfikator artykułu używany jako article_id w celu odczytania artykułu
__ZAREZERWOWANE_102__, __ZAREZERWOWANE_101__ Tytuł artykułu i jego segment ścieżki w centrum pomocy
statusdraft, published, review lub archived. Zobacz Jak kontrolować widoczność artykułu
categoriesKolekcje, do których należy artykuł, każda z id, name, slug, locale i status
tagsTagi artykułu, każdy z name i slug
locales_countW ilu językach jest dostępny artykuł?
updated_at, published_at Kiedy artykuł został ostatnio zmieniony i kiedy został opublikowany
localeJęzyk tego elementu
reading_timeSzacowany czas czytania w minutach
views_countIle razy czytelnicy otworzyli artykuł
reactions_percentKażda reakcja czytelnika wraz z jej udziałem we wszystkich reakcjach, w procentach. Nazwy reakcji zależą od Twojego stylu przekazywania informacji zwrotnej.
source_notion_page_id, notion_article_page_url Strona Notion, z którą synchronizuje się artykuł, oraz adres URL strony Notion w tym języku (null w celu automatycznego tłumaczenia)
sync_in_progress, sync_timeout, sync_failed, sync_error_code Czy synchronizacja artykułu jest uruchomiona, czy ostatnia synchronizacja przekroczyła limit czasu lub zakończyła się niepowodzeniem i dlaczego
auto_translatedCzy ten język powstał w wyniku automatycznego tłumaczenia
Uwaga: Przefiltruj wyniki w kodzie, aby znaleźć każdy artykuł, którego ostatnia synchronizacja się nie powiodła, a następnie popraw go w Notion i zsynchronizuj ponownie .sync_failed: true

Przeczytaj artykuł w formacie 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
}
Pole Oznaczający
typeZawsze article
textTreść artykułu w formacie Markdown. Puste, jeśli żadna treść nie została jeszcze zapisana.
truncatedtrue, gdy text został obcięty do 200 000 bajtów. Obcięcie zawsze dotyczy całego znaku.
content_availableCzy Notiondesk zawiera już treść dla tego języka
urlAdres publiczny artykułu
categoryGłówna kolekcja artykułu: id, title i slug
tagsŚlimaki tagów artykułu
authorAutor artykułu: name

Każdy status jest czytelny, więc możesz przeczytać wersję roboczą przed publikacją. Artykuł bez tłumaczenia w żądanym locale odpowiada 404 not_found.

Wyświetl kolekcje

Każdy element jest kolekcją w żądanym języku, w kolejności, w jakiej kolekcje zostały utworzone:

Odbuduj drzewo kolekcji za pomocą trzech pól:

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
}
Pole Oznaczający
is_parenttrue dla kolekcji znajdującej się na szczycie hierarchii
parent_idsKolekcje znajdujące się bezpośrednio nad tą
children_idsKolekcje znajdujące się bezpośrednio pod tą

Lista nie zawiera liczby artykułów. Aby policzyć artykuły w kolekcji, wypisz je i pogrupuj według wartości categories. Dowiedz się, jak kolekcje organizują Twoje Centrum pomocy w artykule „Używanie kolekcji do organizowania artykułów” .

Przeczytaj zbiór

Odpowiedź ma taki sam kształt jak artykuł: type to category, title, slug, url, status, pola synchronizacji oraz text z własną zawartością kolekcji w postaci znaczników Markdown, puste, gdy ich nie ma.

Wyświetl wpisy w dzienniku zmian

Dziennik zmian zawiera listę opublikowanych artykułów umieszczonych w Twoich kolekcjach dzienników zmian, od najnowszych. Skonfiguruj go, korzystając z sekcji „Konfigurowanie dzienników zmian” w Centrum pomocy .

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"
}
Pole Oznaczający
idarticle:, a następnie identyfikator artykułu wpisu. Usuń prefiks, aby odczytać cały wpis z trasą artykułu.
textZwykły tekst wpisu, zwykle fragment liczący około 30 słów
published_at, last_updated Kiedy wpis został opublikowany i kiedy ostatnio został zmieniony
tagsŚlimaki tagów wpisu
urlTwoja strona z dziennikiem zmian w tym języku

Warto wiedzieć:

  • Wpis pojawia się tylko wtedy, gdy zbiór zmian zostanie opublikowany w żądanym języku.
  • W centrum pomocy, które korzysta z kont gości, lista zawiera tylko wpisy widoczne dla wszystkich czytelników.
  • Lista obejmuje maksymalnie 1000 najnowszych wpisów. Poza tym has_more jest false, nawet jeśli istnieją starsze wpisy.
  • Rzadko, podczas chwilowego problemu z usługą, lista może pominąć lub powtórzyć wpis. Przeczytaj ją ponownie później, aby uzyskać pełną listę.

Błędy

Status Gdycode
400 page_size jest poza zakresem od 1 do 100, cursor jest nieprawidłowy, locale nie jest językiem obsługiwanym przez centrum pomocy (listy) lub nie ma długości od 2 do 10 znaków (odczyty pojedyncze) lub zapytanie ma nieznany parametrvalidation_error
403 Klucz nie ma zakresu readinsufficient_scope
403 Tylko dziennik zmian: dziennik zmian jest wyłączony lub nie jest uwzględniony w planie albo wyłączona jest analiza centrum pomocypermission_denied
404 Centrum pomocy, artykuł lub kolekcja nie istnieje w Twojej przestrzeni roboczej, nie ma tłumaczenia w locale lub dziennik zmian jest włączony, ale nie ma kolekcji dzienników zmiannot_found

Każda trasa może również odpowiadać na invalid_version, authentication_error, rate_limited i internal_error. Zobacz Obsługa błędów API Notiondesk, limitów przepustowości i ponownych prób .

Często zadawane pytania

Czy mogę tworzyć lub edytować artykuły za pomocą interfejsu API Notiondesk?

Nie. Notion jest źródłem wiarygodności Twoich treści. Edytuj artykuł w Notion, a następnie uruchom synchronizację za pomocą API lub poczekaj na zaplanowaną synchronizację.

Czy lista artykułów obejmuje wersje robocze?

Tak. Lista i trasa odczytu obejmują wszystkie statusy: draft, published, review i archived. Przefiltruj wyniki w kodzie dla status, aby zachować tylko opublikowane artykuły.

Jak mogę wyeksportować każdy artykuł jako Markdown?

Wypisz artykuły, a następnie przeczytaj każdy z nich od id. Artykuł z przykładami zawiera kompletny skrypt zapasowy.

Co oznacza truncated: true?

Kod markdown artykułu jest dłuższy niż 200 000 bajtów, więc text zawiera pierwsze 200 000 bajtów wyciętych z całego znaku.

Dlaczego w przypadku niektórych języków pole notion_article_page_url jest puste?

Język ten powstał w wyniku automatycznego tłumaczenia, dlatego nie ma własnej strony w bazie Notion.

Co dalej?

Powiązane artykuły

Czy ta strona była pomocna?

Still need help? Ask us