Ferndesk

Articles

Rechercher des articles

Recherche en texte intégral dans vos articles publiés du centre d’aide, classés par pertinence.

La recherche est classée par pertinence et non paginée par clé : elle renvoie au maximum 100 résultats classés par pertinence. has_more indique que la limite a été atteinte ; next_cursor est toujours null.

format=markdown renvoie contentMarkdown au lieu de contentHtml.

Portée requise : content:read

GET /articles/search

Rechercher des articles

curl --request GET \
  --url 'https://api.ferndesk.com/v1/articles/search' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "results": [
    {
      "id": "<string>",
      "title": "<string>",
      "slug": "<string>",
      "contentHtml": "<string>",
      "contentMarkdown": "<string>",
      "contentJson": "<string>",
      "url": "<url>",
      "sectionId": "<string>",
      "collectionId": "<string>",
      "status": "<string>",
      "publishedAt": "<string>",
      "createdAt": "<string>"
    }
  ],
  "has_more": true,
  "next_cursor": "<string>"
}

Réponse de recherche d’articles classée par pertinence

Authorizations

  • Authorization string requis header

    Toutes les requêtes nécessitent un jeton Bearer dans l’en-tête Authorization. Les clés API sont préfixées par fdsk_ et doivent rester secrètes. Vous pouvez générer et gérer les clés depuis la page Paramètres développeur.

    Les clés peuvent être limitées à n’importe quel sous-ensemble de ces portées (chaque endpoint indique la portée requise via x-required-scopes) :

    • content:read : Lire et rechercher les articles, collections, sections et traductions du centre d’aide
    • content:write : Créer et modifier des brouillons d’articles, des utilisateurs et des tâches ; déplacer des articles et des collections
    • content:publish : Publier, dépublier, restaurer et mettre à la corbeille du contenu (rendre les modifications accessibles)
    • analytics:read : Lire les rapports, analyses et retours sur les articles du centre d’aide
    • conversations:read : Lire les conversations et transcriptions de l’assistant IA
    • webhooks:manage : Créer et gérer les abonnements aux webhooks sortants

    L’attribution de content:write ou content:publish implique content:read. Les clés créées avant la mise en place des portées ont des portées nulles = accès complet (mode hérité).

Query Parameters

  • format string enum

    Format de rendu du contenu. html (par défaut) renvoie contentHtml ; markdown renvoie contentMarkdown ; json renvoie contentJson — le document ProseMirror/Tiptap brut stocké. Le JSON utilise le schéma ProseMirror de Ferndesk (nœuds personnalisés tels que callout, steps et cards) et constitue la représentation sans perte du corps de l’article. Exemple: markdown

  • page_size integer

    Nombre maximal de résultats classés par pertinence à renvoyer (1-100). Exemple: 20

  • query string requis

    Requête de recherche en texte libre. Exemple: authentication

Response

application/json
  • results[] object array

    Éléments de cette page. Données d’article renvoyées par les endpoints d’articles.

    + Show Child Attributes
    • id string

      Identifiant d’article Ferndesk (art_...).

    • title string

      Titre principal de l’article.

    • slug string | null

      Slug d’URL de l’article.

    • contentHtml string

      Contenu de l’article rendu en HTML. Présent lorsque format=html (par défaut).

    • contentMarkdown string

      Contenu de l’article rendu en Markdown. Présent lorsque format=markdown.

    • contentJson any | null

      Document ProseMirror/Tiptap brut stocké. Présent lorsque format=json. Utilise le schéma ProseMirror de Ferndesk (nœuds personnalisés tels que callout, steps et cards) et constitue la représentation sans perte.

    • url string (uri) | null

      URL publique canonique de cet article.

    • sectionId string | null

      Identifiant de la section contenant l’article.

    • collectionId string | null

      Identifiant facultatif du regroupement de collection pour l’article.

    • status string | null

      Statut de publication de l’article.

    • publishedAt string | null

      Horodatage de publication de l’article.

    • createdAt string

      Horodatage ISO 8601 en UTC.

    • updatedAt string

      Horodatage ISO 8601 en UTC.

  • has_more boolean

    Indique si d’autres éléments sont disponibles après cette page.

  • next_cursor string | null

    Curseur à transmettre comme start_cursor pour la page suivante, ou null sur la dernière page.