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}/articles | read | Wyświetla artykuły w jednym języku |
GET | /sites/{site_id}/articles/{article_id} | read | Czyta jeden artykuł z jego zawartością w formacie Markdown |
GET | /sites/{site_id}/categories | read | Wyświetla kolekcje w jednym języku wraz z ich hierarchią |
GET | /sites/{site_id}/categories/{category_id} | read | Odczytuje jedną kolekcję wraz z jej zawartością w formacie Markdown |
GET | /sites/{site_id}/changelog | read | Wyś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 |
|---|---|
id | Identyfikator 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 |
status | draft, published, review lub archived. Zobacz Jak kontrolować widoczność artykułu |
categories | Kolekcje, do których należy artykuł, każda z id, name, slug, locale i status |
tags | Tagi artykułu, każdy z name i slug |
locales_count | W ilu językach jest dostępny artykuł? |
updated_at, published_at | Kiedy artykuł został ostatnio zmieniony i kiedy został opublikowany |
locale | Język tego elementu |
reading_time | Szacowany czas czytania w minutach |
views_count | Ile razy czytelnicy otworzyli artykuł |
reactions_percent | Każ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_translated | Czy ten język powstał w wyniku automatycznego tłumaczenia |
sync_failed: truePrzeczytaj 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 |
|---|---|
type | Zawsze article |
text | Treść artykułu w formacie Markdown. Puste, jeśli żadna treść nie została jeszcze zapisana. |
truncated | true, gdy text został obcięty do 200 000 bajtów. Obcięcie zawsze dotyczy całego znaku. |
content_available | Czy Notiondesk zawiera już treść dla tego języka |
url | Adres publiczny artykułu |
category | Główna kolekcja artykułu: id, title i slug |
tags | Ślimaki tagów artykułu |
author | Autor 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_parent | true dla kolekcji znajdującej się na szczycie hierarchii |
parent_ids | Kolekcje znajdujące się bezpośrednio nad tą |
children_ids | Kolekcje 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 |
|---|---|
id | article:, a następnie identyfikator artykułu wpisu. Usuń prefiks, aby odczytać cały wpis z trasą artykułu. |
text | Zwykł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 |
url | Twoja 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_morejestfalse, 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 | Gdy | code |
|---|---|---|
| 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 parametr | validation_error |
| 403 | Klucz nie ma zakresu read | insufficient_scope |
| 403 | Tylko dziennik zmian: dziennik zmian jest wyłączony lub nie jest uwzględniony w planie albo wyłączona jest analiza centrum pomocy | permission_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 zmian | not_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?
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?
notion_article_page_url jest puste?Język ten powstał w wyniku automatycznego tłumaczenia, dlatego nie ma własnej strony w bazie Notion.