XususiyatlariAIBoshqaruv paneliAPINarxlashYuklab olingYordam
Tashqi ko'rinish (Auto: light)
Bepul sinab ko'ring
Uy / API
API va ishlab chiquvchilar

Enter tugmasini bosing.
Maʼlumotlaringizni oling.

REST API /api/v1, 53 ta soha, 239 ta oxirgi nuqta, 11 ta webhook hodisasi va vidjet uchun JS API. Chatlar, kontaktlar, AI, bilimlar bazasi, chiptalar va hisob‑kitoblar — asboblar paneli nima qilsa, sizning kodingiz ham qila oladi.

smartbtn.me/api/v1
# Enter tugmasini yoki o'ngdagi belgini bosing
$ curl -H "Authorization: Bearer sb_••••" \
    https://smartbtn.me/api/v1/chats?limit=1 
01

Tez boshlash

Noldan birinchi javobgacha uch qadam. Har bir so'rov bitta vidjetga bog'langan va tashuvchi tokeni bilan autentifikatsiya qilingan.

  1. Token chiqaringBoshqaruv paneli → API tokenlari: nom, ixtiyoriy amal qilish muddati va sizga kerak bo‘lgan qamrovlar. Token aynan bitta vidjetga tegishli. Oddiy matnli token bir marta ko'rsatiladi; Smartbtn faqat bir tomonlama xeshni saqlaydi, shuning uchun yo'qolgan tokenni tiklab bo'lmaydi - faqat bekor qilinadi va qayta chiqariladi.
  2. Vidjet API‑ni yoqingVidjet sozlamalarida "Vidjet API‑ga ruxsat berish (JS va REST)" ni yoqing. Token chiqarish bu kalitni siz uchun aylantirmaydi.
  3. Birinchi so'rovni yuboringToken faqat Authorization sarlavhasiga kiradi - hech qachon URL manziliga kirmaydi.
# vidjet chatlarini ro'yxatga kiriting
curl -H "Authorization: Bearer $SMARTBTN_TOKEN" \
     https://smartbtn.me/api/v1/chats
// 200 OK · kursorni sahifalash
{
  "data": [ { "id": 48211, "status": "open", "last_message_at": "2026-10-17T09:41:12+03:00" }, … ],
  "next_cursor": "eyJpZCI6NDgyMTB9"   // null — oxirgi sahifada
}
Tasdiqlangan asosiy URL. https://smartbtn.me/api/v1 barcha loyiha maʼlumotlari uchun asosiy API yakuniy nuqtasidir. Har doim so'rovlarni HTTPS orqali yuboring va hech qachon tokenni qayta yo'naltirishga yo'naltirmang.
Yo‘qolgan, yaroqsiz yoki qamrovli token? Siz RFC‑7807 application/problem+json korpusli 401 yoki 403 olasizmi — qarang: r.
02

Autentifikatsiya

Kim kimni chaqirganiga qarab uchta yo'l. Kirish sukut bo'yicha rad etiladi: qamrov yo'q - qo'ng'iroq yo'q.

Siz → Smartbtn
REST qo'ng'iroqlari

Har bir so'rovda Authorization: Bearer mavjud. Serverda token bitta vidjetga va uning qamroviga hal qilinadi.

Smartbtn → siz
Webhooks, tashqi AI operatori

Chiquvchi soʻrovlar har bir ijarachi siri bilan imzolanadi: X‑Smartbtn‑Signature. Agar sizning tomoningizga kerak bo'lsa, qo'shimcha tashuvchining hisob ma'lumotlari qo'shilishi mumkin.

Sizning AI operatoringiz → Smartbtn
Asinxron javoblar

POST /v1/ai/replies AI operatori va vidjetingizga biriktirilgan va mustahkam causation_id bilan kalitlangan o‘zining imzolangan ramkasidan foydalanadi.

O'zgartiruvchi odamlar unutishadi

