OneTrace.ru Yordam markazi

Bot uchun doʻkon maʼlumotlari

Chatdagi sunʼiy intellekt boti nafaqat bilimlar bazasi boʻyicha, balki doʻkonning jonli maʼlumotlari bilan ham javob bera oladi: buyurtma qayerda, trek raqami qanday, mahsulot mavjudmi, yetkazib berish qancha turadi, xaridni qanday qaytarish mumkin. Agar Siz ruxsat bersangiz, u toʻlanmagan buyurtmani bekor qilishi yoki qaytarish va yetkazib berishni oʻzgartirish arizasini doʻkonga topshirishi ham mumkin. Buning uchun doʻkon botga MCP (Model Context Protocol) protokoli orqali ulanadi: bot doʻkon vositalarini chaqiradi, doʻkon maʼlumotlar bilan javob beradi.

Doʻkonni istalgan tarifda ulash mumkin, bot esa chatdagi butun sunʼiy intellekt kabi pullik tarifda ishlaydi: doʻkon maʼlumotlari bilan berilgan javoblar oddiy sunʼiy intellekt javoblari kabi loyiha balansidan toʻlanadi, qarang: Toʻlov.

Ulash

Eng osoni — doʻkon uchun bizning modulimiz orqali. Modul sozlamalar saqlanganda serverni oʻzi ishga tushiradi va loyihaga ulaydi:

Platforma Qayerda yoqiladi
WooCommerce WooCommerce → Settings → OneTrace.ru → AI chat bot: store MCP
Magento 2 Stores → Configuration → OneTrace.ru → AI chat bot: store MCP → Connect to the chat bot
1C-Bitrix Modul sozlamalari → sayt yorligʻi → AI chat bot: store MCP bloki → Connect to the chat bot

Modulning maxfiy kalitiga «Doʻkon MCP serverini sunʼiy intellekt botiga ulash» (chats.manage) ruxsati kerak. Kalit ruxsatlari yaratilgandan keyin oʻzgartirilmaydi: agar modul kalitida bu ruxsat boʻlmasa, API kalitlari boʻlimida avvalgi ruxsatlar va shu ruxsat bilan yangi kalit yarating hamda uni modul sozlamalarida koʻrsating. Bitta loyihaning saytlari bir marta ulanadi.

PHP yoki Laravel asosidagi oʻz doʻkoningiz PHP kutubxonasi va Laravel paketidagi tayyor server bilan ulanadi — dasturchiga faqat vositalar ishlovchilarini yozish qoladi. Doʻkonning MCP shartnomasini bajaradigan boshqa har qanday server qoʻlda ulanadi: Chatlar → Chat sozlamalari → Bot → Doʻkon (MCP) boʻlimida https://… manzilini, doʻkon bergan kirish kalitini va nomni kiriting. Vositalar, xatolar va mijozni tasdiqlash tavsiflangan shartnoma — Dasturchilar uchun boʻlimida.

Bot sozlamalarida Doʻkon (MCP)

Doʻkon (MCP) boʻlimida server ishlayotgani va doʻkon botga qaysi vositalarga ruxsat bergani koʻrinadi. Almashtirgich serverni vaqtincha oʻchiradi, yangilash tugmasi uni qayta tekshiradi va vositalarni qayta oʻqiydi (platforma buni sutkada bir marta oʻzi ham bajaradi).

Bot nimalar qila oladi

Botga aynan nimaga ruxsat berilishini doʻkon modul sozlamalarida hal qiladi. Sukut boʻyicha faqat oʻqish yoqilgan:

Vosita Bot nima qiladi
Mijoz buyurtmalari, buyurtma mijozning buyurtmalarini topadi va buyurtma haqida aytib beradi: tarkibi, summasi, toʻlov, yetkazib berish usuli, manzil
Kuzatuv yetkazib berish xizmati va trek raqamini aytadi, kuzatuv havolasini beradi
Mavjudlik va narxlar mahsulotni nomi yoki artikuli boʻyicha qidiradi, u bor-yoʻqligini va qaysi variantlarda borligini aytadi
Yetkazib berish yetkazib berish usullarini narxi va bepul yetkazib berish chegarasi bilan sanab beradi
Qaytarish shartlari doʻkonning qaytarish shartlarini aytib beradi

