תכונותAIלוח מחווניםAPIתמחורהורדעזרה
מראה (Auto: light)
נסה בחינם
בית / API
API ומפתחים

הקש על Enter.
קבל את הנתונים שלך.

REST API /api/v1, 53 היקפים, 239 נקודות קצה, 11 אירועי webhook ו-JS API עבור הווידג'ט. צ'אטים, אנשי קשר, בינה מלאכותית, בסיס ידע, כרטיסים וחיובים - מה שלוח המחוונים עושה, גם הקוד שלך יכול לעשות.

smartbtn.me/api/v1
# לחץ על Enter או על הסימון מימין
$ curl -H "Authorization: Bearer sb_••••" \
    https://smartbtn.me/api/v1/chats?limit=1 
01

התחלה מהירה

שלושה שלבים מאפס לתשובה הראשונה. כל בקשה קשורה לווידג'ט אחד ומאומתת עם אסימון נושא.

  1. הנפק אסימוןלוח מחוונים ← אסימוני API: שם, תפוגה אופציונלית וההיקפים הדרושים לך. אסימון שייך לווידג'ט אחד בדיוק. אסימון הטקסט הפשוט מוצג פעם אחת; Smartbtn מאחסנת חשיש חד-כיווני בלבד, כך שלא ניתן לשחזר אסימון שאבד - רק לבטל ולהנפיק מחדש.
  2. הפעל את ה-API של הווידג'טבהגדרות הווידג'ט, הפעל את "אפשר API של יישומון (JS ו-REST)". הנפקת אסימון לא תהפוך את המתג הזה עבורך.
  3. שלח את הבקשה הראשונההאסימון נכנס רק לכותרת Authorization - לעולם לא לכתובת האתר.
# רשום את הצ'אטים של הווידג'ט
curl -H "Authorization: Bearer $SMARTBTN_TOKEN" \
     https://smartbtn.me/api/v1/chats
// 200 OK · עימוד סמן
{
  "data": [ { "id": 48211, "status": "open", "last_message_at": "2026-10-17T09:41:12+03:00" }, … ],
  "next_cursor": "eyJpZCI6NDgyMTB9"   // null — בעמוד האחרון
}
כתובת אתר בסיס מאומתת. https://smartbtn.me/api/v1 היא נקודת הקצה העיקרית של ה-API עבור כל נתוני הפרויקט. שלח תמיד בקשות דרך HTTPS ולעולם אל תעביר את האסימון בהפניות מחדש.
אסימון חסר, לא חוקי או חסר היקף? אתה מקבל 401 או 403 עם גוף RFC‑7807 application/problem+json - ראה שגיאות.
02

אימות

שלושה שבילים, תלוי מי קורא למי. הגישה נדחתה כברירת מחדל: ללא היקף - ללא שיחה.

אתה → Smartbtn
שיחות REST

כל בקשה נושאת Authorization: Bearer . בשרת האסימון הופך לווידג'ט אחד והיקפים שלו.

Smartbtn → אתה
Webhooks, מפעיל AI חיצוני

בקשות יוצאות נחתמות בסוד לכל דייר: X‑Smartbtn‑Signature. ניתן להוסיף אישור נושא נוסף אם הצד שלך צריך אחד.

מפעיל הבינה המלאכותית שלך → Smartbtn
תשובות אסינכרון

POST /v1/ai/replies משתמש במסגרת חתומה משלו, מוצמדת למפעיל הבינה המלאכותית ול-widget שלך ומוקדת על ידי causation_id עמיד.

הבוררים שוכחים

«אפשר יישומון API (JS ו-REST)» בהגדרות הווידג'ט פותח הן את ה- REST API והן את ה-API של ה-widget JS. הנפקת אסימון אינה מאפשרת זאת. ניתן לערוך את ההיקפים של מפתח קיים בלוח המחוונים (אסימוני API → מקש → ערוך היקפים) בלי להנפיק מחדש אותו - האינטגרציות ממשיכות לעבוד.

הגדרות קבועות מראש