Vidjet sozlamalaridagi «Vidjet API (JS va REST) ​​ruxsat berish» REST API va vidjet JS API ni ochadi. Tokenni chiqarish uni faollashtirmaydi. Mavjud kalitning qamrovini asboblar panelida tahrirlash mumkin (API tokenlari → kalit → Qo‘llanish doirasini tahrirlash) qayta chiqarmasdan - integratsiya ishlashda davom etadi.

Oldindan sozlash

Oldindan oʻrnatilganQo'llash sohalariQachon
AI sozlamalari 9widget:read · widget:write · ai:read · ai:write · ai:apply · kb:read · kb:write · files:write · stats:readSizning AI ilovangiz vidjetni sozlaydi: yordamchi, bilimlar bazasi, matnlar. Butun doira tanlashni almashtiradi.
Faqat o'qish uchun (misol to'plami)chats:read · messages:read · contacts:read · stats:readBoshqaruv paneli, BI, eksport.
Yordam xizmati ko'prigi (misol to'plami)chats:read · messages:read · messages:write · webhooks:write · support:readMuloqot oynalari va chiptalarni CRM‑ga aks ettiring.
Provayder kalitlari alohida. ai:credentials:writega faqat egasi provayder kalitini sozlashga ruxsat berganida ruxsat bering. AIni sozlash uchun hisob, billing va hamkor huquqlari kerak emas. Kalit bir marta ko'rsatiladi - sozlash tugagach, uni bekor qiling.
03

Qo'llash sohalari

