Skip to Content
חוברת ה-APIמרכז עזרה

מרכז עזרה

נהלו את מאמרי מרכז העזרה של הפרויקט ואת הקטגוריות שלהם. דורש שמרכז העזרה יהיה מופעל בפרויקט — כשהוא כבוי, כל נקודת קצה למטה מחזירה 404.

גוף המאמרים הוא Markdown, לא HTML. הפורטל מציג אותם דרך מציג שלעולם אינו מריץ HTML גולמי, כך שכל HTML שתשלחו מוצג לקוראים כטקסט מילולי.

GET/v1/articles

ParameterTypeDescription
statusstringסינון לפי סטטוס: draft, published או archived.
category_idstringרק מאמרים בקטגוריה הזו.
limitintegerגודל עמוד. ברירת המחדל היא 25, מקסימום 100.
offsetintegerמספר הפריטים לדילוג. ברירת המחדל היא 0.

GET/v1/articles/search

ParameterTypeDescription
qrequiredstringשאילתת חיפוש. תומכת בביטויים במרכאות, ב-OR ובשלילה עם -.
limitintegerמספר תוצאות. ברירת המחדל היא 25, מקסימום 100.

GET/v1/articles/:id

POST/v1/articles

ParameterTypeDescription
titlerequiredstringעד 200 תווים.
bodystringMarkdown. עד 50,000 תווים.
excerptstringתקציר בשורה אחת, עד 300 תווים. נגזר מהגוף כשהוא מושמט.
slugstringמקטע הכתובת, עד 80 תווים. נגזר מהכותרת כשהוא מושמט.
category_idstringהקטגוריה שתחתיה לתייק את המאמר.

PATCH/v1/articles/:id

ParameterTypeDescription
titlestringכותרת חדשה.
bodystringגוף Markdown חדש.
excerptstringתקציר חדש; null מנקה אותו.
slugstringמקטע כתובת חדש.
category_idstringקטגוריה חדשה; null הופך את המאמר ללא-מסווג.
statusstringdraft, published או archived.

DELETE/v1/articles/:id

מאמרים נוצרים תמיד כטיוטות — הפרסום הוא PATCH נפרד, כך ששום דבר אינו מגיע לפורטל שלכם בטעות. יצירת מאמר דורשת גישת כתיבה בתוכנית בתשלום, וכך גם כל שיטה משנה אחרת כאן.

רשימת מאמרים

curl "https://api.supdesk.app/v1/articles?status=published&limit=10" \ -H "Authorization: Bearer sd_live_..."
{ "data": [ { "id": "8f7a...", "title": "How do I reset my password?", "slug": "how-do-i-reset-my-password", "body": "Open **Settings**, then choose *Reset password*.", "excerpt": "Open Settings, then choose Reset password.", "status": "published", "category_id": "3c2b...", "published_at": "2026-07-01T09:12:00Z", "helpful_count": 12, "not_helpful_count": 1, "created_at": "2026-06-28T14:03:00Z", "updated_at": "2026-07-01T09:12:00Z" } ], "pagination": { "limit": 10, "offset": 0, "has_more": false } }

ללא סינון, זה מחזיר גם טיוטות ומאמרים בארכיון, לפי העריכה האחרונה תחילה. העבירו status=published כדי לקבל את מה שהלקוחות באמת יכולים לראות.

חיפוש מאמרים

curl "https://api.supdesk.app/v1/articles/search?q=reset+password&limit=5" \ -H "Authorization: Bearer sd_live_..."
{ "data": [ { "id": "8f7a...", "title": "How do I reset my password?", "slug": "how-do-i-reset-my-password", "category_slug": "getting-started", "category_name": "Getting started", "snippet": "Open Settings, then choose Reset password.", "rank": 0.6079 } ] }

חיפוש טקסט מלא על מאמרים שפורסמו בלבד, מדורג, עם קטע בטקסט רגיל סביב ההתאמה. הכותרות משוקללות מעל התקצירים, והתקצירים מעל גוף המאמר. שאילתה ריקה או שאינה ניתנת לפענוח מחזירה רשימה ריקה במקום שגיאה.

קבלת מאמר

curl "https://api.supdesk.app/v1/articles/8f7a..." \ -H "Authorization: Bearer sd_live_..."

מחזיר מאמר בודד באותו מבנה כמו הרשימה, או 404 כשהמזהה אינו מוכר בפרויקט שלכם.