מוגדר מראשהיקפיםמתי
הגדרת AI 9widget:read · widget:write · ai:read · ai:write · ai:apply · kb:read · kb:write · files:write · stats:readאפליקציית ה-AI שלך מגדירה את הווידג'ט: עוזר, בסיס ידע, טקסטים. מחליף את כל בחירת ההיקף.
לקריאה בלבד (ערכת דוגמא)chats:read · messages:read · contacts:read · stats:readלוחות מחוונים, BI, יצוא.
גשר דלפק העזרה (ערכת דוגמא)chats:read · messages:read · messages:write · webhooks:write · support:readשיקוף דיאלוגים וכרטיסים ל-CRM שלך.
מפתחות ספק נפרדים. הענק ai:credentials:write רק כאשר הבעלים מאשר את הגדרת מפתח הספק. אין צורך בזכויות חשבון, חיוב ושותף להגדרת בינה מלאכותית. המפתח מוצג פעם אחת - בטל אותו בסיום ההגדרה.
03

היקפים

53 היקפי מסלול, פלוס אחד מותנה ואחד שמור. בקשה מצליחה רק אם האסימון מחזיק בהיקף המסלול (או חלופה רשומה).

53 + 1 מותנה + 1 שמור
רגישמותנהשמורות
היקףמענקים
chats · 2
chats:readקרא צ'אטים והמטא נתונים שלהם
chats:writeסגור צ'אט, בקש דירוג, העבר, תבע, צרף או נתק סוכן
messages · 2
messages:readקרא את היסטוריית ההודעות של צ'אט
messages:writeשלח הודעות, הקלדת מחוונים ואישורי קריאה כסוכן
contacts · 2
contacts:readקרא אנשי קשר
contacts:writeעדכן שדות ותכונות של אנשי קשר
agents · 3
agents:readקרא סוכנים ונוכחותם
agents:writeרגישלהזמין, לעדכן, להשעות, לשחזר או להסיר סוכנים; מוזמן רואה כל צ'אט של הווידג'ט
agents:events:readקרא את יומן האירועים של סוכן ומדדי לכל סוכן
tags · 2
tags:readקרא תגיות
tags:writeצרף תגים לאיש קשר
files · 2
files:readהורד קובץ שהועלה
files:writeהעלה קובץ חדש
stats · 1
stats:readקרא סטטיסטיקות צ'אט, הודעות ודירוג מצטברות
channels · 3
channels:readקרא סטטוס מקוון של ערוץ מותאם אישית
channels:writeהעברת הודעה נכנסת בערוץ מותאם אישית
channels:registerרשום ערוץ מותאם אישית חדש (אפליקציות מותקנות בלבד)
webhooks · 2
webhooks:readרשום מנויי webhook
webhooks:writeצור, מחק או שלח מחדש מנוי
quick_phrases · 2
quick_phrases:readקרא את המשפטים המהירים של סוכן
quick_phrases:writeצור, ערוך או מחק ביטויים מהירים
ratings · 1
ratings:readקרא את דירוגי המבקרים ואיזה סוכן קולע כל אחד
responder · 2
responder:injectרגישהכנס תשובה לצ'אט חי כמפעיל AI חיצוני או בוט
responder:escalateמותנהעבור POST /v1/ai/replies: מסירה מכוונת מתקשר באמצעות escalate=true
widget · 2
widget:readקרא את המראה, ההתנהגות וההטמעה של הווידג'ט
widget:writeעדכן את הגדרות הווידג'ט וטקה את מטמון הווידג'ט
departments · 2
departments:readקרא את המחלקות, הסוכנים שלהן ולוחות הזמנים
departments:writeצור, עדכן או מחק מחלקות ולוחות זמנים
messengers · 2
messengers:readקרא אילו שליחים מחוברים (לעולם לא אישורים)
messengers:writeרגישחבר או נתק מסנג'ר; כותב אישורי ספק
ai · 4
ai:readקרא את עוזרי הבינה המלאכותית, התצורה וההתראות שלהם
ai:writeצור ועדכן עוזרים, הגדרות בינה מלאכותית ומפעילי בינה מלאכותית, אישיות והנחיה כלולות
ai:credentials:writeרגישאחסן אישורי ספק LLM של צד שלישי (BYOK)
ai:applyאשר שיפור המשכתב מחדש את דמותו של עוזר חי
kb · 2
kb:readקרא חוקים מבוססי ידע ומקורות מובלעים
kb:writeצור, עדכן או מחק חוקי KB ומקורות
transcripts · 1
transcripts:readייצוא תמליל צ'אט
account · 2
account:readקרא את פרופיל החשבון ואת כל הישויות המשפטיות שלו
account:writeעדכן רק את שם החשבון, שם המשפחה והטלפון
billing · 2
billing:readקרא את רישומי החיוב והישויות המשפטיות של הווידג'ט
billing:writeליצור, לעדכן, למחוק ישויות משפטיות; לא מוציא חשבוניות, לא מעביר כסף
partners · 2
partners:readקרא את נתוני השותף וההפניה
partners:withdrawשמורותשמור: שום פעולת תשלום לא משתמשת בו היום
support · 4
support:readקרא כרטיסים, צ'אטים פעילים, ההודעות שלהם ופעולות מבוקרים משלך
support:replyרגישענה ללקוח כמפעיל התמיכה
support:writeתבע או שחרר צ'אט, סגור ללא תשובה, פתח מחדש
support:tickets:closeסגור רק כרטיס - שום דבר אחר
marketing · 2
marketing:readקרא קמפיינים שיווקיים: באנרים, חלונות קופצים, אימייל
marketing:writeצור וערוך קמפיינים, שנה סטטוס, התחל לשלוח מייל
broadcasts · 2
broadcasts:readקרא שידורי מסנג'ר (WhatsApp, Telegram, Messenger, Viber, VK, MAX)
broadcasts:writeצור, ערוך והתחל שידור
problems · 2
problems:readקרא אשכולות והגדרות של בעיות של לקוחות
problems:writeשנה הגדרות וסטטוס אשכול: חדש, בתהליך, נפתר, חוזר
invitations · 2
invitations:readקרא כללי הזמנה, גרסאות A/B, תבניות ומשפך
invitations:writeצור, ערוך, הפעל או מחק כללים ותבניות
04

