uHamkorHujjatlar
Foydalanuvchi qo'llanmasi

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 (GETDELETE), 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_api uchun — onSuccess va onFailure.
  • qolganlari uchun — bajarilgandan keyingi amal.
  • Davomiy amal ikki xil: set_variables yoki dismiss.
call_api: confirm_booking
  onSuccess → set_variables { booked: true }
  onFailure → set_variables { error: "Bron o‘tmadi" }

🔐 call_api xavfsizligi

  • Vidjet chatga yuborilganda uning url, headers va inputs maydonlari 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.

Functions yorlig‘i
Ochilgan funksiya qatori: nomi, turi, qo‘shimcha kiritmalar, o‘zgaruvchilar jadvali va davomiy amal.