53 ta marshrut doirasi, bundan tashqari bitta shartli va bitta zaxiralangan. Agar token marshrut doirasini (yoki sanab o'tilgan muqobilni) ushlab tursa, so'rov muvaffaqiyatli bo'ladi.

53 + 1 shartli + 1 band
sezgirshartlizaxiralangan
Qo'llash doirasiGrantlar
chats · 2
chats:readChatlarni va ularning metama'lumotlarini o'qing
chats:writeSuhbatni yoping, reyting so'rang, agentni o'tkazing, da'vo qiling, biriktiring yoki ajrating
messages · 2
messages:readChat xabarlari tarixini o'qing
messages:writeAgent sifatida xabarlar yuboring, indikatorlarni kiriting va o'qish kvitansiyasini yuboring
contacts · 2
contacts:readKontaktlarni o'qing
contacts:writeKontakt maydonlari va atributlarini yangilang
agents · 3
agents:readAgentlar va ularning mavjudligini o'qing
agents:writesezgirAgentlarni taklif qilish, yangilash, to'xtatib turish, tiklash yoki olib tashlash; taklif qilingan kishi vidjetning har bir suhbatini ko'radi
agents:events:readAgentning voqealar jurnalini va har bir agent ko'rsatkichlarini o'qing
tags · 2
tags:readTeglarni o'qing
tags:writeKontaktga teglar biriktiring
files · 2
files:readYuklangan faylni yuklab oling
files:writeYangi fayl yuklang
stats · 1
stats:readUmumiy chat, xabar va reyting statistikasini oʻqing
channels · 3
channels:readMaxsus kanalning onlayn holatini o'qing
channels:writeMaxsus kanalda kiruvchi xabarni yetkazing
channels:registerYangi maxsus kanalni roʻyxatdan oʻtkazing (faqat oʻrnatilgan ilovalar)
webhooks · 2
webhooks:readWebhook obunalarini ro'yxatlash
webhooks:writeObuna yaratish, o‘chirish yoki qayta yetkazib berish
quick_phrases · 2
quick_phrases:readAgentning tezkor iboralarini o'qing
quick_phrases:writeTezkor iboralarni yaratish, tahrirlash yoki o'chirish
ratings · 1
ratings:readMehmonlar reytingini va qaysi agentning har biri ball olganini o'qing
responder · 2
responder:injectsezgirTashqi AI operatori yoki bot sifatida jonli chatga javob kiriting
responder:escalateshartliPOST /v1/ai/replies uchun: escalate=true orqali qo'ng'iroq qiluvchiga yo'naltirilgan uzatish
widget · 2
widget:readVidjet ko‘rinishi, xatti‑harakati va o‘rnatish sozlamalarini o‘qing
widget:writeVidjet sozlamalarini yangilang va vidjet keshini tozalang
departments · 2
departments:readBo'limlar, ularning agentlari va jadvallarini o'qing
departments:writeBo'limlar va jadvallarni yaratish, yangilash yoki o'chirish
messengers · 2
messengers:readQaysi messenjerlar ulanganligini o'qing (hech qachon hisob ma'lumotlari)
messengers:writesezgirMessenjerni ulash yoki o'chirish; provayder hisob ma'lumotlarini yozadi
ai · 4
ai:readAI yordamchilari, ularning konfiguratsiyasi va ogohlantirishlarini o'qing
ai:writeYordamchilar, AI sozlamalari va AI operatorlari, persona va taklifni yarating va yangilang
ai:credentials:writesezgirUchinchi tomon LLM provayderi hisob ma'lumotlarini saqlang (BYOK)
ai:applyJonli yordamchining shaxsini qayta yozadigan yaxshilanishni tasdiqlang
kb · 2
kb:readBilimlar bazasi qoidalarini va kiritilgan manbalarni o'qing
kb:writeKB qoidalari va manbalarini yarating, yangilang yoki o'chiring
transcripts · 1
transcripts:readSuhbat transkriptini eksport qiling
account · 2
account:readHisob profilini va uning barcha yuridik shaxslarini o'qing
account:writeFaqat hisob nomi, familiyasi va telefonini yangilang
billing · 2
billing:readVidjetning hisob‑kitob yozuvlarini va yuridik shaxslarni o'qing
billing:writeYuridik shaxslarni yaratish, yangilash, yo'q qilish; hisob‑fakturalarni bermaydi, pul o'tkazmaydi
partners · 2
partners:readHamkor va tavsiya ma'lumotlarini o'qing
partners:withdrawzaxiralanganZaxiralangan: bugungi kunda hech qanday to'lov operatsiyasi foydalanmaydi
support · 4
support:readChiptalarni, faol chatlarni, ularning xabarlarini va tekshirilgan harakatlaringizni o'qing
support:replysezgirQo'llab‑quvvatlash operatori sifatida mijozga javob bering
support:writeChatni daʼvo qiling yoki qoʻyib yuboring, javobsiz yoping, qayta oching
support:tickets:closeFaqat chiptani yoping - boshqa hech narsa
marketing · 2
marketing:readMarketing kampaniyalarini o'qing: bannerlar, qalqib chiquvchi oynalar, elektron pochta
marketing:writeKampaniyalarni yarating va tahrirlang, holatni o'zgartiring, elektron pochta xabarini yuboring
broadcasts · 2
broadcasts:readMessenjer translyatsiyalarini o'qish (WhatsApp, Telegram, Messenger, Viber, VK, MAX)
broadcasts:writeEfir yaratish, tahrirlash va boshlash
problems · 2
problems:readMijoz muammosi klasterlari va sozlamalarini o'qing
problems:writeSozlamalarni va klaster holatini o'zgartirish: yangi, davom etayotgan, hal qilingan, takrorlanuvchi
invitations · 2
invitations:readTaklif qoidalari, A/B variantlari, andozalar va huni bilan tanishing
invitations:writeQoidalar va shablonlarni yaratish, tahrirlash, yoqish yoki o'chirish
04

Yakuniy nuqtalar

Bir ro'yxatda butun jamoatchilik yuzasi. Resurs bo'yicha filtrlang, yo'l bo'yicha qidiring, tayyor jingalakni nusxalash uchun qatorni bosing.

245 / 245 koʻrsatilmoqda
GETPOSTPUTPATCHDELETE

ai Yordamchilar, operatorlar, kalitlar, o'rganish, bozor54

chats Dialoglar, xabarlar, uzatish, reytinglar18

