API Notiondesk umożliwia zmianę ustawień centrum pomocy z poziomu kodu: indeksowania w wyszukiwarkach, tytułu i opisu strony w każdym języku, optymalizacji AI, formularza kontaktowego i dziennika zmian. Można go używać do stosowania tej samej konfiguracji w kilku centrach pomocy lub do przechowywania ustawień w systemie kontroli wersji.
| Metoda | Ścieżka | Zakres | Zmiany |
|---|---|---|---|
PATCH | /sites/{site_id}/settings/content | write | Indeksowanie w wyszukiwarkach, tytuł strony i opis według języka |
PATCH | /sites/{site_id}/settings/ai-optimization | write | llms.txt, eksport Markdown i menu kontekstowe AI |
PATCH | /sites/{site_id}/settings/contact-form | write | Czy formularz kontaktowy jest wyświetlany |
PATCH | /sites/{site_id}/settings/changelog | write | Rejestr zmian i jego opcje |
Języki i automatyczne tłumaczenie mają swój własny artykuł: Zarządzanie językami i automatycznym tłumaczeniem za pomocą interfejsu API Notiondesk . Kolory, czcionki i układ są dostępne w sekcji „Dostosuj branding i motywy w Centrum pomocy za pomocą interfejsu API Notiondesk” .
Jak działają aktualizacje ustawień
Każda trasa na tej stronie podlega tym samym zasadom:
- Wyślij tylko to, co zmienisz. Pole, które pominiesz, zachowa swoją obecną wartość.
- Odpowiedź to
204 No Content, bez treści, nawet gdy nic się nie zmieniło. Odczytaj nowy stan za pomocąGET /sites/{site_id}, zgodnie z opisem w sekcji „Odczytuj swoje centra pomocy za pomocą interfejsu API Notiondesk” .
- Wyślij wartości logiczne JSON. Tylko
truelubfalse: wartości0i"false"są odczytywane jakotrue.
- Nieznane pola są odrzucane kodem 400
validation_errori nic się nie zmienia.
- Ponowne próby są bezpieczne dzięki
Idempotency-Key. Zobacz Obsługa błędów API Notiondesk, limitów szybkości i ponownych prób .
Indeksowanie w wyszukiwarkach, tytuły i opisy stron
curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/content" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"seo_indexing_enabled": true, "items": [{"locale": "fr", "page_title": "Centre d aide Example", "page_description": "Toutes les réponses sur Example"}]}'| Pole | Typ | Notatki | Przeczytaj ponownie jako |
|---|---|---|---|
seo_indexing_enabled | wartość logiczna | Czy wyszukiwarki mogą indeksować centrum pomocy | seo_indexing_enabled |
items | lista obiektów | Jeden obiekt do zmiany na język | setting_content_items |
Każdy obiekt w items:
| Pole | Typ | Notatki |
|---|---|---|
locale | smyczkowy | Wymagane. Język obsługiwany przez Centrum pomocy, maksymalnie raz na liście |
page_title | ciąg lub null | Do 255 znaków. null czyści |
page_description | ciąg lub null | Do 255 znaków. null czyści |
Obiekt zmienia tylko pola, które zawiera, a język pominięty w items zachowuje swój tytuł i opis. items nie może dodać ani usunąć języka.
Błąd w jednym z języków powoduje nadanie mu nazwy w ścieżce pola, na przykład items[fr].page_title.
seo_indexing_enabled: false Prosi wyszukiwarki o zaprzestanie indeksowania całego Centrum pomocy. Zobacz Zapobiegaj indeksowaniu i przeszukiwaniu Centrum pomocy przez wyszukiwarki .Optymalizacja AI
curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/ai-optimization" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"llms_txt_enabled": true, "markdown_export_enabled": true, "ai_contextual_menu_enabled": true}'| Pole | Typ | Przeczytaj ponownie jako |
|---|---|---|
llms_txt_enabled | wartość logiczna: czy centrum pomocy publikuje llms.txt | llms_txt_enabled |
markdown_export_enabled | wartość logiczna: czy artykuły można czytać jako markdown | markdown_export_enabled |
ai_contextual_menu_enabled | wartość logiczna: czy artykuły wyświetlają menu kontekstowe AI | ai_contextual_menu_enabled |
Twój plan musi uwzględniać optymalizację AI. Dowiedz się, co robi każda funkcja w sekcji „Konfigurowanie optymalizacji AI” w Centrum pomocy oraz „Wprowadzenie do optymalizacji GEO/AI” .
Formularz kontaktowy
curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/contact-form" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"enabled": false}'| Pole | Typ | Przeczytaj ponownie jako |
|---|---|---|
enabled | wartość logiczna: czy centrum pomocy wyświetla formularz kontaktowy | contact_form_enabled |
- API włącza lub wyłącza formularz, ale nic więcej. Adresy, na które przesyłane są zgłoszenia, są ustawiane w panelu. Treść z
destination_emailsodpowiada 400validation_errori niczego nie zmienia.
- Formularz pozostaje aktywny tylko z zapisanym adresem. Włączenie go w centrum pomocy bez adresu powoduje błąd 400
validation_errordladestination_emails. Najpierw ustaw adres w panelu. Wyłączenie formularza nie wymaga adresu.
- Twój plan musi obejmować zaawansowaną personalizację, nawet możliwość wyłączenia formularza.
Dziennik zmian
curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/changelog" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"enabled": true, "reactions_enabled": true, "changelog_categories": [{"category_id": "2984612035", "color": "blue_sky"}]}'| Pole | Typ | Notatki | Przeczytaj ponownie jako |
|---|---|---|---|
enabled | wartość logiczna | Czy dziennik zmian jest publikowany | changelog_enabled |
email_subscriptions_enabled | wartość logiczna | Czy czytelnicy mogą subskrybować wiadomości e-mail z informacjami o zmianach. true wymaga planu z powiadomieniami e-mail o zmianach | changelog_email_subscriptions_enabled |
reactions_enabled | wartość logiczna | Czy czytelnicy mogą reagować na wpisy w dzienniku zmian | changelog_reactions_enabled |
email_subject_pattern | smyczkowy | Temat wiadomości e-mail z dziennikiem zmian, do 255 znaków. Nie można go usunąć: null i "" pozostawiają go bez zmian. | changelog_email_subject_pattern |
changelog_categories | lista obiektów | Pełny zestaw kolekcji dzienników zmian | changelog_categories |
Każdy obiekt w changelog_categories ma wymagany category_id, id jednej z Twoich kolekcji i opcjonalny color o długości do 255 znaków.
changelog_categories Zastępuje cały zestaw. Pominięta kolekcja przestaje być kolekcją rejestru zmian i usuwa je wszystkie. Czytaj od początku, gdy chcesz dodać tylko jedną. Zestaw może pomieścić do 100 kolekcji.[]changelog_categoriesGET /sites/{site_id}Twój plan musi zawierać dziennik zmian. Jeśli subskrypcje e-mail są włączone, ale Twój plan nie obejmuje już powiadomień e-mail o dzienniku zmian, każde żądanie do tej trasy odpowiada kodem 403 permission_denied, aż do wysłania "email_subscriptions_enabled": false.
Więcej informacji znajdziesz w sekcji Konfigurowanie dzienników zmian w Centrum pomocy i Jak włączyć subskrypcje e-mailowe dla dzienników zmian .
Błędy
| Status | Gdy | code |
|---|---|---|
| 400 | Wartość jest nieprawidłowa lub zbyt długa, język lub kolekcja są nieznane lub powtarzają się, istnieje ponad 100 kolekcji dziennika zmian, wysłano destination_emails, formularz kontaktowy pozostaje aktywny bez adresu lub treść zawiera nieznane pole | validation_error |
| 403 | Klucz nie ma zakresu write | insufficient_scope |
| 403 | Twój plan nie obejmuje funkcji (optymalizacji AI, zaawansowanej personalizacji, rejestru zmian lub powiadomień e-mail o rejestrze zmian) lub twórca klucza nie może zmienić tego centrum pomocy | permission_denied |
| 404 | Centrum pomocy nie istnieje w Twoim obszarze roboczym | not_found |
Zobacz temat Obsługa błędów API Notiondesk, limitów szybkości i ponownych prób, aby zapoznać się z obwiednią błędu i innymi kodami.
Często zadawane pytania
Jak potwierdzić zmianę ustawień?
Przeczytaj GET /sites/{site_id}. Kolumna „Odczytaj jako” nad każdym polem wskazuje miejsce, w którym pojawia się nowa wartość.
Czy mogę zmienić adresy e-mail w formularzu kontaktowym za pomocą API?
Nie. Ustaw je w panelu. API tylko włącza lub wyłącza formularz.
Czy mogę włączyć wyszukiwanie MCP za pomocą interfejsu API?
Nie. Włącz wyszukiwanie MCP w panelu. API pokazuje jego stan w mcp_search_enabled. Zobacz Włączanie wyszukiwania MCP .
Czy mogę zmienić tryb dostępu Centrum pomocy za pomocą API?
Nie. Dostęp publiczny, hasło i dostęp dla konta gościa są ustawiane w panelu. API pokazuje aktualny tryb w access_mode.