ЕрекшеліктерAIБақылау тақтасыAPIБаға белгілеуЖүктеп алуКөмек
Сыртқы түрі (Auto: light)
Тегін көріңіз
Үй / API
API және әзірлеушілер

Enter пернесін басыңыз.
Деректерді алыңыз.

REST API /api/v1, 53 аумақ, 239 соңғы нүкте, 11 webhook оқиғасы және виджет үшін JS API. Чаттар, контактілер, AI, білім қоры, билеттер және есепшот — бақылау тақтасы не істесе де, сіздің кодыңыз да жасай алады.

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 тақырыбына өтеді — ешқашан 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 — соңғы бетте
}
Тексерілген негізгі URL. https://smartbtn.me/api/v1 - барлық жоба деректері үшін негізгі API соңғы нүктесі. Сұрауларды әрқашан HTTPS арқылы жіберіңіз және ешқашан қайта бағыттау кезінде таңбалауышты жібермеңіз.
Жоғарылмаған, жарамсыз немесе шектелген таңбалауыш па? Сіз RFC‑7807 application/problem+json корпусымен 401 немесе 403 аласыз — a.r. қараңыз.
02

Аутентификация

Кім кімге қоңырау шалатынына байланысты үш жол. Қатынас әдепкі бойынша қабылданбайды: ауқым жоқ — қоңырау жоқ.

Сіз → Smartbtn
REST қоңыраулары

Әрбір сұраныс Авторизация: Тасымалдаушы <токен> болады. Серверде таңбалауыш бір виджетке және оның аумақтарына шешіледі.

Smartbtn → сіз
Webhooks, сыртқы AI операторы

Шығыс сұрауларға әр жалға алушы құпиясымен қол қойылады: X‑Smartbtn‑Signature. Сіздің тарапыңызға қажет болса, қосымша ұсынушы тіркелгі деректерін қосуға болады.

Сіздің AI операторыңыз → Smartbtn
Асинхронды жауаптар

POST /v1/ai/replies AI операторына және виджетіне бекітілген және тұрақты causation_id арқылы кілттелген өзінің қол қойылған жақтауын пайдаланады.

Ауыстырушы адамдар ұмытады

Виджет параметрлеріндегі «Виджет API (JS және REST) ​​рұқсат беру» REST API және виджет JS API екеуін де ашады. Токен шығару оны іске қоспайды. Қолданыстағы кілттің аумақтарын бақылау тақтасында өңдеуге болады (API таңбалауыштары → кілт → Аумақтарды өңдеу) қайта шығарусыз оны — интеграциялар жұмысын жалғастырады.

Алдын ала орнатулар

Алдын ала орнатылғанҚолдану аумақтарыҚашан
AI орнату 9widget:read · widget:write · ai:read · ai:write · ai:apply · kb:read · kb:write · files:write · stats:readAI қолданбаңыз виджетті конфигурациялайды: көмекші, білім қоры, мәтіндер. Бүкіл аумақ таңдауын ауыстырады.
Тек оқуға арналған (мысал жинағы)chats:read · messages:read · contacts:read · stats:readБақылау тақталары, BI, экспорттар.
Анықтамалық көпір (мысалдар жинағы)chats:read · messages:read · messages:write · webhooks:write · support:readCRM жүйесіне диалогтар мен билеттерді қайталаңыз.
Провайдер кілттері бөлек. Иесі провайдер кілтін орнатуға рұқсат бергенде ғана ai:credentials:write беріңіз. AI орнату үшін есептік жазба, есепшот және серіктес құқықтары қажет емес. Кілт бір рет көрсетіледі — орнату аяқталғаннан кейін оны қайтарып алыңыз.
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:readWebhook жазылымдарын тізімдеңіз
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:readAI көмекшілерін, олардың конфигурациясы мен ескертулерін оқыңыз
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Ережелер мен үлгілерді жасау, өңдеу, қосу немесе жою
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 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 тобы басқа чат платформасынан қозғалатын командаларға арналған үйлесімділік деңгейі болып табылады.

05

Вебхуктар

Жазылған оқиға орын алған сайын URL мекенжайына қол қойылған JSON POST. Жазылымдарды /v1/webhook‑subscriptions арқылы немесе бақылау тақтасында басқарыңыз.

POST сіздің URL · 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"
  }
}

себебі: адам_сұранысы | есеп айырысу | 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‑TimestampUnix жіберу уақыты. Ақпараттық, қол қойылмаған.

Қолтаңбаны тексеру

Соңғы нүкте құпиясымен шикі дененің 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 арқылы алу.
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.linkstringURL басылғанда ашылды
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 веб‑хукты қосады.
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

AI API

Бақылау тақтасының AI бөлімі жасайтын барлық нәрсе: көмекшілер, провайдердің жеке кілттері, білім базасы, кері қайтару арқылы өздігінен білім алу, тілектер, мәселелер, сұраныс сигналдары және қолданбадағы көмекші.

Көмекшілер және AI операторлары

Өз рөлі мен тілі бар бірнеше ассистент, тікелей эфирге шығу алдындағы сынақ, әр тілде аталған операторлар.

  • GET/v1/ai/assistants
  • POST/v1/ai/assistants/{id}/test
  • PATCH/v1/ai/operators/{id}
  • POST/v1/ai/handoff
Қолдану аумақтары: ai:read · ai:write
Өз кілтіңізді әкеліңіз