kb Bilimlar bazasi: qoidalar, brauzer, fayllar, qidiruv16

agents Agentlar, taklifnomalar, ko'rsatkichlar14

messengers Messenjerlar, ijtimoiy tarmoqlar va bozor kanallari13

billing Balans, obunalar, hisob‑fakturalar, ob'ektlar12

support Yordam agenti: chiptalar va suhbatlar12

widget Sozlamalar, til, tarjimalar, terilar, kesh12

channels Maxsus kanallar8

external‑operators Sizning botingiz operator sifatida8

webhook‑subscriptions Webhook obunalari8

broadcasts Messenger translyatsiyalari7

departments Bo'limlar va jadval7

invitations Aqlli taklifnomalar7

marketing Marketing kampaniyalari7

partner Hamkorlik dasturi7

wishes AI uchun tilaklar7

contacts Kontaktlar va teglar5

problems Mijoz muammolarini tahlil qilish4

quick‑phrases Tezkor iboralar4

compat Migratsiya mosligi3

stats Statistika3

account Hisob2

files Fayllar2

ratings Reytinglar1

tags Teglar1

v1 1

webhook‑events Tadbirlar katalogi1

Yo'llar https://smartbtn.me/api ga nisbatan. Yozish uchun Content‑Type: application/json va X‑Smartbtn‑Idempotency‑Key kerak. compat guruhi boshqa chat platformasidan harakatlanuvchi jamoalar uchun moslik qatlamidir.

05

Webhuklar

Obuna boʻlgan voqea sodir boʻlganda URL manzilingizga imzolangan JSON POST. Obunalarni /v1/webhook‑subscriptions yoki asboblar paneli orqali boshqaring.

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

sababi: human_request | billing | ai_unresolved | action_request | …; ustuvorlik: yuqori | normal; manba: chat | ilova | sayt. Chipta va uning dialog oynasini GET /v1/support/tickets/{number} bilan o'qing.

Yetkazib berish sarlavhalari

X‑Smartbtn‑EventTadbir turi, masalan. message.created.
X‑Smartbtn‑Signaturesha256=v1: xom tananing.
X‑Smartbtn‑Idempotency‑KeyHar bir hodisa uchun bitta qiymat, qayta urinishlar davomida barqaror. Unga ishoning.
X‑Smartbtn‑DeliveryYetkazib berish urinishida bitta qiymat — jurnallaringiz uchun.
X‑Smartbtn‑TimestampUnix yuborish vaqti. Axborot, imzolanmagan.

Imzoni tekshirish

xom korpusning HMAC‑SHA256 (qabul qilingan baytlar, JSON tahlilidan oldin) oxirgi nuqta siringiz bilan; doimiy vaqtda solishtiring. Yashirin obuna yaratilganda bir marta ko'rsatiladi; uni POST /v1/webhook‑subscriptions/{id}/rotate‑secret bilan aylantiring.

// Node.js · masalan, sir o‘rin tutuvchidir
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; }

Qayta urinish va buyurtma

  • 4 urinishgacha (birinchi yuborish plyus 3 marta urinish), orqaga qaytish min(60, 2^urinish × 5) s — taxminan 10, 20, 40 s.
  • 2xx bo'lmagan yoki vaqt tugashi muvaffaqiyatsiz urinish sifatida hisoblanadi. Muvaffaqiyatsiz yetkazib berishlarni POST /v1/webhook‑subscriptions/{id}/redeliver bilan qayta yuborish mumkin — bir xil identifikator kaliti, yangi yetkazib berish identifikatori.
  • Yetkazib berish kamida bir marta amalga oshiriladi va buyurtma berilmagan. Foydali yuklar minimal - to'liq yozuvlar emas, idlar; REST API orqali tafsilotlarni olish.
06

JS API

Mehmon haqida allaqachon bilganingizni to'g'ridan‑to'g'ri agentga uzating. Qo'ng'iroqlar faqat vidjet sozlamalarida o'rnatilgan domendan qabul qilinadi.

