Vidjet funksiyalari
Beshta funksiya turi: call_api, set_variables, send_message, open_link, dismiss — tokenlar, qo‘shimcha kiritmalar va davomiy amallar.
⚡️ Vidjet funksiyalari
Funksiya — mehmon vidjet bilan ishlaganda bajariladigan amal. Ular muharrirning Functions yorlig‘ida e’lon qilinadi va tugmalardan functionName orqali chaqiriladi.
Muhim farq: agent funksiyalari (Konstruktor → Funksiyalar) vidjetni chiziltiradi, vidjet funksiyalarini esa foydalanuvchi ishga tushiradi.
🧰 Beshta tur
1. call_api
Sizning endpointingizga so‘rov yuboradi.
url,method(GET…DELETE),headers,inputs.waitForResponse— javobni kutish va uni ma’lumotga qo‘shish.
2. set_variables
Hech qanday tashqi chaqiruvsiz vidjet ma’lumotini o‘zgartiradi. Holatlarni almashtirish uchun eng qulay usul: { "booked": true }.
3. send_message
Suhbatga xabar yozadi. message ichida {{token}} ishlatish mumkin.
4. open_link
url ni yangi oynada ochadi; manzilda ham tokenlar ishlaydi.
5. dismiss
Vidjetni yopadi. Yopilgani eslab qolinadi — sahifa yangilansa ham vidjet qaytib chiqmaydi.
🔑 Tokenlar
Funksiyaning har qanday matn maydonida (url, sarlavhalar, inputs, message) {{yo‘l}} yozilishi mumkin. U vidjet ma’lumoti va qo‘shimcha kiritmalar ustidan hisoblanadi:
url: https://api.example.com/orders/{{orderId}}
inputs: { "note": "{{note}}", "total": "{{order.total}}" }➕ Qo‘shimcha kiritmalar
Bular — chaqiruv paytida yashaydigan qiymatlar, o‘zgaruvchi emas. Funksiyada nomlarini e’lon qilasiz, amalda esa qiymat berasiz:
funksiya: track_order → qo‘shimcha kiritmalar: orderId, note
<Button label="Kuzatish"
onClickAction={{ functionName: 'track_order',
additionalInputs: { orderId: "{{order.id}}" } }} />Xavfsizlik qoidasi: server faqat e’lon qilingan nomlarni qabul qiladi. Formaga kiritilgan qiymat serverga borishi uchun uning nomi ham shu ro‘yxatda bo‘lishi shart — aks holda u bo‘sh keladi. Muharrir hech qayerdan topilmaydigan tokenlarni ogohlantirib belgilaydi.
⏳ Yuklanish ko‘rsatkichi
none— hech narsa ko‘rsatilmaydi.self— bosilgan element ustida spinner.container— butun vidjet ustida qatlam.
🔁 Davomiy amallar
Har bir funksiya tugagach yana bitta amal bajarishi mumkin:
call_apiuchun — onSuccess va onFailure.- qolganlari uchun — bajarilgandan keyingi amal.
- Davomiy amal ikki xil:
set_variablesyokidismiss.
call_api: confirm_booking
onSuccess → set_variables { booked: true }
onFailure → set_variables { error: "Bron o‘tmadi" }🔐 call_api xavfsizligi
- Vidjet chatga yuborilganda uning
url,headersvainputsmaydonlari olib tashlanadi — brauzer ularni ko‘rmaydi. - Brauzer faqat funksiya nomini va e’lon qilingan kiritmalarni yuboradi; chaqiruvni server bajaradi.
- Shu sababli API kalitlarini sarlavhalarga yozish xavfsiz.
🪜 Ko‘p bosqichli vidjetlar
Server uchun asosiy ma’lumot — vidjet birinchi chizilgandagi holat. set_variables va onSuccess faqat brauzerdagi nusxani o‘zgartiradi. Shuning uchun oldingi bosqichda yig‘ilgan qiymatni keyingi chaqiruvga qo‘shimcha kiritma sifatida uzatish kerak.
🧱 Functions yorlig‘i qanday ko‘rinadi
Har bir funksiya — yig‘iladigan qator: nomi va bir qatorli izohi (masalan turi) ko‘rinib turadi. Ochilganda maydonlar to‘liq kenglikda joylashadi, takrorlanuvchi qiymatlar (o‘zgaruvchilar, API kiritmalari) sarlavhali jadval ko‘rinishida bo‘ladi, pastda esa o‘chirish tugmasi turadi.