נקודות קצה

כל השטח הציבורי ברשימה אחת. סנן לפי משאב, חפש לפי נתיב, לחץ על שורה כדי להעתיק תלתל מוכן.

מציג 245 מתוך 245
GETPOSTPUTPATCHDELETE

ai עוזרים, מפעילים, מפתחות, למידה, שוק54

chats דיאלוגים, הודעות, העברה, דירוגים18

kb מאגר ידע: כללים, סורק, קבצים, חיפוש16

agents סוכנים, הזמנות, מדדים14

messengers שליחים, רשתות חברתיות וערוצי שוק13

billing יתרה, מנויים, חשבוניות, ישויות12

support סוכן תמיכה: כרטיסים וצ'טים12

widget הגדרות, שפה, תרגומים, סקינים, מטמון12

channels ערוצים מותאמים אישית8

external‑operators הבוט שלך כמפעיל8

webhook‑subscriptions מנויי Webhook8

broadcasts שידורי מסנג'ר7

departments מחלקות ולוח זמנים7

invitations הזמנות חכמות7

marketing קמפיינים שיווקיים7

partner תוכנית שותפים7

wishes משאלות לבינה מלאכותית7

contacts אנשי קשר ותגים5

problems ניתוח בעיות של לקוחות4

quick‑phrases ביטויים מהירים4

compat תאימות הגירה3

stats סטטיסטיקה3

account חשבון2

files קבצים2

ratings דירוגים1

tags תגים1

v1 1

webhook‑events קטלוג אירועים1

הנתיבים הם יחסיים ל-https://smartbtn.me/api. כתיבה צריכה Content‑Type: application/json ו-X‑Smartbtn‑Idempotency‑Key. קבוצת compat היא שכבת תאימות לצוותים העוברים מפלטפורמת צ'אט אחרת.

05

Webhooks

JSON חתום POST לכתובת האתר שלך בכל פעם שמתרחש אירוע שנרשם כמנוי. נהל מינויים באמצעות /v1/webhook‑subscriptions או בלוח המחוונים.

POST כתובת האתר שלך · X‑Smartbtn‑Event: ticket.created
{
  "id": "evt_01JAB3K9Q7",
  "type": "ticket.created",
  "data": {
    "button_guid": "b_3f9c2e",
    "ticket_number": 10482,
    "chat_id": 48211,
    "client_id": 9134,
    "reason": "human_request",
    "priority": "high",
    "sla_hours": 4,
    "source": "chat",
    "created_at": "2026-10-17T10:15:00+03:00"
  }
}

סיבה: human_request | חיוב | ai_unresolved | action_request | …; עדיפות: גבוהה | נוֹרמָלִי; מקור: צ'אט | אפליקציה | אֲתַר. קרא את הכרטיס ואת הדו-שיח שלו באמצעות GET /v1/support/tickets/{number}.