smartbtn_widget_api.setContactInfo(info)

Tashrifchining aloqa ma'lumotlarini o'rnatadi. Agent buni xuddi tashrifchi kirish shaklini to'ldirgandek ko'radi. Smartbtn‑da ism, telefon va elektron pochta alohida rol o'ynaydi - shuning uchun alohida usul.

IsmTuriTavsif
namestringMehmon nomi
emailstringMehmon elektron pochtasi
phonestringMehmon telefoni
descriptionstringMijoz haqida har qanday qo'shimcha ma'lumot
Smartbtn_api.setClientInfo({
  name: "Aleks Morgan",
  email: "email@example.com",
  phone: "+17584987855",
  description: "Description text"
});

smartbtn_widget_api.setCustomData(fields)

Agent ilovasining oʻng tomonidagi maʼlumotlar paneli uchun qoʻshimcha maʼlumotlar. Istaganingizcha tez‑tez qo'ng'iroq qiling - ochiq muloqot oynasida panel real vaqtda yangilanadi. Maydonlar massiv tartibida ko'rsatilgan.

IsmTuriTavsif
fieldsarrayMa'lumotlar maydonlari ro'yxati
field.titlestringMaydon ustidagi sarlavha
field.contentstringMaydon tarkibi; teglar qochib ketadi
field.linkstringURL bosish orqali ochiladi
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()

Vidjet mavzusini sahifani qayta yuklamasdan tezda almashtiring (klassik, minimal, capsule, liquid) yoki chat oynasini dasturiy tarzda boshqaring. Har bir loyihani doimiy sozlash uchun bir xil maydonlarni PATCH /v1/widget/settings ga o'tkazing.

// JS API · real vaqtda sahifadagi terini almashtirish
smartbtn_widget_api.setSkin("minimal");
smartbtn_widget_api.setSkin("capsule", { capsuleTitle: "Smartbtn AI", capsuleSubtitle: "~1 soniyada javoblar" });

// REST API · PATCH /v1/widget/settings (qamrovi 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": "Onlayn 24/7"
}
widget_api_contact_sync yoqilgan bo'lsa, bu qo'ng'iroqlar contact.updated veb‑hukni ham ishga tushiradi.
07

Support‑agent API

Avtomatlashtirilgan qo'llab‑quvvatlash agenti chiptalar navbatini va mijozlar suhbatlarini ishlaydi: suhbatni qabul qiladi, sizning insoniy yordam operatoringiz sifatida javob beradi, chiptani yopadi. Vidjet egasi uni yoqmaguncha oʻchiring.

  1. Egasi bunga ruxsat beradiQo'llab‑quvvatlash agentlari sifatida ishlashga ruxsat berilgan tokenlar va ular qo'ng'iroq qilishlari mumkin bo'lgan IP‑lar ro'yxati.
  2. Navbatni o'qingGET /v1/support/tickets · GET /v1/support/chats
  3. Suhbatni ijaraga olingPOST …/chats/{id}/claim · …/release
  4. Javob beringOddiy matn, faqat vidjetning ruxsat etilgan xostlariga havolalar. 201 xabar faqat bir marta saqlangan.
  5. Yopish yoki qayta ochishPOST …/tickets/{number}/close · …/reopen
Qo'llash doirasiRuxsat beradi
support:readChiptalar, faol chatlar, mijoz / ai / qo'llab‑quvvatlash / tizim etiketli xabarlar, o'z tekshirilgan harakatlar
support:writeSuhbatni da'vo qilish / qo'yib yuborish, javobsiz yopish, qayta ochish
support:replyMijozga qo'llab‑quvvatlash operatori sifatida javob bering (sezgir)
support:tickets:closeFaqat chiptani yoping — orqa tomoningizdagi “savol echildi” tugmasi uchun
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":"Bajarildi, kirish tiklandi."}'
Egasi qo'llab‑quvvatlash agenti tokenlariga o'zlarining daqiqalik chegaralarini berishi mumkin - yoki umuman yo'q. Boshqa har bir marshrut umumiy chegarani saqlaydi.
08

