Leia artigos, coleções e entradas do changelog com a API Notiondesk

Leia artigos e coleções da central de ajuda do Notiondesk em formato Markdown, em qualquer idioma, com estado sincronizado, e liste as entradas do changelog através da API REST.

8 min de leitura

A API Notiondesk lê tudo o que sua central de ajuda publica: todos os artigos e coleções em qualquer idioma, com seu conteúdo em Markdown, seu status de publicação e seu estado de sincronização, além das suas entradas de changelog publicadas. Use-a para fazer backup da sua central de ajuda, enviar seu conteúdo para outra ferramenta ou verificar quais artigos não foram sincronizados.

A API lê o conteúdo, mas nunca o grava. Seus artigos e coleções permanecem no Notion: para alterar um deles, edite-o no Notion e inicie uma sincronização .

Na API Notiondesk, uma coleção é chamada de categoria .

Método Caminho Escopo Faz
GET/sites/{site_id}/articlesreadLista artigos em um idioma.
GET/sites/{site_id}/articles/{article_id}readLê um artigo com seu conteúdo em Markdown.
GET/sites/{site_id}/categoriesreadLista coleções em um idioma, com sua hierarquia.
GET/sites/{site_id}/categories/{category_id}readLê uma coleção com seu conteúdo em Markdown.
GET/sites/{site_id}/changelogreadLista as entradas do changelog publicadas, da mais recente para a mais antiga.

Escolha o idioma

Cada rota nesta página aceita um parâmetro de consulta opcional locale, como ?locale=fr. Sem ele, a resposta usa o idioma padrão da central de ajuda. Nas rotas de lista, locale deve ser um dos idiomas que a central de ajuda oferece: o supported_locales da central de ajuda . Leia Suporte a vários idiomas na sua Central de Ajuda para adicionar idiomas.

Artigos da lista

A lista inclui todos os artigos em todos os status, rascunhos e artigos arquivados também, na ordem em que foram criados. Navegue pelas páginas com page_size e cursor, conforme descrito em Paginate e solicitações de API da versão 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"
}
Campo Significado
idO identificador do artigo, usado como article_id para ler o artigo.
__PRESERVADO_102__, __PRESERVADO_101__ O título do artigo e seu segmento de caminho no centro de ajuda
statusdraft, published, review ou archived. Consulte Como controlar a visibilidade do artigo.
categoriesAs coleções às quais o artigo pertence, cada uma com id, name, slug, locale e status
tagsAs etiquetas do artigo, cada uma com name e slug
locales_countEm quantos idiomas o artigo existe?
__PRESERVADO_85__, __PRESERVADO_84__ Quando o artigo foi alterado pela última vez e quando foi publicado.
localeO idioma deste item
reading_timeTempo estimado de leitura, em minutos
views_countQuantas vezes os leitores abriram o artigo?
reactions_percentCada reação do leitor com sua respectiva participação no total de reações, em porcentagem. Os nomes das reações dependem do seu estilo de feedback.
__PRESERVADO_79__, __PRESERVADO_78__ A página do Notion da qual o artigo foi sincronizado e o URL da página do Notion neste idioma (null para tradução automática)
__PRESERVADO_76__, __PRESERVADO_75__, __PRESERVADO_74__, __PRESERVADO_73__ Se a sincronização do artigo está em andamento, se a última expirou ou falhou e por quê.
auto_translatedSe este idioma foi produzido por tradução automática.
Observação: Filtre os resultados no seu código para encontrar todos os artigos cuja última sincronização falhou, corrija-os no Notion e sincronize-os novamente .sync_failed: true

Leia um artigo em 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
}
Campo Significado
typeSempre __PRESERVADO_69__
textO conteúdo do artigo em formato Markdown. Vazio quando ainda não há conteúdo armazenado.
truncatedtrue quando text foi cortado em 200.000 bytes. O corte sempre ocorre em um caractere inteiro.
content_availableAinda não se sabe se Notiondesk contém conteúdo para este idioma.
urlO endereço público do artigo
categoryA coleção principal do artigo: id, title e slug
tagsOs slugs das tags do artigo
authorAutor do artigo: name