Claude, ChatGPT, DeepSeek, Gemini, Mistral, аймақтық LLM немесе кез келген 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
Қолданбаңыздағы көмекші

Диалогты айналдыру, есептік жазбаны байланыстыру, сөзден мәтінге және мәтіннен сөйлеуге, қолданба билеттері — қол қойылған интеграция арқылы.

  • 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шектен асып - Қайталау‑Кейін күтіңіз
X‑RateLimit‑LimitЕсептегіш өлшемі (600 немесе 120)
X‑RateLimit‑RemainingАғымдағы терезеде қалдырылған сұраулар
X‑RateLimit‑ResetТерезе қалпына келтірілгенде
Retry‑After429 қосулы: күтуге секунд қалды
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 қолдау агентінде әр виджетті қайта анықтау мүмкіндігі болуы мүмкін.

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"
}

Негізгі бөлім қажет_ауқымдарды және оларды қай жерде беру керектігін атайды. Кілтті қайта шығарудың қажеті жоқ.

КүйМағынасы
400Дұрыс емес сұрау немесе қажетті идентификациялық кілт жоқ
401Токен жоқ, жарамсыз немесе күші жойылды
403Токеннің қолданылу аясы жоқ; дене required_scopes қосады және оны қай жерде беруге болады
404Бұл виджетте табылмады
405Рұқсат етілмеген әдіс — тоқтату және есеп беру; балама жазбаларды іздемеңіз
409Идемпотенттік кілт 24 сағат ішінде қайта пайдаланылады немесе күй қайшылығы
422Тексеру сәтсіз аяқталды (мысалы, тек оқуға арналған өріс жіберілді)
429Тарифтік шектеу; Қайталау‑Кейін құрметтеу
11

Импотенттілік

Желілер сәтсіз. Кілт қайталап жазуды қауіпсіз етеді: бірдей әрекет ешқашан екі рет қолданылмайды.

  • Әрбір 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 арқылы қайталаңыз
12

Changelog

2026 жылы жалпыға қолжетімді API және веб‑хуктарға енгізілген өзгерістер. Төмендегілердің барлығы қосымша болып табылады және v1 ішінде қалады.

ЖаңаБилеттер: ticket.created webhook, кезек қолдауымен оқылады: оқу, 403 кеңес

Жаңа тікелей оқиға билеті.created. GET /v1/support/tickets қолдауы бар кез келген кілтке жауап береді:қолдау агенті конфигурацияланғанша оқыңыз. Негізгі аумақтарды қайта шығарусыз өңдеуге болады. 403 қажет_ауқымдарды алады.

ЖаңаӘр тілге арналған AI операторының атауы

POST/PATCH /v1/ai/операторлар name_i18n қабылдайды; әдепкі атаулар виджет тіліне аударылады; болжалды сәлемдесу таңдауы.

ӨзгертуРеттеу шегі: оқу және жазу бөлек есептеледі

Оқиды — минутына 600, жазады — 120. Сауалнама енді жазу бюджетін жемейді. X‑RateLimit-* пайдаланылған есептегішті сипаттаңыз.

ЖаңаGET /v1/chats: updated_sice сүзгісі

Қанша ескі болса да, бір сәттен бері белсенділікпен сөйлесу. Енді әрбір чатта соңғы_хабарлама бар.

ЖаңаҚолдау API: чат пошта жәшігін сұрады

chat.account.email_requested — чат мекенжайды күтеді; агенттер басқа код ағынын бастамауы керек.

ЖаңаҚолдау аясы:билеттер:жақын

Билетті жабыңыз және басқа ештеңе жасамаңыз — сервердегі «сұрақ шешілді» түймесі үшін.

ЖаңаGET /v1/chats: мәтіндік іздеу және клиенттік хабарлар

Сүзгілер has_client_messages=1 және q (2–100 таңба).

ЖаңаТіркелгі сілтемесі серверден

POST /v1/ai/assistant/count‑link және /revoke. Иесі рұқсат бергенше өшіріңіз.

ТүзетуБілім қоры: ассистентке байланысты кілтпен жазады

Ережелер виджет пернесі немесе қосылған көмекші кілтімен ендірілген; a 502 идентификациялық кілтті шығарады.

ӨзгертуSupport‑agent API: қолданба‑билет тіркелгісінің қызмет ету мерзімі

Есептік жазба билет ашық болған кезде және одан кейін 7 күн ішінде көрінеді.

ЖаңаҚолдау‑агент API

Жаңа /v1/қолдау тобы: кезек, чаттар, жалға алу, жауаптар, билеттерді жабу және қайта ашу. Иесі рұқсат бергенше өшіріңіз.

ЖаңаSupport‑agent API: электрондық пошта коды терезесі

Өрістер коды_күтуде, код_соңы_сағады, соңғы_код_нәтиже және соңғы_код_сатында.

13

WordPress плагині

WordPress сайтындағы виджет тақырып кодына қол тигізбестен.

  1. Жүктеп алуплагин мұрағаты компьютеріңізге.
  2. ОрнатуОрамнан шығарылған қалтаны wp‑content/plugins/ ішіне қойыңыз немесе оны WordPress әкімшісіне жүктеңіз.
  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"

# келесі — жауаптан келесі_курсормен
curl -G https://smartbtn.me/api/v1/chats \
  -H "Authorization: Bearer $SMARTBTN_TOKEN" \
  --data-urlencode "cursor=eyJpZCI6NDgyMDd9"
Дайын

Токенді шығару — және Enter пернесін басыңыз.