AI API

Boshqaruv panelining AI bo'limi bajaradigan hamma narsa: yordamchilar, shaxsiy provayder kalitlari, bilimlar bazasi, orqaga qaytish bilan o'z‑o'zini o'rganish, istaklar, muammolar, talab signallari va ilovangiz ichidagi yordamchi.

Yordamchilar va AI operatorlari

O'z roli va tiliga ega bo'lgan bir nechta yordamchilar, jonli efirga chiqishdan oldin test, har bir til uchun operatorlar nomlanadi.

  • GET/v1/ai/assistants
  • POST/v1/ai/assistants/{id}/test
  • PATCH/v1/ai/operators/{id}
  • POST/v1/ai/handoff
Qo'llash sohalari: ai:read · ai:write
O'z kalitingizni olib keling

Klod, ChatGPT, DeepSeek, Gemini, Mistral, mintaqaviy LLMlar yoki OpenAI‑ga mos keladigan har qanday. Modellar har bir kalit uchun keltirilgan.

  • GET/v1/ai/credentials
  • POST/v1/ai/credentials
  • GET/v1/ai/credentials/{id}/models
Qo'llash sohalari: ai:read · ai:credentials:write
Bilimlar bazasi

Saytingiz uchun brauzer, PDF va DOCX yuklamalari, qoidalar, qidiruv va indekslash holati.

  • PUT/v1/kb/crawler
  • POST/v1/kb/uploads
  • POST/v1/kb/rules
  • GET/v1/kb/search
Qo'llash sohalari: kb:read · kb:write · files:write
O'z‑o'zini o'rganish

Tyuning yugurishlari, tsikllar, tarix, orqaga qaytarish va o'chirish tugmasi bilan persona versiyalari.

  • POST/v1/ai/learning/tune
  • GET/v1/ai/learning/cycles
  • POST/v1/ai/learning/persona‑versions/{version}/revert
  • GET/v1/ai/learning/kill‑switch
Qo'llash sohalari: ai:read · ai:write · ai:apply
AI uchun tilaklar

Oddiy so'zdagi tilak → nojo'ya ta'sirlarsiz oldindan ko'rish → ma'qullash, rad etish yoki qaytarish.

  • POST/v1/wishes
  • GET/v1/wishes/{id}/preview
  • POST/v1/wishes/{id}/approve
  • POST/v1/wishes/{id}/revert
Qo'llash sohalari: ai:write · ai:apply
Muammolar va talab signallari

Statuslar va oylik xarajatlar chegarasi bilan muammoli klasterlar; mijozlar nimani so'rashini siz taklif qilmaysiz.

  • GET/v1/problems
  • PATCH/v1/problems/settings
  • POST/v1/problems/{id}/status
  • GET/v1/ai/demand‑signals
Qo'llash sohalari: problems:read · problems:write · ai:read
Mijoz holati

Sizning serveringiz mijoz holatini (roʻyxatdan oʻtgan, toʻlangan, mijoz, xizmat koʻrsatish holati) HMAC imzosi bilan imzolangan soʻrovda koʻrsatadi — AI javob berayotganda va koʻtarilayotganda uni oʻlchaydi.

  • POST/v1/ai/customer‑status
  • POST/v1/ai/tickets
  • GET/v1/ai/alerts
Qo'llash sohalari: ai:write · ai:read
Ilovangizdagi yordamchi

Imzolangan integratsiya orqali dialog oynasi, hisobni ulash, nutqdan matnga va matndan nutqqa, ilova chiptalari.

  • 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
Qo'llash sohalari: integratsiya imzosi (HMAC)
Yechimlar bozori

Joy bo'yicha tayyor yordamchilar: kafe, klinika, do'kon, avtoservis. Bitta so'rovda murojaat qiling.

  • GET/v1/ai/marketplace/templates
  • POST/v1/ai/marketplace/templates/{slug}/apply