Cada status é legível, então você pode ler um rascunho antes de publicá-lo. Um artigo sem tradução no campo locale solicitado retorna 404 not_found.

Listar coleções

Cada item é uma coleção no idioma solicitado, na ordem em que as coleções foram criadas:

Reconstrua sua árvore de coleção com três campos:

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
}
Campo Significado
is_parenttrue para uma coleção no topo da hierarquia
parent_idsAs coleções imediatamente acima desta.
children_idsAs coleções imediatamente abaixo desta.

A lista não contém a contagem de artigos. Para contar os artigos de uma coleção, liste-os e agrupe-os por categories. Saiba como as coleções organizam sua central de ajuda em Usar coleções para organizar seus artigos .

Leia uma coleção

A resposta tem o mesmo formato que um artigo: type é category, title, slug, url, status, os campos de sincronização e text com o conteúdo próprio da coleção em Markdown, vazio quando não houver nenhum.

Listar entradas do changelog

O changelog lista os artigos publicados e arquivados em suas coleções de changelog, do mais recente para o mais antigo. Configure-o seguindo as instruções em "Configurando changelogs" na sua central de ajuda .

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"
}
Campo Significado
idarticle: seguido pelo ID do artigo da entrada. Remova o prefixo para ler a entrada completa com a rota do artigo.
textO texto simples da entrada, geralmente um trecho de cerca de 30 palavras.
__PRESERVADO_38__, __PRESERVADO_37__ Quando a entrada foi publicada e quando foi alterada pela última vez.
tagsOs slugs das tags da entrada
urlSua página de registro de alterações neste idioma

Bom saber:

  • Uma entrada só aparece quando sua coleção de registros de alterações é publicada no idioma solicitado.
  • Em uma central de ajuda que utiliza contas de convidado, a lista exibe apenas as entradas que todos os leitores podem visualizar.
  • A lista atinge, no máximo, as 1.000 entradas mais recentes. Depois disso, has_more é false, mesmo quando existem entradas mais antigas.
  • Raramente, durante uma falha temporária do serviço, a leitura de uma lista pode pular ou repetir uma entrada. Leia-a novamente mais tarde para obter a lista completa.

Erros

Status Quandocode
400 page_size está fora do intervalo de 1 a 100, cursor é inválido, locale não é um idioma atendido pela central de ajuda (listas) ou não tem de 2 a 10 caracteres (leituras únicas), ou a consulta tem um parâmetro desconhecido.validation_error
403 A chave não possui o escopo readinsufficient_scope
403 Somente o registro de alterações: o registro de alterações está desativado ou não está incluído no seu plano, ou as análises da central de ajuda estão desativadas.permission_denied
404 A central de ajuda, o artigo ou a coleção não existem no seu espaço de trabalho, não têm tradução em locale, ou o registro de alterações está ativado, mas não tem uma coleção de registro de alterações.not_found

Cada rota também pode responder a invalid_version, authentication_error, rate_limited e internal_error. Consulte Erros de API, limites de taxa e novas tentativas de tratamento de Notiondesk .

Perguntas frequentes

Posso criar ou editar artigos com a API Notiondesk?

Não. O Notion é a fonte de verdade para o seu conteúdo. Edite o artigo no Notion e, em seguida, inicie uma sincronização com a API ou aguarde a sincronização agendada.

A lista de artigos inclui rascunhos?

Sim. A lista e a rota de leitura incluem todos os status: draft, published, review e archived. Filtre os resultados no seu código por status para manter apenas os artigos publicados.

Como faço para exportar todos os artigos como Markdown?

Liste os artigos e, em seguida, leia cada um pelo seu id. O artigo de exemplo tem um script de backup completo.

O que significa truncated: true?

O código Markdown do artigo tem mais de 200.000 bytes, então text contém os primeiros 200.000 bytes, divididos em caracteres inteiros.

Por que notion_article_page_url está vazio para alguns idiomas?

Esse idioma foi produzido por tradução automática, portanto não possui uma página própria no Notion.

O que vem a seguir?

Artigos relacionados

Esta página foi útil?

Still need help? Ask us