Enter пернесін басыңыз.
Деректерді алыңыз.
REST API /api/v1, 53 аумақ, 239 соңғы нүкте, 11 webhook оқиғасы және виджет үшін JS API. Чаттар, контактілер, AI, білім қоры, билеттер және есепшот — бақылау тақтасы не істесе де, сіздің кодыңыз да жасай алады.
# Enter пернесін немесе оң жақтағы белгіні басыңыз $ curl -H "Authorization: Bearer sb_••••" \ https://smartbtn.me/api/v1/chats?limit=1
Жылдам бастау
Нөлден бірінші жауапқа дейін үш қадам. Әрбір сұрау бір виджетпен байланыстырылған және жеткізуші таңбалауышымен аутентификацияланған.
- Токен шығаруБақылау тақтасы → API токендері: атау, қосымша жарамдылық мерзімі және сізге қажет аумақтар. Токен дәл бір виджетке жатады. Қарапайым мәтіндік таңбалауыш бір рет көрсетіледі; Smartbtn тек бір жақты хэшті сақтайды, сондықтан жоғалған таңбалауышты қалпына келтіру мүмкін емес — тек күші жойылып, қайта шығарылады.
- API виджеттерін қосыңызВиджет параметрлерінде «Виджет API (JS және REST) рұқсат беру» параметрін қосыңыз. Токен шығару бұл қосқышты сіз үшін аудармайды.
- Бірінші сұрауды жіберіңізТокен тек
Authorizationтақырыбына өтеді — ешқашан URL мекенжайына кірмейді.
# виджеттің сөйлесулерін тізімдеңіз 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 арқылы жіберіңіз және ешқашан қайта бағыттау кезінде таңбалауышты жібермеңіз.application/problem+json корпусымен 401 немесе 403 аласыз — a.r. қараңыз.Аутентификация
Кім кімге қоңырау шалатынына байланысты үш жол. Қатынас әдепкі бойынша қабылданбайды: ауқым жоқ — қоңырау жоқ.
Әрбір сұраныс Авторизация: Тасымалдаушы <токен> болады. Серверде таңбалауыш бір виджетке және оның аумақтарына шешіледі.
Шығыс сұрауларға әр жалға алушы құпиясымен қол қойылады: X‑Smartbtn‑Signature. Сіздің тарапыңызға қажет болса, қосымша ұсынушы тіркелгі деректерін қосуға болады.
POST /v1/ai/replies AI операторына және виджетіне бекітілген және тұрақты causation_id арқылы кілттелген өзінің қол қойылған жақтауын пайдаланады.
Ауыстырушы адамдар ұмытады
Виджет параметрлеріндегі «Виджет API (JS және REST) рұқсат беру» REST API және виджет JS API екеуін де ашады. Токен шығару оны іске қоспайды. Қолданыстағы кілттің аумақтарын бақылау тақтасында өңдеуге болады (API таңбалауыштары → кілт → Аумақтарды өңдеу) қайта шығарусыз оны — интеграциялар жұмысын жалғастырады.
Алдын ала орнатулар
| Алдын ала орнатылған | Қолдану аумақтары | Қашан |
|---|---|---|
| AI орнату 9 | widget: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 беріңіз. AI орнату үшін есептік жазба, есепшот және серіктес құқықтары қажет емес. Кілт бір рет көрсетіледі — орнату аяқталғаннан кейін оны қайтарып алыңыз.Қолдану аумақтары
53 бағыт ауқымы, плюс біреуі шартты және біреуі резервтелген. Сұрау таңбалауыш маршрут ауқымын (немесе тізімделген балама) ұстаған жағдайда ғана орындалады.
| Қолдану аясы | Гранттар |
|---|---|
| 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 көмекшілерін, олардың конфигурациясы мен ескертулерін оқыңыз |
| ai:write | Көмекшілерді, AI параметрлерін және AI операторларын, персоналды және шақыруды жасаңыз және жаңартыңыз |
| ai:credentials:writeсезімтал | Үшінші тараптың LLM провайдерінің тіркелгі деректерін сақтау (BYOK) |
| ai:apply | Тікелей көмекші тұлғасын қайта жазатын жақсартуды мақұлдаңыз |
| kb · 2 | |
| kb:read | Білім қоры ережелерін және қабылданған көздерді оқыңыз |
| kb:write | КБ ережелері мен көздерін жасау, жаңарту немесе жою |
| 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 | Ережелер мен үлгілерді жасау, өңдеу, қосу немесе жою |
Соңғы нүктелер
Бүкіл қоғамдық беті бір тізімде. Дайын бұйраны көшіру үшін ресурс бойынша сүзіңіз, жол бойынша іздеңіз, жолды басыңыз.
ai Көмекшілер, операторлар, кілттер, оқу, нарық54
chats Диалогтар, хабарламалар, тасымалдау, бағалаулар18
kb Білім қоры: ережелер, тексеріп шығушы, файлдар, іздеу16
agents Агенттер, шақырулар, көрсеткіштер14
messengers Мессенджерлер, әлеуметтік желілер және нарықтық арналар13
billing Баланс, жазылымдар, шот‑фактуралар, субъектілер12
support Қолдау агенті: билеттер және чаттар12
widget Параметрлер, тіл, аудармалар, мұқабалар, кэш12
channels Арнаулы арналар8
external‑operators Оператор ретінде сіздің ботыңыз8
webhook‑subscriptions Webhook жазылымдары8
broadcasts Messenger хабарлары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 тобы басқа чат платформасынан қозғалатын командаларға арналған үйлесімділік деңгейі болып табылады.
Вебхуктар
Жазылған оқиға орын алған сайын URL мекенжайына қол қойылған JSON POST. Жазылымдарды /v1/webhook‑subscriptions арқылы немесе бақылау тақтасында басқарыңыз.
{
"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"
}
}себебі: адам_сұранысы | есеп айырысу | ai_unsolved | әрекет_сұранысы | …; басымдылық: жоғары | қалыпты; дереккөз: чат | қолданба | сайт. Билет пен оның диалогтық терезесін GET /v1/support/tickets/{number} арқылы оқыңыз.
Жеткізу тақырыптары
| X‑Smartbtn‑Event | Оқиға түрі, мысалы. message.created. |
| X‑Smartbtn‑Signature | Шикі дененің sha256=v1:. |
| X‑Smartbtn‑Idempotency‑Key | Оқиғаға бір мән, қайталау кезінде тұрақты. Дедупе. |
| X‑Smartbtn‑Delivery | Әр жеткізу әрекетіне бір мән — журналдарыңыз үшін. |
| X‑Smartbtn‑Timestamp | Unix жіберу уақыты. Ақпараттық, қол қойылмаған. |
Қолтаңбаны тексеру
Соңғы нүкте құпиясымен шикі дененің 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 қайталау), кері қайтару
мин(60, 2^әрекет × 5)с — шамамен 10, 20, 40 с. - 2xx емес немесе күту уақыты сәтсіз әрекет ретінде есептеледі. Сәтсіз жеткізілімдерді
POST /v1/webhook‑subscriptions/{id}/redeliverарқылы қайта жіберуге болады — бірдей потенциалдық кілт, жаңа жеткізу идентификаторы. - Жеткізу кемінде бір рет және тапсырыс берілмейді. Пайдалы жүктемелер ең аз — толық жазбалар емес, идентификаторлар; мәліметтерді REST API арқылы алу.
JS API
Келуші туралы бұрыннан білетіндеріңізді тікелей агентке беріңіз. Қоңыраулар тек виджет параметрлерінде орнатылған доменнен қабылданады.
smartbtn_widget_api.setContactInfo(info)
Келушінің байланыс деректерін орнатады. Агент оны кіруші кіріспе пішінін толтырғандай көреді. Аты, телефоны және электрондық поштасы Smartbtn‑де ерекше рөл атқарады, демек, бөлек әдіс.
| Аты | Түр | Сипаттама |
|---|---|---|
| name | string | Келушінің аты |
| string | Келуші электрондық поштасы | |
| phone | string | Келуші телефоны |
| description | string | Клиент туралы кез келген қосымша ақпарат |
Smartbtn_api.setClientInfo({ name: «Алекс Морган», email: "email@example.com", phone: "+17584987855", description: "Description text" });
smartbtn_widget_api.setCustomData(fields)
Агент қолданбасының оң жағындағы ақпарат тақтасына арналған кез келген қосымша деректер. Оған қалағаныңызша қоңырау шалыңыз — ашық диалогтық терезеде панель нақты уақытта жаңартылады. Өрістер массив ретімен көрсетіледі.
| Аты | Түр | Сипаттама |
|---|---|---|
| fields | array | Деректер өрістерінің тізімі |
| field.title | string | Өріс үстінде |
| field.content | string | Өріс мазмұны; тегтер қашып кетеді |
| field.link | string | URL басылғанда ашылды |
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 қосулы болса, бұл қоңыраулар сонымен қатар contact.updated веб‑хукты қосады.Support‑agent API
Автоматтандырылған қолдау агенті билет кезегін және тұтынушы чатын жұмыс істейді: чатты қабылдайды, адамдық қолдау операторы ретінде жауап береді, билетті жабады. Виджет иесі оны қосқанша өшірулі.
- Иесі оған мүмкіндік бередіҚолдау агенттері ретінде әрекет етуге рұқсат етілген таңбалауыштарды және олар қоңырау шалуы мүмкін IP мекенжайларын тізімдейді.
- Кезекті оқыңыз
GET /v1/support/tickets·GET /v1/support/chats - Чатты жалға алыңыз
POST …/chats/{id}/claim·…/release - Жауап беруҚарапайым мәтін, тек виджеттің рұқсат етілген хосттарына сілтемелер.
201хабарлама сақталғаннан кейін ғана. - Жабу немесе қайта ашыңыз
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":"Дайын, рұқсат қалпына келтірілді."}'
AI API
Бақылау тақтасының AI бөлімі жасайтын барлық нәрсе: көмекшілер, провайдердің жеке кілттері, білім базасы, кері қайтару арқылы өздігінен білім алу, тілектер, мәселелер, сұраныс сигналдары және қолданбадағы көмекші.
Өз рөлі мен тілі бар бірнеше ассистент, тікелей эфирге шығу алдындағы сынақ, әр тілде аталған операторлар.
- GET/v1/ai/assistants
- POST/v1/ai/assistants/{id}/test
- PATCH/v1/ai/operators/{id}
- POST/v1/ai/handoff
Claude, ChatGPT, DeepSeek, Gemini, Mistral, аймақтық LLM немесе кез келген OpenAI-үйлесімді. Модельдер кілттерге берілген.
- GET/v1/ai/credentials
- POST/v1/ai/credentials
- GET/v1/ai/credentials/{id}/models
Сайтыңызға, PDF және DOCX жүктеп салуларына, ережелеріне, іздеу және индекстеу күйіне арналған тексеру құралы.
- PUT/v1/kb/crawler
- POST/v1/kb/uploads
- POST/v1/kb/rules
- GET/v1/kb/search
Баптаулар, циклдар, тарих, кері қайтару және өшіру қосқышы бар тұлға нұсқалары.
- POST/v1/ai/learning/tune
- GET/v1/ai/learning/cycles
- POST/v1/ai/learning/persona‑versions/{version}/revert
- GET/v1/ai/learning/kill‑switch
Қарапайым сөздердегі тілек → жанама әсерсіз алдын ала қарау → мақұлдау, қабылдамау немесе қайтару.
- POST/v1/wishes
- GET/v1/wishes/{id}/preview
- POST/v1/wishes/{id}/approve
- POST/v1/wishes/{id}/revert
Күйлері және ай сайынғы шығыс шегі бар проблемалық кластерлер; тұтынушылар сіз ұсынбайтын нәрсені сұрады.
- GET/v1/problems
- PATCH/v1/problems/settings
- POST/v1/problems/{id}/status
- GET/v1/ai/demand‑signals
Сіздің серверіңіз HMAC қол қойылған сұрауда тұтынушы күйін (тіркелген, төленген, тұтынушы, қызмет көрсету күйі) итермелейді — AI жауап беру және арттыру кезінде оны өлшейді.
- POST/v1/ai/customer‑status
- POST/v1/ai/tickets
- GET/v1/ai/alerts
Диалогты айналдыру, есептік жазбаны байланыстыру, сөзден мәтінге және мәтіннен сөйлеуге, қолданба билеттері — қол қойылған интеграция арқылы.
- 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
Тауашалар бойынша дайын көмекшілер: кафе, емхана, дүкен, автосервис. Бір өтініште өтініш беріңіз.
- GET/v1/ai/marketplace/templates
- POST/v1/ai/marketplace/templates/{slug}/apply
Жеке бот чаттарға жауап береді: синхронды жауаптар, тапсыру, сынақтар және өмірлік цикл.
- POST/v1/ai/replies
- POST/v1/external‑operators/{public_id}/tests
- POST/v1/external‑operators/{public_id}/lifecycle
Тарифтік шектеулер
Әр таңбалауыш үшін екі есептегіш: оқу және жазу бір‑бірінен бөлек есептеледі, сондықтан сауалнама жазу бюджетін ешқашан жемейді.
| 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-ның өз есептегіштері бар; API қолдау агентінде әр виджетті қайта анықтау мүмкіндігі болуы мүмкін.
Қателер
Әрбір қате 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" }
Негізгі бөлім қажет_ауқымдарды және оларды қай жерде беру керектігін атайды. Кілтті қайта шығарудың қажеті жоқ.
| Күй | Мағынасы |
|---|---|
| 400 | Дұрыс емес сұрау немесе қажетті идентификациялық кілт жоқ |
| 401 | Токен жоқ, жарамсыз немесе күші жойылды |
| 403 | Токеннің қолданылу аясы жоқ; дене required_scopes қосады және оны қай жерде беруге болады |
| 404 | Бұл виджетте табылмады |
| 405 | Рұқсат етілмеген әдіс — тоқтату және есеп беру; балама жазбаларды іздемеңіз |
| 409 | Идемпотенттік кілт 24 сағат ішінде қайта пайдаланылады немесе күй қайшылығы |
| 422 | Тексеру сәтсіз аяқталды (мысалы, тек оқуға арналған өріс жіберілді) |
| 429 | Тарифтік шектеу; Қайталау‑Кейін құрметтеу |
Импотенттілік
Желілер сәтсіз. Кілт қайталап жазуды қауіпсіз етеді: бірдей әрекет ешқашан екі рет қолданылмайды.
- Әрбір POST / PATCH / PUT / DELETE үшін
X‑Smartbtn‑Idempotency‑Keyжіберіңіз: жаңа операция үшін жаңа UUID, сол әрекетті қайталау үшін бірдей кілт. - OpenAPI ішінде
x‑idempotency: қажетдеп белгіленген операциялар: кілт жоқ → 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 арқылы қайталаңыз
Changelog
2026 жылы жалпыға қолжетімді API және веб‑хуктарға енгізілген өзгерістер. Төмендегілердің барлығы қосымша болып табылады және v1 ішінде қалады.
Жаңа тікелей оқиға билеті.created. GET /v1/support/tickets қолдауы бар кез келген кілтке жауап береді:қолдау агенті конфигурацияланғанша оқыңыз. Негізгі аумақтарды қайта шығарусыз өңдеуге болады. 403 қажет_ауқымдарды алады.
POST/PATCH /v1/ai/операторлар name_i18n қабылдайды; әдепкі атаулар виджет тіліне аударылады; болжалды сәлемдесу таңдауы.
Оқиды — минутына 600, жазады — 120. Сауалнама енді жазу бюджетін жемейді. X‑RateLimit-* пайдаланылған есептегішті сипаттаңыз.
Қанша ескі болса да, бір сәттен бері белсенділікпен сөйлесу. Енді әрбір чатта соңғы_хабарлама бар.
chat.account.email_requested — чат мекенжайды күтеді; агенттер басқа код ағынын бастамауы керек.
Билетті жабыңыз және басқа ештеңе жасамаңыз — сервердегі «сұрақ шешілді» түймесі үшін.
Сүзгілер has_client_messages=1 және q (2–100 таңба).
POST /v1/ai/assistant/count‑link және /revoke. Иесі рұқсат бергенше өшіріңіз.
Ережелер виджет пернесі немесе қосылған көмекші кілтімен ендірілген; a 502 идентификациялық кілтті шығарады.
Есептік жазба билет ашық болған кезде және одан кейін 7 күн ішінде көрінеді.
Жаңа /v1/қолдау тобы: кезек, чаттар, жалға алу, жауаптар, билеттерді жабу және қайта ашу. Иесі рұқсат бергенше өшіріңіз.
Өрістер коды_күтуде, код_соңы_сағады, соңғы_код_нәтиже және соңғы_код_сатында.
WordPress плагині
WordPress сайтындағы виджет тақырып кодына қол тигізбестен.
- Жүктеп алуплагин мұрағаты компьютеріңізге.
- ОрнатуОрамнан шығарылған қалтаны
wp‑content/plugins/ішіне қойыңыз немесе оны WordPress әкімшісіне жүктеңіз. - Іске қосуМәзірде Smartbtn элементі пайда болады.
- Белгішені қойыңызҚауіпсіздік белгісін бақылау тақтасындағы виджет параметрлерінен көшіріңіз.
Құпия сөзді өзгерткен кезде қауіпсіздік белгісі де өзгереді және ескісі жұмысын тоқтатады — жаңасын плагинге қойыңыз.
Код үлгілері
Соңғы сауалнамадан кейінгі әрбір чатты тізіп көрсетіңіз — курсорды соңына дейін бақылаңыз.
# бірінші бет curl -G https://smartbtn.me/api/v1/chats \ -H "Authorization: Bearer $SMARTBTN_TOKEN" \ --data-urlencode "updated_since=2026-10-17T09:00:00+03:00" # келесі — жауаптан келесі_курсормен curl -G https://smartbtn.me/api/v1/chats \ -H "Authorization: Bearer $SMARTBTN_TOKEN" \ --data-urlencode "cursor=eyJpZCI6NDgyMDd9"