Amallar doʻkon ruxsat bermaguncha oʻchirilgan:

Amal Nima sodir boʻladi
Buyurtmani bekor qilish bot hech narsa toʻlanmagan va joʻnatilmagan buyurtmani bekor qiladi
Qaytarish arizasi ariza doʻkonga ketadi — buyurtmaga izoh va xodimlarga xat sifatida
Yetkazib berishni oʻzgartirish yangi manzil, sana yoki vaqt haqidagi ariza doʻkonga xuddi shunday ketadi

Vositalarning model uchun tavsiflarini doʻkon emas, platforma belgilaydi, doʻkon javoblarini esa bot koʻrsatma sifatida emas, maʼlumot sifatida qabul qiladi. Agar bot javobida doʻkon maʼlumotlarida yoʻq narxlar, muddatlar yoki vaʼdalar boʻlsa, javob tekshiruvi uni mijozga oʻtkazmaydi.

Mijozni tasdiqlash

Buyurtmalar va ular bilan amallar faqat tasdiqlangan mijozga ochiq — bot birovning buyurtmasini koʻrsatmaydi va hatto u mavjudligini ham tasdiqlamaydi. Mijozni ikki usulda tasdiqlash mumkin:

  1. Saytga kirish. Agar mijoz doʻkon akkauntiga kirgan boʻlsa, modul chat vidjetiga imzolangan token uzatadi — bot kim yozayotganini darhol biladi.
  2. Kod. Messenjerlarda va mehmonlar uchun bot doʻkonda koʻrsatilgan emailni soʻraydi, doʻkon unga 6 xonali kod yuboradi, mijoz kodni chatga yozadi. Kod 10 daqiqa amal qiladi, bitta manzilga soatiga 5 tadan ortiq kod yuborilmaydi.

Tasdiq 24 soat amal qiladi. Operator uni suhbat oynasida koʻradi: «mijoz tasdiqlandi: saytga kirgan» yoki «mijoz kod bilan tasdiqlandi». Mijoz tokeni suhbatda shifrlangan holda saqlanadi, uni na model, na operatorlar koʻradi.

Doʻkondagi amallar

Bot amalni faqat mijozning aniq roziligidan keyin bajaradi:

  1. Bot nima qilishini — buyurtma raqami, mahsulotlar — tushuntiradi va tasdiqlashni soʻraydi.
  2. Mijoz chatda rozi boʻladi, masalan: «ha, bekor qiling».
  3. Alohida baholash modeli mijoz aynan shu amalga rozi boʻlganini tekshiradi. Savol, ikkilanish yoki boshqa iltimos rozilik hisoblanmaydi.
  4. Doʻkon amalni bajaradi; xuddi shu amalni qayta chaqirish hech narsani takrorlamaydi.

Yozishmada natija bilan «Bot doʻkonda bajardi: …» qatori, loyihaning audit jurnalida esa «Botning doʻkondagi amali» yozuvi paydo boʻladi. Operator qoralamasi doʻkon maʼlumotlaridan faqat oʻqish uchun foydalanadi: amallarni operator doʻkonda oʻzi bajaradi.

Bot mijozning iltimosi bilan buyurtmani bekor qildi

Dasturchilar uchun

Agar Sizning serveringiz doʻkon MCP shartnomasining 1-versiyasini bajarsa, u ulanadi. PHP va Laravel uchun shartnoma allaqachon amalga oshirilgan: PHP kutubxonasidagi StoreMcp\Server klassi va Laravel paketidagi POST /onetrace/mcp marshruti — faqat vositalar ishlovchilarini yozish qoladi.

Transport. MCP Streamable HTTP, protokol versiyasi 2025-06-18: bitta manzil, JSON-RPC 2.0 bilan POST soʻrovlari, javob — JSON yoki bitta javobli text/event-stream oqimi. Manzil — faqat ommaviy IP dagi https://, yoʻnaltirishlarsiz. Javob 10 soniyadan uzoq va 256 KB dan katta boʻlmasligi kerak. Platforma initialize, notifications/initialized, tools/list va tools/call ni chaqiradi; Mcp-Session-Id sarlavhasi qoʻllab-quvvatlanadi, lekin majburiy emas.