כותרות משלוח

X‑Smartbtn‑Eventסוג אירוע, למשל. message.created.
X‑Smartbtn‑Signaturesha256=v1: של הגוף הגולמי.
X‑Smartbtn‑Idempotency‑Keyערך אחד לכל אירוע, יציב לאורך ניסיונות חוזרים. תרד על זה.
X‑Smartbtn‑Deliveryערך אחד לכל ניסיון מסירה - עבור היומנים שלך.
X‑Smartbtn‑Timestampזמן שליחה של יוניקס. אינפורמטיבי, לא חתום.

אימות חתימה

HMAC‑SHA256 של הגוף הגולמי (בתים כפי שהתקבלו, לפני ניתוח JSON) עם סוד נקודת הקצה שלך; להשוות בזמן קבוע. הסוד מוצג פעם אחת, כאשר המנוי נוצר; סובב אותו עם POST /v1/webhook‑subscriptions/{id}/rotate‑secret.

// Node.js · לדוגמה, הסוד הוא מציין מיקום
import crypto from 'node:crypto';

function verify(rawBody, header, secret) {
  const expected = 'sha256=v1:' + crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
  const a = Buffer.from(expected), b = Buffer.from(header || '');
  return a.length === b.length && crypto.timingSafeEqual(a, b);
}
// PHP
$expected = 'sha256=v1:' . hash_hmac('sha256', file_get_contents('php://input'), $secret);
if (!hash_equals($expected, $_SERVER['HTTP_X_SMARTBTN_SIGNATURE'] ?? '')) { http_response_code(401); exit; }

נסיונות וסדר

  • עד 4 ניסיונות (השליחה הראשונה פלוס 3 ניסיונות חוזרים), השבתה min(60, 2^attempt × 5) s - בערך 10, 20, 40 שניות.
  • Non‑2xx או פסק זמן נחשב כניסיון כושל. משלוחים שנכשלו יכולים להישלח מחדש עם POST /v1/webhook‑subscriptions/{id}/redeliver - אותו מפתח אימפוטנציה, מזהה מסירה חדש.
  • המשלוח הוא לפחות פעם אחת ולא הוזמן. המטענים מינימליים - מזהים, לא רשומות מלאות; להביא פרטים דרך REST API.
06

JS API

העבר את מה שאתה כבר יודע על המבקר ישירות לסוכן. שיחות מתקבלות רק מהדומיין שהוגדר בהגדרות הווידג'ט.

smartbtn_widget_api.setContactInfo(info)

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

שםהקלדתיאור
namestringשם המבקר
emailstringאימייל למבקר
phonestringטלפון מבקרים
descriptionstringכל מידע נוסף על הלקוח
Smartbtn_api.setClientInfo({
  name: "אלכס מורגן",
  email: "email@example.com",
  phone: "+17584987855",
  description: "Description text"
});

smartbtn_widget_api.setCustomData(fields)

כל נתונים נוספים עבור חלונית המידע בצד ימין של אפליקציית הסוכן. התקשר אליו בתדירות שתרצה - בתיבת דו-שיח פתוחה הפאנל מתעדכן בזמן אמת. השדות מוצגים בסדר מערך.

שםהקלדתיאור
fieldsarrayרשימת שדות נתונים
field.titlestringכותרת מעל השדה
field.contentstringתוכן שדה; תגיות בריחה
field.linkstringכתובת האתר נפתחה בלחיצה
Smartbtn_api.setClientCustomData([
  { title: "Order", content: "#10482 · 3 items", link: "https://shop.example/orders/10482" },
  { title: "Actions", content: "Open customer profile", link: "https://crm.example/c/9134" }
]);

smartbtn_widget_api.setSkin(skin, opts) · open() · close()

החלף את נושא הווידג'ט תוך כדי בלי לטעון מחדש את הדף (classic, minimal, capsule, liquid) או שלוט בחלון הצ'אט באופן תוכנתי. להתאמה אישית קבועה לכל פרויקט, העבר את אותם שדות אל PATCH /v1/widget/settings.

// JS API · להחליף עור בדף בזמן אמת
smartbtn_widget_api.setSkin("minimal");
smartbtn_widget_api.setSkin("capsule", { capsuleTitle: "Smartbtn AI", capsuleSubtitle: "משיב בעוד ~1 שניות" });