Qo'llash sohalari: ai:read · ai:write
Tashqi AI operatori

O'zingizning botingiz suhbatlarga javob beradi: asinxron javoblar, topshirish, testlar va hayot aylanishi.

  • POST/v1/ai/replies
  • POST/v1/external‑operators/{public_id}/tests
  • POST/v1/external‑operators/{public_id}/lifecycle
Qo'llash sohalari: responder:inject · responder:escalate
09

Tarif cheklovlari

Token uchun ikkita hisoblagich: o'qish va yozish bir‑biridan ajratiladi, shuning uchun so'rov hech qachon yozish byudjetini yemaydi.

600 / mino'qiydi: GET, HEAD
120 / minyozadi: POST, PATCH, PUT, DELETE
429chegaradan oshib ketdi - Qayta urinish‑Keyin kuting
X‑RateLimit‑LimitUshbu so'rov hisobga olingan hisoblagichning o'lchami (600 yoki 120)
X‑RateLimit‑RemainingJoriy oynada qoldirilgan so'rovlar
X‑RateLimit‑ResetOyna qayta tiklanganda
Retry‑After429‑da: kutish uchun soniya
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 va /v1/ai/assistant/account‑link o'z hisoblagichlariga ega; qo'llab‑quvvatlash agenti API har bir vidjetni bekor qilishi mumkin.

10

Xatolar

Har bir xato RFC‑7807 application/problem+json: mashina o‘qiy oladigan holat va sabab, odam o‘qiy oladigan tafsilot.

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

Tana shartli_skoplarni va ularni qayerda berishni nomlaydi. Kalitni qayta chiqarish shart emas.

StatusMa'nosi
400Noto'g'ri so'rov yoki kerakli identifikator kaliti yo'q
401Token yoʻq, yaroqsiz yoki bekor qilingan token
403Tokenning qamrovi yo'q; tana required_scopes va uni qaerga berish kerakligini qo'shadi
404Bu vidjetda topilmadi
405Ruxsat berilmagan usul - to'xtatish va hisobot berish; muqobil yozuvlarni qidirmang
409Imkoniyatsizlik kaliti 24 soat ichida qayta ishlatiladi yoki holatdagi ziddiyat
422Tasdiqlash amalga oshmadi (masalan, faqat o‘qish uchun maydon yuborilgan)
429Tarif chegarasi; Qayta urinish‑Keyin hurmat qiling
11

Idroksizlik

Tarmoqlar muvaffaqiyatsiz. Kalit qayta urinilgan yozishni xavfsiz qiladi: bir xil operatsiya hech qachon ikki marta qo'llanilmaydi.

  • Har bir POST / PATCH / PUT / DELETE da X‑Smartbtn‑Idempotency‑Key yuboring: yangi operatsiya uchun yangi UUID, bir xilni qayta urinish uchun bir xil kalit.
  • OpenAPI da x‑idempotency: required deb belgilangan operatsiyalar: kalit yoʻq → 400, kalit 24 soat ichida qayta ishlatiladi → 409 (keshlangan muvaffaqiyat emas).
  • Ishonchingiz komil emasmi? Avval davlatni o'qing. Hech qachon kalitni avtomatik ravishda o'zgartirmang; Qayta urinish‑Keyin hurmat qiling.
  • Yuqori oqim provayderidan 502 kalitni chiqaradi — xuddi shu kalit bilan qayta urinib ko'ring.
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"}'
# tarmoq xatosi? bir xil $KEY bilan takrorlang
12

Changelog

2026‑yilda umumiy API va vebhuklarga o‘zgartirishlar. Quyida hamma narsa qo‘shimcha va v1 da qoladi.

YangiChiptalar: ticket.created webhook, navbat qo'llab‑quvvatlash bilan o'qish: o'qing, 403 maslahat