Kirish. Har bir soʻrov Authorization: Bearer <kalit> ni olib keladi; kalitni doʻkon yaratadi, u kamida 32 ta tasodifiy belgidan iborat boʻladi. Kalitsiz yoki begona kalit bilan kelgan soʻrovga 401 javobi qaytadi.

Shartnoma belgisi. initialize ga javobda server capabilities.experimental["onetrace/store"] = { "version": 1 } ni eʼlon qiladi — busiz server ulanmaydi.

Vositalar. Nomlar — aynan jadvaldagidek, tools/list faqat egasi ruxsat berganlarini qaytaradi. Har birida readOnlyHint: true (oʻqish) yoki destructiveHint: true (amal) annotatsiyasi va _meta["onetrace/auth"] bor: customer — tasdiqlangan mijoz kerak, none — kerak emas. Natija — structuredContent va xuddi shu JSON matn sifatida content[0].text da. Summalar — { "amount": 1250.5, "currency": "RUB" }, sanalar — ISO 8601.

Vosita Ruxsat Kirish maʼlumotlari Natija
store_start_verification none contact, order sent, channel, destination
store_verify none contact, code customer_token, expires_at
store_get_customer customer — id, email, phone, first_name
store_find_orders customer status, limit (20 tagacha) orders: order, created_at, status, status_label, total, items_count
store_get_order customer order items, total, payment, shipping, can_cancel, can_return bilan buyurtma
store_get_tracking customer order carrier, tracking_number, tracking_url, status, events
store_check_availability none query, sku yoki product_id in_stock, quantity, variants bilan products (10 tagacha)
store_get_delivery_options none country, city, postcode, total methods: name, price, free_from, min_days, max_days
store_get_return_policy none — days, conditions, text, url
store_cancel_order customer order, reason order, status, message
store_create_return customer order, items, reason return_id, status, instructions
store_change_delivery customer order, address, date, time_window order, message

Buyurtma holati — quyidagilardan biri: pending, processing, on_hold, shipped, delivered, completed, cancelled, refunded, failed. Boshqa mijozning buyurtmasiga, xuddi u yoʻqdek, not_found javobi qaytadi.

Mijoz. customer_token tokenini doʻkon chiqaradi va tekshiradi, muddati — 24 soatdan oshmaydi. Tasdiqlash kodini doʻkon oʻzi yuboradi va bunday mijoz bor-yoʻqligidan qatʼi nazar bir xil javob beradi; kod — 6 raqam, 10 daqiqa, 5 tagacha urinish, bitta manzilga soatiga 5 tagacha kod. Saytga kirgan mijoz uchun sahifa tokenni trekerga uzatadi: cdp.chatCustomer('…').

Chaqiruv konteksti — params._meta da: onetrace/customer_token, onetrace/language (suhbat tili), onetrace/conversation, amallarda esa yana onetrace/confirmed: true va onetrace/idempotency_key. onetrace/confirmed siz amalni server rad etadi, xuddi shu idempotentlik kaliti bilan takroriy chaqiruv amalni qayta bajarmasdan oʻsha natijani qaytaradi.

Xatolar — isError: true va structuredContent: { "error": "<kod>", "message": "<mijoz uchun matn>" }:

Kod Qachon
auth_required tasdiqlangan mijoz kerak
invalid_code kod notoʻgʻri yoki muddati oʻtgan
not_found bunday buyurtma yoki mahsulot yoʻq
not_allowed amal bu holatda mavjud emas yoki egasi tomonidan oʻchirilgan
invalid_input notoʻgʻri argumentlar
rate_limited soʻrovlar yoki kodlar juda koʻp
unavailable doʻkondagi vaqtinchalik nosozlik

Moduldan ulash. Modul oʻz serverini chats.manage ruxsatiga ega maxfiy kalit bilan roʻyxatdan oʻtkazadi: url, key, name, platform bilan PUT /api/v1/chat/store-mcp serverni ulaydi yoki yangilaydi, url bilan DELETE /api/v1/chat/store-mcp esa uni uzadi.