// REST API · PATCH /v1/widget/settings (היקף widget:write)
{
  "skin": "minimal",
  "widget_header_align": "center",
  "widget_show_operator_avatars": false,
  "widget_show_tabs_bar": false,
  "chat_bg": "#FAF8F5",
  "capsule_title": "Smartbtn AI",
  "capsule_subtitle": "מקוון 24/7"
}
כאשר widget_api_contact_sync פועל, שיחות אלו מפעילות גם את ה-webhook contact.updated.
07

Support‑agent API

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

  1. הבעלים מאפשר זאתמפרט את האסימונים המורשים לפעול כסוכני תמיכה ואת כתובות ה-IP שמהן הם עשויים להתקשר.
  2. קרא את התורGET /v1/support/tickets · GET /v1/support/chats
  3. לשכור צ'אטPOST …/chats/{id}/claim · …/release
  4. השבטקסט רגיל, קישורים רק למארחים המותרים של הווידג'ט. 201 רק לאחר שמירת ההודעה.
  5. סגור או פתח מחדשPOST …/tickets/{number}/close · …/reopen
היקףמאפשר
support:readכרטיסים, צ'אטים פעילים, הודעות שכותרתן לקוח / ai / תמיכה / מערכת, פעולות מבוקרים משלך
support:writeתבע/שחרר צ'אט, סגור ללא תשובה, פתח מחדש
support:replyענה ללקוח כמפעיל התמיכה (רגיש)
support:tickets:closeסגור רק כרטיס - עבור כפתור "שאלה נפתרה" בקצה האחורי שלך
curl -X POST https://smartbtn.me/api/v1/support/chats/48211/reply \
  -H "Authorization: Bearer $AGENT_TOKEN" \
  -H "Content-Type: application/json" \
  -H "X-Smartbtn-Idempotency-Key: $(uuidgen)" \
  -d '{"text":"בוצע, הגישה שוחזרה."}'
הבעלים יכול לתת אסימונים לסוכן התמיכה שלהם מגבלת דקה משלהם - או בכלל. כל מסלול אחר שומר על הגבול הכללי.
08

API של AI

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

עוזרים ומפעילי בינה מלאכותית

מספר עוזרים עם תפקיד ושפה משלהם, מבחן לפני העלייה לאוויר, מפעילים לפי שפה.

  • GET/v1/ai/assistants
  • POST/v1/ai/assistants/{id}/test
  • PATCH/v1/ai/operators/{id}
  • POST/v1/ai/handoff
היקפים: ai:read · ai:write
הביאו מפתח משלכם

קלוד, ChatGPT, DeepSeek, Gemini, Mistral, LLMs אזוריים או כל OpenAI תואם. הדגמים מפורטים לפי מפתח.

  • GET/v1/ai/credentials
  • POST/v1/ai/credentials
  • GET/v1/ai/credentials/{id}/models
היקפים: ai:read · ai:credentials:write
בסיס ידע

סורק עבור האתר שלך, העלאות PDF ו-DOCX, כללים, סטטוס חיפוש ואינדקס.

  • PUT/v1/kb/crawler
  • POST/v1/kb/uploads
  • POST/v1/kb/rules
  • GET/v1/kb/search
היקפים: kb:read · kb:write · files:write
למידה עצמית

ריצות כוונון, מחזורים, היסטוריה, גרסאות פרסונה עם החזרה לאחור ומתג הרג.

  • POST/v1/ai/learning/tune
  • GET/v1/ai/learning/cycles
  • POST/v1/ai/learning/persona‑versions/{version}/revert
  • GET/v1/ai/learning/kill‑switch
היקפים: ai:read · ai:write · ai:apply
משאלות לבינה מלאכותית

משאלה במילים פשוטות ← תצוגה מקדימה ללא תופעות לוואי ← אישור, דחייה או ביטול.

  • POST/v1/wishes
  • GET/v1/wishes/{id}/preview
  • POST/v1/wishes/{id}/approve
  • POST/v1/wishes/{id}/revert
היקפים: ai:write · ai:apply
בעיות וסימני ביקוש

אשכולות בעייתיים עם סטטוסים ומכסת הוצאה חודשית; מה שהלקוחות ביקשו שאתה לא מציע.

  • GET/v1/problems
  • PATCH/v1/problems/settings
  • POST/v1/problems/{id}/status
  • GET/v1/ai/demand‑signals