יצירת מאמר

curl -X POST https://api.supdesk.app/v1/articles \ -H "Authorization: Bearer sd_live_..." \ -H "Content-Type: application/json" \ -d '{ "title": "How do I reset my password?", "body": "Open **Settings**, then choose *Reset password*.", "category_id": "3c2b..." }'
{ "data": { "id": "8f7a...", "title": "How do I reset my password?", "slug": "how-do-i-reset-my-password", "body": "Open **Settings**, then choose *Reset password*.", "excerpt": "Open Settings, then choose Reset password.", "status": "draft", "category_id": "3c2b...", "published_at": null, "helpful_count": 0, "not_helpful_count": 0, "created_at": "2026-07-01T09:12:00Z", "updated_at": "2026-07-01T09:12:00Z" } }

מחזיר 201. השמטת slug גוזרת אחד מהכותרת, עם סיומת -2, -3… אם הכתובת תפוסה. השמטת excerpt גוזרת אחד מהגוף.

התוכנית שלכם מגבילה כמה מאמרים פרויקט יכול להחזיק — Free 5, Pro 50, Team ללא הגבלה. מעבר לתקרה זה מחזיר limit_reached (429). מאמרים בארכיון אינם נספרים, כך שהעברה לארכיון מפנה מקום.

עדכון מאמר

curl -X PATCH https://api.supdesk.app/v1/articles/8f7a... \ -H "Authorization: Bearer sd_live_..." \ -H "Content-Type: application/json" \ -d '{ "status": "published" }'

רק השדות שאתם שולחים נכתבים, כך ש-PATCH לעולם אינו מרוקן משהו שהשמטתם. קביעת status ל-published חותמת את published_at בפעם הראשונה ושומרת עליו לאחר מכן — תיקון שגיאת כתיב אינו גורם למאמר ישן להיראות חדש. קביעתו ל-archived מוציאה את המאמר משימוש בלי למחוק אותו.

הוצאת מאמר מהארכיון בודקת מחדש את תקרת התוכנית, ויכולה להחזיר limit_reached.

מחיקת מאמר

curl -X DELETE https://api.supdesk.app/v1/articles/8f7a... \ -H "Authorization: Bearer sd_live_..."

מוחק את המאמר ואת משוב הקוראים שלו לצמיתות, ומחזיר 204. כדי להוציא מאמר משימוש תוך שמירתו, קבעו את הסטטוס שלו ל-archived במקום.

קטגוריות

GET/v1/article-categories

ParameterTypeDescription
limitintegerגודל עמוד. ברירת המחדל היא 25, מקסימום 100.
offsetintegerמספר הפריטים לדילוג. ברירת המחדל היא 0.

GET/v1/article-categories/:id

POST/v1/article-categories

ParameterTypeDescription
namerequiredstringעד 80 תווים.
descriptionstringמוצג בפורטל, עד 300 תווים.
sort_orderintegerמיקום התצוגה. ברירת המחדל היא 0.

PATCH/v1/article-categories/:id

ParameterTypeDescription
namestringשם חדש.
descriptionstringתיאור חדש; null מנקה אותו.
sort_orderintegerמיקום תצוגה חדש.

DELETE/v1/article-categories/:id

curl -X POST https://api.supdesk.app/v1/article-categories \ -H "Authorization: Bearer sd_live_..." \ -H "Content-Type: application/json" \ -d '{ "name": "Getting started", "sort_order": 1 }'
{ "data": { "id": "3c2b...", "name": "Getting started", "slug": "getting-started", "description": null, "sort_order": 1, "created_at": "2026-07-01T09:12:00Z" } }

הקטגוריות מוצגות לפי sort_order, ואז לפי שם. ה-slugs נגזרים מהשם באותה דרך שבה slugs של מאמרים נגזרים מהכותרת.

מחיקת קטגוריה מחזירה 204 ואינה מוחקת את המאמרים שלה — הם הופכים ללא-מסווגים ונשארים נגישים דרך חיפוש ומהעמוד הראשי של מרכז העזרה.

שגיאות

לצד הקודים הסטנדרטיים:

קודסטטוסמתי
not_found404מזהה לא מוכר — או שמרכז העזרה כבוי בפרויקט הזה.
forbidden403פעולת כתיבה בתוכנית ללא גישת כתיבה ל-API.
limit_reached429מכסת המאמרים של התוכנית מוצתה.
Last updated on