Yangi jonli tadbir chiptasi.created. GET /v1/support/tickets qo'llab‑quvvatlash bilan har qanday kalitga javob beradi: qo'llab‑quvvatlash agenti sozlanmaguncha o'qing. Asosiy doiralar qayta chiqarilmasdan tahrirlanishi mumkin. 403 ta daromad zarur_ko'lamlar.

YangiHar bir til uchun AI operatori nomi

POST/PATCH /v1/ai/operatorlar name_i18n qabul qiladi; standart nomlar vidjet tiliga tarjima qilinadi; bashorat qilinadigan salomlashish tanlovi.

O'zgartirishTezlik chegarasi: o'qish va yozish alohida hisoblanadi

O'qiydi - daqiqasiga 600, yozadi - 120. So'rovnoma endi yozish byudjetini yemaydi. X‑RateLimit-* ishlatilgan hisoblagichni tavsiflang.

YangiGET /v1/chats: updated_sice filtri

Qanchalik eski bo'lmasin, bir lahzadan beri faollik bilan suhbatlar. Endi har bir chatda last_message_at mavjud.

YangiYordam API: chat pochta qutisini so'radi

chat.account.email_requested — chat manzilni kutmoqda; agentlar boshqa kod oqimini boshlamasligi kerak.

YangiQo'llab‑quvvatlash: chiptalar: yaqin

Chiptani yoping va boshqa hech narsa qilmang - orqa tarafdagi "savol echildi" tugmasi uchun.

YangiGET /v1/chats: matnli qidiruv va mijoz xabarlari

Filtrlar has_client_messages=1 va q (2–100 belgi).

YangiBackenddan hisob havolasi

POST /v1/ai/assistant/hisob‑havola va/bekor qilish. Egasi ruxsat bermaguncha o'chiring.

TuzatishBilimlar bazasi: yordamchiga bog'langan kalit bilan yozadi

Qoidalar vidjet kaliti yoki yoqilgan yordamchi kalit bilan o'rnatilgan; a 502 idempotent kalitni chiqaradi.

O'zgartirishSupport‑agent API: ilova‑chipta hisobining amal qilish muddati

Hisob chipta ochiq bo'lganda va undan keyin 7 kun davomida ko'rinadi.

YangiSupport‑agent API

Yangi /v1/quvvatlash guruhi: navbat, chatlar, ijaralar, javoblar, chiptalarni yopish va qayta ochish. Egasi ruxsat bermaguncha o'chiring.

YangiSupport‑agent API: elektron pochta kodi oynasi

Maydonlar code_kuting, code_expires_at, last_code_result va last_code_at.

13

WordPress plagin

Mavzu kodiga tegmasdan WordPress saytidagi vidjet.

  1. Yuklab olingplagin arxivini kompyuteringizga yuklang.
  2. O'rnatishOchilmagan jildni wp‑content/plugins/-ga joylashtiring yoki uni WordPress administratoriga yuklang.
  3. FaollashtirishMenyuda Smartbtn elementi paydo bo'ladi.
  4. Tokenni joylashtiringXavfsizlik tokenini asboblar panelidagi vidjet sozlamalaridan nusxa oling.
Bilish yaxshi

Parolingizni o'zgartirganingizda, xavfsizlik belgisi ham o'zgaradi va eskisi ishlashni to'xtatadi - yangisini plaginga joylashtiring.

14

Kod namunalari

Oxirgi so'rovingizdan keyingi har bir chatni ro'yxatlang - kursorni oxirigacha kuzatib boring.

# birinchi sahifa
curl -G https://smartbtn.me/api/v1/chats \
  -H "Authorization: Bearer $SMARTBTN_TOKEN" \
  --data-urlencode "updated_since=2026-10-17T09:00:00+03:00"

# keyingi — javobdan keyingi_kursor bilan
curl -G https://smartbtn.me/api/v1/chats \
  -H "Authorization: Bearer $SMARTBTN_TOKEN" \
  --data-urlencode "cursor=eyJpZCI6NDgyMDd9"
Tayyor

Tokenni chiqaring - va Enter tugmasini bosing.