היקפים: problems:read · problems:write · ai:read
סטטוס לקוח

הקצה האחורי שלך דוחף את סטטוס הלקוח (רשום, בתשלום, לקוח מאז, מצב שירות) בבקשה חתומה על ידי HMAC - ה-AI שוקל את זה כאשר הוא עונה ומעלה.

  • POST/v1/ai/customer‑status
  • POST/v1/ai/tickets
  • GET/v1/ai/alerts
היקפים: ai:write · ai:read
Assistant באפליקציה שלך

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

  • POST/v1/ai/assistant/turn
  • POST/v1/ai/assistant/account‑link
  • POST/v1/ai/assistant/speech‑to‑text
  • POST/v1/ai/assistant/text‑to‑speech
היקפים: חתימת אינטגרציה (HMAC)
שוק הפתרונות

עוזרים מוכנים לפי נישה: בית קפה, מרפאה, חנות, שירות רכב. הגש בקשה אחת.

  • GET/v1/ai/marketplace/templates
  • POST/v1/ai/marketplace/templates/{slug}/apply
היקפים: ai:read · ai:write
מפעיל AI חיצוני

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

  • POST/v1/ai/replies
  • POST/v1/external‑operators/{public_id}/tests
  • POST/v1/external‑operators/{public_id}/lifecycle
היקפים: responder:inject · responder:escalate
09

מגבלות תעריפים

לכל אסימון, שני מונים: קריאה וכתיבה נספרים בנפרד, כך שהסקר אף פעם לא אוכל את תקציב הכתיבה.

600 / דקהקורא: GET, HEAD
120 / דקהכותב: POST, PATCH, PUT, DELETE
429מעבר לגבול - המתן ל-Retry‑After
X‑RateLimit‑Limitגודל הדלפק שבו נספרה בקשה זו (600 או 120)
X‑RateLimit‑Remainingבקשות שנותרו בחלון הנוכחי
X‑RateLimit‑Resetכאשר החלון מתאפס
Retry‑Afterב-429: שניות לחכות
HTTP/1.1 429 Too Many Requests
Content-Type: application/problem+json
Retry-After: 12
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 0

{ "status": 429, "title": "Too Many Requests", "reason": "rate_limited" }

ל-/v1/ai/assistant/tickets/status ול-/v1/ai/assistant/account‑link יש מונים משלהם; ל-support‑agent API יכול להיות עקיפה לכל ווידג'ט.

10

שגיאות

כל שגיאה היא RFC‑7807 application/problem+json: מצב וסיבה הניתנים לקריאה במכונה, פרט קריא אנושי.

HTTP/1.1 403 · Content-Type: application/problem+json
{
  "type": "https://smartbtn.me/problems/forbidden",
  "title": "Forbidden",
  "status": 403,
  "detail": "Token lacks scope chats:write.",
  "required_scopes": [
    "chats:write"
  ],
  "hint": "Dashboard → API tokens → key → Edit scopes"
}

שמות הגוף required_scopes והיכן להעניק אותם. אין צורך להנפיק מחדש את המפתח.

סטטוסמשמעות
400בקשה שגויה או מפתח חוסר אונות נדרש
401אין אסימון, אסימון לא חוקי או בוטל
403האסימון חסר את ההיקף; הגוף מוסיף required_scopes והיכן להעניק זאת
404לא נמצא בווידג'ט זה
405שיטה אסורה - עצור ודווח; אל תחפש כתיבה חלופית
409שימוש חוזר במפתח אימפוטנציה תוך 24 שעות, או התנגשות מדינה
422האימות נכשל (למשל, נשלח שדה לקריאה בלבד)
429מגבלת תעריף; כבד ניסיון חוזר-אחרי
11

אידמונטיות

רשתות נכשלות. מפתח הופך כתיבה שנוסתה לבטוחה: אותה פעולה לעולם אינה מופעלת פעמיים.

  • שלח X‑Smartbtn‑Idempotency‑Key בכל POST / PATCH / PUT / DELETE: UUID חדש לפעולה חדשה, אותו מפתח עבור ניסיון חוזר של אותה אחת.
  • פעולות המסומנות x‑idempotency: required ב-OpenAPI: ללא מפתח → 400, המפתח נעשה שימוש חוזר תוך 24 שעות → 409 (לא הצלחה במטמון).
  • לא בטוח שזה עבר? תקרא קודם את המדינה. לעולם אל תשנה את המפתח באופן אוטומטי; כבד ניסיון חוזר-אחרי.
  • 502 מספק במעלה הזרם משחרר את המפתח - נסה שוב עם אותו מפתח.
KEY=$(uuidgen)
curl -X PATCH https://smartbtn.me/api/v1/widget/settings \
  -H "Authorization: Bearer $SMARTBTN_TOKEN" \
  -H "Content-Type: application/json" \
  -H "X-Smartbtn-Idempotency-Key: $KEY" \
  -d '{"language":"ru"}'
# שגיאת רשת? חזור עם אותו $KEY
12

Changelog

שינויים בממשק ה-API הציבורי וב-webhooks בשנת 2026. הכל למטה הוא תוסף ונשאר ב-v1.

חדשכרטיסים: ticket.created webhook, קריאת תור עם support:read, רמז 403

כרטיס חדש לאירוע חי. נוצר. GET /v1/support/tickets עונה על כל מפתח עם support:read עד להגדרת סוכן תמיכה. היקפי מפתח ניתנים לעריכה מבלי להנפיק מחדש. 403 רווחים required_scopes.

חדששם מפעיל AI לכל שפה

POST/PATCH /v1/ai/operators מקבלים את name_i18n; שמות ברירת המחדל מתורגמים לשפת הווידג'ט; בחירת ברכה צפויה.

שנהמגבלת שיעור: קריאה וכתיבה נספרת בנפרד

קורא - 600 לדקה, כותב - 120. סקרים כבר לא אוכלים את תקציב הכתיבה. X‑RateLimit-* מתאר את המונה שבו נעשה שימוש.

חדשGET /v1/chats: updated_since filter

שיחות צ'אט עם פעילות מרגע אחד, ותיקים ככל שיהיו. כל צ'אט נושא כעת last_message_at.

חדשממשק API לתמיכה: הצ'אט ביקש את תיבת הדואר

chat.account.email_requested - הצ'אט ממתין לכתובת; אסור לסוכנים להתחיל זרימת קוד נוספת.

חדשתמיכה בהיקף:כרטיסים:סגור

סגור כרטיס ותו לא - ללחצן "פתרה שאלה" בקצה האחורי שלך.

חדשGET /v1/chats: חיפוש טקסט והודעות לקוח

מסננים has_client_messages=1 ו-q (2‑100 תווים).

חדשקישור לחשבון מה-backend שלך

POST /v1/ai/assistant/account‑link ו-/revoke. כבוי עד שהבעלים יאפשר זאת.

תקןמאגר ידע: כותב עם מפתח קשור עוזר

כללים מוטמעים עם מפתח הווידג'ט או מפתח עוזר מופעל; a 502 משחרר את מפתח האימפוטנציה.

שנהממשק API של סוכן תמיכה: חיי חשבון כרטיס אפליקציה

החשבון גלוי בזמן שהכרטיס פתוח ולמשך 7 ימים לאחר מכן.

חדשממשק API של סוכן תמיכה

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

חדשSupport‑agent API: חלון קוד דואר אלקטרוני

שדות code_pending, code_expires_at, last_code_result ו-last_code_at.

13

תוסף וורדפרס

הווידג'ט באתר וורדפרס מבלי לגעת בקוד הנושא.

  1. הורדארכיון התוספים למחשב שלך.
  2. התקןהכנס את התיקיה שלא ארוזה לתוך wp‑content/plugins/ - או העלה אותה במנהל המערכת של וורדפרס.
  3. הפעלפריט Smartbtn מופיע בתפריט.
  4. הדבק את האסימוןהעתק את אסימון האבטחה מהגדרות הווידג'ט בלוח המחוונים שלך.
טוב לדעת

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

14

דוגמאות קוד

רשום כל צ'אט עם פעילות מאז הסקר האחרון שלך - בצע את הסמן עד הסוף.

# עמוד ראשון
curl -G https://smartbtn.me/api/v1/chats \
  -H "Authorization: Bearer $SMARTBTN_TOKEN" \
  --data-urlencode "updated_since=2026-10-17T09:00:00+03:00"

# next — עם next_cursor מהתגובה
curl -G https://smartbtn.me/api/v1/chats \
  -H "Authorization: Bearer $SMARTBTN_TOKEN" \
  --data-urlencode "cursor=eyJpZCI6NDgyMDd9"
מוכן

הנפק אסימון - והקש Enter.