OpsIQ مستندات

ساخت، کار و گسترش تمدید OpsIQ.

این مستندات کامل برای OpsIQ• محصول را تنظیم کنید، پشتیبانی را اجرا کنید، AI را پیکربندی کنید، CRM را مدیریت کنید، ویجت را نصب کنید، کانکتورها را بسازید، REST را فراخوان کنید. API, Webhooks ، برنامه های بازار بسته را دریافت کنید و استقرار خود میزبان را انجام دهید.

راهنمای مشتریراهنمای مدیریتراهنمای توسعه دهندهCRM مرجعآشنایی با SDKREST REST APIخود میزبان
محدوده

محدوده این کتاب دستی

همه چیز OpsIQ در یک مکان: چگونه هر صفحه کار می کند، چگونه سیستم های خود را متصل کنید و چگونه بر روی آن بنا کنید. شروع به هر نقطه، بخش ها همان سفارش را به عنوان نوار سمت مدیر دنبال می کنند.

محدوده
نقشه مستندکتاب دستی در اطراف سازمان یافته است. OpsIQ محصول، پس از همان سفارش به عنوان نوار سمت مدیر.نقشه مستندOpsIQ محصول محصولAUDIENCEاپراتورهاساختنتوسعه دهندگانRUNمدیراندانلود بازی LiveSPACEاستفاده از OpsIQصفحه نمایش محصول و جریان های کاریشاملگسترش OpsIQماسک، APIs و ویجتشاملعملیات OpsIQامنیت، cron و استقرارشاملمرجعبسته، API قراردادهای اینترنتیشامل1CHOOSE AUDIENCEاپراتور یا توسعه دهنده2FOLLOW THE UIبخش های آینه OpsIQ3USE SOURCE TRUTHوضعیت از ساخت
کتاب دستی در اطراف سازمان یافته است. OpsIQ محصول، پس از همان سفارش به عنوان نوار سمت مدیر.
راهنمای Portal Studio

استفاده از مدیر اختصاصی و راهنمای توسعه دهنده برای معماری پورتال، صفحات، اجزای پیش نمایش، مرکز کمک، هویت، SCIM, اداره آزاد، پسوندها، مهاجرت ها و گواهینامه.

راهنمای Portal Studio را باز کنید

در اینجا چه چیزی است

اجرای محصول

هر صفحه نمایش در مدیر: تجزیه و تحلیل، چت زنده، بلیط ها،CRMپایگاه دانش، اطلاعات سایت، تبلیغات و پورتال حساب مشتری.چه چیزی هر صفحه انجام می دهد، اعداد چه معنی دارند و چه کاری باید انجام دهند وقتی اشتباه به نظر می رسند.

سیستم های خود را به هم متصل کنید

ویجت وب سایت، صندوق های پستی ایمیل، اینترنت ورودی و خارج از آن، و کتابخانه اتصال برای سیستم عامل هایی مانند پلتفرم هاShopify, WooCommerce, WHMCS, Zendesk, Stripe, SlackوGmail.

خودتان بسازید

سازنده اتصال بدون کد، Actions و ماشه ها اگر ترجیح می دهید از کانکتورها به طور کلی استفاده نکنید و REST API با هر عمل، دامنه و کد خطا.

آن را اجرا کنید

نقش ها و مجوزها، امنیت، cron، تشخیصی، پشتیبان گیری و هر دو میزبانی شده و استقرار خود میزبان.

کجا شروع کنیم

1
اگر شما دویدن OpsIQ روز به روز

بخش های صفحه نمایش را در دستور نوار کناری بخوانید، هر کدام با آنچه که صفحه برای آن است باز می شوند، بنابراین شما می توانید به محض نیاز به توقف آن بپردازید.

2
اگر آن را اداره کنید

تنظیمات، امنیت، تشخیص، Cron و تولید را اضافه کنید، این بخش ها هستند که تصمیم می گیرند آیا همه چیز دیگر کار می کند یا خیر.

3
اگر شما در حال ساخت یک ادغام هستید

شروع در کانکتور، سپس Browser Builder، سپس REST API و وب سایت را بخوانید و همه چیز را دیده باشید. OpsIQ می تواند با سیستم دیگری صحبت کند.

💡
دو چیز تغییر می کند که شما می بینید. مجوزهای پنهان کردن صفحات نقش خود را نمی تواند باز کند، بنابراین یک بخش شرح داده شده در اینجا ممکن است از نوار کناری شما گم شود و از مدیر بخواهید تا نقش شما را بررسی کند و کانکتورها برچسب بلوغ تولید، بتا، پیش نمایش یا قالب را حمل کنند؛ ساخت و اتصال آن قدرت بر روی کدام صفحه دارند نه این صفحه.
اینجا شروع کنید

چه چیزی OpsIQ برای کسب و کار شما

OpsIQ یک پلت فرم عملیاتی کامل AI-first است.این جایگزین تجزیه و تحلیل شما، چت زنده، helpdesk، CRM، ابزار SEO، ادغام واسطه، و پلت فرم توسعه دهنده با یک مدیر واحد است که در آن هر ابزار به جای دوخت همزمان با هم زمینه مشتری. 8-12 محصولات SaaS جداگانه، شما نصب کنید OpsIQ یک بار و همه چیز را از یک صفحه اجرا کنید.

پلتفرم
OpsIQ پلتفرم یکپارچهمغز هوش مصنوعی مرکزی متصل به چت زنده، CRM، بلیط ها، اطلاعات سایت، ارتقاء و تجزیه و تحلیل.چت زنده Live chatارتقاءCRMسایت های Intelبلیطتحلیل‌هاOpsIQمغز1ONE WORKSPACEهر ابزار در یک مدیر2SHARED BRAINیک زمینه مشتری3ANYWHEREابری یا خود میزبان
OpsIQ یک پلت فرم با یک زمینه مشتری مشترک، هر ابزار تغذیه و توسط همان مغز AI است.

همه چیز OpsIQ · در جزئیات

تجزیه و تحلیل وب سایت و اطلاعات بازدید کننده

بازدید کننده real-time

هر بار صفحه، کلیک، اسکرول و رویداد ناوبری در زمان واقعی ثبت می شود.ببینید که چه کسی در سایت شما است، چه صفحاتی مشاهده می کنند، چقدر وقت صرف می کنند و از کجا آمده اند، همه بدون کوکی های شخص ثالث.

ورود بازدید کننده و جلسات

تاریخچه کامل هر بازدید کننده با دستگاه، مرورگر، سیستم عامل، کشور، شهرستان، ارجاع دهنده، پارامترهای UTM، صفحه فرود و وضوح هویت. جلسات صفحه نمایش گروه به سفر بنابراین شما می توانید کل مسیر یک بازدید کننده را ببینید.

بازپخش جلسه

پخش زمان خط از جلسات بازدید کننده ضبط شده دقیقاً ببینید که کاربران چه کردند: حرکات موش، کلیک ها، اسکرول ها، انتقال صفحه و تعاملات فرم.استفاده از آن برای تشخیص مسائل UX، درک نقاط کشویی و تأیید جریان تبدیل.

تغذیه زنده Live Feed

یک جریان زمان واقعی فعالیت بازدید کننده به عنوان آن اتفاق می افتد.دیدن دیدگاه های صفحه، چت شروع می شود، ارسال فرم و سیگنال های قصد به روز رسانی هر چند ثانیه. Filter by Country، دستگاه یا ارجاع دهنده برای تمرکز بر بخش های ترافیک خاص.

صفحات برتر

صفحات با بازدید، زمان تعامل، نرخ پرش، تبدیل و فعالیت پشتیبانی رتبه بندی شده اند. شناسایی بالاترین محتوای و صفحاتی که نیاز به بهبود دارند.

هوش زمین

کشور، شهر و منطقه با نقشه ها. دستگاه و توزیع مرورگر، تجزیه و تحلیل منبع ترافیک، ردیابی موتور جستجو و بینش نفوذ بازار است.

Intent قیف

سیگنال های هدف بازدید کننده (بازدید کنندگان صفحه اصلی، بازگشت مکرر، الگوهای مرور اسناد و تعاملات پشتیبانی) را ردیابی کنید تا بازدیدکنندگانی که احتمالا خرید، ریزش یا نیاز به کمک دارند شناسایی شوند.

آزمایش A/B

تست های تقسیم شده را به طور مستقیم از وب سایت خود اجرا کنید. OpsIQ ایجاد انواع، تنظیم تخصیص ترافیک، تعریف اهداف تبدیل و اندازه گیری اهمیت آماری.هیچ ابزار تست خارجی مورد نیاز نیست.

JavaScript خطای ردیابی

ثبت نام مشتری-side JavaScript خطا از وب سایت شما به طور خودکار مشاهده پیام های خطا، ردیابی پشته، مرورگرهای آسیب دیده، شمارش فرکانس و که صفحات آنها را تحریک می کند.

حوادث

هر رویداد ردیابی شده (نظرات صفحه ای، رویدادهای سفارشی، تعاملات چت، ارسال فرم، خرید) در یک ورودی قابل جستجو و فیلتر با متاداده کامل.

فروش و تبدیل

سفارشات پیگیری، درآمد، بازپرداخت، تمدید اشتراک و نسبت به منابع ترافیک، کمپین ها و سفر بازدید کننده. داشبورد درآمد با مقایسه دوره و تجزیه و تحلیل روند.

رهبری

بازدید کنندگان با رتبه بالا که توسط الگوهای رفتاری شناسایی شده اند، بر اساس بازدید از صفحه، زمان در سایت، فرکانس بازگشت، تعاملات پشتیبانی و سیگنال های سفارشی منجر می شوند. Feed به طور مستقیم به خط لوله CRM هدایت می شود.

اطلاعات سایت (SEO and Content Analysis)

سایت خزیدن

خزیدن خودکار از کل وب سایت شما برای کشف صفحات، شناسایی لینک های شکسته، پیدا کردن تگ های متا گم شده، چک کردن متن alt تصویر، اعتبار canonical URLs, و نقشه ساختار سایت خود را. برنامه خزیدن برای اجرای روزانه، هفتگی یا در تقاضا.

حسابرسی فنی SEO Audit

تجزیه و تحلیل جامع فنی: امتیازات سرعت صفحه، پاسخگو بودن تلفن همراه، Core Web Vitals SSL وضعیت گواهی، زنجیره های هدایت، تشخیص محتوای تکراری، تجزیه و تحلیل عمق خزیدن و اعتبار داده های ساختاری.

حسابرسی محتوا Content Audit

هر صفحه را برای کیفیت محتوا، شمارش کلمات، نمره خوانایی، چگالی کلمه کلیدی، ساختار عنوان، نسبت لینک داخلی / خارجی و تازه سازی ارزیابی کنید.

جستجوی AI-Power Search

جستجو در سراسر محتوای سایت خود را.پرسید سوالات زبان طبیعی در مورد محتوا و دریافت پاسخ های اندازه هوش مصنوعی با ارجاعات صفحه منبع.

SERP رتبه ردیابی

رتبه بندی موتور جستجو خود را برای کلمات کلیدی هدف در سراسر گوگل و دیگر موتورهای نظارت کنید. پیگیری تغییرات موقعیت در طول زمان، مقایسه با رقبا و دیدن اینکه کدام صفحات برای چه شرایطی رتبه بندی می شوند.

تحقیقات کلید واژه

کشف فرصت های کلیدی بر اساس محتوای شما، تجزیه و تحلیل رقیب و داده های حجم جستجو.پیشنهاد برای موضوعات جدید محتوا، تغییرات طولانی مدت و اهداف بهینه سازی محتوا را دریافت کنید.

تحلیل Backlink Analysis

پروفایل لینک ورودی خود را نظارت کنید. ببینید که کدام سایت ها به شما پیوند می دهند، پیوندهای جدید و از دست رفته را ردیابی می کنند، توزیع متن لنگر را تجزیه و تحلیل می کنند و فرصت های ساخت لینک را شناسایی می کنند.

شبکه محلی SEO

برای کسب و کارهای دارای مکان های فیزیکی: دید جستجوی محلی خود را در یک شبکه جغرافیایی تجسم کنید. ببینید که چگونه رتبه بندی شما با محل، فاصله از کسب و کار شما و هدف جستجو متفاوت است.

Google Business Profile همگام سازی

پروفایل Google Business خود را به اشتراک بگذارید OpsIQ بررسی های Sync، پست ها، Q&A، عکس ها و اطلاعات کسب و کار شما را از داخل فهرست GBP مدیریت می کند.OpsIQ پاسخ به بررسی، پست های منتشر شده و نظارت بر بینش.

گزارش های برنامه ریزی شده

گزارش های خودکار SEO و تجزیه و تحلیل تولید شده در برنامه شما (در هفته، هفتگی، ماهانه) شامل تغییرات رتبه بندی، روند ترافیک، مسائل فنی یافت شده و عملکرد محتوا است.

پشتیبانی از AI

چت مشتری AI

هوش مصنوعی به سوالات مشتریان در وب سایت شما پاسخ می دهد. 24/7 با استفاده از پایگاه دانش خود ، داده‌های پلت فرم متصل شده) سفارشات ، حسابها ، اشتراک‌ها (و هشدارهای آموزشی سفارشی. پشتیبانی از ارائه‌دهندگان هوش مصنوعی متعدد: Claude (Anthropic), GPT-4o (OpenAI), Gemini (Google) و Grok (xAI).

دستیار مدیریت AI

یک خلبان AI در داخل پنل مدیریت شما که به شما کمک می کند تا پاسخ های بلیط، پیش نویس ارتباطات مشتری، تجزیه و تحلیل روند پشتیبانی، نگاه کردن به اطلاعات مشتری در سراسر سیستم عامل های متصل، و اجرای اقدامات از طریق سیستم اتصال.

هوش مصنوعی دانش

AI در مقالات پایه دانش شما، ورودی های پرسشی، اسناد محصول و داده های پلتفرم متصل است.این توهم نیست.این پاسخ از اطلاعات کسب و کار واقعی شما یا تشدید می شود زمانی که نامشخص است.

خودکار دستی به انسان

هنگامی که AI نمی تواند یک سوال را حل کند، ناامیدی را تشخیص دهد یا مشتری برای یک انسان درخواست می کند، به طور خودکار با متن مکالمه کامل به تیم شما دست می زند.

آموزش هوش مصنوعی

دستورالعمل های جداگانه ای را برای AI مشتری و AI-based. Control تن، مرزها، قوانین تشدید، موضوعات ممنوعه و رفتار خاص کسب و کار بنویسید.

تاریخ هوش مصنوعی و حسابرسی

هر مکالمه AI با جزئیات درخواست / پاسخ کامل، استفاده از توکن، ردیابی هزینه، ارائه دهنده و نسخه بررسی شده ضبط شده است برای شناسایی شکاف های آموزشی و بهبود دقت هوش مصنوعی.

هوش مصنوعی بینش

تجزیه و تحلیل خودکار الگوهای مکالمه AI. مشاهده سوالات رایج، نرخ های حل، فرکانس دست، رضایت مشتری از طریق موضوع و مناطق که در آن هوش مصنوعی نیاز به آموزش بهتر است.

دانلود بازی Per-workspace AI config

هر سایت متصل / فضای کاری می تواند از ارائه دهنده AI خود، مدل، دما، بودجه توکن و آموزش سریع استفاده کند.یک شرکت SaaS می تواند برای محصول اصلی و GPT-4o برای یک نام تجاری ثانویه از کلود استفاده کند .

مدیریت هوش مصنوعی و BYOK

دو حالت AI: مدیریت هوش مصنوعی (شامل برنامه شما، بدون هیچ API کلید مورد نیاز شما یا کلید خود را بیاورید (از خودتان استفاده کنید) OpenAI/Anthropic Google/xAI API کلید کنترل کامل بر انتخاب و هزینه های مدل (هر دو کلاس اول هستند)، هر ویژگی با هر دو حالت کار می کند.

بودجه توکن های AI و کنترل هزینه

بودجه توکن ماهانه، محدودیت های هر طرف و هشدارهای تعادل پایین را تنظیم کنید.هزینه ها را در هر ارائه دهنده، هر فضای کاری و هر مکالمه متوقف کنید.

بلیط ها و کمک های

سیستم بلیط بومی

کمک های کامل با بخش ها، اولویت ها (کم / متوسط / بالا / بالاتر / بلند / داور)، وضعیت، ردیابی SLA، یادداشت های داخلی، پاسخ مشتری، پیوست فایل و مکالمات پیچیده.هیچ کمکی خارجی لازم نیست.

هوش مصنوعی و auto-reply

AI به طور خودکار بلیط های ورودی توسط بخش و اولویت را جایگزین می کند. فعال کردن خودکار برای ادارات امن. پیش نویس AI و ارسال پاسخ پس از یک تاخیر قابل تنظیم (default: 2 چند دقیقه: انسان ها می توانند اول مداخله کنند.

ایمیل مصرف

یک صندوق پستی (Gmail) را به هم متصل کنید. IMAP, یا ارائه دهنده خاص) به طور خودکار ایجاد بلیط از ایمیل های ورودی.پاسخ به ایمیل اطلاع رسانی بلیط به روز رسانی موضوع بلیط.

بلیط پورتال جاسازی شده

یک پورتال بلیط مشتری را در وب سایت خود قرار دهید.مشتریان می توانند بلیت ارسال کنند، تاریخ خود را مشاهده کنند، به بلیط های باز پاسخ دهند و وضعیت را بررسی کنند، همه آنها به طراحی شما متصل شده اند.

بلیط ادغام

بلیط های تکراری در یک رشته واحد نشان می دهد که بلیت های مرم شده بر روی خط موضوع قرار دارند.همه تاریخ مکالمه در بلیط باقی مانده حفظ می شود.

بازگشت به AI

پس از اینکه یک نماینده انسانی بیش از یک بلیط می گیرد، از “بازگشت به AI” استفاده کنید تا اجازه دهید هوش مصنوعی در آن بلیط از سر بگیرد.استفاده گر زمانی که بخش مورد نیاز انسان حل شود اما مشتری سؤالاتی را دنبال کند که AI می تواند آن را اداره کند.

جعبه ورودی

مدیریت بلیط با کمک AI از دید صندوق پستی نشان می دهد که پاسخ، خلاصه داستان مکالمه، توصیه اولویت / تخصیص تکالیف و می تواند اقدامات در سیستم عامل های متصل اجرا.

چت و پشتیبانی در زمان واقعی

چت درbox

چت مشتری در زمان واقعی از یک صندوق ورودی یکپارچه مدیریت شده است، مشاهده تمام مکالمات فعال، هویت مشتری، تاریخ مکالمه و پیشنهادات AI.

قوانین چت فعال

پیام های چت محرک بر اساس رفتار بازدید کننده: زمان در صفحه، خاص URL بازدید، اسکرول عمق، شمارش بازدید بازگشت، قصد خروج یا رویدادهای سفارشی: نشان دادن یک پیام کمک پس از نمایش 60 چند ثانیه در صفحه قیمت گذاری

چت ویجت

یک ویجت چت قابل تنظیم جاسازی در وب سایت شما پشتیبانی از چت AI، چت عامل زنده، ارسال بلیط، جستجوی پایه دانش و هویت بازدید کننده. Responsive، در دسترس و نام تجاریable است.

بررسی های CSAT

جمع آوری رتبه بندی رضایت مشتری پس از چت و معاملات بلیط.طرح نظرسنجی با سوالات خود، مقیاس های رتبه بندی و پیگیری سریع ها.نتایج تغذیه به عملکرد تیم و بینش AI.

بررسی ایمیل Post-chat

پس از پایان یک چت، بازدید کنندگان با ایمیل شناخته شده می توانند یک پست مارک شده را با خلاصه AI از آنچه که اداره شد و یک کلیک "آن را آسان؟" بله / نه. هنگامی که در هر رشته امضا لینک های تک استفاده، هر ارسال وارد، و نتیجه فرود بر صفحه بازخورد به عنوان سیگنال خود را در کنار ستاره های درون چت است.

حلقه هویت بازخورد

هر آیتم بازخوردی که یک فرد را حمل می کند، آنها را نشان می دهد: نام، ایمیل، کلیک بر روی سفر مشتری کامل و تماس CRM، و یک ایمیل یا پاسخ های آی وی-دفت در تاریخ واقعی خود.

نوشتن AI

دستیار نوشتن AI را برای ایجاد پیش نویس ایمیل، پاسخ های بلیط، اعلان ها و ارتباطات مشتری جدا کنید.از سرعت خود (نه مغز چت) برای نوشتن کسب و کار حرفه ای استفاده می کند.

CRM مبتنی بر AI

مرکز فرماندهی CRM

یک صفحه نمایش واحد که کل حالت CRM را نشان می دهد: ارزش خط لوله، سرعت معامله، وظایف آینده، معاملات در معرض خطر، فعالیت عامل و توصیه های AI است. صفحه اصلی CRM نقطه شروع روزانه شما است.

ارتباطات و شرکت ها

مدیریت تماس‌های مشتری با پروفایل کامل: نام، ایمیل، تلفن، شرکت، برچسب‌ها، مرحله چرخه زندگی، تاریخچه مکالمات، تاریخچه‌ی بلیط، تاریخچهٔ خرید و دامنه‌های سفارشی.

معامله و خط لوله

هیئت مدیره قرارداد ویژوال کانبان با مراحل قابل تنظیم، معاملات بین مراحل، تعیین ارزش ها، صاحبان اختصاص، تاریخ های نزدیک را ردیابی و مشاهده ارزش خط لوله در هر مرحله پشتیبانی می کند.

AI

AI هر معامله را تجزیه و تحلیل می کند و مربیگری را فراهم می کند: سیگنال های خطر (یک رقیب آرام، ذکر شده، نگرانی بودجه)، توصیه های بهترین عمل بعدی، احتمال برنده شدن و پیشنهاد زمان پیگیری.

پیش بینی و گزارش

پیش بینی درآمد بر اساس داده های خط لوله، نرخ های نزدیک تاریخی و سرعت معامله. گزارشات شامل خط لوله توسط مرحله، مالک، با منبع، نرخ تبدیل، اندازه متوسط معامله و طول چرخه فروش است.

عامل آینده (SDR)

چشم انداز AI که مشتریان بالقوه را از داده های بازدید کننده شما، سیگنال های سرب و فعالیت پلتفرم متصل شناسایی می کند، اهداف غیر قابل دسترس، پیش نویس پیام های اولیه و نمرات کیفیت هدایت را پیشنهاد می دهد.

دنباله های پیگیری

توالی های پیگیری چند مرحله ای خودکار: ایمیل، صبر، ایمیل، پاسخ چک، افزایش توالی های تعریف شده برای سرنخ های جدید، معاملات معلق، چک کردن پس از خرید و کمپین های دوباره.

چرخه زندگی و حفظ

مراحل چرخه عمر مشتری (سرانجام، چشم انداز، مشتری، ریزش) را با انتقال خودکار ردیابی کنید. عامل حفظ برای سیگنال های خروجی نظارت می کند و مداخلات را پیشنهاد می دهد.

عامل Data Observatory

عامل AI که به طور مداوم داده های CRM شما را تمیز و غنی می کند: ارتباطات را پیچیده می کند، فیلدهای گمشده را پر می کند ، ایمیل ها را تأیید می کند و نام شرکت را استاندارد می کند.

CRM من را بسازید

پیکربندی CRM زبان طبیعی: به AI بگویید که فرآیند فروش شما چه شکلی است و مراحل خط لوله، زمینه های سفارشی، قالب های معامله و قوانین اتوماسیون را ایجاد می کند.

بررسی سلامت CRM

حسابرسی خودکار از کیفیت داده های CRM شما: تماس های تکراری، معاملات بدون گام های بعدی، خطوط لوله استل، اطلاعات تماس گم شده و امتیاز کامل داده ها.

اعتماد به Dial

کنترل استقلال سه سطحی برای هرCRMعامل AI: Autopilot (AI به طور مستقل عمل می کند)، خلبان (AI پیشنهاد می دهد، تایید انسان) و Manual (AI مشاهده تنها) شماره گذاری را در هر نماینده، در هر نوع اقدام و در ازای هر آستانه ارزش معامله تنظیم می کند.

چهار عامل AI

CRM چهار عامل تخصصی AI را اجرا می کند: Steward (کیفیت داده)، SDR (prospecting)، Retention (تحقیق) و تحلیلگران (گزارش و بینش).

کانکتورها و ادغام ها

کانکتور های پیش ساخته شده

اتصالات آماده برای استفاده Shopify, WooCommerce BigCommerce، Magento 2PrestaShop، Opencart، osCommerce WordPress, WHMCS Zendesk، Stripe، Amazon SES، Postmark، Resend، SendGrid، Mailgun، Gmail، Gmail IMAP Slack و Google Business Profile هر کانکتور اقدامات AI، دانش و همگام سازی داده ها را به ارمغان می آورد.

سازنده اتصال

ساخت وصله‌های سفارشی برای هر پلتفرم، بدون کد، با کمک هوش مصنوعی یا کد کامل. سازنده از REST و GraphQL پشتیبانی می‌کند APIs, OAuth جریان کد تأیید، ثبت خودکار وب‌هوک با Stripe و طرح های ساده امضای، صفحه بندی (offset, page, cursor, and link-header)، لیست/خطا تبدیلات، متن چند عمل، و بسته بندی بازار.

AI-HELP interface

BrowserBuilderAI به شما کمک می کند تا کانکتورها را بسازید: آنچه را که می خواهید توصیف کنید و این نشان دهنده اقدامات، نوشتن دسته های درخواست و نقشه ها است. API پاسخ ها، احراز هویت، دزدی و دستکاری خطا را به طور خودکار مدیریت می کنند.

OAuth جریان برای هر اتصال

Generic in-app OAuth جریان مجوز که با هر اتصال کار می کند. پشتیبانی PKCE، مدیریت دولتی سایت-scoped، تازه سازی توکن خودکار تعریف شده است.OAuth پارامترهای و OpsIQ جریان را اداره می کند.

اتوبوس های قابلیت (Exper-platform)

پیوندها فقط اعمال پلتفرم را اضافه نمی‌کنند. آنها می‌توانند ویژگی‌های اصلی را از طریق « گذرگاه‌ها » قابلیت تقویت کنند. یک پیوند یک توانایی را اعلام می‌کند) تقویم ، غنی سازی ، esign در CRM؛ local_ listing ، rank_ data در Site Intelligence؛ web_ analytics در Analytics؛ payment_ provider در Payments؛ email_ sync در Mailbox؛ video_ meeting در Comms (و مجموعه کوچک روش آن را پیاده‌سازی می‌کند؛ OpsIQ از طريق ثبت توانايي آن را کشف مي كند و به رابط کاربري، مشتري وصلش مي كنند 360 خط زمانی، و اعمال هوش مصنوعی. چندین اتصال‌دهنده می‌توانند همان قابلیت را بدون قفل کردن ارائه دهند. connectors/PLATFORM_CONNECTORS.md را ببینید.

پیش نصب شده در مقابل بازار

کانکتورها در یکی از دو اتصال دهنده قبل نصب شده (connectors/) از جعبه فعال هستند، به تنها مرجع کلیدی و ارائه دهنده ترین قابلیت ها (به عنوان مثال تقویم گوگل، Gmail، Google Business Profile) متصل می شوند. 365 تقویم، Outlook، DocuSign، Stripe، GA4، SerpApi، Zoom. هر پل یک لیست بازار را بالا می برد، بنابراین UI و AI می توانند "از بازار" (notify-to-install) را هنگامی که توانایی ارائه دهنده آماده نیست، هرگز دکمه شکسته است، به سرعت بارگذاری کنند.

بازار

اتصال دهنده های خود را به OpsIQ بازار: کانکتورهای بسته با مشخصات json دانش.json, Workflow_recipes json, و بایگانی های امضا شده. Marketplace از کانکتورهای رایگان و پرداخت شده با صورتحساب چند منبع پشتیبانی می کند .

امضای

تمام کانکتورها به صورت رمزنگاری برای تأیید یکپارچگی امضا می شوند. ثبت نام در زمان نصب بررسی می شود و از ابزار استعفا_all_connectors برای باز کردن پس از به روز رسانی استفاده می کند.

SmartLookup

سیستم تطبیق پذیری فازی برای اقدامات کانکتور OpsIQ مطابقت با پرس و جو کاربر به نهادهای پلت فرم با استفاده از الگوریتم های فازی Score و SmartRank مثال: Find_Count (“germ”) با آلمان مطابقت دارد. 88.9% اطمینان.

قراردادهای عملیاتی

ژنرالOpsIQ APIمنتشر هر ثبت شدهJSONعملیات به عنوان یک اقدام قابل کشف به نام عمل استفاده از meta.actions برای کل زندگی و دقیق قراردادهای نوع؛ بسته های کانکتور اعمال فروشنده خود را از طریق ActionExecutor یکپارچه اعلام می کند.

دستور العمل های flex

دستور العمل های پیش ساخته شده گردش کار که شامل اقدامات اتصال چندگانه به جریان کاری مشترک است، مثال: "هنگامی که یک سفارش جدید وارد می شود. Shopify یک بلیط ایجاد کنید، CRM را به روز کنید و یک اعلان Slack ارسال کنید.

دانش همگام سازی

کانکتورها موضوعات دانش را اعلام می کنند که همگام با پایگاه دانش AI است.مقاله خاص کمک به مقالات، راهنماهای تنظیم و گام های عیب یابی به طور خودکار در دسترس AI بدون ورود دانش دستی هستند.

توسعه دهنده Platform

REST REST API

نام A Name JSON API هر مدیر ثبت شده را پوشش می دهد JSON عملیات، باAPI- احراز هویت کلیدی، انزوای کاری، دامنه ها، محدود کردن نرخ، یادداشت های سفارشی، OpenAPI و یک مجموعه Postman تولید شده است.

وب‌هوک‌ها

وب سایت خارجی برای همه رویدادهای بزرگ: سفارشات، فاکتورها، اشتراک ها، بلیط ها، چت ها، سرنخ ها، ثبت نام کاربر و رها کردن سبد کار. تحویل Async از طریق صف شغلی، بازگشت به صورت نمایی، حفاظت از SSRF و خودکار پس از آن غیر قابل تشخیص است. 15 شکست های متوالی

امضای Webhook

هر وب سایت خارجی با HMAC-SHA256 امضا می شود و امضاهای مربوط به پایان دریافت شما را بررسی می کند تا اطمینان حاصل شود که Webhook Authenticity.

WidgetSDK

JavaScript SDK برای ردیابی ویجت با وضوح هویت، پیگیری رویداد سفارشی، کنترل چت برنامه ای و پیکربندی خاص صفحه نصب دستورالعمل ها برای React، Vue، Next.js، بعدی. WordPress, Shopify و استاتیک HTML.

افزونه ها و SDKs

SDK ها و افزونه های سرور برای چارچوب های مشترک WordPress پلاگین، WHMCS ماژول و کتابخانه های ادغام عمومی PHP / Node.js

حوادث API

حرکت دادن رویدادهای سفارشی به OpsIQ از پشت سر شما: خرید، نشانه ها، استفاده از ویژگی، خطا یا هر رویداد تجاری ظاهر می شود. رویدادها در جدول زمانی بازدید کننده ظاهر می شوند و به تجزیه و تحلیل و زمینه هوش مصنوعی تغذیه می کنند.

کتاب آشپزی

ساخت جریان های کاری خودکار که توسط رویدادها ایجاد می شود: بلیط جدید، چت شروع شد، بازدید کننده شناسایی شده، مرحله معامله تغییر کرد یا رویداد سفارشی. محرک ها اقدامات اتصال را اجرا می کنند، وب را ارسال می کنند و سوابق به روز رسانی را ارسال کرده یا تیم شما را مطلع می کنند.

API سازنده : سازنده

بصری Visual API و سازنده وب را در داخل بخش های انتهایی Configure، درخواست های تست، پاسخ های بازرسی و ادغام اشکال زدایی بدون ترک کردن OpsIQ.

تیم و دولت

کنترل دسترسی مبتنی بر نقش

سه نقش: مالک (دسترسی کامل، صورتحساب، منطقه خطر)، Full Admin (همه عملیات به جز لایحه و منطقه خطر) و عامل (فقط بخش های اختصاص داده شده، دسترسی تنظیمات) همه صفحات حساس با نقش سخت رتبه بندی می شوند.

داشبورد عملکرد تیم

مالک و داشبورد کامل مدیریتی که زمان حل، توزیع کار، کنترل عمق، تجزیه کانال، تجزیه و تحلیل روند، انطباق SLA، CSAT توسط عامل، بازگشایی نرخ ها، رول های تیمی و شلوغ ترین ساعت به روز رسانی در زمان واقعی.

حضور مدیریتی و ردیابی آنلاین

real-time Who-is-online ویجت در ناوبری حاکم. Heartbeat-based حضور (در زمان واقعی)60 ping دوم، 300 2- گسترش، auto-prune پس از 120 ببینید که کدام مدیران در حال حاضر فعال هستند و چه صفحاتی دارند.

تنظیمات Per-workspace

هر سایت متصل (workspace) می تواند تنظیمات AI خود، تنظیمات اتصال، بخش های بلیط، برندسازی و قوانین عملیاتی را داشته باشد.

مدیریت چند سایت

مدیریت چندین وب سایت از یک OpsIQ هر سایت دارای اسنیپت ردیابی خود، داده های بازدید کننده و پیکربندی است. Switch بین سایت ها از ناوبری admin.

سیستم قالب ایمیل

قالب های ایمیل مبتنی بر رجیستری برای تمام ارتباطات خودکار: اعلان بلیط، رونویسهای چت، ایمیل های خوش آمدید، تنظیم مجدد رمز عبور و هشدار سیستم. HTML قالب هایی با پیش نمایش زنده، تراشه های متغیر ({{customer_name}}, {{ticket_id}} کنترل طرح جهانی و جهانی

واردات و صادرات

تماس های واردات، بلیط ها و مقالات دانش از CSV/JSON داده های بازدید کننده صادرات، گزارش تجزیه و تحلیل ها و سوابق CRM.انتقال اطلاعات برای مهاجرت بین سیستم ها

امنیت، انطباق و عملیات

Enterprise Enterprise SSO

OIDC (OpenID اتصال) تک نشانه با تمام وقت اجرا: کشف، اجازه، تماس، تایید امضای JWKS، کاربرinfo، دامنه اجازه لیست، ارائه JIT و نگهبانان وضعیت. SAML پشتیبانی پیکربندی

GDPR انطباق داده ها

ساخته شده-in DSAR (درخواست دسترسی به موضوع داده) رسیدگی: صادرات و حذف اطلاعات مشتری در سراسر سیستم ها.اطلاعات مربوط به پوشش جلسات، بلیط، چت، سوابق CRM و سیاست های مدیریت مشترک و حفظ ایمیل.

IP مسدود کردن و محافظت از brute-force

بلوک های خاص IPs یا محدوده از دسترسی به سایت و یا مدیر خود را قفل خودکار پس از تلاش های ورود شکست خورده قابل پیکربندی.IP, timetamp و User Agent

HSTS و هدرهای امنیتی

HTTP استال حمل و نقل امنیت، سرسرهای مجوز-Policy و پیکربندی کوکی امن. استقرار خود میزبان می تواند هدر CSP را از طریق تنظیمات سرور اضافه کند.

وب سایت خارجی Hardening

SRF Guard وب را به صورت خصوصی / metadata مسدود می کند IP Async Delivery از مسدود کردن درخواست شما جلوگیری می کند. Auto-disable after 15 شکست های متوالی مانع از هدر رفتن منابع در نقاط پایانی مرده می شود.

انزوای کاری

انزوای داده های سخت بین فضاهای کاری، بازدید کنندگان، بلیط ها، چت ها، سوابق CRM و مکالمات AI به فضای کار خود محدود می شود. نشت اطلاعات Cross-workspace در لایه پرس و جو جلوگیری می شود

مدیریت چرخه

پشتیبانی از چرخه های ماهانه، فصلی، نیمه سالانه، دو ساله و طول عمر صورتحساب. عادی سازی ارز برای دروازه های چند ارزی. تبدیل FX در پرداخت دریافت درآمد دقیق

Cron و اتوماسیون برنامه ریزی شده

سیستم cron داخلی برای وظایف برنامه ریزی شده: نسل گزارش، تمیز کردن داده ها، تمدید اشتراک، به روز رسانی های آموزش AI، همگام سازی اتصال و وب ریتورات بهداشتی با شاخص های هشدار.

سیاست های حفظ اطلاعات

درک کنید که چه مدت جلسات بازدید کننده، رونویس های چت، تاریخ مکالمه AI و log رویداد حفظ شده است. پاک سازی خودکار از داده های قدیمی برای مدیریت ذخیره سازی و پیروی از سیاست های حفظ نگه داشته می شود.

تشخیص و سلامت

داشبورد سلامت سیستم نشان می دهد وضعیت cron، اتصال پایگاه داده، وضعیت ارائه دهنده AI، بهداشت کانکتور، نرخ تحویل وب و استفاده از ذخیره سازی هشدار برای مسائل پیکربندی و تنگناهای عملکردی.

چه کسی کیست OpsIQ برای

فروشگاه های تجارت الکترونیک

فروشگاه ها

هر بازدید کننده را از فرود به خرید ردیابی کنید، اجازه دهید AI پاسخ دهد: “نظم من کجاست؟” با استفاده از زندگی می کند. Shopify/WooCommerce/ داده های بزرگ تجارت الکترونیک. مدیریت بلیط پشتیبانی با خودکار هوش مصنوعی، اجرای یک خط لوله معامله برای عمده فروشی و B2B منجر می شود. درآمد آلی به منابع ترافیک و کمپین ها نظارت بر رها کردن سبد کار بازیابی.

شرکت های نرم افزاری و SaaS

SaaS

نظارت بر ثبت نام محاکمه و پذیرش ویژگی با replay جلسه که صفحات اسناد تبدیل می شوند. Automate پشتیبانی از AI مستقر در شما API docs. مدیریت درآمد اشتراک و معاملات توسعه در CRM. اتصال پلت فرم صورتحساب خود را (Stripe، WHMCS برای ردیابی MRR در زمان واقعی، از عامل چرخه عمر CRM برای تشخیص و جلوگیری از ریزش استفاده کنید.

سازمان ها و مترجمان آزاد

آژانس

ارائه تجزیه و تحلیل برچسب سفید و پورتال پشتیبانی به مشتریان. Track منجر به سراسر سایت های متعدد مشتری از یک مدیر می شود.استفاده از خط لوله CRM برای مدیریت چشم انداز و پروژه هدایت. ساخت کانکتورهای سفارشی برای سیستم عامل های مشتری با استفاده از Browser Builder گزارش های SEO مارک شده با اطلاعات سایت. Resell اتصال دهنده بازار به عنوان خدمات ارزش افزوده.

میزبانی و زیرساخت

میزبانی

عمق عمیق WHMCS ادغام با 80+ اقدامات AI برای پیگیری سفارش، مدیریت خدمات، DNS و ارائه. Auto-reply به سوالات میزبانی مشترک با استفاده از مقالات پایه دانش، پیگیری تعامل صفحه وضعیت سرور.مدیریت بلیط های پشتیبانی فنی با AI triage.استفاده از نردبان چرخه صورتحساب برای ماهانه از طریق برنامه های میزبانی عمر است.

پشتیبانی از کسب و کار

پشتیبانی

برچسب ها: Deflect 40-70% سوالات تکراری با چت AI در پایگاه دانش خود را. بلیط مسیر به بخش راست با AI triage. Track عملکرد تیم با زمان حل، انطباق SLA و CSAT توسط عامل استفاده از نوشتن هوش مصنوعی برای پیش نویس پاسخ حرفه ای است. مانیتور روند پشتیبانی با بینش AI.

بازاریابی و تیم های SEO

بازاریابی

مجموعه کامل اطلاعات سایت: خزیدن، حسابرسی های فنی SEO، تجزیه و تحلیل محتوا، ردیابی رتبه SERP، تحقیقات کلیدی، نظارت بک لینک و شبکه محلی SEO مدیریت پروفایل Google Business. گزارش برچسب سفید برای مشتریان را برنامه ریزی کنید. تست A / B ساخته شده در ویجت پیگیری.

بنیانگذاران سولو و تیم های کوچک

استارتاپ ها

با فقط پیگیری و چت شروع کنید، رایگان برای اضافه کردن بلیط زمانی که حجم پشتیبانی را دریافت می کنید. روی CRM کلیک کنید، هنگامی که شروع به فروش می کنید، سیستم عامل های اتصال را همانطور که آنها را قبول می کنید وارد کنید. OpsIQ مقیاس هایی از یک فرد که همه چیز را به یک شخص انجام می دهد 50- تیم عملیات شخصی با RBAC، بخش ها و ردیابی عملکرد هر عامل.

شرکت و چند برند

شرکت

Enterprise Enterprise SSO با OIDC برای احراز هویت متمرکز، انزوای چند فضا برای مارک ها یا بخش های جداگانه. پیکربندی AI Per-workspace با ارائه دهندگان و مدل های مختلف. GDPR ابزارهای انطباق و سیاست های حفظ اطلاعات

چه چیزی OpsIQ جایگزین ها

Google Analytics Hotjar + Plausible

تجزیه و تحلیل کامل وب سایت با ردیابی بازدید کننده، replay جلسه، رتبه بندی صفحه، هوش زمین، اهداف قیف، تخصیص تبدیل، حوادث، آزمایش های A / B و پیگیری خطا JS، همه حریم خصوصی دوستانه، همه در یک پلت فرم.

Intercom + Shift + Tidio

چت مشتری با قدرت AI با دانش پایه، پشتیبانی چند ارائه دهنده هوش مصنوعی، دست کم به انسان، قوانین چت فعال، تاریخ گفتگو، نظرسنجی های CSAT و ایجاد بلیط از چت.

Zendesk + Freshdesk+ کمک به Scout

سیستم بلیط بومی با ادارات، اولویت ها، SLA، AI triage، خودکار با تاخیر قابل تنظیم، مصرف ایمیل، جاسازی بلیط، ادغام بلیت، خلبان صندوق ورودی و بازگشت به قابلیت AI.

HubSpotدانلود بازی Pipedrive + Salesforce

AI-first CRM با چهار عامل تخصصی هوش مصنوعی (Steward، SDR، Retention، تحلیلگران)، Trust Dial Autonomous Control، هیئت مدیره خط لوله، پیش بینی، توالی ها، مدیریت چرخه عمر و پیکربندی طبیعی زبان CRM.

. آريفف + سمراش + موز

اطلاعات سایت با خزیدن خودکار، حسابرسی های فنی SEO، تجزیه و تحلیل محتوا، جستجوی AI، ردیابی رتبه SERP، تحقیقات کلمه کلیدی، تجزیه وکار Backlink، شبکه سئو محلی و گزارش های برچسب سفید برنامه ریزی شده است.

Zapier + Make + سفارشی واسطه

وصله SDK با 25+ اتصالات پیش ساخته، سازنده اتصال (بدون کد/با کمک هوش مصنوعی/کد کامل)، OAuth flow, webhook auto-registration, یک فهرست بزرگ از تعریف‌های عمل اتصالات که تنها زمانی اجرا می‌شوند که اتصال مناسب نصب، فعال، پیکربندی و تأیید شده باشد.

Google Business Manager

اتصال کامل GBP: مدیریت بررسی، انتشار پست، Q & A، آپلود عکس، همگام سازی اطلاعات کسب و کار، ردیابی بینش ها و پاسخ های بازنگری هوش مصنوعی، همه از داخل OpsIQ.

ابزارهای قالب ایمیل جداگانه

قالب های ایمیل مبتنی بر رجیستری با ویرایشگر بصری، پیش نمایش زنده، تراشه های متغیر، کنترل طرح جهانی و سفارشی سازی هر یک از ارتباطات خودکار.

داشبورد مدیریت تیم

عملکرد تیم داخلی: زمان حل، کار SLA، CSAT توسط عامل، بازگشایی نرخ ها، شلوغ ترین ساعت ها، ردیابی حضور در زمان واقعی و تجزیه و تحلیل های هر بخش.

GDPR ابزارهای انطباق

بومی بومی DSAR مدیریت، تنظیم داده ها در تمام سیستم ها، مدیریت رضایت، سیاست های حفظ و مسیرهای حسابرسی، ساخته شده به پلت فرم، نه پیچ خورده است.

دو نسخه

استقرار گروگان

OpsIQ اجرا در زیرساخت های مدیریت شده است. عملیات محصول یکسان است؛ زیرساخت ها، به روز رسانی ها و پشتیبان گیری ها توسط اپراتور میزبانی اداره می شوند.این کتاب دستی اسناد را مستند می کند OpsIQ زمان اجرا به جای بازاریابی یا حساب تجاری جریان دارد.

ماژول خود میزبان

نصب OpsIQ بر روی کارساز خودتان برای کنترل کامل بر داده‌ها ، نشان تجاری ، به‌روزرسانی ها و ادغامها. نیازمند PHP است 8.4+, MySQL 5.7 یا MariaDB 10.3+، HTTPS و.OpsIQ پشتیبانی‌های cron یکپارچه. WHMCS يکپارچگي به عنوان ماژول اضافي حاکميت کامل بر داده ها

توصیه شده خواندن سفارش

1
شروع سریع

پیروی از 30 راهنمای تنظیم دقیقه ای برای ردیابی، چت و هوش مصنوعی پایه کار بر روی وب سایت شما.

2
داشبورد و تجزیه و تحلیل

یاد بگیرید که چگونه داده های بازدید کننده خود را بخوانید، دوباره جلسه تنظیم کنید، سرنخ ها را شناسایی کرده و الگوهای ترافیکی را درک کنید.

3
سایت اطلاعات

اولین خزیدن SEO خود را اجرا کنید، سلامت فنی خود را بررسی کنید و ردیابی رتبه SERP برای کلمات کلیدی هدف خود تنظیم کنید.

4
بلیط ها و پشتیبانی

بخش ها را تنظیم کنید، خودکار را با AI پیکربندی کنید، مصرف ایمیل را متصل کنید و هوش مصنوعی خود را برای رسیدگی به سوالات رایج آموزش دهید.

5
وب‌گاه رسمی شرکت CRM

ارتباطات سازمان دهی، ساخت خط لوله خود، پیکربندی عوامل AI، تنظیم سطح اعتماد دی.ک و اجازه دهید هوش مصنوعی معاملات شما را هدایت کند.

6
ابزار های سازنده و

پلت فرم تجارت الکترونیکی /billing خود را متصل کنید، کانکتور های سفارشی ایجاد کنید، وب سایت را تنظیم کنید و از طریق REST ادغام شوید. API.

💡
جدید برای OpsIQ با راهنمای سریع استارت در زیر شروع کنید، می توانید پیگیری و چت هوش مصنوعی پایه را انجام دهید. 30 چند دقیقه
اینجا شروع کنید

شروع سریع در 30 دقیقه

این مراحل را دنبال کنید تا OpsIQ در حال اجرا، هر مرحله بر روی یک گام قبلی ساخته شده است.در نهایت شما پیگیری بازدید کننده، چت AI و پشتیبانی بلیط پایه خواهید داشت.

راه اندازی
چک لیست سریع شروعیک چک لیست تنظیم هدایت شده که نشان دهنده نصب ویجت، اتصال پلت فرم، آموزش AI، دعوت تیم و زندگی می کند، با یک چکه راه اندازی هدایت شده، با ارائه یک افزونه، متصل به سیستم عامل، آموزش هوش مصنوعی، دعوت کننده تیم و زنده ماندن، 60 درصد پیشرفت نوارشروع به کارsetupنصب شده The install OpsIQ ویجتهر کسیاتصال یک پلتفرم (WHMCS, Shopify...)هر کسیآموزش هوش مصنوعی خود را بر روی محتوای شماهر کسیدعوت تیم خودچک کنید و زندگی کنیدراه اندازی پیشرفت3 از 5 · 60%1STEP 1نصب ویجت2STEP 2اتصال و قطار AI3STEP 3دعوت و زندگی
مسیر 30-minute: نصب ویجت، اتصال به یک پلتفرم، آموزش هوش مصنوعی خود را، دعوت از تیم و سپس زنده.

. اون 30 تنظیمات - دقیقه

1
فعال کردن مجوز

کلید مجوز خود را وارد کنید OpsIQ مدیر به تنظیمات بروید، کلید مجوزی را که برای این نصب ارائه شده است وارد کنید و روی Activee کلیک کنید، باید یک نشان سبز “active” را ببینید.

2
تعیین هویت تجاری خود

به Settings بروید و نام تجاری، صنعت، منطقه زمانی، ارز پیش فرض و ساعات پشتیبانی خود را پر کنید.این اطلاعات توسط AI در پاسخ دادن به سوالات مشتری و تجزیه و تحلیل گزارش های آگاه از زمان استفاده می شود.

3
یک ارائه دهنده AI را انتخاب کنید

به AI Configuration بروید و گزینه های ارائه دهنده خود را انتخاب کنید: کلود (Vi)Anthropic GPT-4o (OpenAI), Gemini (Google) یا Grok (xAI) وارد شوید. API کلید در صورتی که از کلید خود استفاده کنید یا اگر بر روی برنامه شما موجود باشد، از AI مدیریت شده استفاده نمایید.

4
نصب ویجت ردیابی

Go to Connected Sites, copy the tracking snippet, and paste it before the closing </body> tag on your website. Visit your site in a private browser, then check the Live Feed in OpsIQ. You should see yourself as a visitor within 15 seconds.

5
اتصال پلت فرم خود

اگر استفاده می کنید Shopify, WooCommerce, WHMCS یا یکی دیگر از پلتفرم های پشتیبانی شده، به کانکتور بروید، پلت فرم خود را پیدا کنید، وارد اعتبار شوید و بر روی Test Connection کلیک کنید.این دسترسی AI را برای سفارش داده ها، پروفایل های مشتری و زمینه پشتیبانی می کند.

6
دعوت تیم خود

به تیم بروید، دعوت کنید، ایمیل و نقش خود را وارد کنید (Owner, Full Admin یا Agent) تنها می توانید به بخش هایی که آنها را به مالک اختصاص داده اید دسترسی داشته باشید و تمام مدیریتی همه چیز را ببینند.

سریع ترین راه ممکن (5 دقیقه)

مرحله گام قدم 1نصب ویجت

کپی کردن قطعه از سایت های متصل و چسباندن آن در وب سایت خود را، این به شما می دهد ردیابی بلافاصله.

مرحله گام قدم 2فعال کردن AI

به AI Configuration بروید، یک ارائه دهنده را انتخاب کنید، کلید خود را وارد کنید و چت AI در حال حاضر در وب سایت شما فعال است.

انجام شده

شما در حال حاضر پیگیری بازدید کننده و چت AI دارید، می توانید بلیط ها، CRM و کانکتورها را بعدا اضافه کنید.

روز روز 2مفید باشد:

اضافه کردن دانش

به پایگاه دانش بروید و اضافه کنید 5-10 مقالات در مورد رایج ترین سوالات شما، AI از این موارد برای پاسخ دقیق به مشتریان استفاده می کند.

ایجاد ادارات

به بلیط ها بروید و حداقل ایجاد کنید 2 بخش ها (به عنوان مثال، "فروش" و "حمایت") اعضای تیم را به هر یک اختصاص می دهند.

دانلود کتاب Your AI Rapid

به آموزش AI بروید و یک پیام هوش مصنوعی مشتری بنویسید که کسب و کار، لحن و قوانین تشدید کننده شما را توصیف می کند.

تست یک مکالمه

وب سایت خود را در یک مرورگر خصوصی باز کنید و با AI به عنوان مشتری صحبت کنید. Check که پاسخ ها دقیق هستند و لحن درست است.

هفته هفته 1ساخت عملیات خود

ایمیل اتصال

یک صندوق پستی (Gmail) تنظیم کنید. IMAP یا یک کانکتور ارائه دهنده) بنابراین ایمیل های مشتری به طور خودکار بلیط ایجاد می کنند.

تنظیم خودکار-reply

امکان بلیط خودکار برای ادارات امن را فراهم کنید. 2تأخیر چند دقیقه ای که انسان ها می توانند اول مداخله کنند.

تحلیل تحلیلی

داشبورد را روزانه چک کنید، به تعداد بازدید کننده، نرخ پرش، صفحات بالا و فروش اگر ردیابی متصل است نگاه کنید.

CRM خود را شروع کنید

Open AI CRM و اجازه دهید OpsIQ وارد کردن تماس از سیستم عامل های متصل خود را.

ماه ماهانه 1بهینه سازی: Optimize

تاریخچه AI

بررسی تاریخچه AI در هفته

اضافه کردن قوانین پیشگیرانه

ایجاد یک قاعده: اگر بازدید کننده در صفحه قیمت گذاری برای 60 چند ثانیه، یک پیام چت را نشان دهید که از آنها می پرسد آیا به کمک نیاز دارند.

ایجاد یک کانکتور

اگر از یک پلتفرم استفاده می کنید که کانکتور داخلی ندارد، از آداپتور Browser Builder برای ایجاد یکی استفاده کنید.

ایجاد وب سایتhooks

اتصال Connect OpsIQ به ابزارهای داخلی خود با استفاده از وب سایت های خارجی برای بلیط، چت و رویدادهای فروش.

آیا می توانم AI را از بین ببرم و فقط از ردیابی استفاده کنم؟+

ارائه دهنده AI اختیاری است. OpsIQ به عنوان یک تجزیه و تحلیل خالص و پلت فرم بلیط بدون AI کار می کند، شما می توانید هوش مصنوعی را بعد از آماده شدن فعال کنید.

آیا می توانم کانکتورها را کنار بگذارم و بعداً آنها را اضافه کنم؟+

بله، کانکتور ها AI را با داده های خاص پلت فرم غنی می کنند، اما OpsIQ بدون آنها کار می کند.با ردیابی و چت شروع کنید، سپس سیستم عامل ها را در صورت نیاز به هم متصل کنید.

اگر هنوز وب سایتی نداشته باشم چه؟+

شما هنوز هم می توانید استفاده کنید OpsIQ برای بلیط ها، CRM و همکاری تیم، ویجت ردیابی اختیاری است. اضافه کردن آن زمانی که وب سایت شما آماده است.

چگونه می دانم که آیا ویجت به درستی نصب شده است؟+

بازدید از وب سایت خود را در یک مرورگر خصوصی / به رسمیت شناختنito، سپس بررسی کنید. OpsIQ تغذیه زنده: شما باید بازدید خود را در داخل ببینید 15 اگر نه، بررسی کنید:1· قطعه ای است که به درستی از آن استفاده می شود.2کلید سایت صحیح است ()3• مسدود کننده های تبلیغاتی یا هدرهای CSP هستند که اسکریپت را مسدود می کنند.

اینجا شروع کنید

نقشه محصول کامل

OpsIQ این یک ویژگی نیست.این یک مدیر اپراتور، یک ویجت وب سایت، لایه پشتیبانی AI، یک سیستم بلیط / کمک، CRM کامل با چهار عامل هوش مصنوعی، یک مجموعه اطلاعات سایت، یک پلت فرم اتصال با بازار و سطح توسعه دهنده است.

مدیر عامل

داشبورد، خوراک زنده، ثبت نام بازدید کننده، جلسات، replay جلسه، صفحات بالا، هوش زمین، قصد قیف، ورود حوادث، آزمایش A / B، ردیابی خطا JS، فروش و تبدیل، منجر به CRM AI (مرکز فرمان، تماس ها، شرکت ها، معاملات، خط لوله، پیش بینی، چشم انداز، توالی، پیگیری های چرخه عمر، مدیریت داده ها، CRM، CRM من، سلامت، CRM ، CRM، سلامت پیکربندی، CRM. API 4)، بلیط ها، جعبه چت، قوانین فعال، نظرسنجی های CSAT، پیش نویس ایمیل، صندوق پستی، پیکربندی AI، آموزش هوش مصنوعی، بینش AI، پایگاه دانش، کانکتورها، آداپتورهای متصل، سایت های متصل، مدیریت تیم، عملکرد تیم، تنظیمات، تشخیص و مجوز.

سطح مشتری-محور

ویجت ردیابی وب سایت (analytics beacon + چت + بلیط جاسازی + جستجوی پایگاه دانش)، چت AI مشتری، پورتال ارسال بلیت، مدیریت توکن های هویت بازدید کننده، آپلود فایل، ویجت نظرسنجی CSAT و مرکز کمک به مشتری.

CRM مبتنی بر AI

مرکز فرماندهی، تماس ها، شرکت ها، معاملات، هیئت مدیره با کشیدن و رها کردن، AI انعقاد معامله (نشانه های خطر، بهترین عملکرد بعدی، احتمال برنده)، پیش بینی درآمد، عامل چشم انداز (SDR)، توالی های پیگیری خودکار، چرخه عمر و مدیریت حفظ، عامل نظارت داده (دup، غنی، اعتبار)، ساخت CRM من (تنظیم زبان طبیعی)، پیکربندی CRM، اعتماد به نفس، و مدیر عامل خودکار. API با webhooks

مجموعه اطلاعات سایت

سایت خودکار خزیدن، حسابرسی فنی SEO (سرعت، تلفن همراه، Core Web Vitals، SSL,ریدایرکت ها ، داده های ساختاری)، ممیزی محتوا (شماره کلمه کلیدی، چگالی کلمات کلیدی، ساختار عنوان)، جستجوی معنایی هوش مصنوعی، ردیابی رتبه SERP در سراسر موتورهای، تحقیقات کلمه کلیدی با امتیاز فرصت، تجزیه و تحلیل backlink و نظارت، تجسم شبکه محلی SEO، همگام سازی پروفایل Google Business Analytics (reviews، Q & A، عکس، بینش)، گزارش های برنامه ریزی شده (daily /week) و سفید ماهانه، و سفید. PDF خروجی برای آژانس ها

هوش مصنوعی و اتوماسیون

چت AI مشتری (Multi-Prover: کلود، GPT-4o، Gemini, Grok ، دستیار هوش مصنوعی، پایه گذاری دانش AI، خودکار با بازگشت قابل تنظیم، پیکربندی هوش مصنوعی هر فضای کار، مدیریت هوش مصنوعی و AI BYOK حالت ها، بودجه های توکن و کنترل هزینه، مسیر حسابرسی تاریخ AI، تجزیه و تحلیل بینش هوش مصنوعی، بلیط AI سه گانه، بلیط خودکار با تاخیر، نوشتن AI (شپارات فوری)، و دستیار ارشد صندوق پستی.

کانکتورها و ادغام ها

25+ کانکتورهای پیش ساخته شده (Shopify, WooCommerce BigCommerce، Magento2PrestaShop، Opencart، osCommerce WordPress, WHMCS Zendesk، Stripe، Amazon SES، Postmark، Resend، SendGrid، Mailgun، Gmail، Gmail IMAP Slack، Google Business Profile)، Connector Builder (no-code/AI با کمک / کد کامل) OAuth جریان با PKCE، بازار اتصال با توزیع پرداخت شده، امضای کانکتور و تأیید، Smartlookup fuzzy تطبیق، کاتالوگ بزرگ از تعاریف HTTP عمل که در دسترس بودن آن بستگی به نصب کانکتور، پیکربندی و اعتبار، همگام سازی دانش و دستور العمل های گردش کار دارد.

توسعه دهنده Platform

RESTAPI(بازدید کنندگان، رویدادها، بلیط ها، تماس ها، تنظیمات، کانکتورها)، OpenAPI کایل،API مدیریت کلید، وب سایت های خارجی (یکsync، امضا شده، دوباره مورد بازجویی، SSRF-guarded، auto-disable)، رویدادهاAPI برای مصرف رویداد سفارشی، ویجت SDKبا وضوح هویت، کتاب آشپزی، قراردادهای عمل، کانکتور SDKبسته بندی بازار، SDK های سمت سرور (PHP، Node.js)، WordPress پلاگین، و WHMCS ماژول

تنظیمات و عملیات

هویت کسب و کار، پیکربندی AI در هر فضای کاری، ردیابی تنظیمات، امنیت (HSTS، مجوز-Policy، IP مسدود کردن، حفاظت از brute-force)، RBAC (Owner / Full Admin/Agent)، مدیریت تیم و دعوت ها، داشبورد عملکرد تیم، ردیابی حضور مدیران، سیستم قالب ایمیل (به طور منظم، ویرایشگر بصری، تراشه های متغیر)، طراح نظرسنجی، دانش دامنه، پیکربندی بلیط، نام گذاری، سیاست حفظ داده ها، مدیریت چرخه حساب (ماه)، از طریق اتوماسیون عادی، واردات و ارزهای تشخیصی.

امنیت و انطباق

Enterprise Enterprise SSO (OIDC با تأیید JWKS، ارائه JIT) SAML پیکربندی، GDPR/DSAR مدیریت (Export and Remove در تمام سیستم ها)، تخصیص داده ها در هر تماس، مدیریت رضایت، انزوای فضای کاری (strict Que-layer scoping)، مسیرهای حسابرسی، ردیابی ورود ناموفق، ردیابی ثبت نام، IP مسدود کردن، حفاظت از وب سایت های خارجی ShookRF و سیاست های حفظ اطلاعات.

ارائه دهنده پل

مدیریت هوش مصنوعی از طریق OpsIQ ارائه دهنده URL ارائه دهنده اطلاعات سایت تماس، اعتبار مجوز، گزارش های بهداشتی، PDF ارائه، و صادرات داده ها، همه از طریق نقطه پایانی ارائه دهنده پیکربندی شده، نه مستقیم فروشنده API تماس از سرور شما

هر صفحه admin

داشبورد

هسته

مرکز فرماندهی روزانه: ترافیک کلی، شمارش بازدید کننده زنده، خلاصه فروش، پشتیبانی از عمق صف، هشدار فعالیت AI و میانبرهای سریع عمل.

تغذیه زنده Live Feed

تحلیل‌ها

جریان بازدید کننده در زمان واقعی: بازدید کنندگان صفحه، چت شروع می شود، ارسال فرم و سیگنال های قصد به روز رسانی هر چند ثانیه با کشور، دستگاه و فیلترهای ارجاع.

بازدید کننده log

تحلیل‌ها

سوابق بازدید کامل: دستگاه، مرورگر، سیستم عامل، کشور، مرجع، پارام های UTM، صفحه فرود، هویت و تاریخ کامل صفحه نمایش.

جلسات

تحلیل‌ها

نمای گروهی: جریان صفحه، زمان در صفحه، عمق اسکرول، مسیر تبدیل و صفحه خروج برای هر جلسه بازدید کننده.

بازپخش جلسه

تحلیل‌ها

پخش زمان از حوادث اسیر شده: حرکت موش، کلیک ها، اسکرول ها، انتقال صفحه و ایجاد تعاملات برای تشخیص UX.

صفحات برتر

تحلیل‌ها

رتبه بندی عملکرد صفحه: بازدید، زمان تعامل، نرخ پرش، تبدیل، تعاملات پشتیبانی و جهت روند.

هوش زمین

تحلیل‌ها

گزارش های جغرافیایی: تجزیه و تحلیل کشور / شهر با نقشه ها، توزیع دستگاه، اشتراک مرورگر، منابع ترافیک و نفوذ بازار.

Intent قیف

تحلیل‌ها

ردیابی هدف رفتاری: بازدید از قیمت گذاری، فرکانس بازگشت، مرور doc، تعاملات پشتیبانی و سیگنال های سفارشی با احتمال تبدیل.

حوادث

تحلیل‌ها

تاریخچه رویداد قابل جستجو: بازدید صفحه، رویدادهای سفارشی، چت ها، خریدها، ارسال فرم با متاداده کامل و فیلتر.

آزمایش A/B

تحلیل‌ها

تست تقسیم: ایجاد انواع، تخصیص ترافیک، تعریف اهداف، اندازه گیری اهمیت و اعلام برنده ها، همه از داخل OpsIQ.

خطای JS

تحلیل‌ها

ضبط خطای Frontend: پیام ها، ردهای پشته، مرورگرهای آسیب دیده، فرکانس، صفحات آسیب دیده و ردیابی روند.

فروش

فروش

داشبورد درآمد: سفارشات، تجدید، بازپرداخت، که توسط منبع، عملکرد کمپین، مقایسه دوره و تجزیه و تحلیل روند مشخص شده است.

رهبری

فروش

مدیریت سرب: امتیاز، تخصیص منبع، وضعیت CRM، جزئیات تماس، سیگنال های رفتاری و مسیریابی خط لوله.

CRM

وب‌گاه رسمی شرکت CRM

Full CRM: مرکز فرماندهی، تماس ها، شرکت ها، معاملات، هیئت مدیره خط لوله، مربیگری، پیش بینی، چشم انداز، توالی، چرخه عمر، نظارت داده و سلامت.

بلیط

پشتیبانی

پشتیبانی از صندوق پستی: بخش ها، اولویت ها، ردیابی SLA، سه گانه AI، یادداشت های داخلی خودکار، پیوست فایل، ادغام و مدیریت وضعیت.

چت درbox

پشتیبانی

مکالمات زنده: AI و چت انسان، دستکاری، همکاری، تاریخ گفتگو، هویت مشتری و مجموعه CSAT.

پیش‌نویس‌های ایمیل

پشتیبانی

مدیریت ایمیل: پست الکترونیکی ورودی به بلیط، ترکیب پاسخ با کمک AI، انتخاب قالب و پیکربندی صندوق پستی.

پیکربندی AI

آآ

تنظیمات ارائه دهنده: انتخاب کلود / GPT-4o Gemini/ Grok، وارد شوید API کلید یا قادر به مدیریت AI، تنظیم مدل، دما و بودجه توکن در هر فضای کاری.

آموزش AI

آآ

نویسنده سریع: مشتریان و مدیران، قوانین تشدید شده، دستورالعمل های لحن، موضوعات ممنوعه و تنظیمات مرزی.

تاریخ AI

آآ

حسابرسی مکالمه: تمام درخواست / پاسخ، استفاده از توکن، هزینه در هر گفتگو، ارائه دهنده، نسخه مدل و نتیجه حل.

هوش مصنوعی بینش

آآ

تجزیه و تحلیل الگو: سوالات رایج، نرخ های وضوح، فرکانس دست، رضایت از موضوع و شناسایی شکاف آموزش.

پایه دانش

آآ

محتوای آموزش هوش مصنوعی: مقالات، ورودی های پرسشی، docs محصول، دانش اتصال و ورودی های سفارشی. Semantic و جستجوی کلمه کلیدی برای زمینه سازی AI

اتصال‌دهنده‌ها (Connectors)

یکپارچه‌سازی‌ها

ادغام ها: کانکتور های نصب شده، وضعیت سلامت، موجودی عمل، مدیریت اعتبار، مرورگر بازار و Browser Builder.

سایت های متصل

تنظیمات Settings

مدیریت سایت: ردیابی اسنیپت، کلید سایت، پیکربندی ویجت، تنظیمات دامنه و انزوای فضای کاری در هر محل.

تیم تیمی

تنظیمات Settings

مدیریت کاربر: دعوت اعضای، اختصاص دادن نقش (Owner / Full Admin/Agent)، تنظیم دسترسی به بخش و مدیریت مجوز.

عملکرد تیم

تنظیمات Settings

معیارهای عملیاتی: زمان حل، کار، انطباق SLA، CSAT توسط عامل، بازگشایی نرخ ها، شلوغ ترین ساعت ها و تجزیه و تحلیل روند.

تنظیمات Settings

تنظیمات Settings

پیکربندی: هویت کسب و کار، تنظیم AI، ردیابی، امنیت، برندسازی، حفظ، قالب های ایمیل، صورتحساب، واردات / صادرات، تشخیص ها و منطقه خطر.

مجوز

تنظیمات Settings

مدیریت برنامه: وضعیت مجوز، ویژگی های طرح، معیارهای استفاده، تاریخ تجدید و ارتقاء / گزینه های درجه بندی.

اینجا شروع کنید

راهنمای هدایت

سفر در حال پرواز یک نصب جدید را به یک کار تبدیل می کند. OpsIQ فضای کاری و می تواند بدون از دست دادن پیشرفت، رها شده و از سر گرفته شود.

صفحه نمایش محصول
وارد کردنOnboarding نشان می دهد که هر منطقه تنظیمات، حالت فعلی و اقدام بعدی برای تکمیل.وارد کردنفضای کاریPROGRESS60%COMPLETED6بعدی Next postابزارکدانلود بازی LiveSPACEمجوزاعتبار مجوز محصولانجام شدهAI ارائه دهندهگزینه Provider and Test keyانجام شدهبرند Brandهویت کسب و کار و لحنانجام شدهوب سایت WebsiteAdd site and installبعدی1COMPLETE BASICSمجوز، نام تجاری، AI2CONNECT DATAسایت و کانکتور3VERIFY LAUNCHتیم، ایمیل، چک
Onboarding نشان می دهد که هر منطقه تنظیمات، حالت فعلی و اقدام بعدی برای تکمیل.

توصیه شده

  1. مجوز: مجوز را تأیید کنید و فضای کاری را تایید کنید.
  2. ارائه دهنده AI: ارائه دهنده / مدل را انتخاب کنید، مدارک را وارد کرده و آزمون اتصال را اجرا کنید. AI می تواند از بین برود اگر فضای کاری در ابتدا فقط از تجزیه و تحلیل ها و بلیط استفاده کند.
  3. هویت تجاری: نام، صنعت، شرح، لحن مشتری و جزئیات برند مورد استفاده توسط ویجت و AI را تنظیم کنید.
  4. ویژگی های: حداقل یک پلت فرم خارجی را فعال کنید OpsIQ نیاز به سفارش، مشتریان، بلیط ها، ایمیل یا دیگر زمینه پلت فرم.
  5. سایت و ویجت: ایجاد سایت / فضای کاری، کپی کلید سایت و بررسی بازدید خصوصی-browser در Live Feed.
  6. تیم و مسیریابی: مدیران / عوامل دعوت، ایجاد بخش ها، تنظیم مسیریابی ایمیل و تأیید ترجیحات اطلاع رسانی.
  7. چک های زنده: چت تست، یک بلیط، همگام سازی اتصال، cron، ایمیل های ورودی، وب سایتhooks و هدرهای امنیتی.

تکمیل سفر در هر فضای کاری.بازگشت به Onboarding باید گام های کامل را نشان دهد تا اینکه یک راه اندازی مجدد انجام شود.

اینجا شروع کنید

ناوبری و مجوز های مدیریتی

. اون OpsIQ نوار جانبی مجوز- آگاه است. این نقشه توضیح می‌دهد که هر منطقه عملیاتی کجا زندگی می‌کند و چرا یک صفحه ممکن است برای تمام مدیران قابل مشاهده نباشد.

صفحه نمایش محصول
OpsIQ ناوبریگروه های کناری OpsIQ از طریق محل کار، لینک های فردی تنها زمانی ظاهر می شوند که نقش فعلی می تواند از آنها استفاده کند.OpsIQ ناوبریفضای کاریGROUPS8صفحاتمجوزSEARCHدر دسترسدانلود بازی LiveSPACEپشتیبانیبلیط، ایمیل، CSAT، دانشباز Openوب‌گاه رسمی شرکت CRMتماس ها، خط لوله، معاملات، چشم اندازباز Openخودکارسازیگردش کار، قوانین، اهدافباز Openامنیت و حریم خصوصیبررسی، حسابرسی، رضایت، بلوک هامدیر1PICK A GROUPبازی کنار the sidebar2CHECK ROLEابزار پنهان محدود3USE PAGE HELPبخش تطبیق پذیری را باز کنید
گروه های کناری OpsIQ از طریق محل کار، لینک های فردی تنها زمانی ظاهر می شوند که نقش فعلی می تواند از آنها استفاده کند.
پشتیبانی

بلیط، پلت فرم ایمیل تیم، CSAT، مرکز کمک و chatbot جریان می یابد.

وب‌گاه رسمی شرکت CRM

سطوح فروش روزانه: CRM Home، مرکز فرماندهی، تماس ها، خط لوله، پیش بینی، چرخه عمر، چشم انداز، بخش های مدیر، تایید قرارداد، نظارت داده، ابزار رشد و جریان فعالیت.

خودکارسازی

جریان های کاری مبتنی بر رویداد، قوانین چرخه عمر و اهداف تبدیل.

بازاریابی

Outating، پیام های فعال، اعلان ها، استودیوی ارتقاء، Survey Studio، کمپین ها و تورهای هدایت شده را فشار دهید.

تحلیل‌ها

گزارش اول - Analytics Hub، بینش AI، فروش، مشتریان، سرنخ ها، قیف ها، تست های A / B، تکرار جلسه، داشبورد سفارشی و گزارش های برنامه ریزی شده - با بازدید کننده خام، جلسه، صفحه، جغرافیا و log رویداد در بخش داده خام.

صفحه های مستقل

اطلاعات سایت، عملکرد تیم و بازخورد در خارج از گروه ها به عنوان ورودی مستقیم نشسته است.

یکپارچه‌سازی‌ها

اتصالات، اقدامات و محرک ها، صندوق های پستی، پیش نویس ها، تنظیمات ایمیل، نقاط پایانی ورودی، وب سایت های خارجی و فریب ها و ماشه ها، پست های پستی ، پیش نویسها، تنظیمات ایمیلی، مکان های ورودیAPIکلیدها

امنیت و حریم خصوصی

خلاصه امنیت، حریم خصوصی و انطباق، رضایت کوکی، فعالیت حسابرسی، ورود شکست خورده، مسدود شدهIPsوJavaScriptخطا

تنظیمات Settings

اصول محیط کار (عمو، تیم، سایت ها، زبان)، سپس زیربخش های احتمالی: مغز AI (دستورالعمل ها، پیکربندی، ارزیابی، تاریخ)، راه اندازی CRM (ساخت کننده، زمینه های سفارشی، امتیاز سرب، سلامت)، داده و بهداشت (متفاوتها، صادرات) و شروع به کار (برخل، کمک).

صفحاتی که نمی توانند باز شوند از نوار کنار پنهان هستند.صفحه هایی که طرح فعلی شامل آن نیست با یک صفحه قابل مشاهده باشند ارتقاء ارتقاء برچسب و باز کردن یک صفحه نمایش ارتقاء در برنامه.

مسیرهای مستقیم هنوز هم در سمت سرور بررسی می شوند و Hiding a sidebar مرز امنیتی نیست: هر اقدام محافظت شده باید مجوز و چک های فضای کاری خود را منتقل کند.

تحلیل‌ها

تحلیل ها Hub

مرکز Analytics پشتیبانی، چت، AI، بازدید کننده و نماینده گزارش شده در یک فضای کاری فیلتر شده با نتایج قابل صادرات را به ارمغان می آورد.

صفحه نمایش محصول
تحلیل ها HubAnalytics Hub یک محدوده تاریخ، کارت های متریک و زبانه برای پشتیبانی، چت، AI، بازدید کننده و عملکرد Agent را نشان می دهد.تحلیل ها Hubفضای کاریبلیط184AI RESOLVE63%CSAT4.7دانلود بازی LiveSPACEپشتیبانیساخته شده، بسته، در انتظارSLAتبگپ زدننتایج هوش مصنوعی / انسانی و مدیریت زمانتبآآاعتماد، بازخورد، استفاده از توکنتبنمایندهحجم، سرعت و رضایتتب1CHOOSE DATESپیش بینی یا سفارشی2CHANGE TABپشتیبانی از Agent3EXPORTدانلود بازی Download CSV
Analytics Hub یک محدوده تاریخ، کارت های متریک و زبانه برای پشتیبانی، چت، AI، بازدید کننده و عملکرد Agent را نشان می دهد.

فیلترها و کنترل ها

  • استفاده از یک پیش تعیین شده یا سفارشی از/to سپس برای بازسازی هر کارت و نمودار برای همان دوره، تجدید نظر کنید.
  • صادرات صادرات CSV دیدگاه تحلیلی فعال را به جای یک تصویر منتشر کنید.
  • کار فضایی خودکار است؛ تغییر سایت ها مجموعه داده های زیر را تغییر می دهد.

هر برگه چه اندازه گیری می کند

  • پشتیبانی: بلیط های ایجاد شده / بسته بندی، پاسخ اول، رزولوشن، حل و فصل تماس اول، SLA و اولویت / تقسیم موقعیت.
  • چت: جلسات آغاز شد، قطعنامه های AI، تشدید، رها کردن، رسیدگی به زمان، پیام در هر جلسه و هوش مصنوعی / انسان / همه CSAT.
  • AI: اعتماد به نفس متوسط، نرخ اعتماد پایین، دقت سه گانه، بازخورد، انحراف دانش، استفاده از توکن / درد و موارد که نیاز به بررسی دارند.
  • بازدید کننده: ترافیک و روند تعامل برای دوره انتخاب شده
  • نماینده: هر عامل، سرعت، بستن و اقدامات رضایت.

از Analytics Hub برای بررسی تیم های متقابل استفاده کنید؛ از بازدیدکنندگان اختصاصی، بلیط ها، CSAT، تاریخ AI و صفحات عملکرد تیمی زمانی که نیاز به تحقیقات سطح رکورد دارید، استفاده کنید.

تحلیل‌ها

داشبورد

داشبورد مرکز فرماندهی روزانه شماست، ترافیک، فروش، بار پشتیبانی، فعالیت AI و شاخص های تبدیل را در یک نظر نشان می دهد.هر روز صبح آن را باز کنید تا بفهمید چه اتفاقی افتاده است و امروز به چه چیزی نیاز دارد.

داشبورد
بررسی اجمالی داشبوردصفحه نمایش بررسی شده توسط یک OpsIQ پانل هوش مصنوعی (با هشدار های روزانه، هوشمند، پیش بینی)، کاشی های ویجت KPI و یک ویجت ترافیک هفت روزه، به علاوه کنترل طرح مجدد.بررسی اجمالیفضای کاریOPSIQ بی تردیدیک تجزیه و تحلیل را انتخاب کنید OpsIQ می نویسد.روزانه کوتاههشدار های هوشمندپیش بینی پیش بینیطرح مجددامروز2,481+12%درآمد$8 2k+5%باز کردن TICKETS143 SLAترافیک · آخرین 7 روزهای روز1AI-FIRSTOpsIQ پنل اطلاعاتی2WIDGETSکاشی های KPI که شما ترتیب می دهید3خودتانطرح مجدد در هر زمان
صفحه نمایش واقعی: OpsIQ پانل اطلاعات بالا (یک تجزیه و تحلیل را انتخاب کنید و آن را می نویسد) بالاتر از ویجت های KPI که شما خودتان را ترتیب می دهید.

کارت های داشبورد توضیح داده شده

بازدید کنندگان زنده

تعداد افرادی که در وب سایت شما حضور دارند، همین حالا به روز می شود. 15 ثانیه (قابل پیکربندی) بازدید کننده "فعال" است اگر آنها یک صفحه را در آستانه فعال بارگذاری کنند (تقاض: 90 چند ثانیه)

بازدید کنندگان منحصر به فرد

چند نفر مختلف در محدوده تاریخ انتخاب شده از وب سایت شما بازدید کردند. OpsIQ بازدیدکنندگان را با ترکیبی از اثر انگشت مرورگر، کوکی ها و (در صورت موجود) هویت معتبر شناسایی کنید.

بازگشت به عقب

بازدید کنندگان جدید برای اولین بار سایت شما را می بینند. بازدید کنندگان بازگشت قبل از آن دیده شده اند، نسبت بازگشت بالا به این معنی است که محتوای شما مردم را به عقب برگردانده است.یک نسبت بسیار پایین بازگشت ممکن است به این معنا باشد که علاقه خود را حفظ نمی کنید.

نرخ bounce rate

درصد بازدید کنندگان که پس از مشاهده تنها یک صفحه باقی مانده اند، نرخ پرش بالاتر است. 70% در صفحات فرود معمولا به این معنی است که صفحه انتظارات بازدید کننده، محتوای اشتباه، بارگذاری آهسته یا تجربه تلفن همراه ضعیف را برآورده نمی کند.

متوسط زمان در صفحه

چه مدت بازدید کنندگان در هر صفحه به طور متوسط زمان بسیار کوتاه (در کمتر از حد) می گذرانند. 10 ثانیه) در صفحات محتوا نشان می دهد که محتوای آن جذاب نیست، زمان های بسیار طولانی در صفحات پرداخت ممکن است سردرگمی را نشان دهند.

تهدیدات مسدود شده

IPآدرس هایی که OpsIQ شناسایی شده به عنوان بالقوه مخرب بر اساس امتیاز تهدید، تلاش های brute force یا بلوک های دستی. Click برای دیدن مسدود شده IPs لیست

فروش امروز / این هفته / این ماه

درآمد از منابع فروش متصل (Shopify, WooCommerce, Stripe و غیره) اگر فروش صفر باشد ، بررسی کنید که کانکتور پلت فرم شما متصل و همگام سازی است.

نمودار روند

یک نمودار خط که بازدید کننده را در محدوده تاریخ انتخاب شده نشان می دهد، به دنبال الگوهایی باشید: موج های ترافیکی (campaigns، Press points)، دیپز (هفته ها، تعطیلات) و روند پایدار.

منابع برتر

جایی که بازدید کنندگان شما از آن می آیند: مستقیم، گوگل، رسانه های اجتماعی، کمپین های ایمیل، سایت های ارجاعی استفاده کنید تا بدانید کانال های بازاریابی در حال کار هستند.

مرورگرهای برتر

Chrome، Safari، فایرفاکس، Edge و دیگران اگر یک مرورگر به طور غیر معمول نرخ پرش بالا داشته باشد، ممکن است شما دارای یک نرخ bounce بسیار بالا باشید. CSS یا JavaScript موضوع سازگاری

نقشه گرمایی ساعتی

شبکه ای که فعالیت بازدید کننده را ساعت ها و روز هفته نشان می دهد، از این کار برای تصمیم گیری در مورد زمان برنامه ریزی تغییرات پشتیبانی، هنگام ارسال اعلان ها و زمانی که برای اجرای تبلیغات استفاده کنید، استفاده می کند.

بازدید کنندگان اخیر

آخرین تعداد بازدید کنندگان با کشور، صفحه، دستگاه و منبع. برای چک های سریع در طول کمپین ها مفید است.

استفاده از فیلتر محدوده تاریخ

بر روی گزینه های تاریخ در سمت راست بالای داشبورد کلیک کنید: امروز، دیروز، آخرین 7 آخرین روزها، 30 روزها، این ماه، ماه گذشته، محدوده سفارشی.تمام کارت های داشبورد و به روز رسانی نمودار زمانی که دامنه را تغییر می دهید، محدوده تاریخ در منطقه زمان پیکربندی شده شما (تنظیم شده در تنظیمات) است.

مثال های کار

نرخ bounce Rate

سناریو:
نرخ پرش شما از 45% برای 78% این هفته چه اتفاقی افتاد؟
چه کاری باید انجام دهید:

بررسی:1• آیا یک تغییر صفحه فرود خاص انجام شد؟ به صفحات بالا بروید و با نرخ پرش مرتب کنید.2آیا کمپینی ترافیک را به صفحه اشتباه ارسال کرد؟ منابع برتر را برای ارجاعات جدید بررسی کنید.3• آیا سایت در تلفن همراه شکسته شده است؟ تجزیه مرورگر را برای نرخ پرش موبایل بررسی کنید.4آیا ترافیک ربات است؟ بررسی تهدیدات و جزئیات بازدید کننده برای الگوهای مشکوک.

بازدید کنندگان صفر در داشبورد

سناریو:
داشبورد نشان می دهد 0 بازدید کنندگان زنده حتی اگر وب سایت شما در حال گرفتن ترافیک است.
چه کاری باید انجام دهید:

بررسی:1آیا ویجت ردیابی نصب شده است؟ کد منبع وب سایت خود را مشاهده کنید و جستجو برای OpsIQ ( اسکریپت)2آیا سایت کلیدی است؟ مقایسه کلید داده در اسکریپت با کلید در سایت های متصل.3آیا یک CDN یا کش است که بدون اسکریپت یک صفحه را سرو می کند؟ (حافظه ی CDN خود را روشن کنید).4آیا یک مسدود کننده آگهی یا هدر CSP است که اسکریپت را مسدود می کند؟ کنسول مرورگر را برای درخواست های مسدود شده بررسی کنید.

خواندن نقشه گرمایی ساعتی

سناریو:
نقشه گرمایی شما فعالیت های سنگین بین ساعت 10 صبح-2 بعد از ظهر را در روزهای هفته نشان می دهد اما هیچ چیز در آخر هفته ها وجود ندارد.
چه کاری باید انجام دهید:

این یک الگوی ترافیک B2B است که بازدید کنندگان شما در ساعات کاری مشغول به کار هستند.1• کارکنان پشتیبانی برای ساعات کاری روزانه2ارسال کمپین های ایمیل روز سه شنبه صبح3پنجره های تعمیر و نگهداری آخر هفته امن هستند.4پیشنهاد چت زنده را فقط در طول ساعات اوج در نظر بگیرید.

ترافیک از منبع ناشناخته

سناریو:
شما شاهد یک موج ناگهانی از 500 بازدید کنندگان در یک ساعت از یک مرجع ناشناخته
چه کاری باید انجام دهید:

به بازدید کنندگان و فیلترها از طریق پنجره زمانی بروید.1آیا آنها بازدید کنندگان واقعی یا بات هستند؟ به مدت زمان جلسه، صفحات مشاهده شده و تنوع مرورگر نگاه کنید.2اگر واقعی است، چه صفحه ای را فرود می آورند؟ ()3بررسی مرجع URL کسی ممکن است با شما از Reddit، Hacker News یا یک وبلاگ محبوب ارتباط داشته باشد.4اگر ترافیک ربات است، تهدیدات را بررسی کنید و مسدود کردن آن را در نظر بگیرید. IP دامنه

چرا بازدید کنندگان من با هم اختلاف دارند؟ Google Analytics?+

OpsIQ بازدید کنندگان را به طور متفاوتی شمارش می کند.از اثر انگشت مرورگر و کوکی ها استفاده می کند، در حالی که GA از یک مدل کوکی مختلف استفاده می کنند. فیلترینگ بوت، نرخ مسدود کننده تبلیغات و سفارش بارگیری اسکریپت نیز می تواند تفاوت ایجاد کند. 10-20% تفاوت ها طبیعی است.

آیا می توانم داشبورد را در یک ابزار دیگر جاسازی کنم؟+

داشبورد برای طراحی شده است OpsIQ برای گزارش خارجی، از REST استفاده کنید API برای کشیدن داده های تجزیه و تحلیل و نمایش آن در داشبورد یا ابزار BI خود.

مبارزه با «تهدیدها» به چه معناست؟+

شمارش می کند IP آدرس هایی که OpsIQ پرچم یا مسدود شده بر اساس امتیاز تهدید، ورود مکرر شکست خورده و یا بلوک های دستی کلیک کنید.

تحلیل‌ها

بازدید کننده log

بازدید کننده Log نشان می دهد که هر بازدید از وب سایت های ردیابی شده شما، یک بار صفحه از یک بازدید کننده است.استفاده از آن برای بررسی رفتار بازدید کنندگان فردی، پیدا کردن ترافیک کمپین و تشخیص مسائل پیگیری.

بازدید کننده log
بازدید کننده logیک میز بازدید کننده با نوار فیلتر (تاریخ، جستجو IP ایمیل / شهر، منبع، دستگاه و ستون برای IP ایمیل، محل، منبع، دستگاه و زمان با یک ردیف تهدید پرچم دار.بازدید کننده logyoursite.com7 روزهای روزجستجو Search IP ایمیل، شهر ...Source ▾دستگاه ▾IP/ EMAILجشنمنبعتوسعهوقتی[email protected]آمریکا · نیویورکgoogleرومیزیدو41.62.10.4انگلستان · لندنdirectموبایل Mobileشش[email protected]برلیناستفاده از:adsموبایل Mobile14 متر203.0.113.9NG | Lagosreferralرومیزیthreat1–25 از 3,402جلسه →1FILTERتاریخ · جستجو · منبع · دستگاه2REAL COLUMNSIP ایمیل · تهدید3DRILL INباز کردن جلسه کامل
ورودی بازدید کننده واقعی: فیلتر تا تاریخ، جستجو و دستگاه، سپس هر بازدید را با خواندن همه بازدیدها. IP ایمیل، محل، منبع، دستگاه و زمان، تهدیدات در قرمز قرار گرفته است.

آنچه هر ردیف نشان می دهد

IP آدرس Address

بازدید کننده IP آدرس: انحلال اگر IP ناشناس بودن در تنظیمات فعال می شود. Click برای دیدن همه بازدید ها از این IP.

کشور و شهر

آشنایی با The Detected ازIP آدرس با استفاده از داده های GeoIP نیاز به پایگاه داده MaxMind GeoLite2 یا Cloudflare هدرهای جغرافیایی: اگر GeoIP پیکربندی نشده باشد، “Unشناخته شده” را نشان می دهد.

صفحه صفحه URL

صفحه ای که بازدید کننده بارگذاری کرد، کلیک کنید تا کل را ببینید URLطولانی URLs در نمای جدول خلاصه شده است.

ارجاع دهنده

جایی که بازدید کننده قبل از فرود در سایت شما آمده است، “Direct” به معنی هیچ ارجاع دهنده (کتابچه ها، نشانه های تایپ شده) نیست. URLs برخی از لینک های برنامه

دستگاه و مرورگر

نوع دستگاه بازدید کننده (desktop، تلفن همراه، تبلت) و مرورگر (Chrome، Safari، فایرفاکس و غیره) از هدر کاربر-Agent جدا شده است.

تاریخ و زمان

هنگامی که صفحه بارگذاری شد، در منطقه زمانی پیکربندی شده شما.

هویت مشتری

اگر بازدید کننده شناسایی شده باشد (از طریق توکن هویت یا ورود)، نام و ایمیل آنها به نظر می رسد.در غیر این صورت ناشناس است.

فیلترها

محدوده تاریخ

بازدید فیلتر از یک دوره زمانی خاص 7 روزها

جستجو Search

جستجو توسط IP آدرس، صفحه URL ارجاع دهنده، کشور یا ایمیل مشتری

منبع

فیلتر منبع ترافیک: مستقیم، ارگانیک، اجتماعی، ارجاعی، پرداخت شده و ایمیل.

دستگاه های دستگاه

فیلتر از Desktop، Mobile یا Tablet

تازه

فقط بازدید کنندگان را که قبلاً هرگز دیده نشده اند، نشان دهید.

مثال های کار

بازدید کنندگان را از یک کمپین خاص پیدا کنید

سناریو:
شما یک کمپین تبلیغاتی Google را با استفاده از پارامتر UTM +source=google&utm_medium =cpc &utm-campaign=summer-sale راه اندازی کردید، چگونه این بازدید کنندگان را پیدا کنید؟
چه کاری باید انجام دهید:

در Log بازدید کننده، از زمینه جستجو و نوع "فروش تابستان" استفاده کنید.URLs صفحه و URLs بنابراین پارامترهای UTM مطابقت خواهد داشت، شما همچنین می توانید با منبع فیلتر کنید = پرداخت شده برای محدود کردن بیشتر.

مشتری پیدا کنید که یک مشکل را گزارش کرده است

سناریو:
یک مشتری ایمیل گفت: «صفحه پرداخت شما دیروز حدود ساعت 3 بعد شکسته شد؟» چگونه جلسه خود را پیدا می کنید؟
چه کاری باید انجام دهید:

جستجو توسط آدرس ایمیل خود را در بازدید کننده Log.اگر آنها وارد شده اند، هویت آنها ظاهر خواهد شد. تنظیم محدوده تاریخ به دیروز نگاه کنید برای بازدید از صفحات پرداخت در اطراف 3 بعد از ظهر کلیک جلسه خود را برای دیدن جریان صفحه کامل و هر گونه هرگونه صفحه جریان کامل و همه چیز. JavaScript خطا

یک حلقه را خراب یا خراب کنید

سناریو:
شما متوجه می شوید IP آدرس 500+ بازدید در یک ساعت، همه به همان صفحه.
چه کاری باید انجام دهید:

این احتمالا یک ربات، خرابکار یا اسکریپت شکسته است.به بازدید کننده بروید و با آن جستجو کنید.IP چک کنید: (1آیا همه بازدیدها به یک صفحه می آیند؟ ()2آیا کاربر یک ربات شناخته شده است؟ ()3• مدت زمان جلسه همیشه 0 چند ثانیه؟ اگر به عنوان یک ربات تایید شده است، به امنیت بروید و آن را مسدود کنید.IP.

ورود بازدید کننده در مقابل جلسات در مقابل تغذیه زنده

بازدید کننده log

صفحه اصلی بارگذاری می کند.یک ردیف در هر دید صفحه بهترین برای: بررسی صفحات خاص، پیدا کردن ترافیک از منابع خاص، تشخیص مسائل ردیابی.

جلسات

بازدید از صفحه گروه به سفر.یک ردیف در هر جلسه بازدید بهترین برای: درک جریان کاربر، اندازه گیری مدت جلسات، شناسایی مسیرهای تبدیل.

تغذیه زنده Live Feed

فعالیت در زمان واقعی، بازدید کنندگان را در حال حاضر در سایت شما نشان می دهد: نظارت بر کمپین ها در پیشرفت، شناسایی بازدیدکنندگان با استعداد بالا، تماشای فرصت های پشتیبانی.

چرا بازدیدهای خودم را در این زمینه می بینم؟+

OpsIQ تمام بازدیدها را به طور پیش فرض رد کنید تا ترافیک خود را کنار بگذارید، ترافیک خودرا اضافه کنید.IPآدرسی که از آن حذف شده است IPs لیست تنظیمات > ردیابی

چرا یک بازدید کننده کشور ناشناخته را نشان می دهد؟+

نمای جغرافیایی هم نیاز بهCloudflareهدرهای جغرافیایی (در صورت استفاده از خودکار)Cloudflare(یا یک)MaxMind GeoLite2فایل پایگاه داده. Check Settings > GeoIP Path برای اطمینان از وجود فایل پایگاه اطلاعات و قابل خواندن است.

اطلاعات بازدید کننده چقدر طول می کشد؟+

داده های بازدید کننده برای دوره حفظ پیکربندی شده در تنظیمات (default: 90 پس از آن، سوابق قدیمی به طور خودکار توسط کار حفظ cron تمیز می شوند.

تحلیل‌ها

جلسات

جلسات چندین صفحه از یک فرد به یک سفر واحد را نشان می دهد، در حالی که بازدید کننده صفحات فردی را نشان میدهد، جلسات به شما نشان می دهند که چگونه افراد از طریق وب سایت خود از فرود به خروجی حرکت می کنند.

جلسات
جلساتجدول ورودی جلسه با IP کشور، دستگاه، منبع، مدت و ستون های صفحات و ردیف تهدید پرچم دار.جلساتyoursite.comکشور (NG)جلسه LogIP& فشردن‌کشورتوسعهمنبعمدتصفحات41.62.10.4انگلستانرومیزیgoogle3m12s6102.89.6.2. نهموبایل Mobiledirect1m05s388.21.4.9DEرومیزیاستفاده از:ads7m48s11203.0.113.9آمریکاموبایل Mobilereferral0m42s21SESSION LOGسفر گروهی2COLUMNSکشور · مدت زمان منبع3THREATجلسات خطرناکی که پرچم دار شده اند
ورودی جلسه واقعی: هر سفر بازدید کننده به عنوان یک ردیف (IP• کشور، دستگاه، منبع، مدت و صفحات) با جلسات پرخطر در قرمز قرار دارد.

چگونه جلسات کار

یک جلسه زمانی شروع می شود که بازدید کننده اولین صفحه خود را بارگذاری کند، همچنان به عنوان آنها به صفحات بیشتر حرکت می کنند. A جلسه زمانی پایان می یابد که بازدید کنندگان برای دوره ی زمان بندی جلسه غیرفعال هستند (تقاض: 30 دقیقه) یا مرورگر خود را بسته می کند، همان فردی که پس از اتمام کار باز می گردد یک جلسه جدید ایجاد می کند.

هر جلسه چه نشان می دهد

صفحه اول

صفحه فرود، جایی که بازدید کننده وارد سایت شما می شود، این به شما می گوید که کدام محتوا جذب افراد است.

آخرین صفحه

صفحه خروج، جایی که بازدید کننده ترک کرد اگر صفحه خروجی اغلب صفحه قیمت گذاری است، بازدیدکنندگان ممکن است شما را با رقبا مقایسه کنند.

شمارش صفحه

تعداد صفحاتی که بازدید کننده در این جلسه مشاهده می کند معمولا به معنای تعامل بیشتر است، اما همچنین می تواند به معنی از دست رفتن بازدید کنندگان باشد.

مدت زمان

کل زمان از بارگذاری صفحه اول تا فعالیت آخر. 0 ثانیه ها پرش می کنند (یک دیدگاه صفحه ای، هیچ تعامل بیشتر).

منبع

منبع ترافیک این جلسه (Direct، Google، اجتماعی، ارجاع و غیره)

کشور

کشور شناسایی شده از بازدید کننده IP آدرس

پرش

این که آیا بازدید کننده تنها پس از مشاهده یک صفحه باقی مانده است. جلسات پرشی دارای شاخص قرمز هستند.

تبدیل شدن به

این که آیا بازدید کننده یک رویداد تبدیل ردیابی شده (پورید، ثبت نام، ارسال فرم) را در طول این جلسه تکمیل کرد.

فیلترها

جستجو Search

جستجو توسط IP ایمیل، صفحه URL یا ارجاع دهنده در جلسات.

نوع تیپ

فیلتر توسط بازدید کنندگان جدید (اولین جلسه تا به حال) یا بازدید کنندگان بازگشت.

منبع

فیلتر از طریق منبع ترافیک

کشور

فیلتر کردن توسط کشور برای دیدن جلسات از یک منطقه خاص

تهدید / Bounced

فیلتر برای نشان دادن فقط جلسات یا جلسات پرش شده به عنوان تهدید.

مثال های کار

پروفایل یک مشتری با ارزش بالا

سناریو:
مشتری فقط یک خرید بزرگ انجام داد، شما می خواهید سفر خود را قبل از خرید درک کنید.
چه کاری باید انجام دهید:

جستجو برای ایمیل خود را در جلسات1چند بار قبل از خرید بازدید کردند؟ ()2کدام صفحات را مشاهده کردند؟ ()3آیا آنها از چت استفاده می کنند یا یک بلیط باز می کنند؟4کل زمان از اولین بازدید برای خرید چیست؟ این به شما می گوید که یک سفر خرید معمولی برای مشتریان با ارزش بالا است.

ورود به یک مکان جدید

سناریو:
مشتری معمولا از نیجریه وارد می شود اما شما یک جلسه از روسیه را مشاهده می کنید.
چه کاری باید انجام دهید:

جستجو برای ایمیل مشتری در جلسات اخیر، مقایسه کشور از جلسات اخیر.اگر یک جلسه به طور ناگهانی از یک کشور غیر عادی ظاهر می شود، می تواند سفر قانونی یا حساب کاربری به خطر افتاده باشد: (1) آیا قبل از موفقیت، یک تلاش برای ورود ناموفق وجود داشت؟ (2) آیا IP تغییر در یک جلسه؟ آن را برای بررسی در صورت مشکوک علامت گذاری کنید.

تفاوت بین یک جلسه و بازدید کننده چیست؟+

یک بازدید کننده یک فرد (یا مرورگر) است (یک جلسه از آن شخص بازدید می کند.همان بازدیدکننده می تواند جلسات زیادی در طول زمان داشته باشد.

چگونه OpsIQ بازدید کنندگان بازگشت را شناسایی کنید؟+

OpsIQ از ترکیبی از کوکی ها، اثر انگشت مرورگر و توکن های هویت معتبر استفاده کنید.اگر یک بازدید کننده کوکی های خود را روشن کند و وارد نشود، آنها به عنوان یک بازدیدکننده جدید ظاهر می شوند.

تحلیل‌ها

تغذیه زنده Live Feed

تغذیه زنده نشان می دهد بازدید کنندگان در حال حاضر در وب سایت خود را در زمان واقعی به روز رسانی آن به طور خودکار هر 15 ثانیه (قابل تنظیم) استفاده از آن در طول کمپین ها، راه اندازی محصول و دوره های پشتیبانی شلوغ برای دیدن آنچه که در حال حاضر اتفاق می افتد.

تغذیه زنده Live Feed
تغذیه زنده Live Feedیک جریان فعالیت در زمان واقعی نشان دهنده شمارش آنلاین بازدید کننده و خوراک اقدامات اخیر بازدید کنندگان توسط کشور است.تغذیه زنده Live Feedyoursite.com37بازدید کنندگان آنلاین در حال حاضرفعالیت های زندهاکنونآمریکا · مشاهده /pricing2sانگلستان شروع به چت کرد5s· اضافه شده به سبد خرید9sCA · تکمیل ثبت نام1RIGHT NOWببینید چه کسی در محل است2AUTO-REFRESHبه روز رسانی هر 15s3عملپرش به یک چت زنده
ببینید چه کسی در سایت شما این دوم است و چه کاری انجام می دهد، به طور خودکار هر کدام را تازه کنید. 15 ثانیه

چگونه کار می کند

نظرسنجی Live Feed سرور خود را در بازه زمانی پیکربندی شده مجدد قرار می دهد.هر ردیف یک بازدید کننده در حال حاضر در سایت شما نشان می دهد: صفحه فعلی، کشور، دستگاه، منبع، مدت جلسه و شمارش صفحات. سبز نشان دهنده فعالیت جدید از آخرین تازه کار است. کلیک هر ردیف بازدید کننده برای دیدن جزئیات کامل جلسه خود.

تنظیمات Settings

فاصله ی بازسازی

چند بار به روز رسانی های تغذیه زنده 15 چند ثانیه: مقادیر پایین (5-10s• به روز رسانی های سریع تر اما استفاده از منابع سرور بیشتر (ارزش های بالاتر)30-60s• در سرور آسان تر است اما زمان واقعی کمتری دارد.

آستانه فعال

چه مدت یک بازدید کننده پس از آخرین بارگذاری صفحه خود "active" محسوب می شود: 90 چند ثانیه اگر یک بازدید کننده یک صفحه را بارگذاری کند و سپس آن را بخواند. 2 چند دقیقه بدون کلیک، آنها از خوراک زنده پس از آستانه ناپدید می شوند.

دکمه Pause

روی Pause کلیک کنید تا زمانی که می خواهید جزئیات را بدون به روز رسانی لیست بخوانید، از رزومه کلیک برای شروع مجدد استفاده کنید.

مثال های کار

• یک رهبری داغ در طول کمپین

سناریو:
شما در حال اجرا یک راه اندازی محصول هستید. بازدید کننده فقط صفحه اصلی خود را مشاهده کرده اید، سپس ویژگی ها، قیمت گذاری و اکنون در صفحه پرداخت قرار دارد.
چه کاری باید انجام دهید:

این رفتار بسیار مهم است.در خوراک زنده:1به بازدید کننده کلیک کنید تا جلسه خود را ببینید.2اگر آنها یک چت را شروع کنند، AI دارای متن کامل سفر خود خواهد بود.3اگر آنها بدون خرید ترک می کنند، در صفحه اصلی هدایت می شوند.4در نظر بگیرید که یک قانون فعال برای نشان دادن پیام چت زمانی که بازدید کنندگان به پرداخت می رسند.

تعداد زیادی بازدید کننده از همان IP

سناریو:
شما می بینید 20 بازدید کنندگان از همان IP آدرس، همه در صفحات مختلف.
چه کاری باید انجام دهید:

این می تواند:1یک دفتر با اینترنت مشترک بررسی کنید که آیا بازدیدها شبیه انسان واقعی (صفحه های مختلف، مدت زمان معقول) هستند.2یک ربات یا ردیاب چک کنید که آیا جلسات بسیار کوتاه هستند (0-1ثانیه) یا به طور سیستماتیک صفحات را هدف قرار دهید.3تست بار: اگر شما در حال انجام تست های خودکار هستید، حذف کنید IP از ردیابی

چرا نمایش غذای زنده 0 بازدید کنندگان زمانی که سایت من ترافیک دارد؟+

بررسی:1آیا اسکریپت ویجت در سایت شما نصب شده است؟ ()2آیا سایت کلید درست است؟ ()3آیا آستانه فعال تصویب شده است؟ (4آیا بازدید کنندگان با استفاده از مسدود کننده های تبلیغاتی تهاجمی که اسکریپت ردیابی را مسدود می کنند؟

آیا می توانم غذای زنده را از طریق کشور یا دستگاه فیلتر کنم؟+

خوراک زنده همه بازدید کنندگان فعال را برای چشم انداز فیلتر شده نشان می دهد، از صفحات بازدید کننده یا جلسات با گزینه های فیلتر خود استفاده کنید. فید زنده به طور عمد ساده برای نظارت در زمان واقعی است.

تحلیل‌ها

صفحات برتر

صفحات بالا نشان می دهد که کدام صفحه در وب سایت شما بیشترین ترافیک را دریافت می کند.این صفحه ها را با بازدید، تعامل، تبدیل و فعالیت پشتیبانی رتبه بندی می کند تا بهترین محتوا را شناسایی کند، صفحات زیرمجموعه ای پیدا کنید و صفحاتی را کشف کنید که سوالات حمایتی ایجاد می کنند.

صفحات برتر
صفحات برترلیست رتبه بندی شده از صفحات بازدید شده با نوار و شمارش افقی.صفحات برترyoursite.comصفحات بازدید شده/pricing3,402/2,910/docs1,740/blog/seo-guide980/signup6401RANKEDصفحات بازدید شده2SIGNALSبازدید و تبدیل3FINDصفحاتی که بلیط ها را می دهند
صفحات شما با ترافیک و تعامل رتبه بندی می شوند، بنابراین می توانید محتوای بالا و صفحاتی را که پشتیبانی می کنند، شناسایی کنید.

هر صفحه چه نشان می دهد

صفحه صفحه URL

کامل ترین URL مسیر (به عنوان مثال، انواع محصول) در صورتی که گروه بندی فعال شود، دسته بندی می شوند.

دیدگاه ها

تعداد کل زمان این صفحه در محدوده تاریخ انتخاب شده بارگذاری شد.

بازدید کنندگان منحصر به فرد

چند نفر مختلف این صفحه را مشاهده کردند (یک فرد که دو بار به همان صفحه نگاه می کند) 1 منحصر به فرد است.

نرخ bounce rate

درصد بازدیدکنندگانی که سایت شما را پس از مشاهده تنها در این صفحه ترک کردند، پرش بالا بر روی صفحات فرود = مشکل.

متوسط زمان

چه مدت بازدید کنندگان در این صفحه به طور متوسط هزینه می کنند؟ بسیار کوتاه = خواندن نیست.خیلی طولانی در یک صفحه فرم = سردرگمی.

چت شروع می شود

چند گفتگو از این صفحه شروع شد. چت بالا در یک صفحه محصول آغاز می شود به این معنی است که توصیف محصول ممکن است نامشخص باشد.

بلیط های پشتیبانی

چند بلیط پشتیبانی توسط بازدیدکنندگانی که در این صفحه بودند ایجاد شد.

مثال های کار

پیدا کردن صفحاتی که سوالات پشتیبانی را هدایت می کنند

سناریو:
تیم پشتیبانی شما همچنان در مورد حمل و نقل سوال می کند که کدام صفحه شکست خورده است؟
چه کاری باید انجام دهید:

صفحات برتر را با “موارد پشتیبانی” یا “Chat شروع می شود” دسته بندی کنید، به دنبال صفحات محصول یا حمل و نقل با تعداد بالا بگردید. صفحه با بیشترین سوالات پشتیبانی احتمالا اطلاعات واضحی دارد و محتوای صفحه را حل کرده و نظارت بر اینکه آیا سؤالات حمایتی کاهش می یابد.

پیدا کردن صفحات با نرخ خروجی بالا

سناریو:
شما می خواهید بدانید که مردم اغلب سایت شما را ترک می کنند.
چه کاری باید انجام دهید:

مرتب کردن با نرخ پرش صفحات نادیده گرفته شده که به طور طبیعی نقاط خروجی (به لطف صفحات، صفحات تأیید) بر روی صفحاتی که باید بازدید کنندگان را درگیر نگه دارند تمرکز کنید: صفحات محصول، قیمت گذاری، ویژگی ها و نیاز به تماس بهتر یا محتوای واضح تر.

چرا یک صفحه نمایش 0 آیا می دانم که ترافیک را دریافت می کند؟+

بررسی:1آیا ویجت ردیابی در آن صفحه خاص نصب شده است؟ برنامه های تک صفحه ممکن است دیدگاه صفحات را در مورد تغییرات مسیر آتش نزنند.2آیا صفحه در تنظیمات ردیابی حذف شده است؟ ()3آیا CDN یک نسخه ذخیره شده را بدون اسکریپت ردیابی ارائه می دهد؟

تحلیل‌ها

هوش زمین

اطلاعات جغرافیایی نشان می دهد که بازدیدکنندگان شما از کشور، شهر، دستگاه و منبع آن آمده اند تا بازارهای جغرافیایی خود را درک کنند، در حمایت از زبان تصمیم بگیرند، بازاریابی منطقه ای برنامه ریزی کرده و الگوهای ترافیکی مشکوک را شناسایی کنند.

جغرافیای زمین
هوش زمیننقشه ای از مکان های بازدید کننده در کنار رتبه بندی نوار هر کشور.هوش زمینyoursite.comبازدید کنندگان از مکانآمریکاانگلستانDE..آقا. نه1MARKETSکشور، شهر، دستگاه2PLANزبان و مناطق3WATCHترافیک عجیب
جایی که بازدید کنندگان شما از (به کشور، شهر و دستگاه) به بازارهای اندازه می آیند و ترافیک غیر معمول را مشاهده می کنند.

آنچه را که می بینی

جدول زمانی کشور های برتر

کشورهای برتر رتبه بندی شده توسط بازدید کنندگان شمارش می شوند.برای جمع آوری اطلاعات در سطح شهر، یک کشور را کلیک کنید.

کشور دونات

از بین رفتن ترافیک توسط کشور. Hover به دلیل درصد

میز کامل کشور

هر کشوری با بازدید کنندگان در دوره انتخاب شده، نشان دادن تعداد بازدید کننده، شمارش جلسه، نرخ پرش و نرخ تبدیل.

دانلود بازی City Shoot

برای دیدن اینکه کدام شهرها در این کشور بیشترین بازدید کنندگان را دارند، به یک کشور مراجعه کنید.

چگونه تشخیص GeoIP کار می کند

OpsIQ مکان بازدید کننده را به دو روش تشخیص دهید:1) Cloudflare هدرهای جغرافیایی: اگر سایت شما پشت سر گذاشته شود Cloudflare تشخیص کشور به صورت خودکار و دقیق است.2 MaxMind GeoLite2 پایگاه داده رایگان را دانلود کرده و مسیر را در تنظیمات پیکربندی می کند. تشخیص سطح شهر نیاز به پایگاه داده ژئوLite2-City دارد، نه فقط پایگاه داده کشور.

VPN و ترافیک پروکسی

به نظر می رسد بازدید کنندگان با استفاده از VPN ها از مکان سرور VPN آمده اند، نه محل واقعی آنها. OpsIQ نمی توانید و نباید سعی کنید VPN ها را دور بیندازید، اگر الگوهای غیر معمول کشور را می بینید، در نظر بگیرید که این کار را انجام دهید. 10-20% بازدید کنندگان ممکن است از VPN استفاده کنند.

مثال های کار

ترافیک کشور غیر منتظره

سناریو:
شما یک کسب و کار تنها آمریکا را اداره می کنید، اما 30% ترافیک از هند است.
چه کاری باید انجام دهید:

بررسی:1آیا این بازدید کنندگان واقعی هستند؟ به مدت زمان جلسه و صفحات مشاهده شده نگاه کنید. جلسات بسیار کوتاه با پرش بالا = ربات های احتمالی.2آیا آنها شما را از طریق گوگل پیدا می کنند؟ ارجاع دهنده را بررسی کنید.3آیا آنها می توانند مشتریان بالقوه در یک بازار جدید باشند؟ اگر ترافیک واقعی و مشغول به کار باشد، قیمت گذاری یا محتوای خاص هند را اضافه کنید.

تصمیم گیری در حمایت از زبان

سناریو:
شما می خواهید بدانید که آیا باید سایت خود را به اسپانیایی ترجمه کنید.
چه کاری باید انجام دهید:

به صفحه اطلاعات جغرافیایی نگاه کنید، اگر کشورهای اسپانیایی زبان (اسپانیا، مکزیک، کلمبیا، آرژانتین و غیره) با هم بیش از حد نمایندگی می کنند. 10% از ترافیک خود با نرخ های پرش پایین، ترجمه ارزش در نظر گرفتن: آیا بازدید کنندگان از این کشورها با نرخ مشابه به بازار اصلی شما تبدیل می شوند؟

حمایت منطقه ای برنامه ریزی تغییر

سناریو:
شما باید ساعت های تیم را برای مناطق مختلف زمان انتخاب کنید.
چه کاری باید انجام دهید:

استفاده از نقشه حرارتی ساعتی (در داشبورد) همراه با اطلاعات جغرافیایی. 40% ترافیک شما از اروپا و 35% از ایالات متحده، شما نیاز به پوشش برای هر دو منطقه زمانی دارید.برنامه گرمایی دقیقا نشان می دهد که هر منطقه فعال ترین است.

کشور با بازدید اما هیچ سفارش

سناریو:
آلمان نشان داد 500 بازدید کنندگان در این ماه اما فروش صفر
چه کاری باید انجام دهید:

سرمایه گذاری:1آیا آنها در صفحه قیمت گذاری قرار می گیرند؟ شاید قیمت گذاری شما برای آن بازار رقابتی نباشد.2آیا به آلمان کشتی می کنید؟ بررسی کنید که آیا صفحه کشتیرانی شما به آلمان اشاره دارد یا نه.3• آیا پرداخت شما در یورو موجود است؟ عدم تطابق ارز باعث می شود که پرداخت های رها شده انجام شوند.4آیا این بازدید کنندگان از یک منبع واحد هستند که ممکن است ترافیک پایین داشته باشند؟

چرا یک بازدید کننده کشور ناشناخته را نشان می دهد؟+

GeoIP پیکربندی نمی شود یا تنظیم شده است. Cloudflare (که هدرهای جغرافیایی را به طور خودکار اضافه می کند) یا پایگاه داده MaxMind GeoLite2 را دانلود کرده و مسیر فایل را در Settings > GeoIP Path تنظیم می کند.

آیا می توانم ترافیک را از کشورهای خاص مسدود کنم؟+

OpsIQ توسط کشور مسدود نمی شود، از سرور وب یا سرور وب خود استفاده کنید. Cloudflare قوانین فایروال برای مسدود کردن کشور OpsIQ تمرکز بر دید، نه کنترل دسترسی در سطح شبکه.

تحلیل‌ها

Intent قیف

Intent Funnel جلسات بازدید کننده را با آنچه که به نظر می رسد تلاش برای انجام: مرور، تحقیق، مقایسه، خرید، دریافت پشتیبانی یا ترک آن برای درک تعادل قصد در سایت شما و شناسایی جایی که بازدیدکنندگان از آنجا خارج می شوند، طبقه بندی می کند.

Intent قیف
Intent قیفیک قیف از مرور تا تحقیقات برای مقایسه با خرید با شمارش، به علاوه پشتیبانی و ترک چیپس.Intent قیفyoursite.comمرور · 8,200تحقیقات · 4,100مقایسه · 1,650خرید · 520پشتیبانی 6%ترک کردن 11%1CLASSIFYچه بازدید کنندگانی می خواهند2STAGESمرور برای خرید3اصلاحپیدا کردن قطره
جلسات طبقه بندی شده توسط قصد (browse، Research، مقایسه، خرید) بنابراین شما می توانید ببینید که دقیقاً در چه زمانی مردم از بین می روند.

دسته های Intent

رفتن به Browsing

بازدید کنندگان به طور تصادفی در اطراف جلسات کوتاه، صفحات کوچک، هیچ هدف خاصی شناسایی نمی شوند.

تحقیق

بازدید کنندگان در حال خواندن صفحات محصول / موفق، docs یا محتوای وبلاگ هستند. طولانی تر زمان بر روی صفحه، چندین صفحه محتوا.

مقایسه

بازدید کنندگان قیمت گذاری، مقایسه برنامه یا جداول ویژگی را مشاهده می کنند که اغلب بازدیدکنندگان را باز می گرداند.

خرید

بازدید کنندگان در صفحات پرداخت، سبد خرید یا ثبت نام هستند.این فرصت های تبدیل شما هستند.

پشتیبانی-به دنبال

بازدید کنندگان در صفحات کمک، صفحات تماس یا شروع چت نیاز به کمک دارند.

دانلود بازی Bouncing

بازدید کنندگانی که بعد از یک صفحه ترک کردند، مشارکت کم.

چگونه برای خواندن قیف

تفسیر کردن قیف

سناریو:
1,000 بازدید کنندگان قیمت گذاری را مشاهده کردند. 270 باز چت 92 شروع به پرداخت 64 پرداخت. 18 باز کردن بلیط های پشتیبانی
چه کاری باید انجام دهید:

صفحه قیمت گذاری به اندازه کافی قوی برای ایجاد هدف است. چت در مسیر خرید مهم است: 27% بازدید کنندگان قیمت گذاری قبل از خرید بلیط پشتیبانی پس از پرداخت ممکن است نشان دهنده فعال سازی یا اقدام پرداخت باشند:1اطمینان حاصل کنید که چت AI به سوالات قیمت گذاری پاسخ می دهد.21) سرمایه گذاری 18 بلیط های پشتیبانی پس از چک کردن برای مسائل مشترک

فیلتر زمان

از فیلتر محدوده تاریخ برای مقایسه الگوهای قصد در طول دوره استفاده کنید، به عنوان مثال، هفته جمعه سیاه را با یک هفته عادی مقایسه کنید.شما باید یک موج در هدف خرید و احتمالا "حمایت" اگر تبلیغات شما سردرگمی ایجاد کند ببینید.

چگونه OpsIQ قصد طبقه بندی؟+

OpsIQ نگاهی به صفحه URLs, رفتار جلسه و الگوهای قیمت گذاری صفحات سیگنال مقایسه هدف. Checkout صفحه ها نشان دهنده قصد خرید / تماس صفحات پشتیبانی از هدف است. طبقه بندی مبتنی بر Heuristic است ، نه AI-based .

آیا می توانم دسته های هدف را سفارشی کنم؟+

نه در حال حاضر، دسته ها بر اساس الگوهای رفتاری وب مشترک ساخته شده اند. طبقه بندی اهداف سفارشی در نقشه راه است.

تحلیل‌ها

تخته ها، حفظ و مسیر

ساخت سفرهای سفارشی از صفحه یا مراحل رویداد، اندازه گیری حفظ و کشف مسیرهای بازدید کنندگان اغلب از طریق یک سایت.

صفحه نمایش محصول
لانهیک قیف سفارشی هر صفحه / مرحله را نمایش می دهد، بازدید کنندگان باقی مانده و درصد تبدیل.لانهفضای کاریSTEPS4CONVERSION28.4%WINDOW72hدانلود بازی LiveSPACEقیمت گذاری مشاهده شده1,420 بازدید کنندگان100%برنامه انتخاب شده780 بازدید کنندگان54.9%چک کردن شروع شد530 بازدید کنندگان37.3%دستور تکمیل شده403 بازدید کنندگان28.4%1DEFINEانتخاب 2–8 گام2اندازه‌گیریپنجره تبدیل Set Change3بهبودپیدا کردن بزرگترین قطره
یک قیف سفارشی هر صفحه / مرحله را نمایش می دهد، بازدید کنندگان باقی مانده و درصد تبدیل.

لانه

یک قیف با نام ایجاد کنید 2 برای 8 صفحه یا مراحل رویداد. تنظیم پنجره تبدیل در ساعت؛ بازدید کننده تنها زمانی است که گام های سفارش شده در داخل آن پنجره رخ می دهد، از قطره بین قدم ها برای انتخاب جایی که برای بررسی مجدد، خطا، سرعت صفحه و یا پیام رسانی استفاده کنید.

بازگشت

گروه های بازگشتی بازدید کنندگان را در گروه های هفتگی قرار می دهند و نشان می دهد که چند بازگشت را انتخاب کنید. 6, 8 یا 12 افق هفته: تعریف گروه را در مقایسه با آزادی ها یا کمپین ها پایدار نگه دارید.

مسیرها

Paths لیست رایج ترین توالی های صفحه را انتخاب می کند. 2 برای 5 صفحات برای نگه داشتن نتیجه قابل خواندن، از آن برای پیدا کردن انحراف های غیرمنتظره، خروجی های رایج و محتوا که بارها پیش از تبدیل استفاده می کنند.

قیف های سفارشی تعاریف تحلیلی هستند، نه اتوماسیون.

تحلیل‌ها

بازپخش جلسه

Session Replay به شما اجازه می دهد یک جدول زمانی از آنچه که بازدید کننده در سایت خود انجام داد را مشاهده کنید: کدام عناصر کلیک کرده اند، چگونه پیمایش شده اند، جایی که آنها پراکنده شدند و چه نوع (با زمینه های حساس ماسک) استفاده از آن برای تشخیص مشکلات UX، تأیید گزارش های باگ و درک سردرگمی مشتری.

بازپخش جلسه
بازپخش جلسهیک بازیکن نمایش مجدد که یک صفحه نمایش را با یک نشانگر، یک پانل اطلاعات جلسه و یک اسکرابر جدول زمانی نشان می دهد.بازپخش جلسهyoursite.comخرید Nowنشستمدت زمان 3m 12s14 کلیک بر روی کلیکایالات متحده · DesktopChrome1241WATCHClicks، Scroll، Type2MASKEDزمینه های حساس پنهان3DIAGNOSEگزارش های ضد اشکالات
دقیقاً همان کاری را که یک بازدید کننده انجام داد، دوباره تکرار کنید: کلیک ها، اسکرول ها، تایپ کردن (میدان حساس) در یک اسکربر زمانی.

پیدا کردن جلسه مناسب

از صفحه Sessions، به دنبال جلسات با مسائل گزارش شده باشید، صفحات بالا بدون تبدیل شدن یا جلسات مشتریانی که بلیط های پشتیبانی را ثبت می کنند، شمارش نمی شوند.

چه نمایش های مجدد

خط زمانی

یک نوار افقی که در طول زمان وقایع را نشان می دهد، روی هر نقطه ای از جدول زمانی کلیک کنید تا به آن لحظه پرش کنید.

صفحه ناوبری Page Navigation

هر بار صفحه به عنوان یک بخش در جدول زمانی ظاهر می شود، شما می توانید مسیر دقیق بازدید کننده را ببینید.

کلیکها

رویدادهای کلیک به عنوان نقطه در جدول زمانی و به عنوان برجسته در بازسازی صفحه نشان داده شده است.

اسکرول کردن

عمق اسکرول ردیابی می شود تا بتوانید ببینید که بازدید کننده چقدر پایین است.

سازنده :

تمرکز و رویدادهای تایپ ثبت شده است. ورودی متن در رمز عبور و زمینه های حساس به طور پیش فرض ماسک می شود.

حریم خصوصی و ماسک

بازی مجدد ماسک های حساس زمینه به طور پیش فرض، زمینه های رمز عبور، ورودی کارت اعتباری و فیلدهای مشخص شده با داده ها opsiq– کار هرگز ثبت نمی شود، شما می توانید قوانین ماسک اضافی را در تنظیمات > ردیابی پیکربندی کنید.اگر سیاست انطباق شما به آن نیاز دارد، می توانید به طور کامل پخش مجدد را غیرفعال کنید.

تشخیص یک پرداخت شکسته

سناریو:
مشتری می گوید: «سعی کردم بخرم اما دکمه هیچ کاری نکرد.»
چه کاری باید انجام دهید:

جلسه خود را در صفحه Sessions (جستجو توسط ایمیل) باز کنید بخش صفحه پرداخت را ببینید.1آیا آنها بر روی دکمه راست کلیک کردند؟ ()2(آیا یک) JavaScript خطا رخ می دهد؟ (صفحه خطای JS را برای آن زمان بررسی کنید.)3آیا صفحه دوباره بارگذاری شده یا یک پیام خطا را نشان می دهد؟4آیا یک میدان خالی بود؟ بازی نشان می دهد دقیقا چه اتفاقی افتاده است.

چه مقدار ذخیره سازی از جلسه استفاده می کند؟+

داده های Replay با حجم ترافیک رشد می کند.استفاده از تنظیمات نگهداری برای تمیز کردن داده های قدیمی بازپخش به طور خودکار.برای سایت های ترافیکی بالا، یک دوره کوتاه تر حفظ مجدد را در نظر بگیرید (به عنوان مثال، به عنوان مثال ، یک دوره حفظ دوباره بازی کوتاه مدت (مانند. 30 روز ها برای مدیریت ذخیره سازی

آیا بازدیدکنندگان می توانند از بازی مجدد خارج شوند؟+

اگر "Respect Do Not Track" در تنظیمات فعال شود، بازدیدکنندگان با DNT headers ثبت نمی شوند.شما همچنین می توانید صفحات خاصی را از replay در تنظیمات ردیابی حذف کنید.

تحلیل‌ها

حوادث

The Events Log نشان می دهد که هر رویدادی OpsIQ ثبت شده است: بازدید صفحه، کلیک ها، چت شروع می شود، ایجاد بلیط، فروش و رویدادهای سفارشی استفاده از آن برای ادغام های اشکال زدایی، تأیید تحویل وب را بررسی کرده و توالی اقدامات را درک کنید.

حوادث
حوادثیک رویداد تاریخی با نشان های نوع رنگ: صفحه بینی، چت، فروش، وب فریب و سفارشی.حوادثyoursite.compageviewایالات متحده · /pricing12:04:01chat.startUK · ویجت باز شد12:04:09فروش$49.00 · دستور ##104212:05:22وب سایتhookpayment.succeeded12:05:23customdemo_booked12:06:101EVERYTHINGهر رویداد ثبت شده2DEBUGبررسی وب سایت Shake Delivery3ORDERمشاهده توالی دقیق
جدول زمانی همه چیز OpsIQ سوابق (صفحه بینی ها، چت ها، فروش، وب سایتhooks، رویدادهای سفارشی) برای اشکال زدایی و حسابرسی.

رویدادهای داخلی ( خودکار)

⚠️
اینها هستند events-log نام ها – WhatOpsIQثبت نام در جدول زمانی بازدید کننده برای تجزیه و تحلیل، اشکال زدایی و حسابرسی.آنها یک واژگان مختلف از وب سایت خارجیhook حوادثی که شما یک نقطه پایانی را به آن اضافه می کنید، اگر شما در حال ساخت یک گیرنده وب هستید، از لیست در بخش Webhooks استفاده کنید یا تماس بگیرید. webhooks.events.listو به نام این میز، هیچ چیز را ارائه نمی دهد.

هر ردیف نام شما را نشان می دهد ارسال ارسال و نام کانونیOpsIQ فروشگاه ها هر دو ثبت شده اند: نام خام که ارسال می کنید و یک کانونی که آن را نقشه برداری می کند، بنابراین گزارشی که در برابر مالیات بر روی طبقه بندی کانونی نوشته شده است، هر کدام از یک ردیاب استفاده می شود را نگه می دارد.

pageview page.viewed

یک بارگذاری صفحه ردیابی شده شاملURLعنوان، ارجاع دهنده و زمان بندی. page_view و view به همان اندازه پذیرفته می شوند.

chat_open support.chat_opened

یک بازدید کننده ویجت چت را باز می کند.

chat_send support.chat_message_sent

یک بازدید کننده پیام چت ارسال می کند. طرف پاسخ به عنوان ذخیره شده است support.chat_message_received.

ticket_open support.ticket_created

یک بلیط پشتیبانی ایجاد می شود. ticket_create به همان اندازه پذیرفته می شود؛ پاسخ ها و بسته شدن ها ذخیره می شوند. support.ticket_replied و support.ticket_closed.

form_submit form.submitted

یک فرم ردیابی شده ارائه می شود. submit به همان اندازه پذیرفته شده است.

purchase commerce.purchase_completed

خرید کامل شده است. purchase_successو فروش order.completed, sale.completed, payment.completed و invoice.paidهمه از یک پلتفرم متصل پذیرفته شده اند.

پرداخت commerce.checkout_started

چک کردن شروع می شود. مرتبط: cart_view, checkout_view, checkout_intent, checkout_abandon, add_to_cart.

login_success identity.signed_in

نشانه های بازدید کننده در شکست است. login_failedذخیره شده به عنوان identity.login_failedو قفل است. login_lockout_created.

ثبت نام conversion.signup

یک بازدید کننده یک نشانه را تکمیل می کند. A Lead is a leadذخیره شده به عنوان conversion.lead.

js_error error.js

A A AJavaScriptخطا در یک صفحه ردیابی شده است.

💡
نام رویداد که شما ارسال می کنید این یکی از این راهروها هنوز هم ضبط شده است - هیچ چیز به سادگی نقشه برداری کانونی ندارد، بنابراین آن را در گزارش های مبتنی بر مالیات قرار نمی دهد.

رویدادهای سفارشی

شما می توانید رویدادهای سفارشی را از وب سایت یا سرور خود ارسال کنید. OpsIQ رویدادهای سفارشی برای ردیابی اقدامات خاص به کسب و کار شما مفید هستند: کلیک های دکمه، استفاده از ویژگی، بازی های ویدئویی، بارگیری ها و غیره.

JavaScript · رویداد سفارشی از مرورگر
// Send a custom event from the browser
window.OpsIQ = window.OpsIQ || [];
window.OpsIQ.push(["track", "plan_selected", {
  plan: "pro",
  billing: "annual",
  value: 99
}]);
PHP · ثبت یک فعالیت تماس از سرور شما
// Record a server-side activity for a contact (PHP)
$ch = curl_init("https://your-opsiq-domain.com/api/v1.php");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer opq_your_key",
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "action" => "crm.activities.record",
        "site_key" => "site_abc123",
        "email" => "[email protected]",
        "event" => "subscription.upgraded",
        "value" => 50,
        "currency" => "USD",
    ]),
]);
$response = curl_exec($ch);
curl_close($ch);

فیلتر کردن حوادث

نوع Event Type

فیلتر با نام های رویداد خاص: pageview، chat. started، Ticket. Created و غیره

محدوده تاریخ

نمایش حوادث از یک دوره زمانی خاص.

جستجو Search

اطلاعات رویداد جستجو توسط کلمه کلیدی ( Search Event data by Keyword)URL ایمیل، ارزش های مالکیت رویداد

چه مدت حوادث برگزار می شود؟+

رویدادها از سیاست حفظ در تنظیمات پیروی می کنند. 90 روزها: رویدادهای با ارزش بالا (خریدخانه ها، حوادث امنیتی) را می توان با حفظ طولانی تر پیکربندی کرد.

آیا می توانم از حوادث در آزمایش های A/B استفاده کنم؟+

بله، هنگام ایجاد یک آزمایش، شما یک رویداد تبدیل را انتخاب می کنید.هر رویداد ساخته شده یا سفارشی را می توان به عنوان هدف تبدیل استفاده کرد.

تحلیل‌ها

آزمایش A/B

آزمایش ها به شما اجازه می دهند دو نسخه از یک صفحه یا ویژگی را تست کنید و اندازه گیری کنید که کدام یک بهتر عمل می کند. OpsIQ ردیابی احساسات، تبدیل ها و اهمیت آماری.

آزمایش A/B
آزمایش A/Bدو کارت مختلف در مقایسه نرخ تبدیل، با یک نشان برنده و اهمیت در نوع پیشرو.آزمایش A/Byoursite.comبازیگران A4.2%تبدیل · 1,020 دیدگاه هاانواع Bبرنده6.8%تبدیل · 1,005 دیدگاه ها+62% آسانسور · 96% قابل توجه1ESTدو نوع سر به جلو2اندازه‌گیریتبدیل ها و اهمیت3تصميم بگيربرنده شدن
دو نوع را اجرا کنید، تبدیل ها و اهمیت آماری را تماشا کنید و برنده را اعلام کنید.

چگونه آزمایش ها کار می کنند

1
ایجاد یک آزمایش

به آن نام بدهید، متریک اولیه خود را تعریف کنید (رویداد انحرافی)، و انواع (کنترل و آزمایش) را تنظیم کنید.

2
دویدن آن را

OpsIQ به طور تصادفی بازدیدکنندگان را به انواع مختلف اختصاص می دهد و رفتار آنها را ردیابی می کند، در حالی که در حال اجرا است، آزمایش را تغییر ندهید.

3
نتایج را بخوانید

پس از جمع آوری اطلاعات کافی، سطح اعتماد را بررسی کنید.95% اعتماد به نفس یعنی شما می توانید 95% اطمینان حاصل کنید که تفاوت واقعی است، نه شانس تصادفی.

آزمایش ها

پیش نویس

ساخته شده اما هنوز شروع نشده است، شما هنوز هم می توانید انواع و معیارهای را ویرایش کنید.

دویدن

به طور فعال برای اختصاص بازدید کنندگان به انواع.در هنگام دویدن ویرایش نکنید.

تکمیل شده

به اهمیت آماری رسیده یا به صورت دستی متوقف شده است.نتایج نهایی هستند.

بایگانی شده

نتایج بررسی شده و آزمایش دیگر در فهرست فعال مورد نیاز نیست.

بهترین شیوه ها

قبل از راه اندازی، متریک خود را تعریف کنید

تصمیم بگیرید که قبل از شروع چه اندازه گیری می کنید.انتخاب یک متریک پس از مشاهده نتایج، سوگیری را معرفی می کند.

ترافیک داخلی

اضافه کردن تیم خود IP آدرس ها به فهرست محرومیت، بنابراین بازدید از کارکنان نتایج را مختل نمی کند.

به اندازه کافی بلند دویدن

پس از یک آزمایش متوقف نشوید 100 شما به صدها یا هزاران بازدید کننده در هر نوع برای نتایج قابل اعتماد نیاز دارید.

تست یک تغییر در یک زمان

اگر عنوان و رنگ دکمه را تغییر دهید، نمی دانید که چه تغییری باعث بهبود آن شده است.

ثبت تصمیم خود

پس از پایان آزمایش، توجه داشته باشید که کدام نوع برنده شده و چرا تصمیم به اجرای آن گرفتید.

چند بازدید کننده برای یک آزمایش معتبر نیاز دارم؟+

این بستگی به نرخ تبدیل پایه و اندازه اثر شما می خواهید برای تشخیص.به عنوان یک قاعده کلی: حداقل 500 بازدید کنندگان در هر نوع برای 20% اندازه اثر برای اثرات کوچکتر، شما نیاز به هزاران.

آیا می توانم در همان زمان چندین آزمایش را انجام دهم؟+

بله، اما مراقب باشید اگر دو آزمایش بر روی یک صفحه تاثیر بگذارند، نتایج آن ممکن است به طور همزمان ایمن تر باشد تا آزمایشاتی را در صفحات مختلف یا ویژگی های مختلف اجرا کند.

تحلیل‌ها

JavaScript خطای خطا

JavaScript خطا ها خطاهای مشتری را از بازدید کنندگان وب سایت شما جمع آوری می کنند.یک دکمه شکسته، یک شکست خورده API تماس، یا یک منبع گم شده در اینجا نشان می دهد.استفاده از آن برای پیدا کردن و رفع اشکالاتی که بر مشتریان واقعی تاثیر می گذارد.

خطای JS
JavaScript خطای خطالیستی از خطاهای جلو با نقاط شدت، فایل منبع، مرورگر و شمارش رویداد.JavaScript خطای خطاyoursite.comاشتباهات اخیرنوع خطا: نمی توان x را از تعریف نشده خواندپرداخت.js:42 Chrome×214404 بارگذاری بارگیری /assets/app.cssشاخص | Safari×88شبکه ای که به قول آن آموزش داده شده استapi.js :17 · فایرفاکس×51هشدار: تخلیه رویدادفروشنده×331CAPTUREخطای مشتری-side2IMPACTشمارش و مرورگرها3اصلاحدانلود بازی Squash realbug
بازدید کنندگان واقعی در حال ضربه زدن به سطح کد شکسته در اینجا (message، منبع، مرورگر و اینکه چقدر اغلب) هستند، بنابراین شما می توانید آنچه را که مهم است حل کنید.

هر خطایی چه نشان می دهد

خطای پیام

خطای متن JavaScript (مثلاً، "TypeError: Cannot read properties of undefined").

صفحه صفحه URL

کدام صفحه خطا در آن رخ داده است.

مرورگر و دستگاه

کدام مرورگر و نوع دستگاه خطا را مشاهده کردند.برخی از خطاهای خاص مرورگر هستند.

دانلود آهنگ Stack

مکان کد که در آن خطا اتفاق افتاد، کلیک کنید تا کل پشته را گسترش دهید.

اولین دیده شده

وقتی این خطا برای اولین بار ظاهر شد.

آخرین دیده شده

وقتی این خطا به تازگی رخ داده است.

شمارش

چند بار این خطا ثبت شده است.

جلسات موثر

چند جلسه بازدید کننده مختلف این خطا را تجربه کرده اند.

اولویت بندی اشتباهات

همه چیز نه JavaScript اشتباهات به توجه فوری نیاز دارند. اولویت بندی توسط:1• خطاهای صفحات بحرانی (checkout, Signup, login)2خطاهایی که در جلسات بالا وجود دارد (3خطاهایی که اخیراً (بازگشت احتمالی از یک تغییر کد) ظاهر شده بود، ((4• خطاهای مربوط به کد خودتان (نه اسکریپت های شخص ثالث)

رفع یک دکمه ی پرداخت شکسته

سناریو:
صفحه خطای JS نشان می دهد: “نوع خیانت: نمی تواند خواص تعریف نشده (خواندن ارسال) را بخواند. /checkout, تأثیر بر 45 جلسات این هفته
چه کاری باید انجام دهید:

این بدان معنی است 45 مشتریان واقعی نمی توانند مراحل پرداخت را تکمیل کنند:1• صفحه را در ترکیب مرورگر / دستگاه باز کنید.2• باز کردن کنسول مرورگر و بازتولید خطا3• ردیابی پشته را برای پیدا کردن خط دقیق کد بررسی کنید.4رفع مشکل، استقرار و نظارت بر شمارش خطا به صفر.

آیا OpsIQ خطایی از اسکریپت های شخص ثالث را ثبت کنید؟+

بله، OpsIQ همه چیز را ضبط می کند JavaScript خطا در صفحه، از جمله خطاهای اسکریپت های تحلیلی، ویجت چت و اسکریپت های تبلیغاتی. Filter by Filter URL در قسمت پشته برای تمرکز بر روی کد خود.

چگونه خطای بی ضرر شناخته شده را حذف کنیم؟+

شما نمی توانید خطاهای خاصی را در آن سرکوب کنید OpsIQ اما شما می توانید لیست را با صفحه فیلتر کنید URL یا پیام خطا. رفع یا نادیده گرفتن خطاهای مرورگر (که اغلب به عنوان خطایی از منابع ناشناخته نشان می دهند)

فروش

فروش و تبدیل

ردیابی فروش فروشگاه یا پلت فرم صورتحساب شما را متصل می کند OpsIQ بنابراین شما می توانید درآمد را در کنار رفتار بازدید کننده مشاهده کنید، هر خرید به یک سفر بازدید کننده نسبت داده می شود تا بدانید که کدام صفحات، کمپین ها و کانال ها درآمدزایی دارند.

فروش
فروشصفحه فروش: درآمد کل با کنترل تمام وقت، جستجو و یک میز خرید اخیر (تاریخ، مشتری، پلت فرم، مقدار، منبع).فروشyoursite.comدرآمد$42,180+18%تمام وقت▾ایمیل جستجو، IP سفارش ID ...خریدهای اخیرتاریخمشتریبازی PLATFORMمقدارمنبعیون جون 3[email protected]Shopify$49googleیون جون 3[email protected]WooCommerce$129directیون جون 2[email protected]Stripe$480تبلیغات تبلیغاتی1درآمددستورها و تجدید ها2RECENT PURCHASESتاریخ · مشتری · مقدار3ATTRIBUTEDمنبع ترافیک
صفحه فروش واقعی، درآمد بالا، سپس خریدهای اخیر (تاریخ، مشتری، پلتفرم، مبلغ)، هر کدام به منبع ترافیک آن نسبت داده شده است.

داشبورد فروش

فروش امروز

درآمد از سفارشات تکمیل شده امروز. Refreshes با هر رویداد سفارش جدید از پلت فرم متصل خود را.

این هفته / در کل ماه

درآمد جمع شده در طول دوره. بازپرداخت از این مجموع ها کاهش می یابد.

نمودار روند

نمودار خط نشان دادن درآمد روزانه در محدوده تاریخ انتخاب شده است.نگاه کنید به دنبال موج (promotions، کمپین ها) و دیپز (مسائل، فصلی).

منبع تبدیل برتر

کدام منابع ترافیک منجر به خرید بیشتر می شوند. خریداران “Direct” اغلب سایت شما را نشانه گذاری می کنند.

خریدهای اخیر

آخرین سفارشات با ایمیل مشتری، مقدار، ارز و اقلام خریداری شده

خریدهای تایید نشده (سفر مشتری)

هنگامی که ردیاب بازدید کننده را می بیند به یک تایید خرید در مرورگر دسترسی دارد، اما هیچ پلت فرم متصل گزارش نداده است که فروش هنوز، سفر مشتری نشان دهنده یک ردیف خرید (بدون تأیید) با نشان amber نیست، هرگز به عنوان درآمد محسوب نمی شود.

آشتی

کانکتورهای فروش به یک وب سایت تک وابسته نیستند، هر سیگنال پرداخت می تواند فروش را باز کند و قرارداد مودم را ببندد 2.3 دوباره لیست خود پلت فرم از فروش کامل در یک برنامه (به طور ساعتی در هر فضای کاری) را بخوانید، بنابراین وب سایتی که هرگز تحویل داده نمی شود نمی تواند آن را بر اساس تقاضا از خط فرمان با ابزار / فروش_reciile.php اجرا کند.

راهنمای راه اندازی Platform

Shopify

به داخل کانکتور بروید >Shopify ایجاد یک برنامه سفارشی در شما Shopify admin (Settings > Apps and Sales Channel > Create Programs) : Read_Orders ، reading_ clients، read_products, read_محصولs. API توکن دسترسی OpsIQ وارد فروشگاه خود شوید (به عنوان مثال، your-store.myshopify.com• و توکن دسترسی. Click Test Connection اگر موفق باشد، همگام سازی وب را برای اعلان های سفارش زمان واقعی فعال کنید.

WooCommerce

به داخل کانکتور بروید >WooCommerce در شما WordPress مدیر، رفتن به WooCommerce تنظیمات > Advanced > REST API ایجاد یک کلید با اجازه خواندن / نوشتن. کپی کردن کلید مصرف کننده و راز مصرف کننده OpsIQ وارد سایت خود شوید URL کلید مصرف کننده و راز مصرف کنندگان. Click Test Connection

BigCommerce

به کانکتور > BigCommerce بروید، در مدیریت بزرگ خود، به تنظیمات پیشرفته بروید.API حساب های کاربری V2/V3 را ایجاد کنید API با دامنه خواندن برای سفارش ها، مشتریان و محصولات حساب کنید.API وارد آن شوید. OpsIQ و آزمون.

Magento2

به کانکتور > Magento بروید، در مدیریت MagenTO خود، به سیستم > ادغام ها بروید. API دسترسی منابع به فروش، مشتریان و کاتالوگ ها، ادغام را فعال می کند و توکن های دسترسی را کپی می کند. OpsIQ با پایگاه Magento URL.

PrestaShop

به کانکتور > PrestaShop بروید، در مدیریت Prestashop خود، به پارامترهای پیشرفته > Webservice بروید و یک کلید جدید ایجاد کنید. Grant دسترسی به سفارشات، مشتریان و محصولات را کپی کنید و آن را وارد کنید. OpsIQ با فروشگاه شما URL.

OpenCart

برو به ایستگاه > Opencart. Generate API نوشته های پنل OpenCart Administrator API URL نام کاربری و کلید در OpsIQ کانکتور از REST OpenCart استفاده می کند API برای سفارش و داده های مشتری

osCommerce

به کانکتور > osCommerce بروید.API مدارک به عنوان ثبت شده در تنظیمات کانکتور. osCommerce به طور معمول نیاز به دسترسی مستقیم پایگاه داده یا یک سفارشی دارد API ماژول

Stripe

به داخل پوشه > Stripe بروید.API کلید از داشبورد Stripe (Developers)API کلیدها) کلید نیاز به خواندن دسترسی به مشتریان، شارژ ها، و اشتراک گذاری دارد. OpsIQ Configure webhook Endpoint for real-time Events

سفارشی / سایر سیستم عامل ها

استفاده از REST API یا وب سایت برای ارسال رویدادهای فروش از هر پلتفرم ارسال سفارش، حوادث کامل شده با ایمیل مشتری، مقدار، ارز و موارد.API بخش برای فرمت محموله

درک قیف فروش شما

منبع تبدیل برتر

نشان می دهد که کدام کانال ها به مشتریان پرداخت می کنند.اگر Google به ارمغان بیاورد 1000 بازدید کنندگان و 50 فروش، این یک5% نرخ تبدیل: اگر ایمیل به ارمغان بیاورد 200 بازدید کنندگان و 30 فروش، این است 15% ایمیل در هر بازدید کننده موثرتر است.

بازپرداخت

سفارشات بازپرداخت به طور جداگانه ردیابی می شوند.آنها درآمد خالص شما را کاهش می دهند اگر نرخ بازپرداخت از یک منبع خاص بالا باشد، ترافیک ممکن است کیفیت پایین باشد.

خرید پول

OpsIQ ذخیره ارز و مقدار معاملات اصلی. کسب و کارهای چند ارزی درآمد را در هر واحد از پول می بینند.گزارش های عادی شده با استفاده از نرخ مبادله پیکربندی شده است.

مثال های کار

100 بازدید کنندگان، فروش صفر

سناریو:
صفحه قیمت گذاری شما 100 بازدید کنندگان در روز اما صفر تبدیل
چه کاری باید انجام دهید:

سرمایه گذاری:1استفاده از Session Replay در بازدید کنندگان صفحه قیمت گذاری. Watch چگونه آنها با جدول قیمت گذاری ارتباط برقرار می کنند.2صفحات بالا را برای نرخ پرش صفحه قیمت گذاری و زمان بر روی صفحه بررسی کنید.3بررسی مکالمات چت از بازدید کنندگان صفحه قیمت گذاری4صفحه قیمت گذاری خود را با رقبا مقایسه کنید.5یک آزمایش A/B با طرح های مختلف قیمت گذاری را امتحان کنید.

ورود به کمپین بازاریابی

سناریو:
شما یک کمپین ایمیل با تگ های UTM ارسال می کنید، چگونه تاثیر درآمد آن را اندازه گیری می کنید؟
چه کاری باید انجام دهید:

به فروش و فیلتر با منبع جستجو برای پارامتر کمپین UTM بروید. ()1چند بازدید کننده از ایمیل آمده اند.2چه تعداد به فروش تبدیل می شوند.3مجموع درآمد نسبت به کمپین4مقایسه با همان دوره قبل از کمپین.

چرا فروش بدون هیچ گونه مدرکی است، حتی اگر فروشگاه من سفارش داده باشد؟+

بررسی:1• آیا کانکتور پلتفرم متصل و سالم است؟ به پنل بروید و وضعیت را بررسی کنید.2آیا همگام سازی وب فعال است؟ اگر با استفاده از نظرسنجی، کار cron در حال اجرا است؟ ()3آیا کانکتور دارای حق است API دامنه ها؟ برای Shopify شما نیاز به Read_Orders دارید.

چگونه OpsIQ فروش را به یک بازدید کننده اختصاص دهید؟+

هنگامی که یک سفارش از طریق کانکتور وارد می شود، OpsIQ با ایمیل مشتری به یک بازدید کننده شناخته شده مطابقت دارد، اگر بازدید کننده قبل از خرید ردیابی شد، فروش به سفر بازدید کننده خود، از جمله منبع ترافیک، صفحه فرود و تاریخ جلسه نسبت داده می شود.

آیا می توانم به صورت دستی فروش را اضافه کنم؟+

شما می توانید رویدادهای فروش را از طریق REST ارسال کنید API یا webhooks از هر سیستم. قالب رویداد در رویدادها ثبت شده است API بخش

تجارت بازرگانی

ساخت، راه اندازی و کار فروشگاه بومی

The StorefrontOpsIQفروشگاه بومی برای محصولات، صفحات، کتاب های جستجو، پانل های تبلیغاتی، پرداخت، حساب های مشتری و AI با کمک فروش در چت مشتری و کانال های اجتماعی پشتیبانی می شود.

شروع در بازاریابی→Storefront

1
فضای کاری را انتخاب کنید

سایتی که می بینید را تایید کنید، محصولات، تنظیمات، صفحات، سفارش ها و تجزیه و تحلیل ها به آن فضای کاری تقسیم شده اند.

2
• تجارت الکترونیک و Storefront

تنظیمات عمومی→تجارت الکترونیک مرجع والدین است.فروشگاه، ایجاد سفارش و پرداخت جدا باقی می ماند بنابراین شما می توانید کاتالوگ را با خیال راحت پیش نمایش دهید.

3
انتشار محصولات کامل

نوع محصول، قیمت، ارز، موجودی، انواع / بهینه سازی ها، رسانه ها و تکمیل را تنظیم کنید. Preview محصول و انتخاب های پرداخت قبل از انتشار.

4
پرداخت و انجام

اتصال دروازه یا اضافه کردن انتقال بانکی، پول نقد و یا پرداخت های ضد مالی به مناطق تحویل یا جمع آوری نیاز دارد؛ کالاهای دیجیتال نیاز به فایل ها یا کدهای محافظت شده دارند.

5
دانلود بازی Run Launch Readiness

هر بلاک کننده را اصلاح کنید و هر هشدار را بررسی کنید، سپس یک دستور sandbox از فروشگاه عمومی تکمیل کنید.

شروع در مورد و محتوای سیاست

فروشگاه های جدید و ارتقا یافته، متن شروع قابل ویرایش را برای درباره ما, شرایط و ضوابط, حریم خصوصی Privacyو بازگشت و برگشت وقتی این زمینه ها خالی هستند، کپی تجاری موجود هرگز بازنویسی نمی شود.

  • جایگزین هر [Add …] و سریع و دانلود فیلم STARTER TEMPLATEATE قبل از پرتاب متوجه شوید.
  • از نام واقعی قانونی، مسیر تماس، وعده های تحقق، قوانین بازگشت، شیوه های داده ها، دوره های نگهداری و بازارهای خدمت می کنند.
  • دریافت مشاوره مناسب برای محصولات و کشورهایی که شما خدمت می کنید، استارتر راهنمایی عملیاتی است نه توصیه های قانونی.

طراحی، صفحات و ارتقاء

موضوع و طراحی صفحه

یک تم رنگ و ترکیب را انتخاب کنید، سپس تایپوگرافی تنظیم شده، پر کردن / درجه بندی، شکل ها، عرض، حرکت، و رفتار نور / تاریکی. Preview دسکتاپ و تلفن قبل از صرفه جویی.

در مورد، تماس، نمایشگاه / کتاب و حساب

هر صفحه را از بلوک های قابل سفارش بسازید، هر بلوک دارای انواع طراحی عالی است. بلوک های ادعایی مانند آمار، تیم، جوایز یا نقل قول تا زمانی که محتوای آنها درست باشد را نگه دارید.

صفحات سفارشی

عنوان، سست، قهرمان،SEOبلوک های سفارش شده؛ پیش نمایش در حالی که پیش نویس، سپس راه های ذخیره مانند سبد خرید، پرداخت، حساب و سیاست ها را نمی توان دوباره استفاده کرد.

پاپ آپ های تبلیغاتی و پانل های جانبی

یک صفحه modal با حداقل یک بلوک ایجاد کنید.طراحی حق بیمه، مرکز / سمت راست/پایین قرار دادن، بارگذاری / نوار / ماشه کلیک، پس زمینه، حرکت، عرض، کوپن و رفتار یک بار بازدید کننده نزدیک، صفحه کلید و طرح تلفن.

منوها و پابر

لینک به صفحات، محصولات، مجموعه ها، سیاست ها، اقدامات حساب / کمک و هزینه، تعدیل های زنده یا امن خارجیURLsاقلام سرسر از یک سطح کشویی / mega-menu پشتیبانی می کنند.

چت مشتری و دستورات اجتماعی

فعال کردن مشتری چت فروش، سپس انتخاب کنید که مشتریان ممکن است کجا خرید کنند. دستیار کاتالوگ را جستجو می کند و از سرور برای یک نقل قول معتبر درخواست می کند؛ سرور – نه مدل – کارت سفارش امضا شده را ایجاد می کند. تایید تنها از طریق آن کارت در وب یا تعامل تأیید شده در کانال اجتماعی اتفاق می افتد.

WhatsAppپیامبر،Instagram, TelegramLINE، SMS و X از حساب کانال ارائه دهنده به عنوان هویت کانال استفاده می کنند. ایمیل هنوز هم برای دریافت ها جمع آوری شده است. سفارش پچ قرارداد جهانی امضا شده و کل مجوز تجاری را حفظ می کند؛ پیکربندی فروشگاه جلو این قرارداد را تغییر نمی دهد.

تحلیل اطلاعات فروشگاه

بازدید کنندگان منحصر به فرد، دیدگاه های محصول، اضافه کردن سبد خرید، شروع / جمع آوری / خروجی ها / کاهش، تبدیل، سفارشات تایید شده، درآمد توسط ارز، خرید، دستگاه ها، کشورها و اموال، محصولات بالا، بازیابی و هشدارهای کیفیت داده استفاده از آشکارا برچسب زده شده رویدادهای عمومی؛ کل پول هرگز در سکوت ترکیب نمی شود.

ژنرال عمومیOpsIQ API

استفاده از کلید حامل با commerce.read; analytics.read همچنین به تجزیه و تحلیل فوری کمک می کند.فضای کاری محدود کلید معتبر است.

نوع فروشگاه دستی ( Typed Storefront)
{ "action": "commerce.storefront.get" }
{ "action": "commerce.storefront.catalog.get" }
{ "action": "commerce.pages.list", "kind": "modal", "status": "live" }
{ "action": "commerce.analytics.snapshot", "range_days": 30 }
{ "action": "commerce.readiness.get" }
{ "action": "commerce.products.list", "filters": { "active": true } }

فروشگاه جلو تنظیمات امن عمومی را برگرداندURLمنوها و حالت استارتر-review. کاتالوگ فروشگاه جلو هر تم، طراحی صفحه، نوع بلوک، ترکیب بلاک و ارتقاء حق بیمه را به طوری که سازندگان از راه دور هرگز انتخاب صفحات سفارشی و تنظیمات برتر را باز نمی کنند. Analytics بدون هویت مشتری جمع می شود.

آخرین پیش از راه اندازی درایو

  1. دسکتاپ و تلفن: خانه، جستجو، محصول / متغیرt، سبد خرید، اعتبار پرداخت، حساب، ردیابی، دانلود، در مورد، تماس، سیاست ها، دفترچه، صفحات، منوها و هر ارتقاء زنده.
  2. یک پرداخت Sandbox را تکمیل کنید و وضعیت سفارش، رسید، سهام و تحقق را تأیید کنید.
  3. یک سفارش چت مشتری و یک ارائه دهنده خدمات در هر کانال اجتماعی فعال قرار دهید.
  4. تایید این حوادث تحت سطح صحیح و ارز در اطلاعات فروشگاه ظاهر می شود.
⚠️
متن سیاست شروع یک فروشگاه غیر خالی می کند، اما نسخه قانونی را بررسی نمی کند.بازسازی هشدار می دهد تا هر بار که جایگزین شود.
فروش

رهبری

مدیران بازدید کنندگان یا مشتریانی هستند که قصد خرید و یا حمایت از آن را دارند. OpsIQ به طور خودکار نتایج را بر اساس رفتار تشخیص می دهد: بازدید از صفحه قیمت گذاری، بازگشت بازدید ها، تعاملات چت، پرداخت شروع می شود و تعامل بالا استفاده از صفحه اصلی برای اولویت بندی پیگیری و تغذیه خط لوله CRM خود.

رهبری
رهبریصفحه اصلی: یک میز جستجو با IP ایمیل، مکان، دستگاه، منبع و ستون های زمان در محل و منبع بالا و کشور.رهبریyoursite.comجستجو Search IP شهر، کشور ...منبع برتر: Google · Top Country : ایالات متحدهIP/ EMAILجشنتوسعهمنبعزمان41.62.10.4انگلستان · لندنموبایل Mobilegoogle4m12s[email protected]آمریکا · نیویورکرومیزیdirect7m02s[email protected]برلینموبایل Mobileاستفاده از:ads5m40s203.0.113.9CA · تورنتورومیزیgoogle3m28s1DETECTEDبازدید کنندگان با کیفیت بالا2TOPمنابع و کشورها3ENRICHEDIP مکان، دستگاه، زمان
صفحه اصلی، بازدید کنندگان با استعداد بالا به عنوان یک میز جستجو (IP ایمیل، محل، دستگاه، منبع، زمان در سایت با منابع و کشورهای برتر.

چه چیزی باعث می شود یک رهبری

صفحه قیمت گذاری بازدید

بازدید کنندگان که صفحه قیمت گذاری یا برنامه های شما را مشاهده می کنند، به طور فعال خرید را در نظر می گیرند.

بازدید از بازگشت

بازدیدکنندگانی که چندین بار به عقب برمی گردند، مشغول هستند اما هنوز تبدیل نشده اند.

چت تعاملات

بازدید کنندگانی که شروع به چت می کنند، به طور فعال در جستجوی کمک هستند، یا از قبل خرید و یا پس از خرید.

چک کردن شروع می شود

بازدید کنندگان که به صفحه پرداخت می رسند اما خرید را تکمیل نمی کنند.

ارسال فرم

بازدید کنندگان که فرم تماس، درخواست نسخه برداری یا فرم امضا را ارائه می دهند.

صفحه بالا

بازدیدکنندگانی که بسیاری از صفحات را با مدت طولانی مشاهده می کنند، به شدت در حال تحقیق هستند.

پنل جزئیات

روی هر سرنخ کلیک کنید تا پروفایل کامل خود را ببینید:

هویت

نام، ایمیل، شرکت اگر شناخته شده است. ناشناس نمایش می دهد IP و محل

جلسات

تمام جلسات از این سرب با جریان صفحه، مدت و منبع.

صفحات مشاهده شده

هر صفحه ای که بازدید می کردند، توسط اصلاح سفارش داده شده است.

منبع

چگونه آنها شما را پیدا کردند: ارگانیک، پرداخت شده، اجتماعی، ارجاع مستقیم.

نمره های اصلی

A A A0-100 نمره بر اساس شدت رفتار، پذیرش و هدف صفحه.

وضعیت CRM

این که آیا این سرب به CRM به عنوان یک تماس یا معامله اضافه شده است.

فروش

پیشنهاد تولید شده توسط AI در مورد آنچه که باید انجام دهید (به عنوان مثال، "قیمت گذاری دقیق"3 زمان ها · فعال بودن را در نظر بگیرید)

برچسب های راهنمای با ارزش بالا

رهبری با نمره بالا 80 یک نشان “ارزش بالا” دریافت کنید، این ها داغ ترین چشم انداز شما هستند.آنها را برای دسترسی، چت فعال یا ورود خط لوله CRM اولویت بندی کنید.

مثال های کار

کار کردن یک رهبری داغ

سناریو:
یک سرب صفحه قیمت گذاری شما را مشاهده کرد 3 زمان در 2 روزها، شروع به چت در مورد برنامه های کسب و کار، اما خریداری نشده است.
چه کاری باید انجام دهید:

این یک مسیر عالی است: (1) جزئیات رهبری خود را برای شرکت و اطلاعات نقش بررسی کنید. (2) متن چت را برای نیازها و اعتراض های خاص بررسی کنید. (3) ایجاد یک معامله در CRM با اطلاعات جمع آوری شده (4) یک کار پیگیری برای یک عضو تیم فروش را مشخص کنید. (5) اگر آنها به صفحه قیمت گذاری بازگردند، قانون چت فعال می تواند یک پیام شخصی را ایجاد کند.

تبدیل لینک های ناشناس به CRM

سناریو:
شما دارید 50 ناشناس منجر به نمرات بالا اما هیچ آدرس ایمیل.
چه کاری باید انجام دهید:

گزینه ها:1ایجاد یک قانون پیشگیرانه که تخفیف یا بارگیری منابع را در عوض ایمیل در صفحات با مسئولیت بالا ارائه می دهد.2استفاده از ویجت چت برای درخواست ایمیل زمانی که بازدید کنندگان ناشناس شروع به گفتگو.3• اضافه کردن یک توکن هویت به صفحات ورود / ثبت نام خود را بنابراین بازدید کنندگان بازگشت به طور خودکار شناسایی شده است.

نمره سرب محاسبه شده چگونه است؟+

نمره در نظر می گیرد: پذیرش بازدید (recent = بالاتر)، فرکانس بازدید (بیشتر = بالاتر)، صفحات مشاهده شده (pricing/checkout = بالاتر), مدت جلسه (longer = بالاتر)؛ تعاملات چت (engaged = بالاتر).

آیا می توانم قوانین امتیازدهی را سفارشی کنم؟+

بله، در پیکربندی CRM، می توانید قوانین هدایت را اضافه کنید که بر اساس کلمات کلیدی خاص، رویدادها، منابع یا الگوهای صفحه امتیاز را افزایش می دهد.

وب‌گاه رسمی شرکت CRM

CRM شما در اینجا شروع می شود

OpsIQ یک CRM کامل AI-first را که حقیقت مشتری، داده ها، امتیازات، معاملات، درآمد پیش بینی شده و با هوش وب سایت، پشتیبانی، بلیط ها، محصولات و پرداخت ها را به عنوان یک نمودار زنده جذب می کند، هر اقدام AI منبع، قابل توضیح، برگشت پذیر و کنترل شده است.

CRM
AI CRMیک Trust Dial در کنار چهار کارت عامل AI قرار دارد: Steward، Prospector، Retention و Analysis.CRMفضای کاریاعتماد به Dialدستیخلبان Copilotخلبان خودکارچقدر AI به تنهایی انجام می دهد.دی| Stewardدائوپ، غنی،اعتبار داده هاSDRآینده نگرپیدا کردن و نمرهکسب و کار جدید.آر تیبازگشتدانلود بازی Spotingبازسازی رانندگی. نهتحلیلگر تحلیلگرانپیش بینی وتوضیح اعداد1AI-FIRSTچهار عامل متخصص2YOU DECIDEاستقلال دی3TRUSTEDمنبع و برگشت پذیر
CRM اول AI توسط چهار عامل متخصص و یک اعتبار دی دی که تصمیم می گیرد تا چقدر به تنهایی انجام دهند، اجرا می شود.

صفحات CRM

AI CRM(Command Center)

اینجا شروع کنید

صفحه نمایش روزانه خانه شما: پالس درآمد، آنچه که AI پیدا کرد، صف تایید، حرکت های بعدی، سلامت عامل و ROI.

تماس ها

هسته

افراد و شرکت ها در CRM شما، جستجو، فیلتر، نمره و مدیریت پروفایل.

خط لوله

هسته

هیئت مدیره قرارداد بصری با مراحل کشیدن و رها، احتمال برنده شدن و مربیگری AI.

پیش بینی و گزارش

هسته

پیش بینی درجه هیئت مدیره: متعهد، احتمالا بهترین مورد، با فواصل اطمینان و پیگیری دقت.

چرخه زندگی

هسته

در جایی که هر مشتری می ایستد: فعال، در معرض خطر، گسترش آماده، تمدید به علت یا ریزش.

CRM من را بسازید

کنفدراسیون

نرم افزار CRM خود را به زبان انگلیسی ساده توصیف کنید. OpsIQ یک برنامه برگشت پذیر ایجاد کنید و آن را در تایید اعمال کنید.

سلامت CRM

بازی Ops

صفحه خود چک: طرح، عوامل، مسیرهای، اقدامات AI و شمارش داده های زنده.

چگونه OpsIQ شما را امن نگه می دارد

قبل از عمل بپرسید

پیشنهادات AI به صف تایید می رود، شما تأیید، ویرایش یا رد هر یک از آنها بدون گفتن شما اتفاق نمی افتد.

هرگز بیش از حد نوشتن

هنگامی که AI یک تغییر را پیشنهاد می کند، ارزش فعلی و ارزش پیشنهادی را نشان می دهد.اطلاعات انسانی مورد حمایت اثبات قرار گرفته است.

همه چیز برگشت پذیر است

هر اقدام AI در مجله ثبت شده است.شما می توانید هر گونه تغییر را با یک کلیک خنثی کنید.

توضیح قابل توضیح

هر توصیه AI استدلال و منابع داده ای که استفاده می شود را نشان می دهد.

نام تجاری جدید؟ شروع کنید

1
باز کردن CRM AI

روی AI CRM در ناوبری چپ کلیک کنید.مرکز فرماندهی وضعیت فعلی شما را نشان می دهد.

2
بررسی CRM Health

Open CRM Health برای تأیید طرح، عوامل و مسیرهای آماده است.

3
ارتباطات واردات

اگر اتصال فعال باشد (Shopify, WHMCS و غیره)، تماس ها به صورت خودکار وارد می شوند، در غیر این صورت، واردات از طریق CSV یا به صورت دستی ایجاد کنید.

4
ایجاد یک خط لوله

به خط لوله بروید و اولین خط لوله خود را با مراحل (به عنوان مثال، سرب، واجد شرایط، پیشنهاد، مذاکره، برنده، از دست رفته) ایجاد کنید.

5
اولین معامله خود را اضافه کنید

یک معامله را از یک تماس ایجاد کنید، مقدار و مرحله را تنظیم کنید و اجازه دهید مربی معامله شما را راهنمایی کند.

آیا باید از CRM استفاده کنم؟+

CRM اختیاری است. OpsIQ به طور کامل به عنوان یک پلت فرم ردیابی + AI بدون CRM کار می کند، زمانی که شما آماده مدیریت فروش و روابط مشتری هستید.

آیا CRM بدون کانکتورها می تواند کار کند؟+

بله، شما می توانید ارتباطات و معاملات را به صورت دستی ایجاد کنید.ک.ک با داده های پلتفرم (سفارش ها، اشتراک ها، بلیط) CRM را غنی سازی کنید اما لازم نیست.

لایه اعتماد چیست؟+

لایه اعتماد سیستم ایمنی است که کنترل آنچه AI می تواند انجام دهد. Copilot Mode (default): AI پیشنهاد می کند، حالت Autopilot انسان (opt-in): هوش مصنوعی به طور خودکار در عملیات های کم خطر و برگشت پذیر عمل می کند.

وب‌گاه رسمی شرکت CRM

صفحه نمایش خانه AI CRM

مرکز فرماندهی، خلاصه روزانه شما است.هر روز صبح آن را باز کنید تا ببینید چه اتفاقی افتاده است، چه چیزی نیاز به توجه دارد و چه کاری باید انجام دهید.

مرکز فرماندهی
مرکز فرماندهی CRMخانه CRM با پیش بینی / Win-rate/Pipeline toggles، یک KPI پیش از تنظیم وزن و یک صف پیشنهاد AI با Approve و Disft در هر ردیف.مرکز فرماندهی CRMفضای کاریپیش بینی پیش بینینرخ برندهخط لولهاین Q۷۴ دلار87%پیشنهادات AI · تایید صفایجاد قرارداد · Acme $24kاز چت با خریدارتاییدعدم فرارحرکت Nimbus→پیشنهاد پیشنهادیپاسخ مثبت تشخیص داده شدهتاییدعدم فرارتابع Log Task · دنبال کردن تا اوجهیچ فعالیتی در 7 روزهای روزتاییدعدم فرار1TOGGLEپیش بینی · نرخ برنده · خط لوله2AI PROPOSESمعامله، مراحل، وظایف3YOU DECIDEApprove یا Disft
مرکز فرماندهی واقعی: بین پیش بینی، نرخ برنده و خط لوله تغییر دهید و صف پیشنهاد AI را کار کنید، قراردادها، حرکات مرحله ای و وظایفی که نشان می دهد را تایید یا رد کنید.

آنچه مرکز فرماندهی نشان می دهد

شماره های امروز

ارزش خط لوله، معاملات برنده / از دست رفته، سرنخ های جدید، معاملات فعال و روند درآمد، یک عکس فوری از حالت فعلی شما.

چه چیزی OpsIQ یافت شده

بینش های کشف شده AI: معاملات معلق، حساب های در معرض خطر، فرصت های جدید، مسائل کیفیت داده ها و سیگنال های بازار.

چه چیزی OpsIQ انجام شده بود

اقدامات AI (در Autopilot) یا پیشنهاد شده (در Copilot): پیشرفت های مرحله، به روز رسانی نمره، غنی سازی تماس و ایجاد کار.

نیاز به تایید

Queue of AI در انتظار تصمیم گیری شما است.هر یک نشان دهنده عمل پیشنهادی، استدلال و شواهد است. Approve، ویرایش یا رد کردن.

حرکت بعدی

لیست رتبه بندی شده AI 10 مهم ترین کارهایی که امروز باید انجام دهید: در یک معامله داغ دنبال کنید، حساب کاربری را بررسی کنید، رهبری جدید و غیره را تحقیق کنید.

وضعیت کمک کننده

سلامت عوامل هوش مصنوعی: ضبط، داده های Steward، Deal Intelligence، Deal Coach، SDR، Retention. Green = دویدن، amber = نیاز به توجه، قرمز = خطا است.

نتایج

ردیابی ROI: معاملات تحت تأثیر AI، زمان ذخیره شده، دقت پیش بینی ها و مقایسه با کار CRM دستی.

صبح مختصر گردش کار

1
شماره های امروز را بخوانید

بررسی روند سلامت و درآمد خط لوله: آیا شما در این ماه پیگیری می کنید؟

2
وضوح صف تایید

هر پیشنهاد AI را بررسی کنید، اقدامات ایمن را انجام دهید، ویرایش کنید که در آن مورد نیاز است، پیشنهادات بد را رد کنید.

3
چک کنید چه OpsIQ یافت شده

آیا هرگونه معامله در معرض خطر است؟ آیا فرصت های جدیدی وجود دارد؟

4
لیست بعدی حرکت ها را اجرا کنید

با اولویت اول شروع کنید. AI این را به صورت فوری و تاثیر بالقوه رتبه بندی کرده است.

گرفتن پس از گذشت زمان

سناریو:
یک هفته از شما دور بودید، در حالی که رفته اید چه اتفاقی افتاد؟
چه کاری باید انجام دهید:

مرکز فرماندهی را باز کنید و بررسی کنید:1» آنچه »OpsIQ این کار تمام اقدامات AI را در طول غیبت شما نشان می دهد.2"تأصیه های لازم" نشان دهنده پیشنهادهایی است که منتظر بررسی شما هستند.3» آنچه »OpsIQ پیدا شده " موارد فوری را برجسته می کند.4• تعیین تاریخ داشبورد به دوره غیبت خود را برای دیدن روند.

وب‌گاه رسمی شرکت CRM

ارتباطات، شرکت ها و معاملات

CRM روابط تجاری شما را به چهار شیء سازماندهی می کند: تماس (مردم)، شرکت ها (سازمان ها)، معاملات (فرصت های پیشرفته) و وظایف (اقدامات پیگیری).

ویژگی های CRM
ویژگی های CRMیک رکورد تماس مرتبط با شرکت، Deal و Task Object در یک نمودار متصل.ویژگی های CRMفضای کاریتماس با Contact• ایمیل · تلفنشرکت Companyaccountsمعاملهفرصت های درآمدوظیفهپیگیری عمل1OBJECTSتماس ها، شرکت ها، معاملات2LINKEDOne link3TASKSپیگیری های مرتبط
چهار شیء اصلی (تماس، شرکت ها، معاملات و وظایف) به یک نمودار مشتری متصل مرتبط ارتباط دارند.

تماس ها

چه چیزی یک تماس است

یک فرد در CRM شما ممکن است مشتری، چشم انداز، شریک یا یک سرب باشد. تماس ها دارای ایمیل، نام، شرکت، تگ ها، مرحله چرخه عمر و نمره گرم هستند.

پیدا کردن تماس

از نوار جستجو برای پیدا کردن با نام، ایمیل، شرکت یا برچسب ها استفاده کنید: مرحله چرخه عمر، نمره سرب، منبع، کشور، آخرین تاریخ فعالیت، مالک اختصاص داده شده.

پروفایل تماس

یک تماس را برای دیدن نمایه کامل خود کلیک کنید: اطلاعات شخصی، شرکت، معاملات، فعالیت ها، بلیط ها، چت ها، بازدید های وب سایت، نمره سرب و بینش AI.

نمره Hotness

A A A0-100 امتیاز محاسبه شده از سیگنال های رفتاری: بازدید وب سایت، تعامل ایمیل، تعاملات چت، تاریخ خرید و پذیرش بالاتر = گرم تر است.

شرکت های تجاری

بلیط های بیشتر ...
ارتباط با شرکت-company

تماس ها با شرکت های دامنه ایمیل یا تخصیص دستی مرتبط هستند.یک شرکت می تواند ارتباطات زیادی داشته باشد.

معامله

چه چیزی یک معامله است

یک فرصت درآمد. معامله ها دارای عنوان، مقدار، خط لوله، مرحله، احتمال برنده شدن، تاریخ نزدیک، مالک اختصاص داده شده و تماس های مرتبط / شرکت هستند.

احتمال برنده شدن

درصد شانس برنده شدن در معامله را به صورت دستی یا محاسبه شده توسط AI بر اساس داده های پیروزی تاریخی خود را.

سلامت معامله

سبز (سالم)، Amber (در معرض خطر) یا قرمز (بر اساس گرایش فعالیت، مدت زمان مرحله و سیگنال های نامزدی.

وظایف

چه کاری است

یک اقدام پیگیری که به شخص اختصاص داده شده است، وظایف دارای عنوان، تاریخ، اولویت، نوع (تماس، ایمیل، جلسه، دیگر) و ارتباط تماس / معامله مرتبط هستند.

کارهای تولید شده AI

AI زمانی که چیزی را تشخیص می دهد به طور خودکار وظایفی ایجاد می کند: در یک معامله معلق دنبال کنید، به حساب ریسک پاسخ دهید، یک سرب جدید تحقیق کنید.

یافتن سرنخ های داغ

سناریو:
شما می خواهید تمام تماس های با هسته بالا را در انگلستان ببینید که اخیراً مورد تماس قرار نگرفته اند.
چه کاری باید انجام دهید:

به تماس با فیلتر بروید: نمره سرب> 80 کشور = انگلستان، آخرین فعالیت > 7 روزها قبل، مرتب کردن با نمره ی بالا، این ها داغ ترین سرنخ های نادیده گرفته شده شما هستند و اولویت بندی می کنند.

ایجاد یک معامله از یک تماس

سناریو:
یک تماس فقط علاقه خود را به طرح کسب و کار شما در طول چت ابراز می کند.
چه کاری باید انجام دهید:

پروفایل تماس را باز کنید. Click “Create Deal” وارد عنوان معامله (به عنوان مثال، “Acme Corp – Enterprise Plan”)، مقدار، خط لوله و مرحله (برای مثال، "Qualified")، تاریخ نزدیک را تنظیم کرده و آن را به خودتان اختصاص دهید. The Deal Coach شروع به ردیابی این فرصت خواهد کرد.

وب‌گاه رسمی شرکت CRM

خط لوله (Tyt)

خط لوله یک هیئت بصری است که در آن معاملات از مراحل سمت چپ به راست حرکت می کنند. کشیدن و رها کردن کارت برای پیشبرد معاملات. هر کارت نشان دهنده مقدار معامله، برنده شدن احتمال و وضعیت سلامتی است.

خط لوله
خط لوله CRMصفحه خط لوله با Open-معامله، Open-value، پیش بینی وزن و آمار مربوط به ویژگی های خاص، یک دکمه جدید معامله، یک صف Approve AI و هیئت مدیره پیشرو / Qualified/Won.خط لولهفضای کاریمعاملات باز23ارزش باز128kپیش بینی وزن۷۴ دلارقراردادهایی که12توافق جدیدصف آپrove2 برای بررسی·Dشرکت ولت۴ دلارآتش6 دلار..مشخصهنیمبوس30 دلارقله اوج9 دلاربرنده شدمدار48k1LIVE STATSارزش باز و پیش بینی وزن2AI QUEUEپیشنهاد معاملات3BOARDخرید بازی The Step
صفحه اصلی خط لوله: آمار زنده (ارزش باز، پیش بینی وزن)، یک صف AI Approve برای معاملات پیشنهادی و هیئت مدیره کشیدن و رها.

استفاده از خط لوله

1
مشاهده معاملات خود

این خط لوله نشان می دهد که تمام معاملات فعال به عنوان کارت های مرتب شده در ستون (مرحله) هر سر ستون نشان دهنده ارزش کل معاملات در آن مرحله است.

2
پیش بینی برای پیشبرد

یک کارت را به مرحله بعدی ببرید، احتمال برنده و به روز رسانی بلافاصله محاسبه می شود اگر حرکت شکست بخورد (خطای اعتباری)، کارت به موقعیت اصلی خود باز می گردد.

3
کارت های چک

نشان سبز = فعالیت سالم (فعالیت سنتی، در مسیر) امبر = در معرض خطر (کاهش، نیاز به توجه). قرمز = توقف (بدون فعالیت برای مدت طولانی).

4
Click for جزئیات

روی یک کارت کلیک کنید تا پنل جزئیات معامله را با مخاطبین، فعالیت ها، خلاصه Deal Coach و اقدامات سریع باز کنید.

صف تایید

پیشنهادات AI در صف تایید در بالای صفحه خط لوله ظاهر می شود.هر پیشنهاد نشان می دهد که هوش مصنوعی چه کاری را انجام می دهد، چرا و شواهد می توانید:

تایید

پیشنهاد را به عنوان-is بپذیرید. عمل از طریق لایه اعتماد اجرا می شود و در مجله ثبت شده است.

ویرایش Edit

پیشنهاد را قبل از اثبات اصلاح کنید، به عنوان مثال مرحله پیشنهادی را تغییر دهید یا مقدار آن را تنظیم کنید.

رد کردن

پیشنهاد را بیان کنید. AI از رد کردن ها یاد می گیرد تا پیشنهادات بهتری در آینده ایجاد کند.

احتمال برنده توضیح داد

احتمال برنده را می توان به صورت دستی یا محاسبه شده توسط AI تنظیم کرد.هنگامی که هوش مصنوعی آن را محاسبه می کند، از یک مدل آموزش دیده در معاملات بسته خود استفاده می کند (به دست آمده و از دست رفته) اگر داده های تاریخی کافی نداشته باشید، هوش مصنوعی از احتمال پیش فرض مرحله استفاده می نماید: یک پیش بینی وزن: پیش بینی کاهش یافته است: یک فرضیه وزن: یک نمونه. $10,000 معامله در 30% احتمال مشارکت $3,000 پیش بینی «مثل»

انتقال یک معامله برای برنده شدن

سناریو:
مشتری قرارداد را امضا کرد و پرداخت کرد.
چه کاری باید انجام دهید:

کارت معامله را به مرحله “Won” بکشید. OpsIQ ( خواهد بود:)1مارک معامله را به عنوان بسته ()2به روز رسانی پیش بینی (3اضافه کردن یک فعالیت “Won” به جدول زمانی.4اگر پیکربندی شده باشد، یک رویداد وب را ایجاد کنید (crm.معامله.won).5به روز رسانی مرحله چرخه عمر تماس برای "مشتری"

دانلود بازی Spottings

سناریو:
شما می خواهید معاملاتی را پیدا کنید که مدت زیادی در همان مرحله بوده اند.
چه کاری باید انجام دهید:

به دنبال نشان های قرمز (استقلال شده) در صفحه خط لوله باشید، این معاملات برای مدت طولانی تر از آستانه تخریب پیکربندی شده (تنظیم شده در تنظیمات CRM > خطوط لوله) هیچ فعالیتی نداشته اند تا توصیه مربی معامله را برای فعال سازی مجدد مشاهده کنند.

آیا می توانم چندین خط لوله داشته باشم؟+

بله، به سراغ CRM Configuration > Pipelines بروید تا موارد استفاده مشترک اضافی ایجاد کنید: خط لوله های جداگانه برای کسب و کار جدید در مقابل تمدید ها یا محصولات مختلف / خدمات.

چه اتفاقی می افتد وقتی که من یک معامله را به «از دست دادن» می کشم؟+

این معامله به عنوان یک شکست بسته مشخص شده است، شما برای یک دلیل از دست دادن درخواست می شود.این معامله از هیئت مدیره فعال حذف می شود اما در فیلتر معاملات بسته یافت می شود تماس در CRM باقی مانده است.

وب‌گاه رسمی شرکت CRM

آموزش های حرفه ای

مربی معامله هر یک از این قراردادها را تجزیه و تحلیل می کند و به شما یک خلاصه با وضعیت سلامتی، سیگنال های خطر، افراد کلیدی، چک لیست صلاحیت، ملاقات پیش پا می گذارد و اقدامات بعدی را پیشنهاد می کند. مربی نشان می دهد که کدام بلیط، چت یا فعالیت هر ادعا از آن آمده است.

مربی Deal
مربی Dealیک لیست کارت های معامله سیگنال های خطر تشخیص داده شده AI با منابع شواهد، در کنار توصیه AI و دکمه پیش نویس ایمیل.مربی Dealفضای کاریشرکت Acme Corp $24,000مرحله: پیشنهاد · 60% برندهسيگنال هاي خطرهیچ پاسخی در 10 روزهای روزقهرمان ساکت شدCompetitor ذکر شده در چتمنبع: بلیط #482 چت چت 6/12 ایمیل ThreadAI توصیه می کندبازگشت اقتصادخریدار با یک بازگشت سرمایهو 7- برنامه روزانه نزدیکپیش نویس ایمیل1SIGNALSچرا یک معامله ممکن است سقوط کند2SOURCEDهر ادعایی به شواهد اشاره می کند3Actionگام بعدی One-Click Next
پرچم مربی به این دلیل است که یک معامله ممکن است سقوط کند (هر سیگنال منبع آن را ذکر می کند) و شما را در حرکت بعدی برای انجام.

مربی به شما چه می گوید

توضیح سلامت

چرا این معامله سالم است، در معرض خطر یا سیگنال های خاص قرار می گیرد: روزهای مرحله، آخرین تاریخ تماس، فرکانس فعالیت، اشاره های رقیب، الگوهای اعتراض.

سیگنال ها

کاتاتوریزه شده در: اعتراض های مطرح شده، اشاره های رقیب، بحث قیمت گذاری، حمایت از شاخص های خطر، تجدید / سیگنال های توضیحی.هر سیگنال لینک به منبع آن (چنگ، رونویسی، بلیط، ایمیل، فعالیت).

نقشه قهرمان و بلوک

چه کسی به معامله (قهرمان) کمک می کند و بر اساس تجزیه و تحلیل تعامل و نقش های تماس مقاومت می کند.

چک لیست صلاحیت

چک لیست MEDDICC یا BANT (قابل تنظیم) که نشان می دهد کدام معیار صلاحیت برآورده شده و از دست رفته است: A، B، C، D یا F.

جلسه مقدماتی

قبل از جلسه برنامه ریزی شده، مربی یک خلاصه تولید می کند: دستور کار، نکات کلیدی برای پوشش، سوالات برای پرسیدن، خطرات رسیدگی و مواد آماده سازی.

پاسخ دادن و برنامه های تماس

پیام بعدی یا اسکریپت تماس بر اساس حالت فعلی معامله و تعاملات اخیر.

جدول زمانی شواهد

هر ادعا که مربی لینک به یک منبع: شماره بلیط، رونویس چت ID، تاریخ فعالیت یا بازدید از وب سایت.

چگونه از مربی استفاده کنیم

1
خلاصه را بخوانید

هر معامله و پیمایش را به بخش مربیگری معامله باز کنید. وضعیت سلامت و سیگنال های کلیدی را بخوانید.

2
فاصله های نزدیک صلاحیت

چک کردن چک لیست صلاحیت اگر " خریدار اقتصادی" گم شده است، برنامه ریزی برای شناسایی و مشارکت دارنده بودجه.

3
قانون در پیشنهادات

مربی پیشنهاد می کند اقدامات بعدی مشخص را انجام دهید.برای ایجاد یک کار، پیش نویس ایمیل یا برنامه ریزی جلسه، همه از طریق صف تایید مسیر گرفته شده است.

آماده سازی برای یک جلسه بزرگ

سناریو:
شما یک جلسه با چشم انداز فردا در مورد $50,000 معامله
چه کاری باید انجام دهید:

این کار را باز کنید و بخش Prep جلسه را بخوانید. ()1نکات کلیدی صحبت کردن بر اساس تعاملات اخیر2• اعتراض هایی که در هفته گذشته در چت مطرح کردند.3• صلاحیتی که آنها در یک بلیط پشتیبانی ذکر کردند.4پرسش هایی که باید در مورد جدول زمانی خود بپرسید.5عوامل خطر برای رسیدگی فعالانه از این خلاصه برای آماده سازی یک برنامه متمرکز و مبتنی بر شواهد استفاده کنید.

درک اینکه چرا یک معامله در خطر است

سناریو:
این خط لوله نشان قرمز در توافقی که فکر می کردید خوب پیش می رود را نشان می دهد.
چه کاری باید انجام دهید:

بر روی معامله کلیک کنید و توضیح سلامت مربی را بخوانید، ممکن است بگوید: "این توافق در مرحله پیشنهادی برای انجام این کار بوده است. 22 روزها (تقاد: 14 آخرین تماس بود. 11 روز ها پیش، تماس اولیه یک بلیط پشتیبانی در مورد نگرانی های مربوط به مهاجرت داده باز کرد. 5 روزهای پیش (انگلیسی:t-T)892 پیشنهاد: به نگرانی مهاجرت توجه کنید و یک تماس پیگیری را برنامه ریزی کنید.اکنون شما دقیقا می دانید که چه چیزی باید اصلاح شود.

وب‌گاه رسمی شرکت CRM

پیش بینی و گزارش

پیش بینی درجه هیئت مدیره با طیف قابل دفاع، توضیحات تغییر سطح توافق و ردیابی دقت به طوری که شما می توانید اعداد خود را ثابت و توضیح دهید.

پیش بینی پیش بینی
پیش بینی پیش بینییک شماره پیش بینی سه ماهه با گروه های متعهد، بهترین کیف و خط لوله و دقت دقیق.پیش بینی پیش بینیفضای کاریاین QUARTER312k87% هدف گذاریتعهدبهترین پروندهخط لولههوش مصنوعی با دقت معامله سلامت و تاریخ · دقت ردیابی شده در طول زمان1*مشارکت هامتعهد به خط لوله2AI-WEIGHTEDبا معامله سلامت3PROVABLEدقت ردیابی شده
متعهد، بهترین کیف و خط لوله در یک نگاه، AI با دقت پیگیری شده است تا بتوانید از آن دفاع کنید.

دسته های پیش بینی

تعهد

معامله با 80% یا احتمال برنده شدن بالاتر، این ها محتمل ترین پیروزی های شما هستند.این باید حداقل درآمد مورد انتظار شما باشد.

AI-weighted احتمالا

همه معاملات باز با احتمال برنده شدن AI-calculated خود وزن می کنند، این واقعی ترین پیش بینی از آنچه شما نزدیک خواهید شد است.

بهترین پرونده

همه معاملات باز با ارزش کامل است، این حداکثر درآمد ممکن است اگر همه چیز به طور کامل باشد (به ندرت انجام می شود).

فاصله اعتماد

سال 80% نوار احتمالی که محدوده واقعی را نشان می‌دهد. مثال: "شما احتمالاً بین $45,000 و $72,000"اين ربع"

چه چیزی تغییر کرد و چرا

این پیش بینی شامل تغییر بیش از هفته ای می شود که در آن زمان پیش بینی شما کاهش می یابد. $15,000 این گزارش دقیقاً توضیح می دهد که چه معامله ای باعث تغییر شده است: «Deal A تا سه ماهه بعدی افت کرد» (Deal a)$8,000 ب گم شده (B از دست رفته)$5,000 معامله C به ارزش کاهش یافته ()$2,000)."

دقت ردیابی

پیش بینی MAPE

خطای درصد مطلق: چقدر پیش بینی های شما از نظر تاریخی پایین تر بوده است. A MAPE 15% به این معنی است که پیش بینی های شما معمولا در داخل هستند.15% نتایج واقعی

قابلیت های Multiulation

امتیاز Brier اندازه گیری می کند که چگونه احتمال برنده شدن با نتایج واقعی مطابقت دارد.70% احتمال برنده شدن در واقع 70% از آن زمان، کالیبراسیون خوب است.

عکس های Weekly

OpsIQ هر هفته یک عکس فوری از پیش بینی شما (از طریق cron) را ضبط می کند، می توانید ببینید که دقت پیش بینی تان چگونه بهبود می یابد.

آگهی ها و هشدارها

تبدیل مرحله ای

چند معامله از هر مرحله به مرحله بعدی منتقل می شود اگر 80% از واجد شرایط بودن به پیشنهاد، اما فقط 20% از پیشنهاد برای مذاکره، پیشنهادات شما ممکن است به کار نیاز داشته باشد.

نرخ برنده شدن با منبع

کدام منابع سرب بیشترین سود را تولید می کنند.در منابع با قیمت بالا سرمایه گذاری بیشتری انجام دهید.

عملکرد تک- مالکان

چگونه هر عضو تیم فروش در حال انجام است: معاملات برنده، ارزش خط لوله، اندازه متوسط معامله، نرخ پیروزی.

هشدار

Sandbtag (که به طور واقعی کم است)، اضافه کردن (به صورت غیر واقعی بالا) و متعهد در معرض خطر (توافق های با قابلیت بالا نشان دادن سیگنال های غرفه).

درک یک افت پیش بینی شده

سناریو:
پیش بینی سه ماهه شما از $180,000 برای $155,000 از هفته گذشته
چه کاری باید انجام دهید:

صفحه پیش بینی را باز کنید و بررسی کنید که چه چیزی تغییر کرده است.$15,000• به سمت از دست رفته، رقیب انتخاب شده در معامله شرکت بتا ($8,000• تاریخ نزدیک به سه ماهه بعدی قرارداد جدید با گاما LLC ($3,000 این هفته اضافه شده است.»$20,000 + $3,000 = -$17,000 توضیح کاهش از $80K به $163K (با باقی مانده 8K توضیح داده شده با تنظیمات احتمال در معاملات دیگر).

وب‌گاه رسمی شرکت CRM

پیدا کردن کسب و کار جدید

عامل آینده به شما کمک می کند تا مشتریان بالقوه خود را پیدا و تحقیق کنید.در مورد مشتری ایده آل خود، شرکت های هدف اضافه کنید و اجازه دهید تحقیقات AI، نمره و پیش نویس برای اولین بار لینک سازی شود.

آینده
آیندهلیستی از شرکت های چشم انداز AI با یادداشت های مناسب، نمرات و یک دکمه پیش نویس هر کدام.آیندهفضای کاریآینده های پیدا شده توسط عامل SDRنورث ویندSaaS · 50 کارکنان · پشتیبانی استخدام88پیش نویس Outکبالت Mfgتولید · 200 کارکنان74پیش نویس Outفروشگاه Mesaتجارت الکترونیک · 30 کارکنان69پیش نویس Outوبگاه سلامتبهداشت و درمان · 80 کارکنان63پیش نویس Out1FINDمنابع AI Target account2امتیازFit & Target رتبه بندی شده3DRAFTاولین نوشته شده برای شما
عامل SDR شرکت های هدف را پیدا می کند، آنها را در تناسب قرار می دهد و پیش نویس اولین قابلیت لمسی برای بررسی شما است.

یک بار تنظیم

1
مشتری ایده آل خود را توصیف کنید

به CRM Configuration > Prospecting بروید و پروفایل مشتری ایده آل خود را توصیف کنید (ICP): صنایع هدف، اندازه شرکت ها، عناوین شغلی، تمرکز جغرافیایی، شرایط مطابقت محصول و حداقل نمره مناسب.50-500 کارکنان در ایالات متحده / بریتانیا، فروش ابزار توسعه دهنده، با معاون فروش یا رئیس رشد به عنوان تماس اولیه.

2
Add Target Company

دامنه های شرکت یا نام هایی که می خواهید تحقیق کنید را وارد کنید، همچنین می توانید اجازه دهید AI شرکت ها را بر اساس ICP شما پیشنهاد کند.

3
نتایج تحقیقات

AI هر شرکت را با داده های موجود غنی می کند: اندازه، صنعت، پشته تکنولوژی، اخبار اخیر و نمره مناسب با توضیح.

4
Approve Outibility

برای شرکت های خوب، AI پیش نویس یک پیام اول لمسی شخصی شده است.

نمره مناسب

هر چشم انداز یک0-100 نمره مناسب بر اساس پنج عامل:

ICP مناسب

چقدر خوب است که شرکت با پروفایل مشتری ایده آل شما (صنعت، اندازه، مکان) مطابقت داشته باشد.

سیگنال های اضطراری

آیا شواهدی وجود دارد که آنها در حال حاضر به محصول شما نیاز دارند؟ پست های شغلی، تغییرات تکنولوژی، شکایات مربوط به رقبا.

بودجه پروکسی

اندازه شرکت، مرحله بودجه و شاخص های درآمد نشان می دهد دسترسی به بودجه.

بازی محصول

محصول شما چقدر به کسب و کار خود بر اساس صنعت و تکنولوژی مربوط می شود.

پشتیبانی مناسب

این که آیا شما می توانید به طور موثر به این مشتری (منطقه زمانی، زبان، پیچیدگی) خدمت کنید.

تحقیق در مورد یک شرکت هدف

سناریو:
شما می خواهید ارزیابی کنید که آیا acme.com ارزش دنبال کردن دارد.
چه کاری باید انجام دهید:

Add Add acme.com به لیست چشم انداز: AI بازگشت می کند: نمره Fit 78/100 دلایل خوب: B2B SaaS 120 کارکنان، مستقر در ایالات متحده، اخیرا یک معاون فروش استخدام کردند (نشانه های اضطراری)، از رقیب X (ویژگی محصول) استفاده می کنند: دو بار در ماه گذشته به صفحه قیمت گذاری خود مراجعه کنید (از ردیابی وب سایت). [email protected] (VP of Sales) پیش نویس به بازدید های اخیر خود از صفحه استخدام و قیمت گذاری ارجاع می دهد.

وب‌گاه رسمی شرکت CRM

دنباله های اتوماتیک پیگیری

توالی ها پیگیری چند مرحله ای را خودکار می کنند: ترکیبی از ایمیل، صبر، کار، تماس و گام های وب تکان دهنده که به طور خودکار پس از تایید ارسال اولیه اجرا می شوند.

دنباله‌ها
دنباله های پیگیریجریان توالی افقی: ایمیل، سه روز صبر کنید، ایمیل، سپس یک کار با تشخیص پاسخ.دنباله های پیگیریفضای کاریپس از تایید اولین ارسال→ایمیلمعرفیصبر و انتظار3 روزهای روزایمیلپیگیریوظیفهفراخوانیگام ها می توانند ایمیل، صبر، کار یا وب را فریب دهند.پاسخ خودکار به توالی پایان می دهد.1AUTOMATEپیگیری چند مرحله ای2STEPSایمیل · صبر کنید · وب سایت را تکان دهید3YOU APPROVEاولین ارسال در دروازه
پیگیری چند مرحله ای خودکار (mail، Wait، ایمیل، وظیفه) که شما ابتدا تایید می کنید و پاسخ به طور خودکار متوقف می شود.

چگونه توالی ها کار می کنند

1
ایجاد یک توالی

مراحل را تعریف کنید: ایمیل، صبر کنید 3 روزها، ایمیل، صبر کنید 5 روزها، کار (اگر هیچ پاسخی نداشته باشید)، ایمیل هر مرحله ایمیلی دارای یک الگو است که می توانید سفارشی کنید.

2
تماس های ثبت نام

همچنین به مسیر اضافه کنید. AI ممکن است ثبت نام از نتایج چشم انداز را پیشنهاد کند.

3
اجرای خودکار

مراحل به طور خودکار در برنامه اجرا می شوند اگر یک تماس پاسخ دهد، توالی به صورت خودکار متوقف می شود.

4
نتایج Track

نرخ های باز، نرخ پاسخ، نرخ تبدیل و بدون زیرمجموعه در هر مرحله را ببینید.از این برای بهینه سازی توالی خود استفاده کنید.

پاسخ دادن به درک

هنگامی که یک تماس پاسخ می دهد، AI پاسخ را طبقه بندی می کند:

مثبت

علاقه مند، می خواهد صحبت کند. مکث های بی نظیر، کار ایجاد شده برای پیگیری.

اعتراض

نگرانی دارد اما رد نمی کند. Sequence مکث می کند، وظیفه ای که با جزئیات اعتراض ایجاد شده است.

بی تردید

می خواهید پیام های دریافت کننده را متوقف کنید.تماس به طور دائمی سرکوب شده است.

نه اکنون

زمان بندی شده اما اشتباه است. مکث های بی نظیر، کار خروپف ایجاد شده است.

اشتباه شخص

نه تماس درست متوقف می شود، تماس برای بررسی پرچم دار شده است.

پشتیبانی

یک سوال حمایتی، نه پاسخ فروش.سیquence مکث می کند، بلیط ایجاد شده است.

حفاظت از ضد اسپم

گزینه-out

درخواست های غیر رسمی بلافاصله مورد احترام قرار می گیرند و تماس از تمام توالی های آینده سرکوب می شود.

روزانه ارسال کلاه

محدودیت روزانه محیط کار (default): 1,000 ایمیل ها) جلوگیری از ارسال انبوهی که باعث ایجاد فیلترهای اسپم می شود.

محدودیت تماسی

حداکثر حداکثر 1 پیام در هر تماس در روز جلوگیری از افراد بزرگ است.

Over-cap

گام هایی که از کلاه روزانه تجاوز می کنند، به روز بعد منتقل می شوند و هرگز از بین نمی روند.

چه اتفاقی می افتد اگر یک تماس در طول یک مسیر بلیط پشتیبانی باز کند؟+

این توالی به طور خودکار مکث می کند.حمایت اولویت بیش از حد توسعه را دارد.این دنباله می تواند پس از حل مسئله پشتیبانی، به صورت دستی از سر گرفته شود.

آیا می توانم گام های توالی A/B را امتحان کنم؟+

نه به طور مستقیم در رشته ها، بلکه شما می توانید دو توالی با پیام های مختلف ایجاد کنید و نتایج آنها را مقایسه کنید.

وب‌گاه رسمی شرکت CRM

ابزارهای رشد

یک صفحه تحت CRM که موتور رشد را در خود دارد: درآمد تکراری (MRR/ARR)، کاتالوگ محصول، فرم های سرب-capture، لینک رزرو و مسیریابی هدایت همه چیز در اینجا به طور مستقیم به CRM می نویسد، بنابراین ارسال فرم یا تماس کتاب شده ارتباط با تاریخ است، نه ردیف در یک صفحه گسترده.

چه چیزی در صفحه زندگی می کند

بازگشت درآمد

درآمد

MRR و ARR که از حساب واقعی شما پیش بینی می شود، اشتراک ها از پرداخت به هر پلت فرم دسته بندی می شوند، چرخه صورتحساب از شکاف های پرداخت حذف می شود و زمانی که پرداخت بیش از حد گذشته است.1.5زمان چرخه آنCRMبه طور خودکار تماس بگیرید زمانی که دفتر مرکزی ایمیل خود را حمل می کند.

کاتالوگ محصول

فهرست

یک منبع حقیقت برای آنچه که می فروشید، نقل قول ها نام و قیمت لیست را از کاتالوگ می برند و نقل قول های پذیرفته شده توسط محصول به درآمد می رسند.

فرم های سرب-capture

ثبت نام

هر فرم یک صفحه میزبانی شده به علاوه یک کد جاسازی iframe برای سایت خود شما می گیرد. ارسال ها تبدیل به تماس، مالک دریافت اعلان و قوانین مسیریابی شما هدایت می شود.

لینک های رزرو

دانلود بازی Scheduling

یک لینک را به اشتراک بگذارید، اجازه دهید چشم انداز یک اسلات رایگان انتخاب کند. شکافها به ساعت های کاری سازمان دهنده، منطقه زمانی و جلسات موجود احترام می گذارند. رزرو جلسه را ایجاد می کند، ایمیل ها تأییدی را ارائه می دهند و سازمان دهندگان را تایید می کنند.

مسیریابی پیشرو

مسیریابی

قوانین منطقه اول اجرا می شود، سپس قوانین زمینه (مسابقه ای مانند کشور یا منبع)، سپس گرد و بر روی هر استخر نماینده خود را اجرا کنید.این مسیر به طور یکسان با هم ارتباط دارد و هر گونه وضعیت معامله برنده هنوز نیاز به صاحب کمیسیون است، مسئولیت حساب و پیگیری، و در مالک یا حالت دید گروهی یک رکورد غیر قابل مشاهده است که مالک هدایتگر (به فروش بدون هیچ وجه نیازی به ذخیره سازی ندارد) دارد تا یک اتصال مجدد ایجاد کند.

اولین فرم خود را بسازید

1
ابزارهای رشد باز

به CRM، سپس ابزار رشد، سپس بخش فرم های سرب-کاپیتال بروید.

2
نام آن و انتخاب فیلد

یک نام و لیست فیلد های پیچیده را تایپ کنید، مثلاً نام ایمیل، تلفن، اسپم ها همیشه لازم است.

3
اشتراک گذاری یا جاسازی

لینک میزبانی شده را کپی کنید تا آن را در هر نقطه به اشتراک بگذارید، یا کد جاسازی شده را نسخه کرده و آن را به هر صفحه ای از وب سایت خود بچسبانید.

4
بازدید از View منجر به رسیدن

هر ارسال یک تماس CRM با یک فعالیت فرم است. submate، اطلاع رسانی مالک و مسیریابی خودکار.

💡
صفحات ضبط عمومی از آدرس خود Workspace استفاده می کنند. Cloud workspaces از subdomain اختصاص داده شده (company) استفاده می کند.opsiq کمک، بنابراین لینک همیشه داده های درست را حل می کند.

محافظت داخلی

ربات ها موفقیت را می بینند، هیچ چیز نمی بینند

یک فیلد عسل مخفی به آرامی ارسال های ربات را دور می کند.

نرخ محدود

10 ارسال در هر ساعت IP در مورد فرم ها و رزروها صحبت کنید.

صداقت باقی می ماند

ارسال یک فرم رضایت بازاریابی را نمی دهد.تنها چک باکس رضایت صریح است.

رزرو دوگانه

یک اسلات در برابر چک دسترسی تازه در لحظه رزرو دوباره به دست می آید.

اطلاعات درآمد تکراری از کجا می آیند؟+

از همان دفتر بازرگانی، صفحه فروش شما استفاده می کند و توسط کانکتورهای صورتحساب تغذیه می شود.از لایحه پس از اتصال یک پلت فرم جدید استفاده کنید.

آیا می توانم بدون وب سایت از فرم ها استفاده کنم؟+

بله، هر فرم دارای یک صفحه میزبانی شده در آدرس خود است که مستقل کار می کند یا بدون آن. JavaScript.

وب‌گاه رسمی شرکت CRM

پیام های Hub (SMS و WhatsApp)

یک کانکتور، تا بیست دروازه اتصال SMS و ارائه دهندگان WhatsApp که شما در واقع استفاده می کنید، علامت یکی به عنوان پیش فرض، و انتخاب هر یک از آنها زمانی که متن تماس بررسی شده توسط CRM قبل از هر دروازه تماس گرفته است.

تنظیم آن

1
فعال کردن کانکتور

در صفحه کانکتور، Open Messaging Hub (SMS و WhatsApp) و آن را فعال کنید.

2
اضافه کردن یک ارائه دهنده

در همان کشو، یا در ابزار رشد CRM، یک دروازه را از کشویی (Twilio، Vonage، Termii، Meta WhatsApp Cloud، Infobip و موارد دیگر) انتخاب کنید. API اعتبار و اتصال شما می توانید چندین، از جمله همان دروازه دو بار با حساب های مختلف اضافه کنید.

3
دانلود بازی Wire The webhook

هر ورودی ارائه دهنده وب سایت خود را نشان می دهد URL با یک دکمه کپی، آن را به پورت تحویل دروازه و تنظیمات ورودی ارسال کنید تا وضعیت تحویل را دریافت کرده و پاسخ دهید. OpsIQ.

4
ارسال از یک تماس

یک تماس را باز کنید و از دکمه SMS یا WhatsApp استفاده کنید اگر بیش از یک ارائه دهنده از کانال پشتیبانی کند، یک انتخاب کننده به شما اجازه می دهد تا انتخاب کنید؛ در غیر این صورت پیش فرض مورد استفاده قرار می گیرد.

اولین بار

رضایت فقط

رضایت ناشناخته موافقت نمی کند، یک ارسال امتناع می کند مگر اینکه رضایت SMS به طور واضح اعطا شود. WhatsApp همان موافقت را انجام می دهد.

همیشه برنده باش نه تماس همیشه

پرچم do-not-call هر کانال را مسدود می کند، مهم نیست که چه چیز دیگری تنظیم شده است.

حمایت از

تماس ها در لیست سرکوب هرگز پیام نمی شود.

نام انگلیسی: Refusals Name

یک پیام مسدود شده دقیقا به شما می گوید که چرا، بنابراین شما می توانید داده ها را به جای حدس زدن اصلاح کنید.

برای توسعه دهندگان: قرارداد وب سایت Shake

URL شکل

https://your-address/opsiq/cron/messaging_webhook.php?sk=SITE_KEY&e=ENTRY_ID&t=TOKEN. توکن ورودی زمانی که ارائه دهنده متصل است استخراج می شود و هرگز بر روی ویرایش چرخش نمی کند.

قالب های درک شده

Twilio form posts (MessageStatus/MessageSid for delivery, Body/From for inbound), Meta WhatsApp Cloud JSON (statuses and messages, including the hub.challenge subscription handshake), and a generic JSON shape: {"type":"delivery","message_id":"...","status":"delivered"} or {"type":"inbound","from":"+234...","body":"..."}.

اثرات

تحویل گزارش های تمبر سربرگ ورودی که حمل و نقل پیام ارائه دهنده به عنوان تحویل یا پرش. پیام های ورودی مطابقت با تماس توسط شماره تلفن در فضای کار، زمین به عنوان یک فعالیت پیام. received، و علامت گفتگو پاسخ داده شده است.

حالت شکست

پاسخ های غلط یا گم شده 403 محموله های ناشناخته شمارش شده و نادیده گرفته می شوند، هرگز کشنده نیستند، بنابراین یک دروازه پیکربندی نشده نمی تواند نقطه پایانی را بشکند.

کدام دروازه ها پشتیبانی می شوند؟+

Twilio، Vonage، Plivo، پیام پرنده، Sinch، Infobip، Telnyx، ClickSend، Termii، صحبت کردن آفریقا، BulkSMS، text Local، Meta WhatsApp Cloud، 360dialog، SMSAPI، GupshupshUp، Kaleyra، D7، Hubtel و یک وب سفارشی برای هر چیز دیگر.

آیا اعتبارها امن هستند؟+

Credentials در تنظیمات کانکتور رمزگذاری شده و هرگز به مرورگر متصل نمی شوند. ویرایش یک ورودی با یک راز خالی ذخیره می شود.

آیا AI می تواند پیام ارسال کند؟+

بله، از طریق اقدامات ثبت شده که نیاز به تأیید و اجرای همان دروازه رضایت دارند. AI همچنین می تواند ارائه دهندگان متصل را فهرست کند تا توضیح دهد چه چیزی در دسترس است.

وب‌گاه رسمی شرکت CRM

نگه داشتن و رشد مشتریان

مدیریت چرخه زندگی به شما کمک می کند تا از درآمد موجود محافظت کنید، هر حساب یک امتیاز خطر را دریافت می کند، نمره سلامت، نمره توسعه و یک کتاب موفقیت توصیه شده.

چرخه زندگی
صفحه اصلی Lifecycleیک هیئت مدیره چرخه عمر مشتری (برجام، فعال، در معرض خطر، تجدید) با میله های بهداشتی در هر کارت حساب.چرخه زندگیفضای کاریدر صورت خرابیآکماسلامت سلامتی 40ACT#xسلامت سلامتی 88اینیتکسلامت سلامتی 76. AT-RISKسوگند بهسلامت سلامتی 28تجدیدابراهیمتجدید در 12dتوسعه + $ 8k1STAGESثبت نام برای تمدید2SCOREDبهداشت و توسعه3PLAYBOOKتوصیه بعدی
مشتریان از طریق شرکت، فعال، در معرض خطر و تجدید حرکت می کنند، هر کدام برای سلامت و گسترش با یک کتاب بازی به ثمر رسانده اند.

هیئت مدیره چرخه عمر

نقشه مرحله

هیئت مدیره بصری نشان می دهد که هر حساب در کجا قرار دارد: سرب، چشم انداز، فرصت، مشتری، توسعه، تجدید، در معرض خطر، Churned.

حساب های ریسکی

حساب ها با خطر بالا افتادن پرچم دارند، هر کدام راننده ارشد (حمایت از افزایش، عدم فعالیت، شکست پرداخت) و یک بازی پس انداز توصیه شده را نشان می دهند.

فرصت های توسعه

حساب هایی که نشان می دهند که نشان دهنده آمادگی برای خرید بیشتر هستند: استفاده بالا، درخواست های ویژگی، سوالات برنامه ای.

بازسازی ها به دلیل

حساب با تاریخ های تجدید آینده. مرتب شده توسط سطح ریسک و ارزش درآمد.

چگونه OpsIQ تشخیص خطر افتادن

خطر اسهال از چندین سیگنال که با هم ترکیب شده اند محاسبه می شود:

سیگنال های CRM

مقابله با سلامت، عدم فعالیت، تلفات اخیر، کاهش تعامل.

سیگنال های پشتیبانی

شماره بلیط باز، حجم بلیط، احساسات منفی و تشدید.

مشارکت محصول

فرکانس ورود، استفاده از ویژگی، بازدید صفحه، API تماس ها

سیگنال های Billing

پرداخت های شکست خورده، صورتحساب های بیش از حد، درخواست های پایین، بازدید صفحات لغو.

بازی

بازی Save

برای حساب های در معرض خطر: به طور فعال، نگرانی را حل کنید، پشتیبانی ارائه دهید و در صورت لزوم افزایش یابد.

بازی Replay

برای تمدید های آینده: تایید رضایت، بررسی استفاده، ارزش فعلی، ارائه انگیزه در صورت مناسب.

بازی Expansion

برای حساب های آماده به رشد: گزینه های ارتقاء فعلی، اشتراک گذاری داستان های موفقیت، نشان دادن ROI.

بازی مقدماتی

برای حساب های کم اهمیت: ارائه آموزش، به اشتراک گذاری بهترین شیوه ها، امکان ویژگی هایی که آنها استفاده نمی کنند.

لکه بینی قبل از اینکه اتفاق بیفتد

سناریو:
یک مشتری که به طور معمول در روز وارد می شود، برای آن ثبت نشده است. 2 هفته ها و بازان 3 این ماه از بلیط ها حمایت می کند.
چه کاری باید انجام دهید:

هیئت مدیره چرخه زندگی این حساب را به عنوان "در معرض خطر" با رانندگان: عدم فعالیت (14 روزهای پس از ورود و پشتیبانی (آخرین روز)3x حجم بلیط معمولی) بازی توصیه شده: تماس فعالانه برای درک آنچه اتفاق می افتد وجود دارد، آیا آنها در حال ارزیابی رقبا هستند؟ مداخله اولیه می تواند حساب را ذخیره کند.

وب‌گاه رسمی شرکت CRM

نگه داشتن اطلاعات شما پاک

عامل Data Steward به طور خودکار مسائل کیفیت داده ها را پیدا و اصلاح می کند: تکراری، زمینه های از دست رفته، ناسازگاری و سوابق است.

Data Observatory
Data Observatoryلیستی از مسائل کیفیت داده (duplicate، مفقود، استل، فرمت)، هر کدام با یک عمل اصلاح یک کلیک.Data Observatoryفضای کاریاطلاعات مربوط به عامل Steward پیدا شدهتکراری[email protected] و [email protected]ادغامگمشده12 ارتباطات هیچ شرکتی ندارندغنی سازیقدیمی38 دست نخورده برای 90+ روزهای +بازبینی شده درفرمت Formatشماره تلفن در 4 فرمت هاهمه چیز را حل کنید1CATCHESدوپ، شکاف ها، استول2EXPLAINSچرا هر کدام را پرچم می کند؟3FIXESدر مورد تایید شما
عامل Steward CRM شما را تمیز نگه می دارد، پیدا کردن تکراری، شکاف ها، سوابق و فرمت های بد، تعمیر در تایید.

آنچه را که می گیرد

ارتباطات تکراری

Multiple records for the same person (e.g., [email protected] and [email protected]). The steward proposes merging them.

داده های گم شده

تماس بدون ایمیل، معاملات بدون مقدار، شرکت ها بدون دامنه پیشنهاد می کند که از منابع موجود پر شوند.

سوابق Unlinked

معاملات بدون تماس های مرتبط، مخاطبین بدون شرکت ها.ارائه لینک بر اساس دامنه ایمیل و زمینه.

عدم تناقض

یک معامله در مرحله "Won" با 20% احتمال، یک تماس با علامت "مشتری" بدون هیچ معامله ای، شرکتی که دارای صنعت ناسازگار است.

مراحل اشتباه

معامله هایی که در همان مرحله برای مدت طولانی یا تماس با مراحل چرخه عمر خود بوده اند، با فعالیت آنها مطابقت ندارد.

چگونه استفاده کنیم

1
لیست نظارت را باز کنید

به CRM بروید و بخش Data Steward را پیدا کنید (یا آن را از طریق CRM باز کنید).

2
اصلاح ایمن

اقلام سبز امن هستند: تکراری روشن، داده های گم شده آشکار.

3
بررسی بقیه

اقلام Amber نیاز به قضاوت شما: ممکن است تکراری با تفاوت های جزئی، تغییرات مرحله پیشنهادی، لینک شرکت هر یک.

تمیز کردن تماس های تکراری

سناریو:
The steward found "John Smith ([email protected])" and "J. Smith ([email protected])": same email, different display names.
چه کاری باید انجام دهید:

این ناظر پیشنهاد ادغام: نگه داشتن رکورد با فعالیت بیشتر، ادغام دیگر معاملات و فعالیت های رکورد را بررسی کنید، نام صفحه نمایش باقی مانده را در صورت نیاز تنظیم کرده و تایید می کند.

وب‌گاه رسمی شرکت CRM

CRM من را بسازید

CRM من به شما اجازه می دهد تا تنظیمات CRM خود را در زبان انگلیسی ساده توصیف کنید. OpsIQ یک برنامه معتبر و برگشت پذیر ایجاد می کند و آن را در تایید اعمال می کند. No code، هیچ پیکربندی دستی کلیک نمی کند.

CRM من را بسازید
CRM من را بسازیدیک توصیف زبان طبیعی در سمت چپ، طرح CRM تولید شده از مراحل، زمینه ها و بخش های سمت راست را ایجاد می کند.CRM من را بسازیدفضای کاریتوصیف کسب و کار شماما یک آژانس طراحی وب هستیمفروش ماهانه نگهداری وپروژه های یک جانبه برای پروژه های کوچککسب و کارCRM من را بسازیدبرنامه ریزیمراحل: Lead→بازداشتانواع معامله: حفظ کننده، پروژهفیلد: ارزش ماهانهبخش ها: SMB، آژانسدانلود بازی اندروید The MooningApprove & Application1DESCRIBEانگلیسی ساده2AI PLANSمرحله ها، زمینه ها، بخش ها3APPROVE· هیچ برنامه نویسی
کسب و کار خود را به زبان انگلیسی ساده توصیف کنید. OpsIQ تمام CRM (مرحله ها، زمینه ها، بخش ها) را پیش نویس می کند و آن را در تأیید اعمال می کند.

چگونه کار می کند

1
توصیف آنچه که می خواهید

یک توصیف ساده انگلیسی از تنظیمات CRM خود را تایپ کنید: “ایجاد یک خط لوله تجدید با مراحل: بالا آمدن، تماس، مذاکره، بازگشت، از دست رفته، امتیاز بالاتر می رود زمانی که آنها قیمت گذاری دو بار مشاهده می کنند.”

2
بررسی برنامه

OpsIQ یک پیش نمایش از آنچه که ایجاد می کند نشان می دهد: خط لوله، مراحل، احتمال مرحله، به ثمر رساندن قوانین، قوانین چرخه عمر هر مورد.

3
کاربرد

برای اجرای برنامه، هر تغییر به عنوان یک بسته ثبت شده است که می توانید در یک کلیک آن را خنثی کنید.

4
بازگشت در صورت نیاز

اگر چیزی درست نیست، روی Undo کلیک کنید تا کل بسته را برگردانید. CRM شما به حالت قبلی خود باز می گردد.

آنچه می توانید بسازید

خطوط لوله و مراحل

ایجاد خط لوله با مراحل سفارشی، احتمالات پیش فرض و آستانه های پوسیدگی.

قوانین Scoring

افزایش نمرات سرب بر اساس رفتار: "Score بالاتر زمانی که آنها قیمت گذاری را مشاهده می کنند"، "SCore پایین تر هنگامی که آنها به صفحه حرفه ای مراجعه کنید."

قوانین چرخه زندگی

به طور خودکار مراحل چرخه عمر را پیش ببرید: “Move to SQL هنگامی که آنها یک نسخه آزمایشی را درخواست می کنند، "به مشتری اعتماد کنید زمانی که معامله پیروز شود."

فیلدهای سفارشی

فیلدهای را به مخاطبین، معاملات یا شرکت ها اضافه کنید: متن، شماره، تاریخ، انتخاب، چک باکس، URL ایمیل

چک لیست صلاحیت

چک لیست MEDD یا BANT را که نمرات مربی معامله در برابر آن است، تعریف کنید.

راه اندازی یک خط لوله تمدید

سناریو:
شما اشتراک های SaaS را مدیریت می کنید و نیاز به یک خط لوله برای تمدید دارید.
چه کاری باید انجام دهید:

نوع: ایجاد یک خط لوله تجدید 90 روزهایی که بیرون می آیند (The Days Out)10%), 60 روزهایی که بیرون می آیند (The Days Out)25%(تماس گرفته شده)40%· مذاکره ()60% بازگشت (Renewed)100% سوگند به نفس0% ۱) آستانه پوسیدگی را تنظیم کنید تا 14 روزها.» OpsIQ طرح را تولید کنید، آن را بررسی می کنید و بر روی درخواست کلیک کنید. خط لوله بلافاصله در صفحه خط لوله شما ظاهر می شود.

اگر چیزی را توصیف کنم که امکان پذیر نیست؟+

سازنده فقط اقداماتی را تولید می کند که می داند چگونه اعتبار دهد، اگر شما چیزی خارج از توانایی های آن را درخواست کنید (به عنوان مثال، "با سفارشی من هماهنگ شوید. API این درخواست را رد می کند و توضیح می دهد که در عوض چه کاری می تواند انجام دهد.

آیا می توانم تغییرات را خنثی کنم؟+

بله، هر ساخت CRM من به عنوان یک بسته برگشت پذیر جذب می شود.برو به سلامت CRM > تغییر تاریخ برای دیدن تمام بسته ها و خنثی کردن هر یک از آنها.

وب‌گاه رسمی شرکت CRM

راه اندازی CRM خود را راه

پیکربندی CRM دستی برای تیم هایی که ترجیح می دهند روی تایپ کردن کلیک کنند، تمام تنظیماتی که CRM من را ایجاد می کند نیز به عنوان زمینه های فرم سنتی در دسترس هستند.

خطوط لوله و مراحل

ایجاد، تغییر نام، سفارش و حذف خط لوله ها و مراحل به طور پیش فرض احتمال برنده شدن در هر مرحله را تعیین کنید (روزهایی بدون فعالیت قبل از معامله مشخص شده است که "لازم").

فیلدهای سفارشی

فیلدهای را به معاملات، مخاطبین یا شرکت ها اضافه کنید: متن، شماره، تاریخ، انتخاب (با گزینه های پیش تعریف شده)، چک باکس، چک باکس URL ایمیل، فیلدهای سفارشی در پروفایل شی و در فیلترها ظاهر می شوند.

چک لیست صلاحیت

چک لیستی را که مربی معامله برای ارزیابی معاملات استفاده می کند، انتخاب MEDDICC، BANT یا مجموعه ای از معیارهای سفارشی.هر مورد می تواند مشخص شده و یا اختیاری باشد.

قوانین مرحله چرخه زندگی

انتقال اتوماتیک مرحله: هنگامی که یک تماس با شرایط (قیمت گذاری بازدید، ارسال فرم، خرید)، مرحله چرخه عمر خود را به طور خودکار پیشرفت می کند.

قوانین اصلی

افزایش یا کاهش نمرات سرب بر اساس رفتار نمونه: "صفحه قیمت گذاری مشاهده شده = +15 نکات: "Downloaded Whitepaper = +10 امتیازها، "صفحه شغلی ثبت شده = -5حداقل شمارش را می توان تنظیم کرد (به عنوان مثال، "باید قیمت گذاری را حداقل مشاهده کنیم"2 زمان)

دیدگاه های نجات یافته

ایجاد ترکیب های فیلتر +sort برای تماس ها، معاملات یا شرکت ها. Share view با تیم خود را تنظیم کنید.

اضافه کردن یک قانون امتیازدهی سرب

سناریو:
شما می خواهید تماس هایی که صفحه قیمت گذاری خود را دو یا بیشتر برای دریافت نمره بالاتر مشاهده کنید.
چه کاری باید انجام دهید:

به CRM Configuration > Scohead Rules بروید. Add Rule: Event = “pageview” URL شامل: "/pricing حداقل تعداد =2افزایش نمره = +20 صرفه جویی در دفعه بعدی که امتیاز اجرا می شود، تماس های تطبیق این قانون +20 به نمره اصلی آنها.

وب‌گاه رسمی شرکت CRM

بررسی سلامت CRM

CRM Health یک صفحه خود-آشستیک است که نشان می دهد CRM شما به درستی تنظیم شده و به صورت هموار اجرا می شود.

بررسی سلامت
بررسی سلامت CRMحلقه نمره سلامت در 92 در کنار یک چک لیست از چک های انتقال و هشدار.بررسی سلامت CRMفضای کاری92بهشتمراحل خط لوله پیکربندیاتصال و وارداتعوامل AI فعال می شوند!هیچ دنباله رو فعال!12 تماس های مفقود شده شرکت1حسابرسیتنظیم خود را تایید کنید2FLAGSآنچه گم شده است3امتیازیک عدد کلی
یک صفحه حسابرسی CRM: نمره کلی سلامت به علاوه چک لیستی از آنچه که درست تنظیم شده و هنوز هم نیاز به توجه دارد.

آنچه را که چک می کند

طرح Schema

جداول پایگاه داده وجود دارد و ستون های صحیحی دارند که اگر مهاجرت از دست رفته باشد، سلامت CRM آن را به خود جلب خواهد کرد.

عوامل AI

تمام عوامل CRM (Capture، Data Steward، Deal Intelligence و غیره) ثبت شده و سالم هستند. Green = دویدن، amber = نیاز به توجه، قرمز = خطا است.

جاده ها

CRM CRM API مسیرها و نقاط پایانی AJAX ثبت شده و قابل تماس هستند.

اقدامات AI

کاتالوگ اقدام CRM در رجیستری عمل ثبت شده است، اگر اقدامات از دست رفته باشد، خود درمانی CRM با بازآفرینی آنها.

شمارش داده های زنده

تماس های کامل، شرکت ها، معاملات، وظایف، فعالیت ها و رویدادها مفید هستند تا واردات و ضبط داده های مداوم را تأیید کنند.

پس از نصب چک

پس از اولین بار تنظیمات CRM، باز کردن سلامت CRM و تأیید همه چک ها سبز است.اگر هر کدام از آنها amber یا قرمز هستند، روی آیتم برای توضیح تشخیصی کلیک کنید و پیشنهاد تعمیر را بدهید.

چند بار باید سلامت CRM را بررسی کنیم؟+

پس از تنظیم اولیه، بعد از به روز رسانی های بزرگ، و هر زمان که رفتار CRM اشتباه به نظر می رسد، خود درمانی بسیاری از مسائل (مانند ثبت نام های اقدام از دست رفته) را فقط با باز کردن صفحه بهبود می بخشد.

وب‌گاه رسمی شرکت CRM

ارتباطات CRM برای توسعه دهندگان

CRM یک REST عمومی کامل را افشا می کند API و وب سایت های خارج از آن را به طوری که آن را متناسب با هر پشته بدون صادرات دستی.

API نقطه پایانی

اعتبار

API کلید (ارائه دهنده: Bearer opq_ ...) با دامنه crm.read یا crm .write /api/v1.php با Action و site_key

تماس ها

crm. links. list (جستجو + فیلتر)، crm . calls. detail (توسط ID)، crme. services. link ها. ups (کارشناسی یا به روز رسانی)، crem. calls

معامله

crm.معامله ها. list، crm . details، crme.معامله. build، crom.معامله

فعالیت های Activity

crm. activities. list (خطای برای تماس / معامله)، خرابکاری. record (از یک فعالیت جدید)

حوادث

crm. events. list (در طول زمان تغییر قابل ملاحظه با از_id kka)، crm . event ها. catalog (لیست انواع رویداد موجود)

ایجاد یک معامله از طریق API
POST /api/v1.php
Authorization: Bearer opq_live_xxx
Content-Type: application/json

{
  "action": "crm.deals.create",
  "site_key": "<workspace>",
  "title": "Acme renewal",
  "amount": 12000,
  "pipeline_id": 1,
  "stage_id": 2
}

Webhook Events

opsiq.contact.upsert

هنگامی که یک تماس ایجاد یا به روز می شود، این رویداد تماسی است که مشترک آن است؛ هیچ رویداد جداگانه ای وجود ندارد.

contact.lifecycle_changed

آتش سوزی زمانی که یک تماس به مرحله چرخه عمر مختلف حرکت می کند.

contact.status_changed

آتش سوزی زمانی که یک وضعیت تماس تغییر می کند

contact.conversion

آتش سوزی زمانی که یک تبدیل در برابر یک تماس ثبت می شود.

contact.tag_added

آتش سوزی زمانی که یک برچسب به یک تماس اضافه می شود.

contact.erased

آتش سوزی زمانی که یک تماس برای درخواست حریم خصوصی پاک می شود.

crm.deal.created

آتش سوزی زمانی که یک معامله ایجاد می شود

crm.deal.stage_changed

آتش سوزی زمانی که یک معامله به مرحله ای متفاوت حرکت می کند.

crm.deal.won

آتش سوزی زمانی که یک معامله به عنوان برنده بسته می شود.

crm.deal.lost

آتش سوزی زمانی که یک معامله به عنوان از دست رفته بسته می شود.

crm.company.created

آتش سوزی زمانی که یک شرکت ایجاد می شود

crm.task.created

هنگامی که یک کار جدید ایجاد می شود (کارهای انسانی یا AI تولید می شوند).

email.replied

آتش سوزی زمانی که یک تماس به ایمیل های غیر قابل دسترسی پاسخ می دهد.

email.bounced

آتش سوزی زمانی که یک ایمیل خارجی به آن می رسد

💡
فراخوانی webhooks.events.list برای تنظیم معتبر در نصب شما، با بارگذاری هر رویداد، آن را از کد تحویل خود تولید می شود، بنابراین هرگز نمی تواند با آنچه که واقعا می آید مخالفت کند. فهرست کامل نیز در بخش Webhooks ظاهر می شود.

تمام رویدادهای وب سایت را فریب می دهد HMAC امضا شده و دوباره در شکست ثبت نام. URL در تنظیمات > Webhooks یا نظرسنجی crm.events.list با از_id برای یک فید تغییر پایدار

ارتباط CRM با Google Sheets

سناریو:
شما می خواهید هر تماس جدید CRM در یک Google Sheet برای تیم بازاریابی خود ظاهر شود.
چه کاری باید انجام دهید:

ایجاد یک مشترک وب را برایopsiqClick.upsert. آن را به یک برنامه Google Apps Script یا وب سایت Zapierhook اشاره کنیدURLمحموله شامل نام تماس، ایمیل، شرکت، نمره سرب و منبع است. اسکریپت شما یک ردیف به Google Sheet برای هر تماس جدید ارسال می کند.

وب‌گاه رسمی شرکت CRM

بخش ها

بخش ها فیلترهای تماس قابل استفاده مجدد را برای دیدگاه های CRM، توسعه، ارتقاء و سایر ابزارهای آگاه مخاطبان ذخیره می کنند.

صفحه نمایش محصول
بخش هاویرایشگر بخش شرایط را ترکیب می کند، تعداد بازی زنده را نشان می دهد و به اپراتور اجازه می دهد یک فیلتر زنده یا عکس فوری را انتخاب کند.بخش هافضای کاریحالتزندگی زنده LiveLOGICهمه ی همه یMATCHES1,248دانلود بازی LiveSPACEمرحله مشتریبرابر با مشتری فعالقانونآخرین فعالیتدرون 30 روزهای روزقانونکشورمعادل انگلستانقانونHigh قصدنمره حداقل 70قانون1CHOOSE MODEزنده یا فوری2ADD RULESهمه یا هر3REUSEکمپین ها و CRM
ویرایشگر بخش شرایط را ترکیب می کند، تعداد بازی زنده را نشان می دهد و به اپراتور اجازه می دهد یک فیلتر زنده یا عکس فوری را انتخاب کند.

A بخش زنده محاسبه مجدد داده های فعلی هر زمان که استفاده شود تصویر برداری فهرست فعلی عضو را که مفید است، زمانی که مخاطبان غیر قابل دسترسی نباید پس از تصویب تغییر کنند، مسدود کنید.

انتخاب کنید همه ی همه ی هر شرایطی باید مطابقت داشته باشد یا هر هنگامی که یک وضعیت به اندازه کافی باشد، شمارش زنده را قبل از صرفه جویی در بخش های سیستم قابل مشاهده اما محافظت شده از ویرایش معمولی بررسی کنید.

وب‌گاه رسمی شرکت CRM

نمره های اصلی

قوانین پیشرو رفتار و نشانه های پروفایل را به یک امتیاز ثابت تبدیل می کنند که فروش و اتوماسیون می توانند از آن استفاده کنند.

صفحه نمایش محصول
نمره های اصلیامتیازدهی سرب نشان می دهد قوانین فعال، پنجره نورد و تغییر نمره مثبت یا منفی هر قانون اعمال می شود.نمره های اصلیفضای کاریدانلود زیرنویس فارسی فیلم RULES12SCORED8,412HOT LEADS286دانلود بازی LiveSPACEفعالیت های قیمت گذاری3+ بازدید در 14 روزهای روز+20خرید کلمه کلیدیشامل مهاجرت یا شرکت+15حمایت از ریسکشکایت در 30 روزهای روز-10منبع اعتمادشریک جنسی ارجاع+121DESCRIBE RULEاستفاده از انگلیسی ساده2REVIEW FIELDSسیگنال، پنجره، نقاط3RESCOREدرخواست برای Workspace
امتیازدهی سرب نشان می دهد قوانین فعال، پنجره نورد و تغییر نمره مثبت یا منفی هر قانون اعمال می شود.

سازنده قانون هوش مصنوعی می تواند یک آموزش ساده انگلیسی را به یک قاعده ساختاری تبدیل کند.هر قانون باید قبل از فعال سازی بررسی شود: فعالیت یا کلمه کلیدی، حداقل شمارش، پنجره نورد و تغییر نمره را تایید کنید.

قوانین مثبت و منفی می توانند همزیستی داشته باشند.استفاده از آن فضای کاری Rescore Workspace پس از تغییر قوانین مواد، تماس های موجود تحت مدل جدید ارزیابی می شوند. امتیازها می توانند بخش ها، مسیریابی، چشم انداز و شرایط گردش کار را تغذیه کنند.

وب‌گاه رسمی شرکت CRM

مدیر فروش

این شرکت نمایندگان را با استفاده از دستیابی سهمیه ای، کسب درآمد، کمیسیون و خط لوله باز برای ماه انتخاب شده مقایسه می کند.

صفحه نمایش محصول
مدیر فروشاین شرکت ماهانه نمایندگان فروش را در حالی که درآمد، کمیسیون و خط لوله باز قابل مشاهده است، رتبه بندی می کند.مدیر فروشفضای کاریPERIODجولایTEAM QUOTA82%برنده شد184kدانلود بازی LiveSPACEآمينا104% £ 62k برندهاولبن88% £ 51k برندهدومريتا76% · برنده £ ۴۳kسومخط لوله باز£ 212k در تیمبازبینی شده در1CHOOSE MONTHمقایسه یک دوره2CHECK QUOTAبازداشت توسط Rem3COACHاستفاده از خط لوله
این شرکت ماهانه نمایندگان فروش را در حالی که درآمد، کمیسیون و خط لوله باز قابل مشاهده است، رتبه بندی می کند.

دستیابی به ارزش سهام تنها زمانی معنی دار است که هر نماینده سهمیه فعلی دارد و معاملات دارای مالک صحیح، مقدار، ارز و وضعیت نزدیک هستند.استفاده از مدیر برای مربیگری و شناخت، نه به عنوان تنها اندازه گیری کیفیت؛ جفت آن با سلامت، فعالیت و دقت پیش بینی.

وب‌گاه رسمی شرکت CRM

موافقت نامه های توافق

موافقت نامه نیاز به امضا مدیر قبل از معاملات با ارزش بالا می تواند مشخص شود.

صفحه نمایش محصول
موافقت نامه های توافقسیاست تایید دو آستانه ارزش را تعریف می کند و صف نشان می دهد که در انتظار، تصویب شده و تصمیم گیری رد شده است.موافقت نامه های توافقفضای کاریPOLICYقابلیت هایWAITING6OLDEST3hدانلود بازی LiveSPACEسطح Level 1معاملات از £10,000مدیرسطح Level 2معاملات از £50,000سالمندانبازسازی شرکت£72,000 درخواست شده توسط بنمنتظرپروژه مهاجرت£18,500 درخواست شده توسط ریتاتایید شده1SET THRESHOLDS0 غیرفعال کردن یک لایه2REQUESTنماینده قرارداد را ارسال می کند3تصميم بگيریا رد می شود یا
سیاست تایید دو آستانه ارزش را تعریف می کند و صف نشان می دهد که در انتظار، تصویب شده و تصمیم گیری رد شده است.

ایجاد سیاست و تنظیم سطح 1 سطح 2 آستانه ها: آستانه 0 این لایه را غیرفعال می کند، زمانی که یک غیر مدیر تلاش می کند تا در یا بالاتر از آستانه برنده شود. OpsIQ یک درخواست تایید به جای تغییر در سکوت مرحله ایجاد کنید.

مدیران و مدیران کامل توسط سیاست مسدود نمی شوند، هر تصمیم باید درخواست کننده، تایید کننده، زمان و دلیل حسابرسی را حفظ کند.

وب‌گاه رسمی شرکت CRM

قوانین چرخه زندگی

قوانین چرخه زندگی به طور خودکار ارتباط بین مراحل را زمانی که داده های فعلی آنها با یک وضعیت ذخیره شده مطابقت دارد، حرکت می کنند.

صفحه نمایش محصول
قوانین چرخه زندگیقوانین چرخه زندگی با اولویت ارزیابی می شوند؛ اولین قانون تطبیق مرحله تماس را تغییر می دهد.قوانین چرخه زندگیفضای کاریACT7RUNSشبPRIORITYاولیندانلود بازی LiveSPACEرهبری سرب→واجد شرایطنمره ≥ 60 فعالیت های اخیراولویت 100واجد شرایط→مشتری مشتریخرید Event وجود دارداولویت 90مشتری مشتری→در خطرهیچ فعالیتی برای 60 روزهای روزاولویت 70در خطر→مشتری مشتریخرید یا پاسخ جدیداولویت 601PICK STAGESاز و2DEFINE FILTERسبک تقسیم بندی JSON3ORDER RULESبازی اول برنده
قوانین چرخه زندگی با اولویت ارزیابی می شوند؛ اولین قانون تطبیق مرحله تماس را تغییر می دهد.

هر قانون دارای یک مرحله منبع، مرحله مقصد، پرچم فعال، اولویت و فیلتر سبک بخش است.کار چرخه عمر برنامه ریزی شده اولویت های بالاتری را اول ارزیابی می کند و پس از اولین بازی برای تماس متوقف می شود.

قوانین باید به طور متقابل قابل درک باشند، از دو قانون فعال که می توانند در جهت های مخالف حرکت کنند، قبل از فعال کردن آن فیلتر را بر علیه یک بخش آزمایش کنند.

وب‌گاه رسمی شرکت CRM

جریان فعالیت CRM

جریان فعالیت فضای کاری شامل رویدادهای مشتری و عملیاتی می شود، بنابراین تیم ها می توانند بدون باز کردن هر ماژول به بررسی آنچه اتفاق افتاده است بپردازند.

صفحه نمایش محصول
فعالیت CRMجریان فعالیت چت، بلیط، ایمیل، وب سایتhook، تبدیل و حوادث بی نهایت با فیلترها و دزدی را شامل می شود.فعالیت CRMفضای کاریبازیگران2,804CUSTOMERS1,126ANOMALIES14دانلود بازی LiveSPACEچت حل شده[email protected]· AIحالابلیط پاسخ دادT-1048 · بیلینگ۴ میلیونرویداد ورودیsubscription.upgradedدوازدهتبدیل شدن بهدستور ##7788 · £14919 متر1FILTERرویداد و مشتری2OPEN CONTEXTپرش به رکورد3PAGE RESULTSبررسی های مرتبط
جریان فعالیت چت، بلیط، ایمیل، وب سایتhook، تبدیل و حوادث بی نهایت با فیلترها و دزدی را شامل می شود.

فیلتر با نوع رویداد، تاریخ، تماس یا وضعیت مشتری (از جمله پرداخت مشتریان) تغذیه یک مدل خواندن از فعالیت ثبت شده است؛ آن را جایگزین بلیط منبع، گفتگو، قرارداد و یا رکورد اتصال قبل از انجام اقدامات حساس باز نمی کند.

وب‌گاه رسمی شرکت CRM

جریان های کاری

جریان های کاری به یک رویداد پاسخ می دهند و مجموعه ای از اقدامات را اجرا می کنند، از جمله مراحل تاخیری که توسط cron از سر گرفته شده است.

صفحه نمایش محصول
جریان های کارییک جریان کاری محرک خود را نشان می دهد، اقدامات کامل شده، تاخیر انتظار و گام بعدی.جریان های کاریفضای کاریACT9RUNNING42شکست خورد1دانلود بازی LiveSPACEمحرکcontact.createdشروع کارمرحله گام قدم 1ارسال ایمیل خوش آمدیدانجام شدهتاخیر تأخیرصبر کنید 2 روزهای روزانتظارمرحله گام قدم 2ایجاد شغل فروشبعدی1CHOOSE TRIGGERرویداد شروع می شود اجرا2ORDER STEPSاقدامات و تاخیر3MONITORاز طریق cron
یک جریان کاری محرک خود را نشان می دهد، اقدامات کامل شده، تاخیر انتظار و گام بعدی.

ایجاد یک جریان کاری با انتخاب ماشه، اضافه کردن مراحل به منظور و فعال کردن آن. Delays ذخیره می شود، نه توسط درخواست مرورگر؛ cron یکپارچه از سر کار جریان کار اجرا می کند.

قالب های شروع داخلی شامل استقبال پس از ثبت نام، پس از خرید شکر و تأیید نسخه آزمایشی است. Clone یک الگو، جایگزین گیرندگان / محتوا آن، سپس با یک رکورد کنترل شده قبل از فعال سازی گسترده تست کنید.

اقدامات طراحی برای تبدیل شدن به یک retry نباید درخواست های تکراری پول را ارسال کند یا سوابق تکراری ایجاد کند.

پشتیبانی

بلیط

بلیط ها کانال پشتیبانی رسمی شما هستند.آنها دارای ادارات، اولویت ها، اهداف SLA، پیوست ها، یادداشت های داخلی و مکالمه کامل هستند. OpsIQ مدیر، فرم بلیط / جاسازی، مصرف ایمیل، افزایش چت، اتصال یا API.

بلیط
جزئیات بلیطبلیط با یک نوار جانبی متا (priority، بخش، SLA، وضعیت)، موضوع گفتگو و پیش نویس AI و اقدامات بازپرداخت.بلیطفضای کاری.ت-12345اولویتبالاوزارتلایحهSLA3h 12ام چپوضعیتباز Openدو بار به خاطر من متهم شدماشتراک در ژوئن 3.آآتایید شده در The تکراریشارژ، پردازش بازپرداختپیش نویس پاسخ AIبازپرداخت1THREADEDگفتگوی کامل + یادداشت ها2SLA & ROUTINGاولویت، دُم، زمان3AI DRAFTپاسخ برای شما
هر بلیط اولویت، بخش، تایمر SLA و موضوعات کامل را دارد و AI می تواند پاسخ شما را پیش نویس کند.

چگونه یک بلیط جریان می یابد

1
بلیط می رسد

یک مشتری پیام را از طریق ایمیل، افزایش چت، جاسازی بلیط یا مدیر ایجاد می کند یکی از.این بلیط دریافت یک شناسه منحصر به فرد (به عنوان مثال T-)12345).

2
۳- Triage

AI موضوع و بدن را می خواند، اولویت (کم / عادی/کل/ بالا / سیگنالات)، پیشنهاد یک بخش را می دهد و احساسات را تشخیص می دهد.این به طور خودکار اتفاق می افتد اگر سه گانه فعال شود.

3
پاسخ

یک نماینده بلیط را باز می کند، متن ( نمایه مشتری، داده های پلتفرم از کانکتورها، بلیط های قبلی) را بخواند و پاسخ دهد. AI می تواند جواب را پیش نویس کند و عامل قبل از ارسال ویرایش می کند.

4
نزدیک

هنگامی که مسئله حل می شود، نماینده بلیط را بسته است. مشتری مطلع خواهد شد اگر مشتری پس از بستن پاسخ دهد، بلیط به طور خودکار باز می شود.

اقدامات پراتیک

بخش تغییر

بلیط را به بخش دیگری منتقل کنید (به عنوان مثال، از General تا Billing) زمانی که مسیریابی اولیه اشتباه بود، مفید است.

نشانه گذاری برای نماینده

بلیط را به یک عضو تیم خاص اختصاص دهید. نماینده اختصاص داده شده در نظر "مطافات من" خود بلیت می بیند.

اضافه کردن یادداشت داخلی

یک یادداشت قابل مشاهده برای کارکنان بنویسید: یافته های تحقیقاتی، دلایل بازپرداخت، زمینه مهندسی، تعهدات قبلی به نظر نمی رسد.

بلیط های Merge

بلیط های تکراری را از همان مشتری ترکیب کنید. موضوع بلیت ادغام شده یک برچسب [MERGED] دریافت می کند، همه پیام ها از هر دو بلیط در بلیط باقی مانده حفظ می شوند.

پاسخ کنسروی

یک قالب پاسخ از پیش نوشته شده را وارد کنید. Variables like {{customer_name}} و {{ticket_id}} به طور خودکار جایگزین می شوند.

AI بازنویسی

اجازه دهید AI پاسخ پیش نویس شما را بهبود بخشد: تنظیم لحن، کوتاه / بلند، اصلاح دستور زبان یا ترجمه نتیجه قبل از ارسال.

اولویت تغییر

تنظیم به پایین، طبیعی، بالا و یا فوری اولویت بر زمان SLA و مرتب سازی تاثیر می گذارد.

تغییر وضعیت

برای باز کردن، Pending، انتظار در مشتری، حل و یا بسته شدن تنظیم کنید.

مثال کار: مدیریت یک مشتری ناراضی

ایمیل مشتری: “من دو بار برای اشتراکم متهم شدم”

سناریو:
Subject: Double charge on my account Body: Hi, I just checked my bank statement and I see two charges of $49.99 from your company dated June 3. I only have one subscription. Can you please refund the duplicate charge? This is really frustrating.
چه کاری باید انجام دهید:

Step 1: AI triage assigns Priority: High, Department: Billing, Sentiment: Frustrated. Step 2: Agent opens the ticket. The connector panel shows the customer's Stripe charges, confirmed two charges on June 3. Step 3: Agent adds an internal note: "Confirmed duplicate charge in Stripe. Transaction IDs: ch_xxx and ch_yyy." Step 4: Agent drafts a reply: "Hi [Name], I can see the duplicate charge and I'm processing a refund for the second transaction right now. You should see $49.99 back in your account within 3-5 business days. I'm sorry for the inconvenience." Step 5: Agent triggers the refund action through the Stripe connector (with confirmation). Step 6: Agent sends the reply and sets status to Resolved.

وزارت ها

ایجاد بخش در تنظیمات > بلیط ها > ادارات مشترک: عمومی، بیلینگ، فنی، سوء استفاده فروش، Onboarding هر بخش می تواند قوانین مختلف خودکار، دانش AI و تکالیف تیم.

پاسخ های کنسرو شده

ایجاد قالب های پاسخ قابل استفاده مجدد در تنظیمات > بلیط ها > پاسخ های کنسرو شده خوب شامل موارد زیر است:

مثالی از الگوی پاسخ کنسرو شده
Hi {{customer_name}},

Thanks for reaching out. I checked the details and here is what I found:

{{response_details}}

If you need anything else, just reply to this ticket and I will be happy to help.

Best regards,
{{agent_name}}
{{department_signature}}

بلیط های مرگینگ

هنگامی که یک مشتری چندین بار همان سوال را ارسال می کند (از طریق ایمیل و چت یا دو ایمیل جداگانه)، شما می توانید تکرارها را ادغام کنید.برو به بلیط، روی merge کلیک کنید، بلیط دیگر را برای ادغام انتخاب کنید. بلیط باقیمانده همه پیام ها را از هر دو بلیط دریافت می کند.

سیستم عامل های متصل از ادغام پیروی می کنند. هنگامی که بلیط ها نیز در یک پلت فرم متصل هستند (WHMCS, Zendesk, پورتال مشتری SaaS ، ادغام نیز وجود دارد: این پلت فرم کپی های خود را ادغام می کند ، بنابراین بلیط شما نگه دارید اولین پیام و پاسخ بلیت ادغام شده را نشان می دهد که هرگز بر روی آن پلتفرم قرار نگرفته است مکالمه خود را به بلیط پلت فرم نگهداری شده به عنوان یک یادداشت کارکنان خصوصی اضافه کرده است، هیچ وقت به عنوان پاسخی که مشتری ایمیل در داخل پلت فرم ادغام شده (برای مثال در داخل سایت) WHMCSادغام ها OpsIQ بلیط ها را به همان شیوه ارسال کنید.

اولویت و SLA

پایین

سوالات غیر جدی، درخواست های ویژگی، بازخورد عمومی هدف اول: 24 ساعت ها

عادی

سوالات پشتیبانی استاندارد: هدف اول پاسخ: 8 ساعت ها

بالا

تاثیر بر کسب و کار مشتری، هدف اول پاسخ: 4 ساعت ها

اضطراری

خدمات به پایین، حادثه امنیتی، از دست دادن داده ها، خطای صورتحسابی 1 ساعت

تایمر SLA زمانی شروع می شود که بلیط ایجاد و مکث می کند، زمانی که وضعیت "در انتظار مشتری" است، اگر هدف SLA از دست رفته باشد، بلیط برجسته شده و به صورت اختیاری افزایش یافته است.

آیا مشتریان می توانند یادداشت های داخلی را ببینند؟+

هرگز یادداشت های داخلی به شدت کارکنان هستند، آنها در پورتال بلیط مشتری، اعلان ایمیل یا هر سطح مشتری ظاهر نمی شوند.

چه اتفاقی می افتد وقتی که یک بلیط بسته پاسخ داده شود؟+

بلیط به طور خودکار بازگشایی و بازگشت به صف فعال است.تیم از پاسخ جدید مطلع می شود.

آیا می توانم یک بلیط برای جلوگیری از پاسخ های بیشتر قفل کنم؟+

بله، از گزینه Lock Thread برای جلوگیری از اضافه کردن پاسخ های جدید استفاده کنید.استفاده از اختلافات حل شده یا تحقیقات بسته.

پشتیبانی

استودیو خدمات: SLA، جریان وضعیت و کیفیت

اتاق کنترل برای چگونگی عملکرد پشتیبانی شما: سیاست های SLA با نردبان های تشدید، تقویم های کسب و کار ساعت، جریان وضعیت اجرا شده، تنظیمات CSAT و سوئیچ های ویژگی شرکت آن را از صفحه بلیط باز کنید ( دکمه Service Studio در نوار عملیات).

سیاست های SLA

هر بلیط جدید یک مهلت اول و یک مهلت حل از خاص ترین سیاست فعال است: بخش + بخش ضربه، اولویت ضرب، ضرب و شتم پیش فرض مکث به طور خودکار در حالی که یک بلیط نشسته در Pending یا On Keep.

نردبان های ارتفاع

به جای یک اقدام نقض، یک سیاست می تواند تا شش مرحله تعریف کند: برای مثال هشدار دادن به اختصاص دهنده 75% پنجره، مدیران هشدار در 100%, Reassign to a Name Agent at 150% هر قدم دقیقاً یک بار در هر بلیط شلیک می کند.

ساعات کاری و تقویم ها

با ساعت های کاری در زمان کار، ساعت SLA تنها در طول زمان کار می سوزد، بنابراین بلیط باز شده در جمعه شب توسط تقویم های نام گذاری شده (منطقه زمانی، روزها، ساعات تعطیلات) نمی تواند به سیاست های فردی برای تیم ها در مناطق مختلف متصل شود.

جریان وضعیت

یک ماتریس محدود کننده که مدیران وضعیت ممکن است ایجاد کنند، با پیش فرض مدل Zendesk-style Automation، ایمیل ورودی و پاسخ های بلیط مشتری همیشه معاف هستند، بنابراین یک ماتریس سخت هرگز نمی تواند به صورت اختیاری نیاز به یک امضا تایید شده قبل از بستن.

تصویب

نمایندگان درخواست ثبت نام در یک بلیط (در آستانه، استثناهای سیاست) را صادر می کنند. الف تأیید کننده یا هر مدیر کامل با یادداشت تصمیم گیری؛ متقاضیان هرگز نمی توانند درخواست خود را تایید کنند. سطح تصویب به عنوان یک بنر بر روی صندوق ورودی.

خرید روابط

بلیط های لینک به عنوان مرتبط، تکراری، والدین / کودک یا مسدود کردن؛ تقسیم پاسخ به یک بلیط جدید متصل (بازگشت ادغام، بدون ایمیل مشتری)؛ ارسال بلیط برای اعلان های داخل برنامه و آدرس ایمیل اختیاری CC دنبال کننده در پاسخ های ورودی.

Live inbox و تصادم

با فعال کردن صندوق ورودی زمان واقعی، بلیط های جدید و پاسخ ها در عرض چند ثانیه از طریق جریان اطلاع رسانی موجود به نظر می رسد.در یک بلیط، نمایندگان می بینند که چه کسی دیگر در حال مشاهده است و هنگامی که یک شریک تیم در حال حاضر یک پاسخ می نویسد، یک دکمه ادعای یک کلیکی بلیط را برای خود اختصاص می دهد.

قابلیت های AI- خودآگاه Routing

قوانین مسیریابی می توانند بر سیگنال های سه گانه AI مطابقت داشته باشند: اولویت، گروه، احساسات و ریسک تشدید، به علاوه مقادیر سفارشی از فرم درخواست پورتال شما.قوانین با استفاده از این شرایط تا زمانی که ویژگی فعال شود، باقی می مانند.

💡
هر سوئیچ سازمانی را کشتی می کند و یکی را در استودیو سرویس تبدیل می کند.→کیفیت و اتوماسیون انتخاب است؛ ترک آنها رفتار یکسان با قبل از ارتقاء نگه می دارد.
چرا مشتری می تواند یک بلیط بسته را بازگشایی کند زمانی که ماتریس من بسته شود→باز است؟+

ماتریس فقط اقدامات ADMIN را اداره می کند.پاسخ های مشتری، پاسخ ایمیل و اتوماسیون عمدا معاف هستند بنابراین یک سیاست دقیق هرگز نمی تواند مشتریان را از بین ببرد یا خط لوله را بشکند.

آیا نردبان های SLA جایگزین عملیات نفوذ قدیمی می شوند؟+

سیاست های ذخیره شده با یک اقدام نقض، بدون تغییر کار می کنند. نردبان تنها در سیاست هایی که مراحل را تعریف می کنید جایگزین عمل تک نفره می شود.

پشتیبانی

بلیط خودکار و تشدید

Auto-reply اجازه می دهد تا AI به طور خودکار به بلیط های جدید پاسخ دهد.آرژینگ بلیط ها را به بخش دیگری منتقل می کند، زمانی که هوش مصنوعی نیازهای تخصصی را تشخیص می دهد.هر دو ویژگی در سراسر بلیط های بومی و بلیط های ایمیل کار می کنند.

خودکار-reply
پاسخ خودکار تیکتجریان: بلیط جدید، یک تاخیر دو دقیقه ای، پاسخ هوش مصنوعی از دانش و زمینه، سپس ارسال یا ذخیره به عنوان پیش نویس.خودکار-replyفضای کاریوقتی یک بلیط جدید می رسدبلیط جدیدهر منبعتاخیر تأخیر2 minپاسخ AIKB + Contextسنیا پیش نویساگر یک انسان در طول تأخیر پاسخ دهد، ابتدا به بخش دیگری تبدیل می شود.1DELAYانسان ها اولین شانس را دارند2AI REPLIESاز KB + Context3OR ESCALATEمسیر با قصد
بلیط های جدید به تاخیر کوتاهی می رسند (بنابراین انسان ها می توانند وارد شوند)، سپس پاسخ هوش مصنوعی از دانش شما، ارسال یا صف بندی شده به عنوان یک پیش نویس.

چگونه خودکار کار می کند

1
بلیط به نظر می رسد

یک بلیط جدید از هر منبع ایجاد می شود (ایمیل، چت، پورتال، API).

2
پاسخ برنامه

OpsIQ منتظر تاخیر پیکربندی شده (default: 2 این امر به عوامل انسانی فرصتی برای پاسخ دادن به اولی می دهد.

3
پاسخ اول برنده شد

اگر یک عامل انسانی در طول تأخیر پاسخ دهد، به صورت خودکار لغو می شود اگر نه، AI پاسخی تولید می کند.

4
ارسال و ارسال

AI بلیط را می خواند، پایگاه دانش، زمینه اتصال و تاریخچه مشتری را بررسی می کند، سپس پاسخ می دهد (یا به عنوان پیش نویس برای بازبینی بسته به تنظیمات صف بندی شده است).

چگونه تشدید کار

1
بخش های Configure

تعیین کنید که کدام بخش ها می توانند تشدید شوند (به عنوان مثال، بیلینگ را می توان از ژنرال افزایش داد و از نظر فنی می تواند از عمومی افزایش یابد).

2
کلاس بندی بلیط

قبل از خودکار سازی، AI قصد بلیط را طبقه بندی می کند: صورتحساب، فنی، بازپرداخت، سوء استفاده و غیره.

3
حرکت در صورت نیاز

اگر قصد بلیط با یک بخش افزایشی مطابقت داشته باشد، بلیط منتقل می شود.یک یادداشت داخلی توضیح می دهد که چرا.

4
ژن در صدای جدید

این پاسخ با استفاده از دانش و آموزش AI بخش مقصد ایجاد می شود.

تنظیمات مرجع

خودکار-reply فعال

Master Switch. Turn برای فعال کردن خودکار AI برای بلیط ها

اجازه دادن به ادارات

کدام بخش ها می توانند پیش از امکان پرداخت صورتحساب، با ادارات کم خطر (عمومی، فروش) شروع کنند.

تاخیر تأخیر

چه مدت قبل از پاسخ هوش مصنوعی صبر کنید (در ثانیه). 120 ثانیه (2چند دقیقه تنظیم کنید تا0برای پاسخ های فوری

تاخیر در برنامه تأخیر

به صورت اختیاری تاخیرهای مختلفی را برای ساعات کاری در مقابل ساعت ها تنظیم کنید.

توقف در پاسخ admin

اگر یک نماینده انسانی اول پاسخ دهد، خطای خودکار را لغو کنید:

قابلیت های Downation

• امکان مسیریابی اتوماتیک بر اساس قصد بلیط

بخش های صعود

کدام بلیط های بخش را می توان به آن ها داد.

وضعیت افزایش

چه جایگاهی برای افزایش زمان (به عنوان مثال، باز، پنالتی)

یادداشت ارتفاع

این که آیا یک یادداشت داخلی را به توضیح دلیل تشدید آن اضافه کنیم.

بلیط های ایمیل ساخته شده

بلیط های ایجاد شده از ایمیل (از طریق نظرسنجی صندوق پستی یا تحویل MX-piped) از همان قوانین auto-reply و تشدید کننده پیروی می کنند.پاسخ AI به عنوان پاسخ ایمیل به پیش نویس ایمیل ها ارسال می شود برای بررسی در صورت پیکربندی.

آیا AI به طور خودکار برای صدور سوال های صورتحساب مناسب خواهد بود؟+

فقط اگر شما به طور خودکار برای اداره بیلینگ فعال کنید، توصیه می کنیم با خودکار شروع به کار کنید تا صورتحساب را پرداخت کرده و آن را تنها پس از آموزش AI با دانش کامل لایحه و آزمایش دقیق.

اگر AI پاسخ اشتباهی بدهد چه می شود؟+

اگر مشتری پاسخ دهد که جواب اشتباه است، یک عامل انسانی باید تاریخ AI را بررسی کند تا بفهمد چرا هوش مصنوعی پاسخ اشتباهی داده است، سپس پایگاه دانش یا آموزش هوش مصنوعی را به روز می آورد تا از وقوع آن جلوگیری شود.

آیا می توانم قبل از ارسال، به صورت خودکار نقد کنم؟+

بله، حالت تحویل را به جای “Auto-send” تنظیم کنید. پیش نویس های خودکار در صف پیش نویس برای بررسی انسان قبل از ارسال ظاهر می شوند.

پشتیبانی

بلیط پورتال جاسازی شده

پورتال بلیط به شما اجازه می دهد یک رابط مدیریت بلیط را به هر وب سایت اضافه کنید.مشتریان می توانند بلیط های خود را مشاهده کنند، بلیط های جدید ایجاد کنند و پاسخ دهند، همه بدون ورود به آن OpsIQ مدیر

چگونه کار می کند
بلیط پورتال جاسازی شدهیک پورتال پشتیبانی که در وب سایت تعبیه شده است و نشان دهنده ی بلیط های مشتری و دکمه ی جدید است.yoursite.com/supportمرکز پشتیبانیبلیط جدیددانلود زیرنویس فارسی فیلم Your TICKETS#1042 · سوال بازپرداختباز Open#1038 · راه اندازی کمکحل شده#1031· Invoice copyمنتظر1EMBEDاضافه کردن به هر سایت2SELF-SERVEمشتریان بلیط های خود را می بینند3NO LOGINهویتی که به طور ایمن اداره می شود
بلیط پورتال جاسازی شده

سه طعم را جاسازی کنید

Inline rib

پورتال بلیط را در داخل یک تقسیم بر صفحه خود تنظیم می کند. پورتال عرض کامل از ظرف آن را می گیرد.

ویجت های شناور

یک دکمه شناور را نشان می دهد که پورتال بلیط را در پانل باز می کند، مانند یک ویجت چت.

معتبر

مشتریان فقط به یک توکن هویت امضا شده نیاز دارند.

نصب راه اندازی

بلیط و چت جاسازی
<!-- Signed-in customer: your server adds a fresh identity_token -->
<script async src="https://your-opsiq-domain.com/widget.php?site_key=SITE_KEY&identity_token=SERVER_GENERATED_TOKEN"
        data-opsiq-widget="client-chat"></script>

<!-- Guest: the same tag without identity_token -->
<script async src="https://your-opsiq-domain.com/widget.php?site_key=SITE_KEY" data-opsiq-widget="client-chat"></script>
💡
Remote Sites → your site → Codes → C. Signed-in customers generates the complete code for your platform (PHP, WordPress, Laravel, Node.js, Python, Django, .NET, Rails, Java, Go), including the refresh handler that keeps a long visit signed in. The WHMCS hook and the Botble connector bridge already do this.

نسل هویت

برای حالت معتبر، سرور شما یک توکن کوتاه مدت با راز سایت را نشان می دهد.این توکن به آن می گوید OpsIQ چه کسی است که مشتری تنها بلیط های خود را می بیند، این یک استاندارد HS256 JWT است: هر کتابخانه JWt کار می کند. راز هرگز وارد صفحه نمی شود.

PHP · ایجاد توکن هویت
<?php
// Generate identity token (PHP, no dependencies)
$secret = getenv("OPSIQ_SITE_SECRET");          // the site secret, server-side only
$b64 = fn($v) => rtrim(strtr(base64_encode(json_encode($v, JSON_UNESCAPED_SLASHES)), "+/", "-_"), "=");
$now = time();
$signing = $b64(["alg" => "HS256", "typ" => "JWT"]) . "." . $b64([
    "site_key"      => "SITE_KEY",
    "iat"           => $now,
    "exp"           => $now + 3600,
    "authenticated" => true,                        // required
    "platform"      => "php",
    "customer"      => [
        "id"          => $user["id"],               // required
        "email"       => $user["email"],            // required
        "name"        => $user["name"],
        "external_id" => (string) $user["id"],
    ],
]);
$token = $signing . "." . rtrim(strtr(base64_encode(hash_hmac("sha256", $signing, $secret, true)), "+/", "-_"), "=");
// Put $token on the widget URL as &identity_token=
Node. js، توکن هویتی تولید می کند
// Node.js — npm i jsonwebtoken
const jwt = require("jsonwebtoken");

function generateOpsIQToken(customer) {
  return jwt.sign({
    site_key: "SITE_KEY",
    authenticated: true,                            // required
    platform: "node",
    customer: { id: customer.id, email: customer.email, name: customer.name, external_id: String(customer.id) },
  }, process.env.OPSIQ_SITE_SECRET, { algorithm: "HS256", expiresIn: 3600 });
}

ویژگی های Widget

لیست بلیط

لیست قابل جستجو، فیلتر وضعیت.یک “A Waiting you” نشان دهنده بلیط های پرچمی است که تیم پاسخ داده است.

گفتگوی Threaded

دیدگاه کامل مکالمه با متن غنی، پیوست ها و زمان بندی.

پیش نویس AutoSave

پیش نویس مشتری پاسخ می دهد به صورت خودکار ذخیره شده است، بنابراین اگر آنها حرکت کنند کار خود را از دست نمی دهند.

زندگی گرده

نظرسنجی های ویجت برای پاسخ های جدید هر -12 ثانیه

حل و فصل / بازگشایی

مشتریان می توانند بلیط های خود را با یک کلیک حل یا باز کنند.

یادداشت های کارکنان داخلی هرگز به مشتریان در جاسازی بلیط نشان داده نمی شود، این یک مرز امنیتی سخت است.
پشتیبانی

چت درbox

چت Inbox جایی است که تیم شما مذاکرات مشتری زنده را مدیریت می کند، چت های فعال، مکالمات اختصاص داده شده، چت دستی AI و تاریخ بایگانی شده را نشان می دهد.

چت درbox
چت درboxیک چت سه شرکت: لیست مکالمه، گفتگو زنده با تراشه پیش نویس AI و پانل زمینه بازدید کننده / CRM.چت درboxفضای کاریJDجین جینسفارش من کجاستماهمردانصدور سوال.آر تیريتاAIسفارش من کجاست؟کشتی امروز · UPSAI Readyپاسخ ...بازدید کنندهجین دوایالات متحده آمریکا - Chrome3 دستورات گذشتهLTV$480وب‌گاه رسمی شرکت CRMمرحله: مشتری1UNIFIEDهر چت زنده2CONTEXTبازدید کننده + CRM Panel3AI ASSISTپیش نویس و بازنویسی
یک صندوق برای هر چت زنده، لیست مکالمه، موضوع با پیش نویس AI بر روی ضربه و بازدید کننده کامل + زمینه CRM.

مدیریت مکالمات

چت فعال

مکالماتی که در حال حاضر در حال پیشرفت هستند، Green dot = مشتری تایپ می کند یا اخیرا فعال است.

AI-handed

مکالماتی که در آن AI پاسخ می دهد، شما می توانید هر زمان با کلیک بر روی “Join” انجام دهید.

امضا به من

مکالماتی که به طور خاص به شما اختصاص داده شده است.

انتظار

گفتگو در جایی که مشتری منتظر پاسخ است.

بایگانی

مکالمات کامل، قابل جستجو توسط کلمه کلیدی، تاریخ و مشتری.

دست از هوش مصنوعی به انسان

وقتی از هوش مصنوعی صحبت می کنید، این سه قانون را دنبال کنید:

1
گرت شخصا

خودتان را با نام معرفی کنید: «سلام، این سارا از تیم پشتیبانی است.»

2
مرجع

به شما نشان دهید که مکالمه را خوانده اید: «می توانم ببینم که درباره وضعیت سفارش تان سوال کرده اید.»

3
تعیین انتظارات

به مشتری بگویید که چه اتفاقی می افتد: «من الان به این موضوع نگاه می کنم و در عرض چند دقیقه پاسخی برای شما خواهم داشت.»

تغییر هوش مصنوعی در / خاموش هر مکالمه

از AI برای تجزیه و تحلیل در بالای هر مکالمه استفاده کنید، هنگامی که هوش مصنوعی در حال اجرا است، هوش مصنوعی پاسخ می دهد.در صورت خاموش شدن تنها عوامل انسانی می توانند پاسخ دهند. AI زمینه گفتگو را حتی زمانی که خاموش شده و به عقب برگردید به یاد می آورد.

حالت دور / خارج از ساعت

ساعت های کسب و کار را در تنظیمات خارج از ساعات کاری، AI می تواند:1ادامه پاسخ به مشتریان (2• یک پیام "بیرون" را نشان دهید و بلیطی برای پیگیری یا ((3چت قابل تجزیه به طور کامل و نشان دادن فرم بلیط. انتخاب رفتار است که متناسب با مدل پشتیبانی خود را.

مدیریت مکالمات سخت

1
آرام باشید

با شدت عاطفی مشتری مطابقت نداشته باشید، بدون اینکه تدافعی داشته باشید، سرخوردگی خود را بپذیرید.

2
جمع آوری حقایق

قبل از پاسخ، اطلاعات مربوطه را جمع آوری کنید: جزئیات سفارش، وضعیت حساب، بلیط های قبلی.

3
صعود زود

اگر وضعیت شامل بازپرداخت، تهدیدات قانونی، سوء استفاده یا امنیت باشد، به یک عضو ارشد تیم تبدیل می شود تا اینکه سعی کند آن را تنها اداره کند.

آیا می توانم چت تیمی داشته باشم (عامل برای نماینده)+

بله، از یادداشت های داخلی در یک مکالمه برای برقراری ارتباط با سایر عوامل استفاده کنید.این یادداشت ها هرگز برای مشتری قابل مشاهده نیستند.

چه اتفاقی می افتد وقتی که یک چت را بستیم؟+

این گفتگو به آرشیو منتقل می شود اگر مشتری پیام جدیدی را بعدا ارسال کند، یک مکالمه جدید ایجاد می شود.

پشتیبانی

کانال های پیام رسانی

WhatsApp، Facebook Messenger، اینستاگرام DM، تلگرام و LINE را به هم وصل کنید تا مشتریان پیام هایی که قبلاً ارسال می کنند شما را در همان صندوق پستی به عنوان چت وب سایت خود وارد کنند، پاسخ داده شده توسط همان دستیار AI.

هر کانال به طور یکسان یک بار متصل می شود: پیام مشتری تبدیل به مکالمه در جعبه چت، دستیار AI شما پاسخ آن را با استفاده از همان دانش و دستورالعمل به عنوان چت وب سایت خود را، و هر عامل می تواند بیش از حد.

آنچه که اتصال به نظر می رسد

Facebook Messenger و Instagram

یک کلیک→Facebook Messenger و Instagram DM، بر روی Connect کلیک کنید، با حساب فیس بوک که صفحه شما را مدیریت می کند وارد شوید و صفحه را انتخاب کنید. اینستاگرام زمانی است که صفحه یک حساب حرفه ای اینستاگرام دارد.

WhatsApp

یک کلیک که ارائه دهنده شما آن را ارائه می دهد: اتصال پیام رسان Hub را باز کنید و از WhatsApp Connect استفاده کنید، سپس علامت هدایت شده Meta را برای انتخاب یا ایجاد شماره کسب و کار WhatsApp خود دنبال کنید.20دروازه ها

تلگرام

دو دقیقه پیام @Bot Father در تلگرام، ارسال/newbot,یک نام و یک نام کاربری را انتخاب کنید که در “bot” خاتمه می یابد، و توکنی را که به شما در اتصال تلگرام می دهد، بچسبانید.OpsIQثبت نام وب سایت برای شما.

خط

ایجاد یک پیامAPIکانال در توسعه دهندگان.line.biz، پنهان کردن راز کانال و توکن دسترسی، سپس کپی وب سایتhookURLنشان داده شده درOpsIQبه LINE و تغییر خودکار خود را خاموش کنید.

پیام کوتاه

یک ارائه دهنده (Twilio، Vonage، Termii و دیگران) را در پیام هاب با اعتبار و شماره فرستنده خود اضافه کنید.

هر کانکتور دستورالعمل های گام به گام خود را در داخل کشو نشان می دهد، از جمله دقیقا چه چیزی کپی و کجا.شما هرگز برای گزینه های یک کلیک نیاز به اعتبار توسعه دهنده ندارید.

تبدیل یک کانال در

اتصال یک کانال آن را شروع نمی کند. تنظیمات → گپ کارخواه → پیشرفته → کانالهای پیام‌رسانیتغییر در کلید استاد و سپس کانال فردی.هر کانال دارای سوئیچ خودکار AI خود است، بنابراین شما می توانید قبل از باز کردن بقیه، یک بار خلبان کنید.

1
کانال را به هم متصل کنید

در کانکتور، با استفاده از دستورالعمل های موجود در کشوی آن کانکتور.

2
تست اتصال

امتحان کلیک کنید، یک تماس واقعی به ارائه دهنده می دهد و به شما می گوید که اگر هر چیزی اشتباه است چه اتفاقی افتاده است.

3
کانال های پیام رسانی

تنظیمات Settings→چت مشتری→پیشرفته: بر روی سوئیچ کارشناسی ارشد، سپس کانال.

4
ارسال پیام به خودتان

از حساب دیگر، صفحه، شماره یا ربات خود را پیام دهید، باید در جعبه چت در عرض چند ثانیه ظاهر شود و پاسخ AI دریافت کنید.

پنجره ها پاسخ

سیستم عامل های پیام رسانی محدود می کنند که چه مدت یک کسب و کار ممکن است بعد از نوشتن مشتری پاسخ دهد.OpsIQزمان باقی مانده در هر مکالمه را نشان می دهد و قانون را برای شما اجرا می کند.

WhatsApp

24ساعت ها از آخرین پیام مشتری، بعد از آن شما فقط می توانید یک قالب تایید شده ارسال کنید که در همان برگه پیشرفته پیکربندی می کنید.

پیامبر و اینستاگرام

24ساعت ها برای پاسخ های طبیعی؛ عوامل ممکن است جواب دهند7روزهای بعد تحت کمک انسانی Meta.

تلگرام، LINE، SMS

پنجره ای که قرار است به صورت پلتفرمی اجرا شود.

⚠️
اگر پاسخ به دلیل بسته شدن پنجره شکست بخورد، مکالمه نشان می دهد که چرا این یک قانون پلت فرم است نه یک پاسخ.OpsIQمحدودیت

سوالات متداول

آیا مشتریان می بینند که AI پاسخ داده است؟+

فقط اگر به آنها بگویید، پاسخ از صفحه شما می آید، شماره یا ربات دقیقاً به عنوان یک پاسخ انسانی است. دستورالعمل های AI شما لحن را کنترل می کنند و آیا خود را مشخص می کند.

آیا یک نماینده می تواند در اواسط درگیری شرکت کند؟+

بله، مکالمه را در جعبه چت باز کنید و روی پیوستن کلیک کنید. AI متوقف می شود، شما تایپ می کنید و مشتری یک موضوع مداوم را در کنار خود می بیند.

اگر کانال را قطع کنم چه می شود؟+

از اتصال در تاریخ پیام کانکتور استفاده کنید؛ پیام های جدید به سادگی متوقف می شوند و پلت فرم گفته می شود که آنها را ارسال نکنید.

آیا دو فضای کاری می توانند از همان صفحه فیس بوک استفاده کنند؟+

صفحه متعلق به یک فضای کاری در یک زمان است که اتصال آن را جایی دیگر حرکت می کند و اولین فضای کار متوقف کردن دریافت پیام، بنابراین عمدا به جای متصل شدن به جاهای دیگر.

پشتیبانی

گفتگوی واقعی چت

این مثال ها نشان می دهند که چگونه یک AI مشتری آموزش دیده باید سناریوهای مشترکی را اداره کند.از آنها برای آزمایش آموزش هوش مصنوعی و شناسایی شکاف ها استفاده کنید.

10 مثال های گفتگو

1بازگشت مشتری از سفارش

سناریو:
مشتری: سلام، سفارش دادم3روزها قبل و هنوز هیچ اطلاع رسانی حمل و نقل دریافت نکرده اند. #ORD-5523.
چه کاری باید انجام دهید:

هوش مصنوعی باید:1نگاه کردن به سفارش #ORD-5523 از طریق کانکتور (2گزارش وضعیت فعلی و ردیابی اطلاعات در صورت موجود3اگر سفارش به تأخیر افتاده باشد، تاخیر را تصدیق کنید و یک جدول زمانی تخمین زده شده ارائه دهید.4• وضعیت حمل و نقل را اختراع نکنید اگر کانکتور یک نداشته باشد.

2آینده درباره قیمت گذاری

سناریو:
مشتری: هزینه برنامه پیشنهادی شما چقدر است؟ آیا شما صورتحساب سالانه ارائه می دهید؟
چه کاری باید انجام دهید:

هوش مصنوعی باید:1پاسخ از پایه دانش با قیمت گذاری فعلی2• تفاوت بین صورتحساب ماهانه و سالانه را توضیح دهید.3اگر پاسخ در پایگاه دانش نیست، بگویید و پیشنهاد کنید که آنها را با فروش ارتباط دهید.4• قیمت گذاری را اختراع نکنید که در پایگاه دانش نیست.

3مشتری عصبانی خواستار بازپرداخت

سناریو:
مشتری: این مسخره است! محصول شما کار نمی کند و من می خواهم پول خود را به همین حال بازگردانید.
چه کاری باید انجام دهید:

هوش مصنوعی باید:1• عدم موفقیت را به آرامی بپذیرید.2از شماره سفارش یا ایمیل حساب بپرسید.3· فرآیند بازپرداخت را توضیح دهید.4• ایجاد یک بلیط پشتیبانی یا افزایش به یک عامل انسانی.5وعده بازپرداخت را ندهید، که نیازمند تایید انسانی است.

4دو برابر کردن پرونده لبه

سناریو:
مشتری: من دو بار در ماه جاری متهم شده ام و بانکم دو اتهام را نشان می دهد. $29.99.
چه کاری باید انجام دهید:

هوش مصنوعی باید:1• نگرانی را بپذیرید.(2• جمع آوری جزئیات مربوطه (email, date of Charge)3توضیح دهید که مسائل مربوط به لایحه نیازمند بررسی انسانی است.4ایجاد یک بلیط بخش بیلینگ با جزئیات5اولویت را به بالا تنظیم کنید.

5مشتری چندزبانه

سناریو:
مشتری: Bonjour، Joudrais savoir در فرانسه زندگی می کند؟
چه کاری باید انجام دهید:

هوش مصنوعی باید:1پاسخ به زبان مشتری در صورتی که این زبان پشتیبانی شود.2پاسخ به سوال در مورد تحویل به فرانسه از پایگاه دانش.3اگر زبان پشتیبانی نمی شود، به زبان پیش فرض پاسخ دهید و اشاره کنید که کدام زبان در دسترس است.

6بعد از ساعت مکالمه

سناریو:
مشتری: سلام، آیا کسی هست؟ من نیاز به کمک با حساب دارم.
چه کاری باید انجام دهید:

هوش مصنوعی باید:1اگر برای هوش مصنوعی پس از ساعت پیکربندی شده، پاسخ دهید و کمک کنید.2اگر ساعت های بعد بلیط ایجاد می کند، بگویید: «تیم ما در حال حاضر آفلاین است.من یک بلیط پشتیبانی برای شما ایجاد کرده ام و کسی در ساعات کاری از آن پیروی خواهد کرد.»3شماره بلیط را ارائه دهید.

7خرید پیش از خرید

سناریو:
مشتری: محصول شما چگونه با [Competitor X] مقایسه می شود؟
چه کاری باید انجام دهید:

هوش مصنوعی باید:1• نقاط قوت محصول خود را به طور واقعی توصیف کنید.2• رقیب را بد نگیرید.3اگر یک صفحه مقایسه در پایگاه دانش وجود دارد، به آن پیوند دهید.4اگر مشتری درباره ویژگی هایی که ندارید سوال می کند، صادق باشید.

8مشتری یک توصیه می خواهد

سناریو:
مشتری: من یک فروشگاه آنلاین کوچک را با در مورد 100 سفارش در هر ماه، کدام برنامه برای من مناسب است؟
چه کاری باید انجام دهید:

هوش مصنوعی باید:1سوال های روشن کننده را در صورت نیاز بپرسید (به عنوان مثال، چه ویژگی هایی بیشتر اهمیت دارند).2توصیه یک برنامه بر اساس پایه دانش.3توضیح دهید که چرا این برنامه متناسب با نیازهای آنها است.4اشاره کنید که آنها می توانند با یک برنامه کوچک تر شروع کنند و بعدا ارتقا یابند.

9مشتری سعی می کند تخفیف غیر مجاز دریافت کند

سناریو:
مشتری: من آنلاین دیدم که شما می دهید 50% تخفیفات: آیا می توانم یکی داشته باشم؟
چه کاری باید انجام دهید:

هوش مصنوعی باید:1Politely توضیح تبلیغات فعلی اگر وجود داشته باشد.2و یا از آن غافل نشوید.3اگر مشتری همچنان ادامه داشته باشد، پیشنهاد کنید آنها را با تیم فروش ارتباط دهید.

10 مشتری نیاز به کمک با یک ویژگی دارد

سناریو:
مشتری: چگونه داده های خود را صادر کنم؟ نمی توانم دکمه صادرات را پیدا کنم.
چه کاری باید انجام دهید:

هوش مصنوعی باید:1• ارائه دستورالعمل های گام به مرحله از پایگاه دانش.2• شامل مسیر دقیق صفحه و محل دکمه (.)3اگر این ویژگی نیاز به یک طرح خاص دارد، آن را ذکر کنید.4اگر این ویژگی وجود ندارد، صادق باشید و گزینه های جایگزین را پیشنهاد دهید.

پشتیبانی

مسیریابی چت و تشدید

هنگامی که یک چت زنده به یک فرد واقعی نیاز دارد، AI دو سوال را پاسخ می دهد: کدام تیم صاحب این مکالمه است و باید به هر دو در تنظیمات پیکربندی شده، Client Chat، Support Flow تحت بخش های مسیریابی هوش مصنوعی.

انتخاب اینکه کدام بخش از AI ممکن است استفاده کند

دو جعبه در آن پانل یک لیست سفید هستند. ادارات به سمت راست حرکت می کنند تنها کسانی که AI می تواند به مسیر یا بلیط باز در هر چیزی که در سمت چپ باقی مانده است برای آن نامرئی است، حتی اگر بخش وجود دارد و کارکنان محدود و اضافه کردن بخش ها به عنوان شما آنها را کارکنان.

💡
اگر هیچ کدام از بخش ها به طور کامل فعال نباشند، OpsIQ بازگشت به مسیریابی میراث در سراسر هر بخش که می تواند پیدا کند.درمان آن را به عنوان یک شبکه ایمنی، نه یک انتخاب پیکربندی.

کسی که از افزایش تنش ها استقبال کند

این بخشی است که اکثر مردم انتظار دارند پیکربندی کنند و نیازی به آن ندارند.هنگامی که هوش مصنوعی یک چت را افزایش می دهد، OpsIQ ایمیل افرادی که به آن بخش متصل هستند، شما یک بار در صفحه تیم و وزارت ها این لیست را مدیریت می کنید و هر دو افزایش بلیط و تشدید چت از آن پیروی می کنند.

اعضای گروه

هر مدیر فعال متصل به بخش کپی خود را دریافت می کند.حساب های معلق و معلول از بین رفته اند.

مدیر اولیه

زمانی که هیچ عضو تیم متصل نمی شود، بنابراین افزایش تنش هنوز به کسی می رسد.

هیچ کس متصل نمی شود

تحویل ممکن نیست. پنل مسیریابی نشان می دهد که بخش در قرمز و AI به بازدید کننده یک انسان اطلاع داده نشده است.

⚠️
آدرس ایمیل خود یک بخش هرگز به عنوان گیرنده استفاده نمی شود.این آدرس صندوق پستی ورودی دپارتمان است، یکی از پست های ورودی در برابر بلیط باز مطابقت دارد. افزایش ارسال شده به جای رسیدن به فرد، به عنوان یک بلیط جدید به عقب برگردانده می شود.

اداره ی همه

دقیقاً یک بخش دارای علامت کامل است که دریافت چت می کند AI نمی تواند با اطمینان جای خود را بگیرد و این آخرین راه حل به جای مسیر عادی است.

1
سیگنال های روشن برنده

صدور کلمه به یک بخش صورتحساب، میزبانی و خطا کلمه به یکی از فنی، خرید کلمه به فروش می رود.

2
طبقه بندی AI در آینده تلاش می کند

اگر کلمات کلیدی بی نتیجه باشند، مدل مکالمه را می خواند و از بخش های فعال انتخاب می کند.

3
سپس به صورت کامل

تنها زمانی که هر دو خالی می شوند، تمام بخش چت را دریافت می کند.

4
گارد فروش

اگر همه چیز یک بخش فروش باشد و بازدید کننده هیچ سیگنال خریدی را نشان نداده است. OpsIQ به جای آن به دنبال یک حمایت یا بخش فنی باشید، بنابراین سوالات پشتیبانی عادی در فروش جمع نمی شوند.

آنچه که بازدید کننده گفته می شود

اگر ایمیل تشدید شده بیرون برود، AI به بازدید کننده می گوید که تیم مطلع شده است اگر نتواند خارج شود، هوش مصنوعی چیزی صادقانه می گوید و آنها را دعوت می کند تا پیام را در چت بگذارند، ادعا نمی کند که یک انسان وقتی هیچ ایمیلی ارسال نشده هشدار داده شده است.

این پنل می گوید: «هیچ کس برای اطلاع رسانی» به یک بخش+

هیچ کس به آن متصل نیست، تیم و ادارات باز، حداقل یک مدیر فعال را ضمیمه می کنند، سپس صفحه تنظیمات را بارگذاری کنید.

آیا افزایش چت می تواند به جایی غیر از تیم برود؟+

بله، آدرس سفارشی که قبلا برای یک بخش ذخیره شده بود هنوز لیست تیم را نادیده می گیرد. تنظیمات جدید باید مردم را به بخش متصل کند، بنابراین یک مکان واحد برای حفظ وجود دارد.

چرا همه چیز من از بین رفته است؟+

بررسی کنید که آیا این یک بخش فروش است یا نه و بازدید کننده هیچ سیگنال خریدی را نشان نداده است. OpsIQ مسیرها برای حمایت یا بخش فنی به منظور.

پشتیبانی

ایمیل صندوق پستی و پیش نویس ها

OpsIQ می تواند به صندوق های پستی ایمیل متصل شود تا به طور خودکار بلیط ها را از ایمیل ورودی ایجاد کند و پاسخ ها را به عنوان ایمیل ارسال کند، همچنین پاسخ های AI-drafted را برای بررسی انسان فراهم می کند.

ایمیل
ایمیل برای بلیطیک صندوق پستی IMAP در سمت چپ که ایمیل‌های ورودی را به یک بلیط رشته‌دار با پاسخ AI-drawn در سمت راست تغذیه می‌کند.ایمیلفضای کاری[email protected] · _IMAPدرخواست بازپرداخت[email protected]نمی تواند وارد شود[email protected]کپی صوتی[email protected]بلیط ##1042از ایمیل · صدور لایحهمن می خواهم بازپرداخت برایشارژ تکراری ...پیش نویس AIبررسی و ارسال پاسخ1INGESTIMAP ارسال در2TO TICKETSبه طور خودکار Threaded3AI DRAFTSپاسخ برای بررسی
ایمیل را در بیش از IMAP (یا ارسال)، هر یک را به یک بلیط پر پیچ تبدیل کنید و اجازه دهید AI پاسخ را برای بررسی پیش نویس کند.

اتصال یک صندوق پستی

پروتکل Protocol

IMAP (اکثر ارائه دهندگان)، Gmail API (Google Workspace)، یا Microsoft Graph (Outlook) 365).

تنظیمات مورد نیاز

میزبان، پورت، رمزگذاری ()SSL/TLS• نام کاربری، رمز عبور یا برنامه، پوشه (معمولا INBox)

نقشه برداری وزارت

برنامه صندوق پستی را به یک بخش بلیط ارسال کنید. [email protected] ایجاد بلیط در بخش "حمایت"

Gmail Setup (گام به مرحله)

1
قابلیت Enable 2مرحله تایید

به Google Account > Security بروید. 2- تقویت مرحله و فعال کردن آن

2
ایجاد یک App Password

به Google Account > Security > App Passwords بروید و گزینه ی “mail” و “ other” را انتخاب کنید.OpsIQ» کپی کردن 16– رمز عبور کاراکتر

3
ورود به داخل OpsIQ

بروید به رایانامه > جعبه پستی > افزودن. تنظیم میزبان: imap.gmail.com, درگاه: 993 رمزگذاری: SSL, نام کاربر: [email protected], گذرواژه: گذرواژه‌ی کاربرد.

4
آزمون تست

گزینه Test Connection را کلیک کنید، اگر موفق باشید OpsIQ شروع به نظرسنجی برای ایمیل های جدید در فاصله پیکربندی شده خواهد کرد.

چشم انداز 365 نصب تنظیمات

1
چک کردن IMAP امکان پذیر است

در تنظیمات Outlook > Mail > Sync ایمیل، اطمینان حاصل کنید IMAP فعال شده است.

2
استفاده از رمز عبور برنامه یا Auth مدرن

اگر MFA فعال شود، یک رمز عبور برنامه ایجاد کنید در غیر این صورت از پسورد منظم خود استفاده کنید.

3
ورود به داخل OpsIQ

میزبان: outlook.office365.com پورت: 993 رمزگذاری: SSL نام کاربری: [email protected].

cPanel راه اندازی ایمیل

1
پیدا کردن IMAP تنظیمات

در cPanel > حسابهای ایمیل ، برای حساب ایمیل خود کلیک کنید. IMAP تنظیمات.

2
ورود به داخل OpsIQ

میزبان: معمولا mail.yourdomain.com یا نام سرور شما، پورت: 993 (SSL یا) 143 (STARTTLS)، نام کاربری: آدرس ایمیل کامل.

پیش نویس ایمیل AI

هنگامی که خودکار تنظیم شده است به حالت "Dauntt"، AI تولید پیش نویس پاسخ که در صف پیش نویس ظاهر می شود.

بازبینی شده در

پیش نویس را بخوانید و دقت را بررسی کنید.

ویرایش Edit

متن، لحن یا محتوا را قبل از ارسال اصلاح کنید.

ارسال

پیش نویس را تهیه کنید و آن را به عنوان یک پاسخ ایمیل ارسال کنید.

بازی Discard

اگر مناسب نباشد، پیش نویس را حذف کنید.

ارسال خودکار

اگر اعتماد به نفس بالا باشد و خودکار سازی فعال شود، پیش نویس ها به طور خودکار پس از یک تاخیر قابل تنظیم ارسال می شوند.

چرا ایمیل ها به بلیط تبدیل نمی شوند؟+

چک: (1) آیا جعبه پستی متصل و سالم است ؟ به وضعیت سبز در رایانامه > جعبه‌های پستی نگاه کنید. (2) آیا کار cron در حال اجراست ؟ رای‌گیری ایمیل به cron نیاز دارد. (3) آیا ایمیل در حال پالایش یا حرکت به پوشه‌ای غیر از INBOX است ؟

آیا می توانم از چندین صندوق پستی استفاده کنم؟+

بله، هر صندوق پستی را می توان به یک بخش مختلف نقشه برداری کرد. [email protected] به حمایت می رود، [email protected] به بیلینگ می رود.

پشتیبانی

رضایت مشتری (CSAT)

CSAT بلیط و رضایت چت، پاسخ های ناراضی را به سطح می رساند و نتایج هوش مصنوعی و انسانی را مقایسه می کند.

صفحه نمایش محصول
رضایت مشتریصفحه CSAT شامل کارت های امتیاز، پیگیری ردیابی، نظرات، بخش و خرابی عامل و بازخورد چت است.رضایت مشتریفضای کاریپاسخها386AVERAGE4.6POSITIVE91%دانلود بازی LiveSPACEدنبال کردن منتقدان12 پاسخ های رتبه بندی1–2بازبینی شده درخرید بلیطسن 24h بعد از نزدیکخودکار اتوماتیکبازخورد چتAI 4.5 · انسان 4.7مقایسهمشاهده نمایندگیامتیاز و تعداد پاسخمربی1WATCH AVERAGEاستفاده از روند، نه یک امتیاز2FOLLOW DETRACTORSنظر رو بخوان3COMPARE FAIRLYهوش مصنوعی و انسان
صفحه CSAT شامل کارت های امتیاز، پیگیری ردیابی، نظرات، بخش و خرابی عامل و بازخورد چت است.

بررسی بلیط پس از بسته شدن برنامه ریزی شده است (به طور معمول 24 ساعات بعد: پاسخ مثبت نمره ای است4یا 5استفاده از صف برای نمرات 1 یا2و قبل از تماس با مشتری، بلیط / مکالمه را بخوانید.

بازخورد چت به طور جداگانه برای مکالمات حل شده و انسانی گزارش می شود.اندازه های نمونه پایین نباید برای رتبه بندی عوامل یا مدل ها استفاده شوند.

پشتیبانی

پخش ایمیل تیم

صفحه پلتفرم ایمیل اجازه می دهد یک اپراتور مجاز پیام یک بار به تمام عوامل فعال، نمایندگان منتخب یا بخش ارسال تاریخ ارسال کند.

صفحه نمایش محصول
پلتفرم ایمیلآهنگساز ایمیل تیم، مخاطبان، موضوع، پیام و سابقه تحویل گذشته را نشان می دهد.پلتفرم ایمیلفضای کاریگیرنده‌ها12DELIVERED11شکست خورد1دانلود بازی LiveSPACEمخاطبانهمه عوامل فعالانتخاب شدهموضوع موضوعات موضوعپشتیبانی از Ruaآماده شدنپیامیادداشت های زمانبندی و تشدیدآماده شدنتاریخچهقبلی پخش و نتیجهنمایش1CHOOSE PEOPLEهمه، انتخاب شده یا تیم2WRITE CLEARLYموضوع و پیام3REVIEW HISTORYتایید نتیجه
آهنگساز ایمیل تیم، مخاطبان، موضوع، پیام و سابقه تحویل گذشته را نشان می دهد.

این صفحه برای پیام های عملیاتی داخلی است، نه بازاریابی مشتری، کوچکترین مخاطب صحیح، نام ها و آدرس های پیش نمایش را انتخاب کنید، سپس ارسال. تحویل از مسیر ایمیل پیکربندی شده استفاده می کند و نتیجه را ثبت می کند.

پشتیبانی

جعبه های پستی ، ارسال و ایمیلهای ورودی

چگونه OpsIQ ارسال ایمیل، تبدیل پیام های ورودی به بلیط و ثابت می کند که دامنه ارسال آماده است.

صفحه نمایش محصول
تنظیمات ایمیلتنظیمات ایمیل شامل مسیریابی ورودی، از هویت، مصرف صندوق پستی، چک های تحویل و ایمیل تست است.تنظیمات ایمیلفضای کاریخارج ازSMTPMAILBOXES3دامنهگذردانلود بازی LiveSPACEکانکتور ترجیحیSMTP / کانکتور ارائه دهندهشکل گیریهویتSupport <[email protected]>آماده شدنIMAP صندوق پستی[email protected] · InBoxنظرسنجیقابلیت تحویلSPF · DKIM DMARCگذر1CHOOSE OUTBOUNDیا SMTP2CONNECT INBOXIMAP یا لوله3ESTارسال و تایید
تنظیمات ایمیل شامل مسیریابی ورودی، از هویت، مصرف صندوق پستی، چک های تحویل و ایمیل تست است.

ایمیل خارجی

مدیران کامل می توانند اتصال ایمیل ترجیحی را انتخاب کنند. OpsIQ بازگشت به پیکربندی SMTP تحویل ایمیل در صورت مناسب تنظیم یک قابل تشخیص از نام / آدرس، ارسال تست و بررسی 24 معیارهای موفقیت / شکست ساعت

جعبههای پستی

سال IMAP جعبه پستی نیازمند یک نام ، نشانی رایانامه ، بخش هدف ، میزبان ، درگاه ، حالت امنیتی ، نام کاربر ، گذرواژه ، پوشه ، وضعیت نظرسنجی و گزینۀ اعتبار سنجی گواهی است. استفاده اکنون نظرسنجی قبل از انتظار برای cron، مصرف را تأیید کنید.

فوری لوله کشی

در همان سرور، یک لوله ایمیل می تواند پیام RFC822 خام را مستقیماً ارسال کند.یک سرور پست از راه دور می تواند پیامی را به نقطه انتهایی محافظت شده با استفاده از توکن خود ارسال کند و هر دو مسیر وارد خط لوله ی مشابه، نخینگ و بلیط شوند.

قابلیت تحویل

بررسی SPF / DKIM/DMARC شواهد مشورتی برای پیکربندی از دامنه است.یک چک سبز، قرار دادن صندوق پستی را تضمین نمی کند، اما یک شکست باید قبل از ارسال پیام های تولید ثابت شود.

پشتیبانی

پشتیبانی از Portal Studio

پشتیبانی از طرح های پورتال Studio و انتشار تجربه پشتیبانی مشتری بدون نیاز به دارایی های تصویر خارجی.

صفحه نمایش محصول
پشتیبانی از Portal StudioPortal Studio یک پیش نمایش پاسخگو در کنار موضوع، ناوبری، دانش، بلیط، دستیار، فرم، پابر و غیره را نشان می دهد. CSS کنترل هاپشتیبانی از Portal Studioفضای کاریTEMPLATEمدرنPRE Viewرومیزیفرارپیش نویسدانلود بازی LiveSPACEموضوع Themeرنگ های برند و تایپوگرافیویرایش Editناوبریدانش، بلیط ها، دستیارویرایش Editفرم بلیطفیلد ها، مسیریابی و کپیویرایش Editانتشاراعتبارسنجی و زندگی را تضمین کنیدبازبینی شده در1CHOOSE TEMPLATEشروع از ساختار2PREVIEW SIZESDesktop برای موبایل3PUBLISH SAFELYپس از انتشار
Portal Studio یک پیش نمایش پاسخگو در کنار موضوع، ناوبری، دانش، بلیط، دستیار، فرم، پابر و غیره را نشان می دهد. CSS کنترل ها

از قالب به عنوان یک نقطه شروع استفاده کنید، سپس تم را پیکربندی کنید، طرح بندی، ناوبری، جستجوی دانش، فرم بلیط، دستیار، پابر، نام تجاری، رفتار بلیت سفارشی، CSS و تنظیمات عمومی. Preview Desktop، تبلت و تلفن همراه قبل از انتشار

پشتیبانی

شکاف های دانش

صف دانش-gap سوالات مشتری را جمع آوری می کند که AI نمی تواند با اطمینان پاسخ دهد تا تیم بتواند پوشش را بهبود بخشد.

صفحه نمایش محصول
شکاف های دانشصف شکاف در رده های از دست رفته یا کم اعتماد به نفس است و نشان می دهد که آیا تیم آنها را حل کرده است.شکاف های دانشفضای کاریOPEN GAPS28REPEATED9RESOLVED116دانلود بازی LiveSPACEمحدودیت های مهاجرتپرسش های پرسیده شده 14 بار زمانبالاپشتیبانی آخر هفتهپرسش های پرسیده شده 8 بار زمانمتوسطزمان بندی مجددپرسش های پرسیده شده 6 بار زمانمتوسطAPI منطقهپرسش های پرسیده شده 3 بار زمانپایین1REVIEW QUESTIONمشاهده متن مکالمه2CHOOSE FIXماده یا فوری3RESOLVEپاسخ بعدی را بررسی کنید
صف شکاف در رده های از دست رفته یا کم اعتماد به نفس است و نشان می دهد که آیا تیم آنها را حل کرده است.

یک شکاف برای خواندن سوال اصلی و مکالمه نزدیک، سپس اصلاح درست را انتخاب کنید: به روز رسانی مقاله موجود، ایجاد یک مقاله جدید دانش، اضافه کردن یک واقعیت کسب و کار، داده های صحیح اتصال یا دستورالعمل های تشدید تغییر.مارک آن تنها پس از ارزیابی حل شد و یا آزمون واقعی پاسخ قابل قبول است.

پشتیبانی

مدیریت صفحه

صفحه مدیریت وضعیت سلامت خدمات و حوادث با استفاده از اجزای، دولت های فعلی و به روز رسانی را ارتباط می دهد.

صفحه نمایش محصول
وضعیت دولتبخش ها و حوادث دولت را فهرست می کند تا اپراتورهای بتوانند اطلاعات خدمات شفاف و زمان بندی شده را منتشر کنند.وضعیت دولتفضای کاریOVERALLعملیاتیاجزای7INCIDENTS1دانلود بازی LiveSPACEوب سایت WebsiteعملیاتیسبزAPIعملکرد درجه بندی شدهنگاه کنایمیل مصرفعملیاتیسبزحادثه فعلیAPI تحقیقات تاخیرباز Open1UPDATE COMPONENTانتخاب حالت شفاف2POST INCIDENTبه روز رسانی های زمان-stamped3RESOLVEنزدیک با خلاصه
بخش ها و حوادث دولت را فهرست می کند تا اپراتورهای بتوانند اطلاعات خدمات شفاف و زمان بندی شده را منتشر کنند.

استفاده از حالت های جزء به طور مداوم.هنگامی که یک حادثه بر مشتریان تأثیر می گذارد، اطلاعیه اولیه را منتشر می کند، به روز رسانی های زمان بندی شده را به عنوان تغییر واقعیت اضافه کنید و با خلاصه مختصری از رزولوشن نزدیک شوید.از صفحه وضعیت به عنوان یک log اشکال داخلی استفاده نکنید؛ تشخیص های حساس متعلق به آن هستند. OpsIQ و ورودی های سرور

آآ

تنظیم AI خود را

AI Configuration جایی است که شما ارائه دهنده، مدل و کنترل هزینه خود را انتخاب می کنید. OpsIQ پشتیبانی از ارائه دهندگان متعدد: کلود (Vi)Anthropic GPT-4o (OpenAI), Gemini (Google) و Grok (xAI) می توانید از خود استفاده کنید. API کلید (BYOK• هوش مصنوعی مدیریت شده در صورت امکان بر روی برنامه شما

تنظیم AI
پیکربندی AIپنل تنظیمات AI: یک Managed-AI / BYOK ارائه دهنده Toggle، یک انتخاب کننده مدل و یک متر ماهانه رانندگی.پیکربندی AIفضای کاریپیکربندی AIارائه دهندههوش مصنوعی مدیریت‌شدهکلید شما (BYOK)مدل· تعادلبودجه ماهانه AI62%1TWO MODESمدیریت هوش مصنوعی یا BYOK2PICK A MODELسرعت در مقابل عمق3BUDGETSکلاه های توکن و کنترل هزینه
AI مدیریت شده یا کلید خود را انتخاب کنید، یک مدل برای سرعت در مقابل عمق و کاپ ماهانه با بودجه توکنی هزینه کنید.

انتخاب یک ارائه دهنده

کلود ( Claude)Anthropic)

استدلال قوي، با حقايق دقت ميکنه و در پيروي از دستورات پيچيده خوبه4-20250514...کلود 3.5 بهترین برای: گفتگوهای پشتیبانی، سوالات فنی، تجزیه و تحلیل مفصل.

GPT-4o OpenAI)

سریع، خلاق و خوب دانش مدل ها: gpt-4o، gpt4o-mini. Best برای: پاسخ های سریع، نوشتن خلاقانه، سوالات دانش گسترده است.

Gemini(Google)

پرسش های واقعی، پشتیبانی چندزبانه gemini-2.0· واکنش،gemini-1.5 بهترین برای: پشتیبانی چندزبانه، نگاه واقعی.

زرد) xAI (

پاسخ های سریع و مختصر: مدل های عجیب3حداقل سریع ترین. بهترین برای: پاسخ های سریع، لحن گاه به گاه.

BYOK در مقابل AI مدیریت شده

BYOK ( کلید خود را بیاورید)

شما خودتان را ارائه می دهید API کلید از ارائه دهنده، شما به طور مستقیم به ارائه دهنده پرداخت می کنید.کنترل کامل بر انتخاب و استفاده از مدل.

هوش مصنوعی مدیریت‌شده

AI به عنوان بخشی از شما ارائه می شود OpsIQ برنامه نه API کلید مورد نیاز استفاده در برابر تعادل اعتبار AI برنامه شما اندازه گیری می شود.

گام به گام تنظیم

1
به سمت AI Configuration بروید

در OpsIQ مدیر، به Settings > AI Configuration بروید.

2
گزینه Selection Provider

ارائه دهنده AI خود را از قطره انتخاب کنید.

3
ورود به ورودی API کلید کلیدی

اگر استفاده BYOK وارد شوید API کلید برای AI مدیریت شده، این به طور خودکار اداره می شود.

4
مدل انتخاب کنید

مدل های کوچک تر را انتخاب کنید که سریع تر و ارزان تر باشند.مدل های بزرگ پاسخ بهتری به کیفیت می دهند.

5
تست اتصال

روی گزینه “Test connection” کلیک کنید تا تأیید کنید API کلید و مدل کار می کنند.یک علامت سبز به معنای موفقیت است.

6
ذخیره سازی Save

گزینه Save را برای فعال کردن پیکربندی AI خود کلیک کنید.

کنترل هزینه

بودجه ماهانه

حداکثر هزینه ماهانه را بر روی توکن های AI تنظیم کنید، زمانی که بودجه به دست می آید، هوش مصنوعی دارای امتیاز (پاسخ کوتاه تر، بدون خودکار) است نه اینکه کاملا متوقف شود.

محدودیت توکن های Per-conversation

حداکثر توکن ها در هر مکالمه، مانع از مکالمات فرار از مصرف اعتبارات بیش از حد می شود.

هشدار تعادل پایین

هنگامی که تعادل اعتبار AI شما در زیر آستانه (default: 50,000 نشانه ها، هشدار در مدیر ظاهر می شود.این را در پیکربندی AI تنظیم کنید.

پیکربندی Per-workspace

پیکربندی AI در هر فضای کاری است.اگر شما چندین سایت را مدیریت می کنید، هر فضای کار می تواند از ارائه دهنده، مدل و بودجه مختلف استفاده کند.فضای کار به ارث می برد پیش فرض های جهانی مگر اینکه بیش از حد شلوغ باشد: سوئیچ به فضای کاری؛ سپس به پیکربندی هوش مصنوعی بروید و تنظیمات را ذخیره کنید.

گرفتن API کلیدهای کلیدی

Anthropic (Vi)

رفتن بهconsole.anthropic.com > APIکلید های کلیدی را ایجاد کنید.کلید کلید با شروع “sk-ant” را کپی کنید.

OpenAI(GPT)

رفتن به platform.openai.com > API کلید های کلیدی > ایجاد یک کلید مخفی جدید

گوگل (Google)Gemini)

رفتن به aistudio.google.com >> دریافت کنید API کلید را برای پروژه خود ایجاد کنید.

xAI (یونانی)

رفتن به console.x.ai > API کلیدها را بسازید و کپی کنید.

تست AI

سناریو:
بعد از ورود به شما API کلید، بر روی “لینک تست” کلیک کنید، باید یک علامت سبز و یک پاسخ نمونه از AI را ببینید.
چه کاری باید انجام دهید:

اگر آزمون شکست بخورد:1بررسی کنید که API کلید درست است (هیچ فضای اضافی).2بررسی کنید که حساب شما با ارائه دهنده تنظیم شده است.3بررسی کنید که نام مدل معتبر است.4اگر از AI مدیریت شده استفاده می کنید، تأیید کنید که مجوز شما فعال است.

کدام ارائه دهنده بهترین است؟+

هیچ ارائه دهنده ی خوبی وجود ندارد. کلود برای مکالمات پشتیبانی عالی است. GPT-4o سریع و همه کاره است. Gemini هر یک از زبان های مختلف را به خوبی مدیریت کنید و ببینید که کدام بهترین نتایج را برای استفاده خاص شما ایجاد می کند.

آیا می توانم بعداً به ارائه دهندگان تغییر دهم؟+

بله، ارائه دهنده را تغییر دهید و API کلید در هر زمان.تاریخ مکالمه موجود حفظ می شود. AI از ارائه دهنده جدید برای تمام مکالمات آینده استفاده خواهد کرد.

چه اتفاقی می افتد وقتی از اعتبار خارج شوم؟+

AI به طرز ماهرانه ای تجزیه می شود: پاسخ ها کوتاه تر، خودکار مکث می شوند و مدیر یک هشدار تعادل پایین را نشان می دهد. ردیابی Core، بلیط ها و CRM بدون هوش مصنوعی کار می کند.

آآ

چت هوشمند تر و ارزان تر مشتری

مجموعه ای از کنترل های انتخابی که چت مشتری شما را باهوش تر می کند (دلیل آن در حساب مشتری مانند یک عامل انسانی) یا ارزان تر است (این AI کمتر یا پاسخ در مراحل کمتری ارسال می کند)، هر کنترل به طور پیش فرض و مستقل خاموش می شود، تبدیل یکی از آنها هرگز تغییر نمی کند تنظیمات > رفتار مشتری / رفتار؛ برخی بر روی هوش مصنوعی و قطار شما تنظیم شده اند.

پاسخ های هوشمند (حالت عامل)

چت معمولی به یک سوال از یک نگاه پاسخ می دهد. حالت Agent Mode در این صورت، دستیار می تواند چندین چک حساب خواندنی را در یک نوبت واحد و تقسیم متقابل آنها انجام دهد، به عنوان مثال: "من بلیط باز دارم، و تعادل من برای تمدید بعدی من کافی است؟" در پاسخ با ریاضی انجام شده است.این تنها برای مشتریان تایید شده در حساب یا بازپرداخت سوالات؛ همه چیز دیگر راه های تک نفره عادی اجرا می کند.

حالت Agent Mode

تا چند نگاه تنها خواندنی در هر نوبت، قبل از پاسخ دادن به متقابل تقسیم شده است. Turn on زمانی که شما یک پلت فرم متصل دارید ()WHMCS, Shopify, Stripe ، Zendesk و غیره) Off = رفتار تک نگاه امروز بدون تغییر.

عمق تفکر برای پاسخ های نماینده

دلایل مدل در چرخش های پیچیده (پایین / متوسط / بالا) از پایین شروع می شود؛ اکثر سوالات پشتیبانی به خوبی انجام می شوند.

مدل Agent

یک مدل قوی تر را فقط برای چرخش های پیچیده پیدا کنید، بنابراین چت روزانه بر روی یک سبک، مدل ارزان و تنها بازده سخت برای عمق پرداخت می کند.بلی = مدل مشتری معمولی شما است.

برنامه ریزی پیش رو (a-pass Reply)

یک گام برنامه ریزی کوچک تصمیم می گیرد که کدام نگاه ها را به سمت کشیدن و اینکه آیا پایه دانش مورد نیاز است، سپس پاسخ در یک تماس اصلی به جای چند مرحله.یک زیر خط زیر حالت عامل نمی تواند فعال شود مگر اینکه حالت Agent کیفیت پاسخ مشابه باشد، تماس های کمتری در سوالات چند قسمتی.

گفتگو و درک

حافظه طولانی مدت (beta)

خلاصه کوتاهی از پیام های قدیمی تر (نام ها، شماره های بلیط / زنگ، مقادیر، تصمیم گیری) را نگه می دارد تا دستیار در چت های بسیار طولانی بدون بازپرداخت تمام رونویسی بهترین برای پشتیبانی از موضوعات سنگین و بلند؛ جفت با حالت Agent ثابت بماند.

تحمل Tpo

تایپ های کوچک را بخوانید ("مثبت باز"، "نابودهای پرداخت نشده") به عنوان کلمات در نظر گرفته شده، بنابراین اطلاعات درست به جای از دست رفته پیدا می شود.کار با هر پلت فرم متصل به طور پیش فرض؛ مفید برای چت دستی تلفن همراه است.

متن حساب

فقط عکس فوری حساب مشتری را زمانی که سوال در واقع مربوط به حساب آنها (تعامل، صورتحساب، بلیط ها، خدمات)، حذف آن را در سوالات عمومی متصل می کند. Cuts بدون از دست دادن کیفیت هزینه دارد. دستیار هنوز هم می تواند حساب زنده بماند هنگامی که یک نوبت نیاز به آن دارد.

صرفه جویی در هزینه

جستجو برای سلام و احوالپرسی (beta)

"سلام"، "تشکر" و "ok" یک جستجوی مبتنی بر دانش را ایجاد نمی کنند، پاسخ ها هرگز از آن استفاده نمی کنند.

طولانی ترین پاسخ مجاز (توکن)

Caps می گوید که چه مدت یک پاسخ می تواند باشد.پاسخ دادن به طول گران ترین بخش تماس است، بنابراین یک کلاه معقول (در اطراف) 500 برای حمایت) تنها موثرترین کنترل هزینه چت است.تنها محدودیت جهانی شما را کاهش می دهد، هرگز آن را افزایش نمی دهد.

روی گزینه Create Your AI

عمق تفکر (مشتری و مدیر چت)

چقدر مدل قبل از پاسخ دادن (حداقل به بالا) فکر می کند، چت مشتری را در حداقل / کم برای سرعت نگه دارید؛ تنظیمات بالاتری را برای تجزیه و تحلیل و هماهنگ کننده مدیریت رزرو کنید.

مدل Per-AI (پرکار)

هر سطح AI ( چت زنده، پیش نویس بلیط، خلاصه، تجزیه و تحلیل، معاون مدیر، ارتقاء، اطلاعات سایت و موارد دیگر) می تواند بر روی مدل خود اجرا کند که در آن سرعت مهم است، قوی است که کیفیت بلبل بر روی یک سطح = ارائه دهنده پیش فرض برای این کار.

کنترل هزینه چت مدیریت

مدیر می تواند یک حافظه کاری محدود را حفظ کند و تنها ابزارهایی که به جای هر ابزار مورد نیاز است (ابزارهای تک) بارگیری کند.

آموزش هوش مصنوعی خود

دستورالعمل های فشرده

دستورالعمل های شما بر روی هر نوبت ارسال می شود، بنابراین طول آنها یک هزینه تکراری است. دکمه فشرده یک اسلات را بازنویسی می کند تا همان چیزی را در کلمات کمتر بگوید. {variable} یا قانون، و آنچه را که محافظت می کند گزارش می دهد، بنابراین هرگز به طور بی پرده معنای آن را تغییر نمی دهد.

«چه چیزی در مغز هست؟» (ℹ️)

نشان می دهد چه OpsIQ در حال حاضر در مورد کسب و کار خود در هر اسلات می دانید، بنابراین شما می توانید هر چیزی که در دستورالعمل های خود تکرار کرده اید را حذف کنید.

💡
پول کجا می رود؟ برای چت پشتیبانی کوتاه (دستورالعمل ها + داده های حساب + تاریخ، هر نوبت ارسال) معمولا هزینه بیش از پاسخ کوتاه، ذخیره سازی و بافت ضعیف کمک بسیاری در آنجا وجود دارد.برای محتوای طولانی تولید شده خروجی غالب است. کلاه پاسخ و عمق تفکر پایین تر پرداخت آن وجود دارد .
آیا این تغییر در پاسخ چت در حال حاضر؟+

هر کنترل به طور پیش فرض و مستقل خاموش می شود، تبدیل یکی فقط رفتار خود را اضافه می کند؛ خاموش کردن آن چت را دقیقاً به چگونگی کار قبل از آن باز می گرداند.

چه دستوری باید آنها را به سمت خود ببرم؟+

چت روزانه را بر روی یک مدل نور اجرا کنید و یک مدل قوی تر از عامل را تنظیم کنید، اگر شما یک پلت فرم متصل دارید، حالت Agent را فعال می کنید، سپس برنامه ریزی پیش، پس از آن حافظه طولانی مدت، زمینه پرش -KB-for-G-greetings، و یک پاسخ کاپیتالیست، در نهایت دستورالعمل های خود را فشرده کنید.

کیت عامل Admin: جستجوی وب، کتاب های اجرا، ماموریت ها، انتقال فایل

چت مدیریت AI یک مهندس کار است، نه تنها یک جعبه سوال.این می تواند در وب حل کند، کتابخانه ای از روش های عملیاتی خود را نگه دارید، سرورهای خود را در یک برنامه گشت و گذار، اکثر این با درخواست آن در چت هدایت می شود؛ یکی از چیزهایی که شما پیکربندی جلو است که ارائه دهنده جستجو وب استفاده می کند، بر روی تنظیم صفحه هوش مصنوعی شما.

جستجوی وب

ساخته شده در

عامل وب را برای docs، پیام های خطا و اطلاعات فعلی جستجو می کند در حالی که کار می کند.از جعبه این استفاده از DuckDuckGo است که نیازی به کلید و بدون تنظیم ندارد.

کتابهای اجرا

در چت

کتابخانه ای نجات یافته از روش های شما ("چگونه ما X را اینجا")، عامل یک پایین پس از ناخن زدن کار پیچیده و دنبال آن در زمان بعدی، بنابراین دانش آموز-چگونی باقی می ماند پایان چت.

ماموریت ها

برنامه ریزی شده

گشت های تنها خواندنی را برنامه ریزی کنید: «هر روز صبح، فضای دیسک و عکس های خطا را بررسی کنید و به من بگویید.»

انتقال فایل

در چت

از یک فایل log درخواست کنید و یک لینک دانلود خصوصی دریافت کنید یا یک فایل کپی شده از یک سرور متصل به دیگری داشته باشید. 5 MB.

جستجوی وب عامل مدیریت (در تنظیم AI)

ارائه دهنده جستجو

آنچه که جستجوی وب عامل استفاده می کند، پیش فرض DuckDuckGo است: کلید بی، آزاد، در هر نصب کار می کند. Serper.dev (نتایج گوگل) معمولاً نتایج بهتری را به دست می آورند، اما هر کدام نیاز به یک نتیجه دارند. API کلید از این ارائه دهنده.اگر یک ارائه دهنده کلیدی به هر دلیلی شکست بخورد (کلید بد، سهمیه بندی استفاده شده، مشکل شبکه)، که جستجو به طور خودکار به DuckDuckGo می افتد، بنابراین جستجو هرگز تاریک نمی شود.

جستجو Search API کلید کلیدی

کلید ارائه دهنده انتخاب شده شما، تنها برای Brave، Tavily یا Serper مورد نیاز است، هنگامی که آن را ذخیره می کند و هرگز در صفحه نمایش داده نمی شود؛ یک جدید برای جایگزینی آن.یک ارائه دهنده کلیدی تنها زمانی فعال می شود که هر دو ارائه دهنده و کلید آن نجات پیدا کنند.

کتابهای اجرا

هنگامی که عامل به تازگی یک کار را انجام داده است ، می‌خواهید آن را دوباره به همان روش انجام دهید ، بگویید » ذخیره آن به عنوان کتاب اجرا با نام clean- nightly «. از آن زمان به بعد ، در هر نشست ، کتاب اجرایی را با نام می بیند ، و وقتی برای کار با نام درخواست می‌کنید (یا توصیفش می‌کنید) ، مراحل را بیرون می کشد و آنها را دنبال می‌کند. می‌توانید از آن بخواهید تا در هر زمانی فهرست ، به‌روزرسانی یا حذف کتابهای اجرا را انجام دهد.

💡
یک کتاب راهنما است، نه یک پاس رایگان.هنگامی که عامل از یک پیروی می کند، هر قدمی که سرور را تغییر دهد هنوز از طریق حالت مجوز فعلی شما عبور می کند و کارت های تایید معمول را نشان می دهد. A Runbook هرگز نمی تواند یک تأیید را دور بزند.

ماموریت ها

ماموریت یک کار تکراری است که نماینده به تنهایی اجرا می کند: ساعت، روزانه در یک ساعت تنظیم شده یا هفتگی در یک روز تنظیم شده. Missions تنها با طراحی خوانده می شود، آنها می توانند سرورهای، داده ها و وب را بخوانند، اما هرگز نمی توانند چیزی را تغییر دهند؛ زمانی که مأموریت تمام می شود ، یافته های زمین به عنوان اطلاع رسانی در مورد مدیر شما می گویند "در حال حاضر صبح" برای توقف ماموریت یا درخواست توقف یک عامل، و یا متوقف کردن درخواست،

⚠️
ماموریت ها فرار می کنند OpsIQ cron، بنابراین باید تنظیم شود (نگاه کنید به Cron و اتوماسیون) A-off "اجرا آن در حال حاضر" از چت کار می کند حتی بین cron بر روی اکثر سرورها اجرا می شود.

فایل های متحرک

از یک فایل بپرسید: “من امروز را از سرور وب وارد کنید”) و مراحل عامل آن و پاسخ با یک لینک دانلود خصوصی است.این پیوند فقط برای مدیران امضا شده کار می کند و پس از حدود یک روز منقضی می شود. 5 MB برای هر چیزی بزرگتر، از نماینده بخواهید ابتدا آن را روی سرور فشرده یا برش دهد.

عامل همچنین می تواند یک فایل واحد را بین دو سرور متصل کپی کند، دوباره تا به 5 MB نوشتن در مقصد مانند هر گونه تغییر دیگری که ایجاد می کند، درمان می شود: در حالت اول کارت تایید دریافت می کنید، فایل موجود پشتیبانی می شود و نسخه برگشت پذیر است.برای ایمنی، محتوای فایل دوباره از منبع در لحظه ای که کپی استفاده می شود، نه از چت گرفته شده است.

آآ

آموزش AI

آموزش AI جایی است که شما تدریس می کنید OpsIQ چگونه رفتار کنید، شما می نویسید که شخصیت، مرزها، تمرکز دانش و قوانین تشدید آن را به عنوان نوشتن یک کتابچه راهنمای آموزشی برای یک عامل پشتیبانی جدید در نظر بگیرید.

آموزش AI
آموزش AIیک ویرایشگر دستورالعمل AI با برگه های مشتری / مدیریت و لحن ساده انگلیسی، همیشه و هرگز قوانین.آموزش AIفضای کاریمشتری AIمدیریت AIنتمهربان، مختصر و بدون هیچ گونه فشاریهمیشهیک دست انسان برای حل اختلافات لایحه ای ارائه دهید.هرگزبدون چک کردن حساب، بازپرداخت کنید.1TWO MANUALSمشتری و مدیر AI2PLAIN ENGLISHهمیشه، هرگز3GROUNDEDبه علاوه پایگاه دانش شما
AI را مانند یک استخدام جدید، مشتری و دفترچه راهنماهای مدیریتی که در زبان انگلیسی ساده نوشته شده اند (سنگ، همیشه، هرگز)، بر اساس KB خود آموزش دهید.

دو حوزه آموزشی

مشتری AI

کنترل چگونگی صحبت AI با مشتریان خود در ویجت چت، این مهم ترین محرک برای رسیدن به حق است.

مدیریت AI

کنترل چگونگی کمک AI به تیم مدیریت خود در داشبورد اپراتور.این کار نمایش های داخلی و اجرای عمل را اداره می کند.

نوشتن یک مشتری بزرگ AI فوری

مشتری شما باید این مناطق را پوشش دهد:

1
هویت

AI کیست؟ به آن نام، نقش و شخصیت بدهید: “شما Luna هستید، یک دستیار پشتیبانی مشتری دوستانه و آگاهانه برای فروشگاه Acme است.”

2
سبک و سبک

چگونه باید ارتباط برقرار کند؟ مثال: "حرفه ای اما گرم، از زبان ساده استفاده کنید.از پاسخ های مختصر اجتناب کنید"2-3 حداکثر پاراگراف ها.»

3
مرزهای دانش

چه چیزی باید بداند و نه؟ مثال: «شما درباره محصولات، قیمت گذاری، حمل و نقل و سیاست بازگشت ما می دانید.در مورد محصولات رقیب یا تصمیمات شرکت های داخلی نمی دانید.»

4
قوانین ارتفاع

چه زمانی باید به یک انسان دست پیدا کرد؟ مثال: «به نماینده انسانی رجوع کنید، مشتری درخواست بازپرداخت می کند، به اقدام قانونی اشاره می کند و مسئله امنیتی را گزارش می دهد یا سه بار از همان سوال می پرسد.»

5
کارهایی که هرگز انجام نمی دهند

مرز های سخت: «هرگز بازپرداخت قول ندهید، هرگز فرمول های قیمت گذاری داخلی را به اشتراک نگذارید.هرگز ویژگی های محصول را که وجود ندارد، ایجاد نکنید.»

مثالی

مثالی از مشتری AI Rapid · فروشگاه آنلاین
You are Aria, a friendly customer support assistant for TechGear.

PERSONALITY:
- Warm and professional
- Concise (2-3 paragraphs max per response)
- Use simple language, no jargon
- If unsure, say so honestly

KNOWLEDGE:
- Our products: laptops, accessories, software subscriptions
- Pricing: as listed in the knowledge base
- Shipping: free over $50, 3-5 business days standard, 1-2 days express ($12)
- Returns: 30-day money-back guarantee, must be in original condition

ESCALATION (hand off to human):
- Refund requests over $100
- Account security concerns
- Legal threats or complaints
- Customer explicitly asks for a human

NEVER DO:
- Promise specific delivery dates (say "estimated")
- Share discount codes not in the knowledge base
- Make up product specifications
- Give financial or legal advice
مثالی از مشتری AI Instant · شرکت میزبانی
You are Atlas, an AI assistant for CloudHost web hosting.

TONE: Technical but accessible. Assume the customer has basic web knowledge.

KNOWLEDGE:
- Shared hosting, VPS, dedicated servers
- cPanel, DNS, SSL, email configuration
- WordPress, Joomla, Drupal installation
- Common error codes and troubleshooting

ESCALATION:
- Server outages affecting multiple customers
- Data loss or security breach reports
- Billing disputes over $50
- Complex migration requests

BOUNDARIES:
- Do NOT access customer servers or databases
- Do NOT change DNS records or passwords
- Always recommend the customer makes changes themselves
- For code issues, suggest steps but clarify you cannot debug their application

اجتناب از زمان

1
راه اندازی با اصول

با هویت، لحن و مرزهای کلیدی شروع کنید، سعی نکنید همه چیز را در روز اول پوشش دهید.

2
تاریخچه AI هفتگی

مکالماتی را بخوانید که در آن AI پاسخ های اشتباه یا فرعی داده است.

3
به روز رسانی سریع

قوانین خاصی را برای مسائل تکراری اضافه کنید: اگر AI بازپرداخت های امیدوار کننده ای را ادامه دهد، “هرگز قول بازپرداخت ندهید.بگو به تیم لایحه افزایش خواهید یافت.”

4
اضافه کردن دانش

اگر AI نتواند به یک سوال پاسخ دهد، پاسخ را به پایگاه دانش اضافه کنید تا سعی کنید همه چیز را در سریع قرار دهید.

⚠️
به سرعت خود را در زیر نگه دارید 2,000 کلمات طولانی می توانند AI را گیج کرده و هزینه های توکن را افزایش دهند.اطلاعات دقیق در پایگاه دانش را به جای آن قرار دهند.
تفاوت بین پایه ی دانش و سریع چیست؟+

این سریع شخصیت، مرزها و قوانین را تعریف می کند. پایگاه دانش اطلاعات واقعی (اطلاعات محصول، قیمت گذاری، سیاست) را فراهم می کند، AI هر دو را می خواند، اما رفتار فرم های فوری در حالی که KB پاسخ می دهد.

آیا می توانم برای بخش های مختلف انگیزه های متفاوتی داشته باشم؟+

این سریع در فضای کاری است.اگر شما نیاز به رفتار مختلف AI برای بخش های مختلف دارید، از پایگاه دانش برای ارائه اطلاعات خاص بخش استفاده کنید و زمینه بخش را در جهت خود ذکر کنید.

آآ

تاریخ AI

تاریخ AI نشان می دهد که هر مکالمه ای که AI با مشتریان و مدیران داشته است، از آن برای حسابرسی عملکرد هوش مصنوعی استفاده می کند، پاسخ های اشتباه پیدا کرده و شکاف های آموزشی را شناسایی می کند.

تاریخ AI
تاریخ AIیک ورود AI با نشان های نوع، سوال و پاسخ، زمان پاسخ و نتیجه تبدیل می شود.تاریخ AIفضای کاریهر نوبتی که به هوش مصنوعی می رسد،گفتگوس: سفارش من کجاست؟A: امروز ارسال، ردیابی UPS ...0.9sپاسخ پاسخبلیط بلیطپیش نویس پاسخ T-12345بازپرداخت تاییدیه1.4sdraftedمدیر اجراییبلیط های این هفته را خلاصه کنید12- خلاصه برگشت2.1sانجام شدهگفتگوQ: لغو برنامهتسلیم شدن به یک انسان0.7sescalated1EVERY TURNسریع، پاسخ، عمل2SEARCHABLEفیلتر و صادرات3OWNER-ONLYکامل حسابرسی
هر نوبت AI (چ، پیش نویس بلیط، اقدام مدیریتی) با سرعت دقیق، پاسخ، مدت و نتیجه وارد شده است.

هر مکالمه چه نشان می دهد

تاریخ و زمان

وقتی مکالمه اتفاق افتاد.

هویت مشتری

نام و ایمیل اگر شناخته شده باشد، در غیر این صورت IP و کشور

کانال

ویجت چت، خودکار بلیط، پیش نویس ایمیل یا مدیر AI.

پیام های پیام

متن کامل مکالمه: پیام های مشتری و پاسخ های AI

استفاده از توکن

چه تعداد توکن های مصرفی مکالمه را نشان می دهد که استفاده از توکن بالا ممکن است نشان دهنده این باشد که AI پاسخ های بیش از حد فعل و انفعالی را ارائه می دهد یا گفتگو در محافل انجام شده است.

اقدامات انجام شده

هر گونه اقدام AI در طول مکالمه اجرا می شود (نگاه کنید به سفارش، ایجاد بلیط و غیره).

رتبه بندی

اگر CSAT فعال شود، رتبه رضایت مشتری برای این مکالمه.

پیدا کردن مشکلات

جستجو در کلمه کلیدی

جستجو برای موضوعات خاص برای دیدن اینکه چگونه AI آنها را مدیریت می کند.به عنوان مثال: به دنبال "refund" بگردید تا بررسی کنید که آیا AI از سیاست بازپرداخت شما پیروی می کند یا خیر.

فیلتر با رتبه بندی

فقط مکالمات کم رتبه را برای تمرکز بر مشتریان ناراضی نشان دهید.

فیلتر توسط کانال

فقط بلیط خودکار را به پاسخ های خودکار حسابرسی جداگانه از چت نشان دهید.

استفاده از توکن

مکالمات با صدای بلند ممکن است مشکلات را نشان دهد: AI در حال قمار، رفتن به محافل و یا عدم پاسخ به سوال.

برنامه حسابرسی روزانه Weekly

1
بررسی مکالمات با کیفیت پایین

متن کامل را بخوانید، چه چیزی اشتباه بود؟ آیا این یک شکاف دانش، یک مسئله لحن یا پاسخ نادرست است؟

2
بررسی مکالمات بلند و به هم پیوسته

این ممکن است نشان دهنده سردرگمی باشد که آیا هوش مصنوعی خود را تکرار می کند؟ آیا نمی تواند سوال را درک کند؟

3
آموزش به روز رسانی

برای شکاف های دانش، مقالات را به پایگاه دانش اضافه کنید.برای مسائل رفتاری، AI Rapid را به روز کنید.

یافتن شکاف های دانش

سناریو:
شما تاریخ AI را برای "installation" جستجو می کنید و پیدا می کنید 15 در جایی که AI گفت: "من دستورالعمل های نصب خاصی برای این محصول ندارم."
چه کاری باید انجام دهید:

این بدان معنی است که پایگاه دانش شما راهنمای نصب از دست رفته است.ایجاد مقالات پایه دانش برای مراحل نصب هر محصول پس از اضافه کردن آنها، آزمایش با پرسیدن سوالات نصب AI.

آآ

هوش مصنوعی بینش

هوش مصنوعی Insights به طور خودکار الگوهای گفتگو و یافته های عملی سطوح را تجزیه و تحلیل می کند: سوالات رایج، روند رضایت، شکاف دانش و الگوهای تشدید.

هوش مصنوعی بینش
هوش مصنوعی (Intelligence Hub)The Intelligence Hub: A AI Today’s short, Smart Alerts, a Score-a-Lead / Analyse-a -Page Tool و یک ابزار . 14 نمودار الگوی ترافیک روزانههوش مصنوعی بینشفضای کاریامروز BRIEFترافیک بالا 12%; 3 هدایت های گرم؛2معاملات نیاز به پیگیری دارند.هشدار های هوشمندخطای چک کردن افزایش یافتهپرش در /pricingرهبری جدید داغ از آمریکادرآمد پیش از هفته گذشتهامتیاز یک Lead/ آناse a PageIP یا URL….رو14 الگوی ترافیک روزانه1امروز BRIEFهوش مصنوعی می نویسد صبح خلاصه2SMART ALERTSAnomalies سطح3ON DEMANDنمره یک سرب · تجزیه و تحلیل یک صفحه
The Real Intelligence Hub: A AI-Write Today’s short and Smart Alerts for anomalies، On- Demand Lead Score و page Analysis 14 الگوی ترافیک روزانه

چه بینشی نشان می دهد

سوالات بالا

اغلب از سوالات پرسیده می شود که آیا “من رمز عبور خود را چگونه تنظیم می کنم؟” ##1پایه دانش شما نیاز به یک راهنمای تنظیم مجدد رمز عبور برجسته دارد.

روند رضایت

نمره های CSAT در طول زمان، آیا رضایت AI بهبود یا کاهش می یابد؟ افت ناگهانی ممکن است نشان دهنده یک تغییر پایه دانش باشد که چیزی را شکست داد.

نرخ وضوح

هوش مصنوعی بدون دخالت انسان چه درصد از مکالمات را حل می کند؟ نرخ بالاتر 70% در زیر خوب است. 50% به این معنی است که AI نیاز به آموزش بیشتری دارد.

دلایل افزایش

چرا مکالمات به دلایل مشترک انسان ها واگذار می شوند: مشتری درخواست بشر کرد، هوش مصنوعی نمی تواند پاسخ دهد، موضوع حساس و مسئله صورتحساب.

شکاف های دانش

موضوعاتی که هوش مصنوعی اغلب می گوید: «نمی دانم» یا پاسخ های اعتماد به نفس پایین می دهد.

متوسط طول مکالمه

چند پیام در هر مکالمه طولانی (چندین مکالمه)10+ پیام ها ممکن است نشان دهند که AI این سوال را درک نمی کند.

استفاده از بینش برای بهبود

سناریو:
هوش مصنوعی Insights نشان می دهد که 23% افزایش تنش ها "مشتری در مورد گارانتی سوال می شود" و AI نمی تواند پاسخ دهد.
چه کاری باید انجام دهید:

این یک شکاف دانش واضح است.1یک مقاله جامع در پایگاه دانش بنویسید که تمام شرایط گارانتی، روند ادعای و محرومیت را پوشش می دهد.2به روز رسانی AI سریع برای مرجع اطلاعات گارانتی.3نظارت بر هوش مصنوعی Insights در هفته آینده برای دیدن اینکه آیا افزایش گارانتی کاهش می یابد.

آآ

کتاب بازی Admin AI

نرم افزار Admin AI (پرسش کنید)OpsIQ کمک به تیم شما OpsIQ از داخل داشبورد مدیر می توانید از آن بخواهید تا داده ها را بررسی کند، ویژگی ها، بلیط های خلاصه و اجرای اقدامات پلت فرم را توضیح دهد.

مدیریت AI
کتاب بازی Admin AIپرسش:OpsIQ جعبه فرمان با یک کارت عمل پلتفرم AI-proposed که پارامترهای و تایید / کانسل را نشان می دهد.سوال بپرسید OpsIQفضای کاریسوال بپرسید OpsIQخدمات را برای حساب بیش از حد پرداخت کنید #4821آآاقدام اجباری: تعلیق_serviceحساب: #4821 (در ادامه) $120)پلتفرم: WHMCS · برگشت پذیر · حسابرسیتاییدلغو1ASK ANYTHINGدستورات انگلیسی ساده2PROPOSE FIRSTاقداماتی که قبل از اجرا انجام می شود3YOU CONFIRMمحدوده و حسابرسی
به مدیر AI بگویید که چه چیزی را در زبان انگلیسی ساده می خواهید؛ این کار دقیق (scoped، برگشت پذیر، حسابرسی شده) را پیشنهاد می کند و منتظر تایید شما است.

آنچه که مدیر AI می تواند انجام دهد

نگاه کردن به داده ها

بپرسید: «همه بلیط ها را از من نشان بده. [email protected] یا "وضعیت نظم #ORD- چیست؟"5523?"

خلاصه داستان : Summarize

بپرسید: «آخرین را یادداشت کنید. 10 بلیط ها یا “چه چیزی در این هفته مهم ترین مسائل حمایت است؟”

ویژگی های توضیح

بپرسید: «چگونه خودکار را تنظیم کنم؟» یا «چه چیزی کارت نرخ پرش به معنای چیست؟»

اجرای اقدامات

بپرسید: «یک بلیط برای ایجاد کنید. [email protected] در مورد صورتحساب یا “Close Ticket T”12345"

Platform Ques

بپرسید: «چند نفر از بازدیدکنندگان دیروز را دریافت کرده اند؟» یا «در این ماه درآمد ما چیست؟»

گفتگو های مثالی

نگاه کردن به مشتری

سناریو:
مدیر اجرایی می پرسد: “پیدا کردن مشتری” [email protected] و فعالیت های اخیر خود را به من نشان بده.»
چه کاری باید انجام دهید:

AI به نظر می رسد مشتری در سراسر تمام منابع داده متصل: جلسات بازدید کننده، بلیط ها، مکالمات چت، سفارشات و تماس های CRM.این خلاصه ای از فعالیت های اخیر با لینک به هر مورد بازگشت.

دریافت خلاصه روزانه

سناریو:
مدیر می پرسد: «امروز چه اتفاقی افتاد؟»
چه کاری باید انجام دهید:

هوش مصنوعی خلاصه می کند: “امروز شما داشته اید 245 بازدید کنندگان (up) 12%), 8بلیط های جدید (3 حل شده توسط AI2سفارشات جدید در مجموع $198 و1گفتگو در مورد تاخیر حمل و نقل."

اخراج یک عمل

سناریو:
مدیر اجرایی می پرسد: “تغییر بلیط T-5523 اولویت فوری "
چه کاری باید انجام دهید:

AI تایید می کند: "من بلیط T را تغییر خواهم داد 5523 اولویت از حالت عادی تا فوری، این بر تایمر SLA تاثیر می گذارد؟ شما تایید می کنید و عمل اجرا می شود.

💡
Admin AI تنها اعمالی را که در رجیستری ثبت شده اند اجرا می کند، نمی تواند اقدامات یا سیستم های دسترسی خارج از آن را اختراع کند. OpsIQ.
آآ

سناریوهای هوش مصنوعی مشتری

این بخش شامل سناریوهای هوش مصنوعی رایج مشتری با راهنمایی های رفتاری و آموزشی مورد انتظار است.

مشتری AI
سناریوهای هوش مصنوعی مشتریکتابخانه ای از سوالات مشتری با رفتار AI مورد انتظار و یک برچسب نتیجه برای هر کدام جفت می شود.سناریوهای هوش مصنوعی مشتریفضای کاریکتابخانه سناریو انتظار می رود رفتار AI«نظم من کجاست؟»سفارش را از طریق کانکتور مشاهده کنید، ردیابی کنیدحل و فصل«من بازپرداخت می خواهم»اعتراف کنید، هرگز قول ندهید که به یک انسان دست بدهید.دست«آیا این سرویس پایین است؟»وضعیت را بررسی کنید، گزارش فعلیوضعیت«حسابم را می بوسد»قصد رو تأييد کن، بعدش به انسان ها بفرستتایید1SCENARIOSسوالات متداول2EXPECTEDچگونه AI باید پاسخ دهد3ESTپیدا کردن شکاف های آموزشی
کتابخانه ای از سوالات مشتری واقعی و دقیقاً چگونگی مدیریت هوش مصنوعی برای انجام هر یک از این موارد، آزمایش آموزش و یافتن شکاف ها.

کتابخانه سناریو

دستور وضعیت تحقیقات

سناریو:
مشتری: «نظم من کجاست»12345?"
چه کاری باید انجام دهید:

رفتار هوش مصنوعی مورد انتظار:1• سفارش را از طریق کانکتور پلت فرم مشاهده کنید.2گزارش وضعیت فعلی (فرآوری، حمل و نقل، تحویل)3• شامل شماره ردیابی در صورت موجود است.4اگر سفارش به تأخیر افتاده است، تصدیق و ارائه جدول زمانی تخمین زده شده.5هرگز اطلاعات ردیابی را اختراع نکنید.

درخواست مجدد Password Reset Request

سناریو:
مشتری: «من رمز عبورم را فراموش کردم و نمی توانم وارد شوم.»
چه کاری باید انجام دهید:

رفتار هوش مصنوعی مورد انتظار:1• ارائه مراحل تنظیم مجدد رمز عبور از پایگاه دانش.2• شامل لینک تنظیم شده یا مسیر صفحه.3اشاره کنید که ایمیل تنظیم شده ممکن است چند دقیقه طول بکشد.4پیشنهاد چک کردن پوشه اسپم ()5اگر مشتری هنوز نمی تواند دوباره تنظیم شود، به یک انسان افزایش می یابد.

درخواست ویژگی

سناریو:
مشتری: آیا می توانید حالت تاریک را به اپلیکیشن موبایل اضافه کنید؟
چه کاری باید انجام دهید:

رفتار هوش مصنوعی مورد انتظار:1ممنون از پیشنهاد2توضیح دهید که چگونه درخواست های ویژگی (لود، بررسی و اولویت بندی) انجام می شود.3قول ندهید که این ویژگی ساخته شود.4اگر یک ویژگی مشابه وجود دارد، آن را ذکر کنید.

بحث درباره

سناریو:
مشتری: «من متهم شدم اما خدمات من کار نمی کند.»
چه کاری باید انجام دهید:

رفتار هوش مصنوعی مورد انتظار:1• عدم موفقیت را بپذیرید.2وضعیت خدمات را در صورت امکان بررسی کنید.3• افزایش حساب با تمام جزئیات.4قولی ندهید.(5• اولویت بلیط را به بالا تنظیم کنید.

سوال خارجی

سناریو:
مشتری: «امروز آب و هوا در لندن چه است؟»
چه کاری باید انجام دهید:

رفتار هوش مصنوعی مورد انتظار:1Politelyریدایرکت می کند: "من دستیار پشتیبانی شرکت شما هستم و می تواند به سوالاتی در مورد محصولات و خدمات ما کمک کند.2بپرسید که آیا آنها یک سوال محصول دارند.

چگونه رفتار AI مشتری را آزمایش کنیم؟+

وب سایت خود را در یک مرورگر خصوصی / ناشناس باز کنید و با AI به عنوان مشتری چت کنید. سوالات رایج، موارد لبه و سناریوهای مجاور را امتحان کنید. بررسی کنید که هوش مصنوعی قوانین سریع شما را دنبال می کند و از محتوای پایه دانش به درستی استفاده می کند.

آآ

پایگاه دانش AI

پایگاه دانش یک کتابخانه از مقالات است که AI برای پاسخ به سوالات استفاده می کند.هنگامی که مشتری چیزی را می پرسد، هوش مصنوعی پایه دانش مقالات مربوطه را جستجو می کند و از آنها برای ایجاد پاسخ دقیق و مبتنی بر آن استفاده می نماید.

پایه دانش
پایه دانشمنابع تغذیه به یک فروشگاه دانش، سپس AI تولید یک پاسخ پایه، ذکر شده است.پایه دانشفضای کاریمنابعوب سایت خزیدنکمک به مقالاتپرسش و پاسخواردات docsدانشکلمه کلیدی معنایی + | | Conceptwordآآپاسخ زمینیبا یک منبع ذکر شده" بازپرداخت ها 3–5روزهای کاری.»1INGESTCrawl، FAQ، واردات2RETRIEVESemantic + کلمه کلیدی3GROUNDEDپاسخ از محتوای شما
سایت خود را به صورت دانش وارد کنید؛ AI قطعات و پاسخ های مناسب را بازیابی می کند، بر اساس و ذکر شده است.

چگونه کار می کند

1
مشتری سوال می پرسد

سیاست بازگشت شما چیست؟»

2
AI به دنبال پایگاه دانش است

OpsIQ مقاله "Return Policy" را با تطبیق کلمات کلیدی و معنی معنایی پیدا کنید.

3
AI یک پاسخ را تولید می کند

AI مقاله را می خواند و یک پاسخ زبان طبیعی بر اساس محتوای مقاله می نویسد.

4
مشتری پاسخ دقیق می دهد

پاسخ در سیاست واقعی شما نه داده های آموزش عمومی AI است.

ایجاد مقالات خوب

یک موضوع در هر مقاله

یک مقاله جداگانه برای هر موضوع بنویسید: سیاست بازگشت، نرخ حمل و نقل، تنظیم حساب، تنظیم مجدد رمز عبور، موضوعات غیر مرتبط را ترکیب نکنید.

نوشتن مانند یک FAQ

با سوال مشتریان شروع کنید، سپس پاسخ را ارائه دهید.این به AI کمک می کند تا سوالات خود را به مقالات مطابقت دهد.

خاص باشید

«بازگشتها باید در داخل آغاز شوند 30 روزهای تحویل بهتر از «سیاست بازگشت داریم» است.

شامل موارد لبه

در مورد بازگشت های بین المللی چه چیزی؟ درباره محصولات دیجیتال؟ چه چیزهایی در مورد اقلام خریداری شده در فروش؟ آیا استثناها را پوشش می دهد؟

ادامه دهید

مقالات را به صورت سه ماهه بررسی کنید. حذف اطلاعات منسوخ شده.به روز رسانی، سیاست ها و روش های زمانی که آنها تغییر می کنند.

مقالات شروعی که باید بنویسید

حمل و نقل و تحویل

هزینه های حمل و نقل، زمان تحویل، ردیابی، حمل و کشتیرانی بین المللی و تأخیر در رسیدگی.

بازگشت و بازپرداخت

پنجره بازگشت، شرایط، روند، زمان بندی بازپرداخت و استثناها.

مدیریت حساب

ریست کردن رمز عبور، تغییر ایمیل، حذف حساب و صادرات داده ها

قیمت گذاری و صورتحساب

توصیف برنامه، چرخه صورتحساب، روش های پرداخت، فاکتورها و ارز.

راهنمای محصول

چگونه از هر محصول یا ویژگی استفاده کنیم. دستورالعمل های گام به گام با تصاویر

عیب یابی

مشکلات و راه حل های رایج

اطلاعات تماس

ساعات کاری، کانال های پشتیبانی، زمان پاسخ و مسیرهای تشدید شده

قانونی و انطباق

خلاصه سیاست حفظ حریم خصوصی، شرایط خلاصه خدمات، GDPR درخواست های داده

دانش

هر کانکتور می تواند دانش را به AI کمک کند.هنگامی که یک اتصال فعال شود، مقالات دانش داخلی آن ( کاتالوگ محصول، سوالات رایج، عیب یابی پلت فرم خاص) به طور خودکار در دسترس AI هستند.شما می توانید دانش اتصال در یا خاموش در هر کانکتور در تنظیمات اتصالات را تنظیم کنید.

بودجه توکن

پایه دانش دارای یک سقف توکن قابل تنظیم (default: 32,000 توکن ها) که کنترل می کند که چه مقدار متن دانش به AI در هر مکالمه ارسال می شود، اگر پایگاه دانش شما بسیار بزرگ باشد، هوش مصنوعی مناسب ترین مقالات را در این بودجه انتخاب می کند. سقف را افزایش دهید اگر AI مقاله های مربوطه را پیدا نکند؛ آن را کاهش دهید اگر می خواهید هزینه های توکن را کاهش بدهید.

چند مقاله باید داشته باشم؟+

شروع با5-10 مقالاتی که رایج ترین سوالات شما را پوشش می دهند، بیشتر اضافه کنید زیرا شکاف ها را از طریق تاریخ AI و هوش مصنوعی شناسایی می کنید. اکثر کسب و کارها نیاز به اطلاعات بیشتری دارند. 20-50 مقالات برای پوشش جامع

آیا می توانم مقالات را از سیستم دیگری وارد کنم؟+

در حال حاضر، مقالات به صورت دستی ایجاد می شوند. OpsIQ شما می توانید محتوای گذشته را از FAQ های موجود، مراکز کمک یا اسناد کپی کنید.

چه فرمت هایی باید در مقالات موجود باشند؟+

متن ساده بهترین کار را می کند. AI زبان طبیعی را بهتر از ساختار یافته درک می کند HTML یا علامت گذاری کنید، همانطور که برای مشتری توضیح می دهید.

آآ

ارزیابی هوش مصنوعی و Watchtower

ارزیابی مجموعه ها سوالات مشتری را به آزمون های تکراری برای کیفیت پاسخ، استنادات، افزایش و ایمنی عمل تبدیل می کند.

صفحه نمایش محصول
ارزیابی AIارزیابی هوش مصنوعی موارد آزمایش طلایی، رفتارهای مورد نیاز، آخرین نتایج و برنامه ریزی شده Watchtower را شامل می شود.ارزیابی AIفضای کاریSETS6CASES84PASS RATE96%دانلود بازی LiveSPACEسیاست حمل و نقلاستنادات لازمگذردرخواست بازپرداختتایید انسانی لازمگذرادعای حمایت نشدهاقدامات ممنوعهگذرسوال مهاجرتمنبع گمشدهپرونده‌ها1CREATE CASESورودی طلایی و قوانین2RUN SAFELYدویدن خشک یا زندگی کردن eval3WATCHبرنامه روزانه یا هفتگی
ارزیابی هوش مصنوعی موارد آزمایش طلایی، رفتارهای مورد نیاز، آخرین نتایج و برنامه ریزی شده Watchtower را شامل می شود.

مدیران کامل می توانند مجموعه های ارزیابی را با یک برچسب منبع فوری، مورد انتظار، استنادات لازم، قوانین تأیید انسان، انتظارات افزایش یافته و اقدامات ممنوعه ایجاد کنند.

رصدخانه برنامه های روزانه یا هفتگی چک ها از طریق cron و تعدادی از موارد (تا هشت مورد در هر دوره برنامه ریزی شده) را اجرا می کند.بازخوردهای بررسی در کنار ارائه دهنده / مدل، نسخه سریع، نسخه دانش، اقدامات پیشنهادی و هزینه قبل از تغییر رفتار تولید.

آآ

زبان ها و ترجمه

زبان ها متن مشتری را ترجمه می کنند و رفتار مورد استفاده در هنگام OpsIQ زبان مشتری را دنبال کنید.

صفحه نمایش محصول
زبان های زبانصفحه زبان نشان می دهد زبان منبع، زبان های ترجمه شده، پیش نویس / حالت زنده و رفتار مشتری زبان.زبان های زبانفضای کاریمنبعانگلیسیLANGUAGES4زندگی زنده3دانلود بازی LiveSPACEفرانسویرابط و محتوازندگی زنده Liveآلمانی آلمانرابط و محتوازندگی زنده LiveاسپانیاییNameترجمه پیش نویسپیش نویسمشتری را دنبال کنیدپاسخ در زبان تشخیص داده شدهروشن1SET SOURCEزبان اصلی2ADD LANGUAGEترجمه در پس زمینه3PUBLISHپیش نویس یا زنده
صفحه زبان نشان می دهد زبان منبع، زبان های ترجمه شده، پیش نویس / حالت زنده و رفتار مشتری زبان.

OpsIQ ترجمه متن مشتری محور اپراتور- وارد شده، تنظیم زبان منبع به درستی قبل از ایجاد ترجمه ها، اضافه کردن زبان های هدف، سپس بررسی پیش نویس قبل از انتشار، "زبان مشتری" زبان پاسخ را کنترل می کند؛ ترجمه رابط ویجت دکمه ها، برچسب ها و متن سیستم را کنترل میکند.

محدوده ترجمه می تواند فقط پیش نویس یا زندگی باشد.به ترجمه ماشینی برای متن قانونی، بازپرداخت، امنیت و ایمنی بدون بررسی انسانی تکیه نکنید.

هر جایی که کلمه خود را نگه می دارد با شماره پیام آن ذکر شده است: پیام های چت مشتری، تبلیغات، پیام های فعال، جریان چت، تورهای هدایت شده، اعلان ها، حباب های تیزر و حباب های مزاحم و حلقه های فریب دهنده. بررسی ها و فرم هاسطح نظرسنجی هر بررسی منتشر شده را به طور کامل پوشش می دهد: عنوان، هر سوال، هر گزینه پاسخ، دکمه ها، خوش آمدید و تشکر از شما کپی، صفحه کروم و صفحات نتیجه. Keys با شناسه پرسش و ارزش گزینه گره خورده است، بنابراین سوالات یا گزینه های سفارش مجدد هرگز ترجمه را از دست نمی دهند، و ارسال یک پیام دوباره فقط پیام که نظرسنجی های زنده منتشر شده توسط پیش فرض ارائه می شوند؛ زمانی که شما به پیش نویس دامنه گسترده ای پیوستید.

نظرسنجی ایمیل پس از چت به دنبال زبان بازدید کننده در واقع چت، اگر که زبان یکی است شما ارائه اینجا؛ در غیر این صورت آن را استفاده از زبان سیستم خود را. شش زمینه قابل ویرایش آن نیز در این صفحه ترجمه شده اند و رفتار دارای سوئیچ خود را در تنظیمات چت مشتری است.

بلیط و پیام های پورتال نوع اپراتورهای متن ثابت را یک بار و هر مشتری سپس در آن زبان دریافت می کند: تأیید بلیط، باز، بسته و بازخورد تایید شده، امضاهای تک بخشی و خط استقبال پورتال (به طور خودکار AI نیازی به هیچ کدام از این ها ندارد، در حال حاضر پاسخ به زبان مشتری است.) ایمیل مشتریان به زبان خودشان فعال در OpsIQ نوشتن، ایمیل بلیط زبان دریافت کننده را در این دستور حل می کند: زبانی که آنها در پورتال یا مرکز کمک (که بر روی بلیت کار می کنند)، محلی در رکورد تماس خود، سپس زبانی که آن ها به صورت محلی نوشته اند، توسط محدوده اسکریپت و کلمات نشانگر شناسایی شده است، بدون هیچ گونه تماس خارجی انتخاب شده در صفحه زبان ها تا کنون استفاده می شود، بنابراین ویژگی متخصص در زبان های جهانی اضافه شده است. HTML بسته بندی ایمیل عمدا ترجمه نمی شود: نشانه گذاری است، نه ایمیل کارکنان (notifications، هشدار بخش، خلاصه های تحلیلگر، گزارش های برنامه ریزی شده، هضم هفتگی) همیشه از زبان سیستم استفاده می کند.

PeopleOS HR

PeopleOS: سیستم عامل نیروی کار اداره شده

حرکت چرخه عمر کارمند از درخواست به خارج کردن با خود خدمات تلفن همراه، جریان های کاری مورد حمایت شواهد، ادغام های تایپ شده و کنترل انسان بر تصمیمات حساس.

نقشه سیستم Interactive
مرکز فرماندهی چرخه عمر PeopleOSداشبورد سه بعدی PeopleOS ارتباط برقرار کردن استخدام، کارکنان، حقوق و دستمزد، یادگیری و مدیریت AI.مرکز فرماندهی PeopleOSزندگی زندهمردم248دانلود بازی Open ROLES12REROL GATES15 / 15زندگیاستخدام استخداماستخدامرشدپاداش پاداشانتقالیک RECORDهویت + شواهد اشتغالدانلود زیرنویس فارسی فیلم Men ContROLتجدید نظر، اصلاح،IT PROVEنتیجه و انتشار شواهد
مردمOS چرخه عمر، کنترل ها و اثبات را بر روی یک رکورد اداره شده نگه می دارد.

مدیران

عملیات

مدیریت افراد، سازمان، استخدام، سوار شدن، اسناد، ترک، آشتی حقوق و دستمزد، مزایا، عملکرد، یادگیری، روابط کارکنان، تجزیه و تحلیل و حکومت.

کارمندان و مدیران

خدمات خود

از یک پورتال موبایل برای پرونده های خصوصی، درخواست ها، اسناد، زمان، توضیحات، یادگیری، اطلاعات شرکت و حقوق استفاده کنید.

توسعه دهندگان

گسترش

استفاده از دستور hr.* اقدامات و بررسی platform.hr.* عملیات از طریق یک قرارداد، به علاوه کلاس های اتصال تایپ شده.شاخص تولید شده در PeopleOSAPIهر کدام را با دامنه آن فهرست می کند.

⚠️
PeopleOS یک دفتر حقوق و دستمزد، مشاور حقوقی، اداره پس زمینه یا ارائه دهنده هویت نیست. سیستم های خارجی معتبر این مسئولیت ها را حفظ می کنند.یک چک فنی سبز هرگز تایید قانونی یا شواهد ارائه دهنده ارائه نمی کند.

دریافت منابع انسانی PeopleOS HR

PeopleOS HR در طرح شرکت گنجانده شده است.در هر برنامه پرداخت شده دیگر آن یک افزودنی است: مالک حساب باز می شود حساب → افزونه‌ها و نشانه‌ها, انتخاب یک لایه HR PeopleOS و یا شروع محاکمه آزاد و یا اضافه کردن آن به طور کامل. کراوات در چه تعداد از مردم و چقدر استخدام، مصاحبه و فعالیت AI آنها حمل می شود تنظیم شده است بر روی حساب، نه نوشته شده در محصول، بنابراین ببینید که گره های فعلی در مورد چگونه بسیاری از مردم، و چگونه مقدار استخدام، تماس و هوش مصنوعی فعالیت آنها را حمل می کنند. صفحه قیمت گذاریآنچه که ماژول انجام می دهد، سطح با سطح، در صفحه محصول PeopleOS HR.

چه کسی می تواند آن را اضافه کند

یک برنامه پرداخت شده که فعال است، طرح آزاد نمی تواند آن را اضافه کند و یک برنامه پولی که هنوز در داخل محاکمه برنامه خود قرار دارد باید صبر کند تا پایان این محاکمه به پایان برسد.

محاکمه آزاد

این محاکمه بر روی لایه ای که انتخاب می کنید اجرا می شود، زمانی که بدون خرید به پایان می رسد حق حذف شده و هیچ چیز پاک نمی شود: رکوردها دوباره لحظه اضافه شدن وجود دارد.

وقتی که مالک آن نیست

PeopleOS HR در نوار کناری ظاهر نمی شود، پالت فرمان، تنظیمات یا کمک های درون برنامه.یک لینک مستقیم به صفحه HR اضافه را به جای صفحه ارائه می دهد.

رسیدن به یک کلاه لایه

هنگامی که یک محدودیت لایه به صفحه رسید، لایه بعدی را ارائه می دهد. Editing یا حذف آنچه در حال حاضر وجود دارد هرگز مسدود نمی شود.

نصب خود میزبان

حق در مجوز سفر می کند. اضافه کردن اضافه بر روی شماOpsIQحساب و نصب آن را در چک مجوز بعدی خود انتخاب می کند.

اولین هفته راه اندازی

همه چیز زیر یک صفحه نمایش واقعی است؛ هیچ چیزی در اینجا به یک توسعه دهنده نیاز ندارد.

1
تبدیل ماژول در

باز Open انسان ها→خانه منابع انسانیپرچم با سوئیچ استاد شروع می شود، PeopleOS HRبا آن بدون هیچ صفحه HR یا سطح کارمند قابل دسترس نیست، تبدیل یک سوئیچ بر روی یک تأیید دو کلیک است؛ خاموش کردن یکی از گزینه های AI زیر آن (کمک به جمع آوری، غربالگری برنامه، دستیاران مستقل، مصاحبه های هوش مصنوعی، ارسال خودکار، تایید هویت) تا زمانی که تصمیم بگیرید باقی می ماند.

2
اجازه دهید Copilot پیکربندی را انجام دهد

باز Open انسان ها→راه اندازی Copilot و آنچه را که در زبان ساده می خواهید بگویید: سیاست ترک با روزهای خود و اطلاع رسانی، تعطیلات عمومی برای یک کشور، یک دسته پرونده با آنSLA, یک کلاه هزینه ، یک قالب سواره، یک پالس ماهانه.شما برنامه را با آنچه که درک می کند و چیزی که تصور می شود بدست می آورید تا زمانی که تأیید کنید هیچ چیز اجرا نمی شود؛ یک گام متوسط به شخص دوم نیاز دارد؛ هر دویدن یک از آنها دریافت می کند.

3
نام پورتال کارمند

باز Open انسان ها→Frontline→طراحی ثبت نام دردر یک نصب خود میزبان، پورتال در زندگی می کند /hr/<address>; آدرس پورتال این تغییر را بلافاصله و قدیمی لینک های امضای کار می کنند زیرا آدرس قدیمی به جلو می رود.در ابر پورتال است /hr در محل کار خود میزبان و نیازی به هیچ نشانی ندارد.

4
سایت حرفه ای خود را منتشر کنید

باز Open انسان ها→استخدامهر پست شما از یک درخواست تایید شده در صفحه حرفه ای عمومی ظاهر می شود؛ لینک باز کردن صفحه حرفه ای عمومی در بالای استخدام، دقیقاً نشان می دهد که یک کاندیدا چه می بیند.

5
ثبت نام کیوسک برای دستگاه های مشترک

باز Open انسان ها→Frontline→کیوسک ها انتخاب کنید ثبت نام یک کیوسکتوکن دستگاه یک بار نشان داده می شود؛ صفحه کیوسک را بر روی تبلت یا رایانه باز کنید (این است که آن را در حال حاضر.) /kiosk در میزبان پورتال و چسباندن آن.مردم ساعت با ایمیل کاری خود و PIN، یا با کد کوتاه مدت نشان از پورتال خود را باز می کنند.

6
تصمیم بگیرید که کارمندان چه کاری را برای خودشان انجام دهند

باز Open تنظیمات Settings→منابع انسانیهر قدرت خود خدمت (ثبت، درخواست ها، اسناد، ترک، توضیحات پرداخت و غیره) به هر کارمند، مدیران یا یک تیم و تیم های تحت آن تنظیم شده است.هر رکورد تغییر که آن را ساخته و چرا، و قدرتی که شما خاموش می کنید به جای اینکه در سکوت از دست بدهید، برای کارکنان توضیح داده می شود.

7
به مردم اضافه کنید و دسترسی آنها را به آنها بدهید

روشن انسان ها→مردم فرد را ایجاد کنید، اشتغال و مدیر خود دسترسی پورتال تنها زمانی که شخص دارای ایمیل معتبر و یک رابطه شغلی در نظر گرفته شده است؛ دعوت از همان صفحه نمایش خارج می شود و شروع به کار از سفر شما راه اندازی می شود.

چرخه عمر

برنامه ریزی و استخدام

ایجاد درخواست های تایید شده، انتشار شغل، دریافت برنامه ها از طریق وب سایت های باز و امن، بررسی ساختار، مصاحبه های زمانی، تصمیم گیری رکورد، پیشنهادات موضوعی و استخدام.

پیوستن و ارائه

ساخت سفرهای قایقرانی با پشتیبانی شواهد، جمع آوری نسخه سند صحیح، تجهیزات درخواست، اجازه دادن به قالب های دسترسی تایید شده و ارائه دسترسی بی سیم.

کار و رشد

خارج کردن، برنامه ها، توضیحات پرداخت، مزایا، هزینه ها، بازخورد، بررسی، یادگیری، مهارت ها، فرصت های داخلی، موفقیت و تجزیه و تحلیل نیروی کار.

حمایت و محافظت

ارائه پشتیبانی خصوصی HR، کنترل پرونده های مربوط به کارکنان، مسئولیت های قانونی، درخواست داده ها، اصلاح، توضیح، تجدید نظر و بررسی مستقل انسان.

تغییر و ترک

از تغییرات موثر اشتغال، دسترسی مجدد، تجهیزات بازیابی، آشتی ارائه دهندگان خارجی، حفظ و نگهداری شواهد مورد نیاز استفاده کنید.

دسترسی و هویت

یک فرد canonical دارای سوابق اشتغال و جنبه های هویت خارجی تایید شده است. ایمیل اطلاعات تماس قابل تغییر است، هرگز کلید هویت دائمی نیست.APIلایه ها در بالای مجوزهای مسیر قرار دارند و هرگز آنها را دور نمی زنند.

اضافه کردن یک کارگر جدید

سناریو:
فرد را بسازید، اشتغال و مدیر را اختصاص دهید، دسترسی پورتال را فراهم کنید، سپس سفر خود را باز کنید.
چه کاری باید انجام دهید:

استفاده از خشکی و idempotency برایAPI• تأیید کنید که فرد قبل از ارسال دسترسی، ایمیل معتبر و رابطه شغلی در نظر گرفته شده دارد.

حل هویت تکراری

سناریو:
دو سیستم خارجی، همان کارگر را به صورت متفاوتی شناسایی می کنند.
چه کاری باید انجام دهید:

هر دو جنبه های تأیید شده را به شخص کانونی پیوند دهید و تعارض را به صراحت حل کنید، فقط به این دلیل که دو ارزش ایمیل قابل تغییر مطابقت دارند، ثبت نام نکنید.

PeopleOS HR

جریان کار HR و پورتال کارمند

چگونه هر منطقه عمده PeopleOS اداره می شود و کارکنان پس از ثبت نام چه می بینند؟

مردم و سازمان

فرد کانونی، اشتغال، نوع کارگر، مدیر، محل، مهارت ها، اسناد و ساختار سازمانی موثر را حفظ کنید.

استخدام و ارائه

حرکت از درخواست تایید شده برای ارسال، درخواست، شواهد ساختاری، مصاحبه، تصمیم گیری، پیشنهاد و استخدام با محل اقامت و مسیرهای تجدید نظر.

ثبت و اسناد

علامت گذاری به گام های خاص مالک سفارش داده شده؛ جمع آوری، بررسی، امضا، منقضی، نگه داشتن و حذف اسناد با نسخه و شواهد دسترسی.

زمان، مرخصی و برنامه ریزی

تعریف انواع ترک سیاست، تعادل، درخواست ها، تاییدیه ها، تعطیلات، در دسترس بودن، رویدادهای تقویمی و آشتی.

پرداخت، مزایا و هزینه ها

توضیح دهید، رویدادهای کارگر تایید شده را به حقوق و دستمزد، استثنائات آشتی، مدیریت منافع واجد شرایط بودن و حکومت بازپرداخت.

عملکرد و رشد

اهداف عملیاتی، چک کردن، بازخورد، بررسی، کالیبراسیون، یادگیری، مهارت ها، مربیگری، فرصت های داخلی و موفقیت.

خدمات منابع انسانی و روابط

به کارکنان پشتیبانی خصوصی در حالی که نگه داشتن ترس، نظم و انضباط، سوتبر و شواهد پرونده مهر و موم شده در مرزهای مجوز اختصاص داده شده است.

تجزیه و تحلیل و برنامه ریزی

از اقدامات نیروی کار، برنامه های شمارش، معیارها و معیارهای تجربه ناشی از سوابق استفاده کنید؛ هرگز نتایج از دست رفته را به عنوان موفقیت در نظر نگیرید.

نقشه پورتال کارکنان

بررسی اجمالی

نیاز به توجه، تغییرات از آخرین بازدید، درخواست های باز، رویدادهای آینده، پیشرفت و اعلان ها.

پروفایل و سوابق

اشتغال، مدارک تایید شده، مجوز ها، درخواست های حریم خصوصی و درخواست های اصلاح.

پشتیبانی منابع انسانی و وظایف

مکالمات خصوصی، درخواست ها، اقداماتی که به وظایف کارکنان و شرکت های مستقل نیاز دارند.

اولین روزهای شما

جدول زمانی تحت حمایت شواهد با مالک، به علت دولت، تکمیل و کار مسدود شده.

زمان و مرخصی

تعادل، ترک درخواست ها، در دسترس بودن، برنامه ها و عواقب تقویم.

مهارت ها و رشد

یادگیری، شواهد مهارت، اهداف، بازخورد، مربیگری و فرصت های داخلی.

پرداختم، توضیح دادم

جبران و اطلاعات آشتی حقوق و دستمزد ساده، کارمند مجاز به دیدن است.

شرکت Company

فهرست و نمودار سازمان محدود به اطلاعات همکاران انتخاب شده یا سیاست اجازه می دهد تا آنها را به اشتراک بگذارند.

حقوق و تصمیمات

توضیح، درخواست ها، درخواست های تجدید نظر، رضایت، اصلاح، دسترسی و حذف.

💡
پورتال موبایل است.کارت حساب همچنان قابل دسترسی، ناوبری و محتوای اسکرول به طور مستقل در صفحه نمایش گسترده، و پیمایش متحرک بیش از حد پوشش به جای فشار یا پوشش صفحه است. کپی طولانی توضیحی متعلق به ابزار قابل دسترس یا اجزای افشای است.

توالی عملیاتی امن

1
سیاست و مجوز را

تنظیم صلاحیت، نقش ها، مسیرهای تایید، حفظ، رضایت و کنترل ویژگی قبل از بارگذاری سوابق زنده.

2
ارائه دهندگان خارجی اتصال

بسته امضا مناسب را نصب کنید، حداقل اعتبار نامه های حق امتیاز را وارد کرده و از اتصال عبور کنید و تست های انطباقی.

3
دویدن در Sandbox یا سایه

تمرین گردش کار کامل با داده های تعیین کننده و مقایسه شواهد انتظار می رود قبل از فعال کردن اجرای واقعی ارائه دهنده.

4
آزادی تحت کنترل دوگانه

یک بررسی کننده ی مختلف مجاز، ارائه دهنده، امنیت، حریم خصوصی، حقوقی، عدالت و شواهد دسترسی را بررسی می کند.

PeopleOS HR

هوش مصنوعی، عدالت، کنترل های ویدئویی و قانونی

مردمOS اتوماسیون را به عنوان یک مسیر ابزار مدیریت می کنند: اجازه سیاست، اجرای، نتیجه ارائه دهنده و اثبات حقایق جداگانه ای هستند.

کنترل های AI و Agent

هر نماینده از ابزارهای ثبت شده با یک هدف، صلاحیت، طبقه خطر و حداکثر خودمختاری استفاده می کند.انسان را به خود اختصاص می دهد، شکستن مدار، حوادث و تغییرات قضایی متوقف اجرای تنظیم مجموعه داده های پیشنهادی است اما هیچ چیز را تا زمانی که فرد دیگری بررسی حریم خصوصی را تکمیل نکند.

منصفانه بودن

گروه های تشکیل دهنده، حداقل قوانین نمونه، معیارها، هویت تبخیر کننده و ارزیابی قانونی آزاد شده باقی می ماند؛ داده های مفقود شده هرگز به یک پاس تبدیل نمی شوند.

توضیح و درخواست

توضیحات را از تصمیم گیری مهر و موم شده و شواهد سیاست ارسال کنید.

دانلود فیلم Jurisdictions

سیاست کشور آزاد تنها با یک مالک قانونی به نام پاسخگو، منابع حقوقی و آزمون های عبور بالا بسته بندی می شود.

قانون AI اتحادیه اروپا

نگه داشتن موجودی سیستم، طبقه ریسک، ارزیابی تاثیر اساسی، اطلاع رسانی ها، نظارت کنندگان، مترینگ و شواهد.

صفحه نمایش ویدئو Frontier

مشارکت نیست

hr.interview.room.provision یک مکان جلسه ایجاد کنید.فقط hr.interview.room.connect رسانه ها می توانند به کارگر برسند.

رضایت ویژه

ضبط، رونویسی و زندگی بیومتریک انتخاب های جداگانه ای هستند.

هیچ تحلیل ظاهری

قرارداد ویدئویی هیچ زمینه یا روش برای احساسات، توجه، جذابیت، نژاد، معلولیت و یا عدم مداخله ظاهری ندارد.

مسیر های انسانی و متن

یک داور می تواند به طور دائمی برای جلسه طول بکشد و یک مسیر اقامت متن در دسترس است.

بازگشت و حذف

گزارش کانکتور حمل و نقل رمزگذاری شده، سیاست حفظ فعال و ارائه دهنده رسانه ها را گزارش می دهد و باید از حذف قابل اطمینان پشتیبانی کند.

اتاق ایجاد شده، AI غایب است

سناریو:
اتاق زومURLوجود دارد، اما پل رسانه ای صدا / ویدئو را به کارگر مصاحبه تحویل نداده است.
چه کاری باید انجام دهید:

این جلسه را به عنوان ارائه و مشارکت AI به عنوان نادرست نشان دهید. مصاحبه انسانی و مسیرهای اقامت متن در دسترس نگه دارید.

Callback می گوید که یک چک تصویب شده است

سناریو:
یک گزارش ثبت شده پس زمینه چک وب سایت را تکمیل می کند.
چه کاری باید انجام دهید:

ثبت نام به عنوان یک اشاره، سپس دنبال ارائه دهنده.تنها پاسخ معتبر وضعیت ممکن است بررسی را به روز کند.

🚫
ارزیابی دسترسی فنی را می توان توسط evaluator ثبت کرد، اما گواهی WCAG نیاز به یک فرد جداگانه دارد.ارائه دهنده اثبات، آزادی قانونی و شواهد عدالت نیز به صاحبان نام واقعی خود نیاز دارند.
PeopleOS HR

انسان هاAPIتوسعه کانکتور

استفاده از عمومیAPIبرای کنترل عملیات منابع انسانی و قراردادهای اتصال تایپ شده برای سیستم های خارجی معتبر.

ژنرال عمومیAPIمنابع حقیقت

ارسالJSONبرای POST /api/v1.phpکشف سطح دویدن از طریق meta.actionsOpenAPI در /api/v1/openapi.phpو پستمن در /api/v1/postman.phpشاخص تولید شده در زیر تعداد دقیق از مرتب سازی را دارد hr.* اقدامات و بررسی platform.hr.* عملیات در این ساخت، بنابراین هیچ چیز در این صفحه با دست تایپ نمی شود.

فهرست مردم
curl -sS https://your-opsiq.example/api/v1.php \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"action":"hr.people.list","page":1,"per_page":50}'
خشک کردن یک نوشتن
curl -sS https://your-opsiq.example/api/v1.php \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"action":"hr.people.create","display_name":"Ada Reaudit","primary_email":"[email protected]","worker_type":"employee","idempotency_key":"hire-2026-0042","dry_run":true}'

استفاده از Use hr.read یا hr.write تنها در صورت لزوم، مسیر مدیر هدف هنوز مجوز خود را بررسی می کند.نوشت ها نیاز به یک کلید ثبات دارند؛ نوشتن های پرخطر نیازمند تایید هستند.باز کردن شکست های گذرا با همان کلید و حالت بازیابی پرس و جو پس از یک وقفه نامشخص است.

هر عمل hr

48 curated hr.* actions (22 reads, 26 writes) and 484 reviewed platform.hr.* operations, out of 2420 named actions in this build. Generated from the action registry, the same source as meta.actions, OpenAPI and Postman.

افراد، سازمان و هویت (9)

hr.employee.provision

Write. Scope: hr.write. Provision seatless employee access and send the invitation. Required: person_uuid.

hr.employee.restore

Write. Scope: hr.write. Lift an employee access suspension (written reason required) and provision again. Required: person_uuid, reason.

hr.identity.facets

Read. Scope: hr.read. List a person's identity facets and open conflicts. Required: person_uuid.

hr.identity.link

Write. Scope: hr.write. Link an identity facet to a person. Required: person_uuid, facet_type, facet_key.

hr.org.tree

Read. Scope: hr.read. Read the organisation tree.

hr.people.create

Write. Scope: hr.write. Create an HR person. Required: display_name.

hr.people.get

Read. Scope: hr.read. Get one HR person. Required: person_uuid.

hr.people.list

Read. Scope: hr.read. List HR people.

hr.people.update

Write. Scope: hr.write. Update an HR person. Required: person_uuid, display_name, primary_email.

مطالبات و پست ها (3)

hr.postings.list

Read. Scope: hr.read. List job postings.

hr.requisitions.create

Write. Scope: hr.write. Create a requisition. Required: title, openings, justification.

hr.requisitions.list

Read. Scope: hr.read. List requisitions.

Leave, Learning و بازار کانکتور (3)

hr.learning.overview

Read. Scope: hr.read. Read courses, paths and enrolments.

hr.leave.overview

Read. Scope: hr.read. Read leave types and requests.

hr.marketplace.overview

Read. Scope: hr.read. Read HR connector accounts, conflicts and deliveries.

گواهی نامه و سلامت (2)

hr.connectors.certify

Write. Scope: hr.write. Certify an HR connector (scope sandbox|production; production demands provider-side proof under dual control). Required: connector_class, connector_key, scope, evidence, submitted_by.

hr.connectors.health

Read. Scope: hr.read. One connector account's health: certification level and scope, last reconciliation verdict, failures and webhook backlog. Required: account_uuid.

اتاق های مصاحبه (7)

hr.booking.slots_reconcile

Write. Scope: hr.write. Release booking slots whose claim never became a booked meeting.

hr.interview.room.connect

Write. Scope: hr.write. Connect the AI to interview media; refuses unless media really reaches the worker. Required: media_uuid.

hr.interview.room.consent

Write. Scope: hr.write. Record or withdraw consent for ONE interview purpose (recording, biometric_liveness, transcription). Required: media_uuid, purpose, state.

hr.interview.room.pause

Write. Scope: hr.write. Pause a live interview. Required: media_uuid.

hr.interview.room.provision

Write. Scope: hr.write. Provision an interview room (a place to meet — NOT AI participation). Required: session_uuid, transport, accommodation_route.

hr.interview.room.state

Read. Scope: hr.read. Read an interview room, including whether the AI is actually participating. Required: media_uuid.

hr.interview.room.takeover

Write. Scope: hr.write. A human takes the interview; the AI cannot speak in it again. Required: media_uuid, reason.

بازیگران و خطوط چرخه عمر (7)

hr.agent.incident.close

Write. Scope: hr.write. Close an agent incident — the same act that lifts the suspension it caused. Required: incident_uuid, resolution.

hr.agent.step

Write. Scope: hr.write. Run one agent step: gate verdict, execution and outcome reported separately. Required: run_uuid, agent_key, tool_key, jurisdiction, purpose.

hr.agent.step.status

Read. Scope: hr.read. What actually happened at a step (permitted, executed, proven, failed, compensated). Required: run_uuid, seq.

hr.agent.takeover

Write. Scope: hr.write. A human takes an agent run; no further agent steps are accepted. Required: run_uuid.

hr.agent.tool.grant

Write. Scope: hr.write. Grant an agent a tool for one jurisdiction and purpose, up to a risk ceiling. Required: agent_key, tool_key, jurisdiction, max_risk, purpose.

hr.agent.tools

Read. Scope: hr.read. List the registered typed tools an agent may use, and open agent incidents.

hr.lifecycle.lanes

Read. Scope: hr.read. Every lifecycle lane with its mode, KPIs and whether a live tool path really exists behind it.

دانلود فیلم Jurisdiction (5)

hr.jurisdiction.capabilities

Read. Scope: hr.read. What this product may do in one country, per feature, with the law behind each answer. Required: code.

hr.jurisdiction.change.raise

Write. Scope: hr.write. Report a change in the law; a high or critical one suspends every lane in that jurisdiction at once. Required: pack_key, summary, severity.

hr.jurisdiction.coverage

Read. Scope: hr.read. Computed coverage for every market: released pack, named counsel owner, cited sources, passing tests.

hr.jurisdiction.explain

Read. Scope: hr.read. Why an action about one person is allowed, reduced or blocked, with the rule and citation. Required: person_uuid, feature.

hr.jurisdiction.pack.release

Write. Scope: hr.write. Put a drafted policy pack into effect; refused without a named counsel owner and a cited law. Required: release_uuid.

تصمیم گیری و درخواست (2)

hr.decisions.appeals

Write. Scope: hr.write. File an appeal against an AI decision on a person's behalf; it must be heard by an independent human. Required: decision_uuid, subject_type, subject_id, grounds.

hr.decisions.explanation

Read. Scope: hr.read. Plain-language explanation of one AI decision: what was looked at, which policy, and how to appeal. Required: decision_uuid, audience.

کیفیت AI (2)

hr.ai.corrections

Write. Scope: hr.write. Bundle recent reviewer corrections into a dataset; it is pending privacy review and trains nothing.

hr.ai.quality.overview

Read. Scope: hr.read. The AI quality board: sampled defect rate, override pressure per workflow, coaching reception.

مذاکرات و حفظ (4)

hr.thread.delete

Write. Scope: hr.write. Delete a workforce conversation; refused while it is under legal hold. Required: thread_uuid, reason.

hr.thread.legal_hold

Write. Scope: hr.write. Place or lift a legal hold on a workforce conversation. Required: thread_uuid, on, reason.

hr.thread.retention

Write. Scope: hr.write. Set a conversation's retention class (standard|extended|permanent). Required: thread_uuid, retention_class.

hr.threads.retention_sweep

Write. Scope: hr.write. Run the conversation retention sweep; legal holds are never swept.

Readiness و آزادی (4)

hr.experience.metrics

Read. Scope: hr.read. Measured persona experience metrics (self-service rate, decision cycle, coaching usefulness, quality) from live journeys.

hr.global.readiness

Read. Scope: hr.read. The whole launch picture: 15-gate leadership score, release readiness checks and jurisdiction coverage.

hr.readiness.read

Read. Scope: hr.read. Run the HR release readiness report.

hr.release.verify

Write. Scope: hr.write. Run the four HR release gates (schema, manifest, probe, readiness).

کلاس های

استخدام

hr_job_board, hr_background_check, hr_identity_verification, hr_assessment و hr_tax_right_to_work.

استخدام و سوار شدن

hr_esignature, hr_calendar, hr_video و hr_equipment_it.

عملیات نیروی کار

hr_payroll, hr_benefits, hr_learning, hr_expense_payment, hr_directory و hr_data_warehouse.

ارتباطات

hr_messaging این قرارداد تنها ارسالی است.این قرارداد شامل هیچ روش خواندن کارکنان نیست.

ارائه دهنده Gateway Endpoint

دروازه های PeopleOS HR Provider Gateway1.0
GET    /v1/hr/health
POST   /v1/hr/job-postings
PATCH  /v1/hr/job-postings/{provider_ref}
POST   /v1/hr/job-postings/{provider_ref}/close
GET    /v1/hr/job-postings/{provider_ref}
POST   /v1/hr/background-checks
GET    /v1/hr/background-checks/{provider_ref}
POST   /v1/hr/identity-verifications
GET    /v1/hr/identity-verifications/{provider_ref}
DELETE /v1/hr/identity-subjects/{subject_ref}
POST   /v1/hr/payroll/worker-events
GET    /v1/hr/payroll/state?cursor=...
GET    /v1/hr/payroll/exceptions
POST   /v1/hr/equipment/requests
POST   /v1/hr/access/requests
GET    /v1/hr/provisioning/requests/{request_ref}
POST   /v1/hr/provisioning/requests/{request_ref}/revoke

دروازه نیاز به HTTPS، بلوک های غیر امن / خصوصی اهداف، پین های معتبرDNSنتایج، بدون هیچ گونه تغییر مسیر، اندازه پاسخ را محدود می کند.JSON, دارای قابلیت های تعیین کننده و پشتیبانی از زمان بندی شدهHMACدر هر دو جهت، Webhooks همیشه اشاره هایی هستند که توسط ارائه دهنده requery دنبال می شوند.

درب های داخلی وب سایت Inbound webhook در

سه درب عمومی، callbacks ارائه دهنده را دریافت می کنند: POST /opsiq/ajax_api.php?ajax=hr_connector_webhook (میدان) connector_class, connector_key, topic), ?ajax=hr_esign_webhook (connector_key, offer_uuid, provider_refو) ?ajax=hr_check_webhook (check_uuidهر کدام بدن را از طریق کانکتور گواهی تأیید می کند، تحویل را می سوزاند تا یک بازی مجدد بمیرد و فقط یک ثبت مجدد در انتظار است؛ پاسخ ارائه دهنده رکورد را تغییر می دهد.هر امتناع همان پاسخ عمومی در هدف است. webhooks.events.list نام و نام هیچ کدام در hr خانواده، بنابراین رای دهید hr.* خواندن یا استفاده hr.connectors.health.

ارجاعات دقیق

کتاب راهنمای کامل PeopleOS Handbook

خوانده شد doc/contracts/PEOPLEOS_HR.md در یک نصب خود میزبان برای هر اپراتور،API, کانکتور ، webhook و release Rule

قرارداد توسعه دهنده Gateway

بسته بازار شامل README.md, DEVELOPER.md, connector_contract.json, hr_profile.json و یک فایل امضا شده آشکار است.

PeopleOS HR

تست و آمادگی تولید

یک ادعای راه اندازی از شواهد محاسبه می شود. آمادگی بسته، صدور گواهینامه ارائه دهنده، تایید قانونی، ارزیابی عدالت و دسترسی به گواهی عمدا جدا شده است.

1
اعتبارسنجی کد و قراردادها

Run PHP سینتکس، HR PHPUnit، مسیر /APIتجزیه و تحلیل OpenAPI / postman چک، بسته آشکار وJSONاعتبارسنجی طرح

2
تمرین کامل جریان های کاری

استخدام تست، بررسی AI، مصاحبه / ویدئو، ثبت نام، مرخصی، پرداخت و دستمزد، پورتال، اعلان ها، modals و مسیرهای شکست اتصال.

3
تست پاسخگو و قابل دسترس UI

دسکتاپ، تبلت و طرح های تلفن را هدایت کنید؛ صفحه کلید، تمرکز، برچسب ها، کنتراست، گردش مجدد، ابزار، گفتگو، اسکرول اعلان و ناوبری مستقل.

4
جمع آوری شواهد خارجی

از گردآورنده واقعی و حذف، آزاد سازی سیاست های حقوقی، داده های منصفانه نمایندگی و گواهی نامه مستقل انسانی استفاده کنید.

5
آزادی تحت کنترل دوگانه

یک بررسی متفاوت از فرستنده اتصال را تایید می کند و شواهد را منتشر می کند.دوک یا سوئیچ یک کانکتور اگر اثبات آن منقضی شود.

هر نتیجه به چه معناست

بسته امضا شده

فایل ها از زمان امضای بسته مجاز تغییر نکرده اند، این کار حساب شخص ثالث را ثابت نمی کند.

Sandbox تصویب شد

رفتار مصمم و انتقال دولتی مطابق است، یک ارائه دهنده واقعی، مدت اقامت یا حذف را اثبات نمی کند.

کانکتور تولید گواهی

یک حساب کاری خاص پنج تعهدات ارائه دهنده را تحت کنترل دوگانه تصویب کرد.

گزارش فنی WCAG

شواهد خودکار و تبخیر شده برای سطوح نام گذاری وجود دارد، این دومین گواهی شخص نیست.

راه اندازی آماده

تمام دروازه های مورد نیاز در همان زمان سبز هستند و هیچ مدرکی از بین نرفته، باطل شده، مفقود یا متناقض با سلامت زنده است.

⚠️
هرگز یک رکورد قانونی، عدالت، ارائه دهنده یا مستقل را صرفا برای روشن کردن دروازه ایجاد نکنید.در عوض دیدگاه آمادگی دقیقا ارزشمند است زیرا ادعاهای پشتیبانی نشده را رد نمی کند.
چرا یک کانکتور نصب شده اما هنوز در دسترس نیست؟+

نصب ثابت می کند که حضور بسته است.ایجاد آن، صرفه جویی در حداقل اعتبارهای حق امتیاز واقعی، آزمون اتصال، سپس ارائه محدوده تولید حساب مردمOS با استفاده از شواهد ارائه دهنده واقعی و یک بررسی متفاوت.

چرا یک وب سایت رکورد را تغییر نداد؟+

callback ممکن است معتبر باشد، اما تنها یک اشاره. Check the webhook inbox، ارائه دهنده وضعیت نهایی و نتیجه آشتی. PeopleOS حالت معتبر را فقط پس از ثبت مجدد تغییر می دهد.

منبع کامل قابل خواندن ماشین کجاست؟API?+

meta.actions و Filter for hr را فراخوانی کنید یا از آن استفاده کنید./api/v1/openapi.phpو/api/v1/postman.php.آنها از همان رجیستری زمان تولید می شوند.

پشتیبانی

مرکز کمک

مرکز کمک شما یک سایت کمک خود را حفظ از مقالاتی که منتشر می کنید، مشتریان می توانند آن را در صفحه عمومی خود بخوانند و جستجو کنند، بنابراین همان محتوایی است که AI شما نیز به طور کلی کمک های عمومی شما را پیدا می کند.

جایی که مشتریان شما آن را می بینند

صفحه عمومی خود

یک سایت کمک تمیز و قابل جستجو در سایت /help.phpمشتریان با دسته بندی، جستجو و باز کردن هر مقاله می توانند نام و سبک خود را به آن ارائه دهند.

داخل ویجت چت

یک لینک کمک در ویجت چت به طوری که مشتریان می توانند مقالات خود را بدون ترک چت جستجو کنند اگر آنها هنوز به یک فرد نیاز دارند، آنها یکی از ضربه های دور از شروع یک مکالمه هستند.

آن را روشن کنید

1
صفحه Help Center را باز کنید

برو به Config, then Help Center در مدیر و تغییر فعال کردن مرکز کمک عمومی.

2
یک نام و یک نگاه به آن بدهید

نام مرکز کمک را تنظیم کنید که در header و زبانه مرورگر نمایش داده می شود و یک سبک بصری را انتخاب کنید.شما می توانید ناوبری بالا را برای صفحه تمیز بدون منو خاموش کنید.

3
برخی مقالات را منتشر کنید

هیچ چیز تا زمانی که مقالات را به آن منتشر نکنید، نشان نمی دهد. قسمت بعدی چگونه است.

انتشار مقالات به مرکز کمک

مقالات در پایگاه دانش شما زندگی می کنند.یک مقاله در مرکز کمک زمانی که منتشر شده و مشخص شده عمومی است ظاهر می شود، چند راه برای انجام این کار وجود دارد:

انتشار یک مقاله

مقاله را باز کنید، آن را منتشر کنید و گزینه ای را برای نشان دادن آن در مرکز کمک به نوبه خود انتخاب کنید.

همه چیز را در یک بار منتشر کنید

استفاده از انتشار همه دکمه فشار دادن کل منتشر شده به مرکز کمک در یک کلیک، به جای انجام آنها یکی در یک زمان.

تبدیل FAQ به مقالات

آیا پیش از این پرسش ها را دارید؟ استفاده همه چیز را برای کمک به آنها را به کمک به مقالات تبدیل کنید تا در کنار همه چیز بنشینند.

واردات یک پایگاه دانش موجود

حرکت از یک میز کمکی دیگر؟ واردات KB دکمه روی برگه مقالات یک پایگاه دانش موجود را برای شما به ارمغان می آورد.شما سه راه برای اشاره آن در محتوای خود دارید:

یک را انتخاب کنید URL

به آن آدرس مرکز کمک فعلی خود را بدهید، اگر پلت فرم (برای مثال Zendesk) را تشخیص دهید، درخت دقیق از آن پلتفرم را می خواند.در غیر این صورت سایت را خزیدن و بازسازی ساختار از صفحات، واردات تنها مقالات واقعی و حذف ورود، قیمت گذاری و صفحات تماس است.

انتخاب یک برنامه متصل

اگر یک پلت فرم در حال حاضر به این فضای کاری متصل است و دارای یک پایگاه دانش باشد، در یک قطره زیر پایین نشان می دهد. واردات از یک برنامه متصلآن را انتخاب کنید و وارد کنید، نه URL یا رمز عبور مورد نیاز است.برنامه تنها زمانی ذکر شده که متصل و تنظیم می شود.

آپلود یک CSV

هیچ سایت زنده ای برای اشاره کردن نیست؟ آپلود یک صفحه گسترده با title, categoryو body ستون ها Parent / Child در ستون دسته برای ساخت دسته های لانه دار

هر راهی که انتخاب می کنید، یک پیش نمایش اولمقالاتی که پیدا کردید، توسط دسته بندی گروه بندی شده اند، هر کدام با چک باکس می توانید هر چیزی را که نمی خواهید رها کنید.هیچ چیز تا زمانی که وارد واردات شوید ذخیره نمی شود. برگرداندن کل واردات در یک کلیک یا همگام‌سازی مجدد یک a a a A URL یا به هم متصل شده است واردات بعدا برای کشیدن در مقالات جدید و تغییر یافته.

💡
توسعه دهندگان: هر اتصال می تواند پایگاه دانش خود را به این افت با اعلام یک اتصال تبلیغ کند kb_capabilities بلوک در آن settings.json (نوع) kb_sourceبا یک adapter و base_templateبخش کانکتور و مرجع اتصال پلت فرم را ببینید.

سازماندهی با AI

یک مرکز کمک منظم آسان برای مرور و آسان تر جستجو است. سازماندهی با AI دکمه مرتب کردن برای شما را انجام می دهد.در یک کلیک آن مقالات منتشر شده خود را می خواند، آنها را به دسته های معقول تقسیم می کند و برچسب ها را اضافه می کند که وقتی به یک نیاز دارید، از یک گروه استفاده می کند، و هر چیزی که قبلاً سازماندهی کرده اید را حذف می کند ، بنابراین شما می توانید دوباره آن را اجرا کنید هر بار که مقالات جدید اضافه می کنید. اجازه دهید AI به زیر مجموعه ها سازماندهی کند در تنظیمات مرکز کمک و همچنین می تواند مقالات را تحت عنوان قرار دهد Parent / Child دسته ها، که درست پس از وارد کردن یک پایگاه دانش که دارای زیر بخش بود مفید هستند.

💡
دسته ها به مشتریان راهی برای مرور می دهند و تگ ها جستجو را در هر دو صفحه عمومی و در ویجت تیز می کنند، شما می توانید بعد از آن همه چیز را تغییر دهید یا تغییر دهید. AI یک نقطه شروع قوی به شما می دهد نه یک تنظیماتی که با آن گیر کرده اید.

مرکز کمک در داخل ویجت چت شما

شما می توانید مرکز کمک را در داخل ویجت چت نشان دهید، بنابراین افراد قبل از ارسال پیام به شما پاسخ جستجو می کنند.در تنظیمات ویجت چت خود، انتخاب کنید که لینک کمک ظاهر شود:

در هدر

یک آیکون کوچک کمک در بالای ویجت.

در پایین

یک لینک متنی تحت جعبه پیام، به عنوان مثال "مرکز کمک" شما می توانید کلمه را تغییر دهید.

هر دو مکان

آن را در هدر و پایین برای بیشترین دید نشان دهید.

لینک کمک دارای کنترل رنگ خود را تحت تنظیمات ظاهر ویجت است. هیچ کس برای مطابقت با رنگ پرتاب کننده یا انتخاب یک جامد رنگ یا یک شیبکل تجربه کمک به دنبال موضوع ویجت شما است، بنابراین همیشه مانند بخشی از نام تجاری شما به نظر می رسد.

مرکز کمک خود را در آدرس وب سایت خود قرار دهید

از جعبه ای که مرکز کمک شما در حال حاضر دارای یک آدرس تمیز و قابل اشتراک است (به عنوان مثال، /help/your-help-centerشما می توانید یک قدم جلوتر بروید و آن را تحت خود قرار دهید. دامنه خودبنابراین مشتریان و موتورهای جستجو آن را به عنوان بخشی از برند شما می بینند. yourdomain.com/help یا help.yourdomain.comهمه چیز بر روی دامنه شما کار می کند: لینک ها، تصاویر، جستجو و رتبه بندی مقاله.

در سایت اصلی شما

. داخل کنفدراسیون، سپس به مرکز کمک کنیدباز کن تخت خواب زبانه و پیدا کردن "Show your help Center on your web Address" تنظیمات خود را انتخاب کنید (برای مثال گزینه ی خود را در وب سایت خود ببینید).Cloudflare Nginx یا Apache، بلوک آماده را کپی کنید و آن را در سایت خود قرار دهید. راهنمای راه اندازی دکمه کنار آن با مراحل دقیق

در زیر دامنه

ترجیح دادن help.yourdomain.com? همان قاب یک گزینۀ زیر دامنه دارد. Cloudflare يه دامنه فرعي امنترين راهه و به شما آدرس پاکي ميده که بعدش هيچي نيست

💡
استفاده از Cloudflare* این فقط کارگران خود را در یک آدرس که از طریق آن پر شده است اجرا می کند.Cloudflare(ابر نارنجی) دامنه اصلی شما اغلب به طور مستقیم در وب سایت شما اشاره می کند، بنابراین یک قاعده قرار داده شده بر روی دامنه اصلی نمی تواند بی سر و صدا انجام دهد.این روش قابل اعتماد است که یک زیر دامنه محبوب مانند یک subdomain شبیه به نمونه مانند یک زیرمجموعه مانند زیر دامنه اولیه است. help.yourdomain.comراهنمای راه اندازی شما را از طریق یک پیاده روی می کند DNS رکورد و مسیر
خوب برایSEOهنگامی که مرکز کمک شما در دامنه خود قرار دارد، موتورهای جستجو مقالات شما را تحت نام تجاری شما فهرست می کنند.هر صفحه آدرس صحیح آن و لیست نقشه سایت آنها را اعلام می کند، بنابراین مقاله مشابهی هرگز دو بار نمایه نمی شود.
💡
استفاده از لینک کمک در داخل و خارج؟ در تنظیمات "Open in Help Center" ویجت چت، تنظیم شده جایی که لینک می رود برای مرکز کمک خود را سپس وارد همان آدرس شوید.این مقاله بر روی دامنه شما نیز باز می شود، نه در مورد آن OpsIQ آدرس

ببینید که مرکز کل کمک شما چه کاری انجام می دهد

فراتر از رای تک ماده، مرکز کمک خود را دارد تحلیل تحلیلیآن را در تنظیمات مرکز کمک تغییر دهید و به آرامی چگونگی استفاده از کمک شما را ثبت می کند: مقالات بیشتر، آنچه که آنها جستجو می کنند، و جستجوهایی که خالی (یک لیست آماده برای نوشتن) هستند، کار کردن کشور بازدید کننده و دستگاه به تنهایی، بنابراین نیازی به ویجت چت نصب شده برای گزارش نیست. هر دو مکان های کمک شما ظاهر می شود، صفحه عمومی و کمک درون-جبهه و همچنین ترکیب شده است، بنابراین شما می توانید ببینید که هر کدام از آنها در واقع استفاده می شوند.

💡
تجزیه و تحلیل تا زمانی که آن را تغییر دهید باقی می ماند، و شما می توانید بازدید کننده داشته باشید. IP آدرس ناشناس است، هیچ چیز قبل از اینکه شما را انتخاب کنید ثبت نشده است.

انتخاب کنید که در هر قسمت از صفحه چه ظاهر می شود

هر بخش از مرکز کمک (بخش های صفحه اصلی، مقالات محبوب، فهرست مقاله در یک صفحه دسته و بیشتر) دارای قاعده ساده خود را برای هر کسی که شما می توانید آن را نشان دهید یا پنهان کنید، و نشان دهید. همه همه آیتم ها، تنظیم شماره, اون آخرینیا فقط آنهایی که شما ویژگی های با یک ستاره، هنگامی که یک قانون لیستی را در خود جای می دهد، مشتریان هنوز هم لینک “Show all” دریافت می کنند، بنابراین هیچ چیز واقعا از دسترس نیست.

شما همچنین تصمیم می گیرید که چگونه رای گیری مفید به نظر می رسد: پنهان، نسبت دوستانه مانند "12 از 14 پیدا کردن این مفید، و یا شست ساده شمارش می کند.یک تنظیمات حداقل-votes یک مقاله جدید را متوقف می کند که نشان دهنده “بد” ناخوشایند است.0خارج از0".

ببینید که کدام مقالات کار می کنند

هر مقاله ای نشان می دهد آیا این مفید بود؟ هر بله یا هیچ چیز در هر مقاله شمارش می شود، بنابراین شما می توانید ببینید که مقالات به خوبی پاسخ می دهند و کدام یک از آنها نیاز به بازنویسی دارند. رای گیری تکراری از همان بازدید کننده نادیده گرفته شده است، بنابراین حساب ها صادق هستند.

متن و برچسب

شما می توانید عنوان ها و برچسب های مرکز کمک را تغییر دهید تا با صدای خود مطابقت داشته باشید، هر زمینه خالی را رها کنید و به یک پیش فرض معقول برگردید، بنابراین فقط کلمه ای که واقعاً میخواهید تغییر دهید را ویرایش می کنید.

مرکز کمک یک کتابخانه را با AI شما به اشتراک می گذارد، هر مقاله ای که در اینجا منتشر می کنید همان محتوایی است که AI برای پاسخ دادن به چت ها و بلیط ها استفاده می کند، بنابراین بهبود یکی دیگر را بهبود می بخشد.

سوالات متداول

آیا باید محتوای جداگانه ای برای مرکز کمک بنویسم؟+

نه، از همان مقالات پایه دانش که AI قبلا استفاده می کند ساخته شده است. انتشار یک مقاله یک بار و آن را می تواند هر دو خدمت.

آیا می توانم برخی از مقالات را داخلی نگه دارم؟+

بله، فقط مقالاتی که منتشر می کنید و به عموم مردم نشان می دهید در مرکز کمک ظاهر می شوند.هر چیزی که منتشر نشده از آن باقی مانده است.

آیا مشتریان هنوز قادر به رسیدن به یک فرد خواهند بود؟+

بله، ویجت کمک می کند تا لینک یک ضربه از شروع یک مکالمه باشد، بنابراین خود نگهداری هرگز کسی را به دام نمی اندازد.

رشد وSEO

اطلاعات سایت (SEO Collection)

اطلاعات سایت | Site Intelligence OpsIQ"در SEO و مجموعه نامرئی جستجو، سایت شما را مانند یک موتور جستجو می کند، آهنگ هایی که در آن رتبه بندی می کنید، کلمات کلیدی را بررسی می کنید ، بک لینک ها و رقبا را اسکن می کند ، سرعت نقشه محلی خود را چک می کند و همه چیز را به گزارش های آماده مشتری تبدیل می کند؛ با یک تحلیلگر AI که توضیح می دهد چه چیزی را اصلاح کرده و می تواند پیش نویس شود.

سایت اطلاعات
داشبورد اطلاعات سایتداشبورد SEO نشان دهنده یک نمره سلامت سایت، پیگیری رتبه کلمات کلیدی و روند ترافیک است.سایت اطلاعاتyoursite.com86سایت HEALTH3 مسائل بحرانیرتبه بندی کلید واژه ردیابیکمک های AI#3چت زنده saas#7برای آژانس‌ها#12کلیک های ارگانیک1.کَرولپیدا کردن مسائل فنی2پیچرتبه ها، کلمات کلیدی، بک لینک ها3تحلیلگر هوش مصنوعیتوضیح و پیش نویس اصلاح
خلاصه داستان : یک نمره بهداشت سایت از آخرین خزیدن، پیگیری رتبه کلمات کلیدی زنده، روند ارگانیک کلیک و حلقه سه مرحله: خزیدن، ردیابی، اجازه دهید AI پیش نویس اصلاحات.

دریافت اطلاعات سایت

اطلاعات سایت بخشی از برنامه هایی است که آن را اجرا می کند.در طرحی که این کار را انجام نمی دهد، دقیقاً مانند PeopleOS HR عمل می کند: مالک حساب باز می شود حساب → افزونه‌ها و نشانه‌ها, یک صفحه اطلاعات سایت را انتخاب کنید و شروع به محاکمه آزاد یا آن را به طور مستقیم اضافه کنید.یک طرح رایگان، یا یک برنامه پرداخت شده هنوز در داخل کارآزمایی خود، نمی تواند آن را اضافه کند تا زمانی که این مجموعه متعلق به نوار سمت پنهان باشد و لینک مستقیم ارائه می دهد افزودنی؛ هنگامی که یک کلاه لایه بعدی به صفحه پیشنهاد می دهد، وقتی که یک کارآزمایی بدون خرید شارژ شده است، هیچ چیز در حساب فعلی حذف نشده و هیچ چیزی در نظر نمی شود. صفحه قیمت گذاری.

شروع یک خزیدن · اینجا شروع کنید

یک خزیدن است OpsIQ بازدید از صفحات خود را راه یک موتور جستجو برای پیدا کردن مسائل فنی: لینک های شکسته، عناوین مفقود شده، محتوای نازک، صفحات آهسته، مشکلات شاخص.

1
شروع خزیدن

در مورد بررسی، برای شروع یک خزیدن کلیک کنید. OpsIQ آن را صف می کند و از طریق صفحات خود در پس زمینه کار می کند؛ یک شاخص وضعیت نشان دهنده پیشرفت است.

2
گزارش ها را بخوانید

هنگامی که آن را به پایان می رسد، مسائل و لیست صفحه را باز کنید.هر موضوع با شدت گروه بندی شده است تا شما در ابتدا با بزرگترین پیروزی مقابله کنید.

3
اجازه دهید AI کمک کند

تحلیلگر AI یک خلاصه ساده از آنچه اشتباه است و چرا مهم است ایجاد می کند و می تواند اصلاحات پیشنهادی را که قبل از درخواست بررسی می کنید، ایجاد کند.

چه سایت های اطلاعاتی را ردیابی می کند

Crawls & site Health

صفحات خود را برای فنی اسکن کنیدSEOمسائل و لیست های هر صفحه با مشکلات آن. re-run هر زمان یا برنامه ریزی آن.

ردیابی رتبه

کلمات کلیدی که به آن اهمیت می دهید را اضافه کنید. OpsIQ بررسی کنید که سایت شما در طول زمان رتبه بندی و حرکت را دنبال می کند.

تحقیقات کلید واژه

کشف ایده های جدید کلمه کلیدی برای هدف، با مربی کلید واژه AI برای کمک به اولویت بندی.

پیوندهای پشته

ببینید چه کسی به شما لینک می دهد، لیست را تازه کنید و پیوندهایی که نمی خواهید با سایت خود ارتباط برقرار کنید را غیرفعال کنید.

رقابت

دامنه های رقیب را اضافه کنید و دید خود را در برابر آنها با تجزیه و تحلیل رقیب AI مقایسه کنید.

شبکه محلی (map)

اسکن نمای محلی در سراسر یک شبکه جغرافیایی برای دیدن جایی که شما بر روی نقشه نمایش می دهید، به علاوه ابزار پروفایل Google Business.

سرعت صفحه

چک های سرعت صفحه را اجرا کنید تا بتوانید صفحات آهسته ای که به رتبه بندی و تبدیل آسیب می رسانند، تعمیر کنید.

محتوای AI

خلاصه محتوا و پیش نویس های سفارشی با هدف کلمات کلیدی که شما در حال هدف قرار دادن.

گزارش ها

گزارش های قابل چاپ و آماده مشتری را از همه چیز در بالا بسازید.

اتصال Google برای داده های دقیق

دو اتصال دهنده گوگل به اعداد واقعی تبدیل می شوند:

کنسول جستجوی گوگل

جستجو Search

سوالات دقیق، کلیک ها و برداشت های گوگل را برای سایت خود، نقشه اموال خود و فرصت های رتبه بندی سطح مستقیم از داده های خود گوگل قرار دهید.

Google Analytics 4

ترافیک

ترافیک و اطلاعات تعامل خود را در کنار داده های SEO خود قرار دهید، بنابراین گزارش ها نشان می دهند که مشاهده و رفتار شما با هم.

گزارش های برچسب سفید و تازه کار

شما مجبور نیستید همه چیز را با خزیدن های دستی برنامه ریزی کنید، چک رتبه بندی ها، بررسی کلمات کلیدی، اسکن backlink، اسکن محلی و گزارش نسل بر روی یک کادر (به طور روزانه یا هفتگی بسته به طرح و حجم) اجرا کنید. OpsIQ cron، بخش Cron و اتوماسیون را ببینید که گزارش های منتشر شده به عنوان اسناد قابل چاپ و آماده مشتری صادر می شود: آژانس ها هر مشتری را به روز رسانی منظم SEO ارسال می کنند و از آنجا که داده های هر دامنه جداگانه است، هر مشتری تنها تا به حال خود را می بیند.

برخی از ویژگی های وب سایت اطلاعات خارجی و AI را از طریق OpsIQ ارائه دهنده پیکربندی شده، آنها از جعبه کار می کنند زمانی که مجموعه برای برنامه شما فعال است.اگر یک تازه اجرا نمی شود، تایید کنید OpsIQ cron در حال اجرا است (نگاه کنید به Cron و اتوماسیون).
آیا باید هر چیزی را به سایت خود اضافه کنمSEOردیابی؟+

Crawls، ردیابی رتبه، تحقیقات کلمه کلیدی و بک لینک ها بدون لمس سایت شما برای ترافیک و داده های دقیق جستجو کار می کنند، کنسول جستجوی گوگل و GA4 را به هم متصل می کنند.

آیا می توانم بیش از یک دامنه را ردیابی کنم؟+

بله، هر دامنه را به طور جداگانه اضافه کنید؛ خزیدن ها، رتبه بندی و گزارش های آنها کاملا از یکدیگر جدا می شوند.

چند بار باید خزیدن کنم؟+

Weekly برای اکثر سایت ها بسیار زیاد است؛ پس از یک محتوا یا تغییر ساختار بزرگ، درخواست را دنبال کنید.

رشد وSEO

خودکارسازی (سازمان دهندهٔ SEO)

Auto-Implement بخشی از اطلاعات سایت است که در واقع اصلاح خزنده و تحلیلگر AI توصیه می کند، به جای مشاوره به شما. عامل به شدت از آنچه که اطلاعات سایت قبلا پیدا کرده اند (که هرگز نمی تواند تغییر ایجاد کند) کار می کند و پیاده روی هر یک از طریق همان حلقه امن: پیش نمایش خشک، تأیید روزانه خود را، نوشتن زنده، خودکار، و تصویری (تنها آن را به عنوان یک بخش باز تنظیم کنید).

اجرای خودکار-Implement
Auto-Implement SEO Agentجریانی که توصیه می شودSEOاصلاحات در حال حرکت از طریق پیش نمایش، تایید و یک نوشتن زنده، با یک ثابت آن را دوباره اجرا می شود.اجرای خودکار-Implementyoursite.comتوصیه شدهAdd missing <title>تایید شدهربات ها را اصلاح کنید. txtتایید شدهنقشه سایت را ارسال کنید.xmlبازبینی شده در بررسیDRY-RUN PREview (DIFF)+ <title>AI Helpdesk - OpsIQ</title>+ <meta name=description ...>- <title>Home</title>تاییدپرشRE-CRAWLمسائل باز 124Snapshot نجات یافت1PRE Viewدانلود بازی های خشک هر تعمیر2AppROVE & WRSSH یا میزبانی API3دانلود بازی ROLLBACKRe-crawl + Photo
چگونه یک جلسه اجرا می شود: عامل لیست تصحیح اطلاعات سایت در حال حاضر توصیه شده است، نشان می دهد یک توزیع خشک از هر یک، اعمال کسانی که شما تایید بیش از حد SSH یا یک میزبان API عکس های فوری قبل از هر نوشتن و تجدید نظر برای اثبات شمارش باز مسائل کاهش یافته است.

آنچه می تواند تغییر کند

عامل تنها در مورد اصلاح هایی که اطلاعات سایت (یا تحلیلگر AI) قبلا برای این دامنه توصیه می شود، اعمال می کند.در سراسر سیستم عامل های پشتیبانی شده که پوشش می دهند:

سرور config

نقشه سایت xml, robots.txt و Redirect ، قوانین canonical و header در .htaccess (Apache / LiteSpeed) یا nginx config.

زنجیره های Redirect

سقوط یک زنجیره چند منظوره هدایت به یک تک پرش مستقیم به فینال URL در داخل همان بلوک .htaccess مدیریت شده، بنابراین سرعت و ارزش لینک از طریق منحنی های اضافی متوقف می شود.

Page <head>

عنوان های صفحه ای از دست رفته یا ضعیف، توصیف متا، تگ های کانونی و بلوک های داده ساختاری (schema)

WordPress SEO

Yoast، عناوین Math و SEOPress و meta، و متن alt تصویر، از طریق WP-CLI بر روی WP-CONI در SSH مسیر یا REST API در مسیر میزبان

WordPress داده های ساختاریافته

Adds JSON(شما) به صفحاتی که آن را از دست داده اند. SSH مسیر یک دستیار کوچک مدیریت شده (یک پلاگین باید استفاده شود) نشانه گذاری را چاپ می کند تا با یا بدون افزونه SEO کار کند؛ در مسیر میزبان پلاگین سئو آن را حمل می کند.

لینک های داخلی

اضافه کردن یک لینک داخلی مربوطه در داخل موجود WordPress محتوا برای نجات صفحات یتیم و اتصال پست های مرتبط با یک لینک در هر صفحه، هرگز داخل یک عنوان، یک پیوند موجود یا یک کد کوتاه، و همیشه توسط شما تایید شده است.

محتوای صفحه ای نازک بازنویسی می کند

پیش نویس محتوای جایگزینی کامل برای صفحات نازک (که توسط یک گزینه خزیدن ارسال می شود، زیر را ببینید) هر پیش نویس قبل از هر گونه انتشار بررسی و تایید شده است و محتوای قدیمی نگه داشته می شود تا بتواند بازسازی شود.

مخزن نهان صفحه (WordPress)

روی صفحه W3 Total cache قرار می گیرد زمانی که خزیدن مشکلات سرعت را پیدا می کند و این افزونه نصب شده است، بنابراین صفحات سریعتر خدمت می کنند.

Shopify SEO

محصولات و جمع آوری عناوین SEO، توصیفات، صفحه و وبلاگ-article SEO، به علاوه 301 ریدایرکت، از طریق Shopify مدیریت Admin API.

Webflow SEO

عنوان SEO Per-page و توضیحات متا از طریق Webflow داده های Data API v2

آماده کردن اصلاحات به طور خودکار (دو گزینه خزیدن)

پانل پیکربندی سایت برای یک دامنه ( تنظیمات خزیدن) دارای دو گزینه است که تصمیم می گیرد که چقدر عامل برای شما پیش از زمان خط می زند، هر دو به طور پیش فرض خاموش هستند و هر دو از اعتبار AI استفاده می کنند، بنابراین شما آنها را تنها زمانی تغییر دهید که می خواهید این کار برای شما انجام شود.

خودکار-prepare AI اصلاح پس از هر خزیدن

هر خزیدن همچنین محتوای اصلاح بتن (titles، متا توصیف، متن alt، طرح، هدایت) را برای آنچه که پیدا کرده است می نویسد، بنابراین اصلاحات آماده بررسی و اعمال لحظه ای هستند که خزنده به جای اینکه بعدا در تقاضا تولید شود، از اعتبار AI در هر خزیدن استفاده می کند.

بازنویسی محتوای AI (صفحه های اصلی)

عامل ممکن است محتوای جایگزین کامل را برای صفحات نازک پیش نویس کند، هیچ چیز به تنهایی منتشر نمی شود: هر پیش نویس به عنوان یک تغییر در طرف شما و تایید یا رد ظاهر می شود، محتوای قبلی حفظ شده است تا برگشت پذیر باشد و محدود به چند صفحه در هر دوره است.

💡
هر دو گزینه فقط آماده و پیش نویس کار می کنند.هر تغییر هنوز هم از همان تایید در هر مرحله، عکس فوری و رولبک به عنوان هر تعمیر دیگر عبور می کند، بنابراین تبدیل آنها هرگز چیزی را که خود زندگی می کنند، نمی گذارد.

دو راه اتصال

SSH / SFTP مسیر راه هدایت

خودمدیریتی

برای سایت های موجود در سرور خود، عامل به اتصال بیش از حد SSH/SFTP با استفاده از اعتبارهایی که ذخیره می کنید، فایل های پیکربندی و صفحه سرور را به طور مستقیم ویرایش می کند و WP-CLI را برای اجرای WP-CC اجرا می کند. WordPress بهترین زمانی که دسترسی به پوسته دارید و می خواهید کنترل کامل فایل ها را داشته باشید.

گروگان API راه (بدون هیچ راهی) SSH)

هیچ پوسته ای

برای پلتفرم هایی که اجازه نمی دهند SSH نماینده به طور کامل از طریق یک مقام رسمی کار می کند API کانکتور، WordPress (T + Application Passwords) Webflow (داده ها)API v2) و Shopify (Admin)API هیچ چیز بر روی میزبان نصب نمی شود.

💡
Wix و Squarespace هیچ عمومی ندارندSEO-WriteAPIبنابراین، در این سیستم عامل های Auto-Implement در حالت مشاوره اجرا می شود: به شما نشان می دهد که تغییر دقیق برای ایجاد (عنوان دقیق، meta یا تنظیم) برای شما برای اعمال با دست همه چیز دیگر تنها خواندن و امن است.

روی کانکتور ها روشن کنید

عامل از طریق یک اتصال به هر پلتفرم می رسد:

ساخته شده در

Shopify و WordPress کشتی با OpsIQ فقط آنها را در زیر کانکتور فعال کنید و اعتبار فروشگاه / سایت را اضافه کنید.

از بازار

Webflow, Wix و Squarespace نصب شده از کانکتور→بازار، سپس همان راه را به هم متصل می کند.

چگونه یک جلسه اجرا می شود

1
انتخاب اصلاحات

Open Auto-Implement (rocket) از بخش اطلاعات سایت فهرست مسائل مربوط به اطلاعات سایت که قبلا پیدا شده است که آن را می تواند در این دامنه تعمیر.

2
پیش بینی هر تغییر

برای هر تعمیر عامل یک توزیع خشک (به طور دقیق آنچه که می نویسد) قبل از هر چیزی به سایت زنده لمس کند.

3
گام های گام به قدم

شما هر تغییر را به صورت جداگانه تأیید می کنید و هیچ چیز بدون سر و صدا صریح خود در آن مرحله اعمال نمی شود.

4
می نویسد، سپس عکس های فوری

در صورت تصویب، عامل تغییر زنده را بر سر SSH یا میزبان API و ابتدا یک عکس فوری را ذخیره کنید، بنابراین هر گونه تغییر می تواند به عقب برگردانده شود.

5
آن را اثبات کنید، زندگی کنید

همانطور که هر تغییر عامل بلافاصله بررسی می کند که صفحه دقیق و یک حکم "زندگی ثابت شده" را نشان می دهد، بنابراین شما هر زمین تعمیر در صفحه زنده را به عنوان آن اتفاق می افتد تماشا کنید.در پایان آن دوباره کل سایت را باز می کند و شمارش باز را تایید می کند.

ایمنی و صورتحساب

SEO-فقط

عامل تنها می تواند آنچه را که اطلاعات سایت برای آن دامنه توصیه می کند انجام دهد.این نمی تواند تغییرات دلخواهی در وب سایت یا سرور شما ایجاد کند.

تصویب مرحله

هر نوشتن به عنوان یک توزیع پیش نمایش داده می شود و تنها پس از تأیید آن مرحله خاص اعمال می شود.

Snapshot & رولبک

یک عکس فوری قبل از هر نوشتن ذخیره می شود، بنابراین هر گونه تغییر را می توان برگرداند.

زندگی در هر مرحله اثبات

هر صفحه تغییر یافته دوباره بررسی می شود که نوشته شده و حکم "زندگی ثابت" را دریافت می کند، بنابراین یک تعمیر در برابر صفحه زنده بلافاصله تایید شده است نه تنها در بسته بندی مجدد.

محتوا هرگز به صورت خودکار منتشر نمی شود

لینک های داخلی و بازنویسی محتوای صفحه ای بالاتر از حد آرامش هستند، بنابراین همیشه برای تأیید به شما نشان داده می شوند و هرگز به طور خودکار اعمال نمی شوند، هر گونه حالت که اجرا می کنید.

مدیریت شده – AI

Auto-Implement بر روی AI مدیریت شده اجرا می شود؛ هنگامی که یک فضای کاری از خود استفاده می کند، مسدود می شود (BYOK کلیدها

لایحه

توکن های AI به طور معمول به عنوان شما استفاده از آنها، به علاوه یک هزینه استفاده تخت در هر جلسه Auto-Implement، هر دو از همان اعتبار مدیریت شده است.

Auto-Implement به طور پیش فرض خاموش است. فعال کردن آن در صفحه پیکربندی AI (کارت خودکار-IMPlement) و اطمینان حاصل کنید که کانکتور برای پلت فرم شما ابتدا متصل شده است.
آیا چیزی را بدون پرسیدن تغییر می دهد؟+

هر تغییر به عنوان یک توزیع خشک پیش نمایش داده می شود و تنها پس از تأیید این مرحله دقیق، اعمال می شود.یک عکس فوری قبل از هر نوشتن ذخیره شده است تا بتوانید دوباره برگردید.

آیا من نیاز دارم SSH دسترسی؟+

نه در WordPress, Shopify یا Webflow آن ها از طریق مقام رسمی خود کار می کنند. APIs بدون دسترسی به پوسته SSH تنها یکی از دو مسیر است که زمانی استفاده می شود که شما می خواهید عامل برای ویرایش پیکربندی سرور و فایل ها به طور مستقیم بر روی سرور خود را.

چگونه می دانم که کار می کند؟+

پس از درخواست اصلاح تایید شده، عامل دوباره سایت را باز می کند و تعداد مسائل مربوط به باز را قبل و بعد نشان می دهد، بنابراین شما می توانید اصلاحات کاهش مشکلات را تأیید کنید.

آیا محتوای صفحه را به تنهایی بازنویسی یا منتشر می کند؟+

نه. بازنویسی محتوای AI خاموش است تا زمانی که آنها را در گزینه های خزیدن قرار دهید، آنها به چند صفحه نازک در هر پاس محدود می شوند و هر پیش نویس برای تأیید جانبی قبل از هر گونه انتشار محتوا قبلی نشان داده شده است، بنابراین یک بازنویسی همیشه می تواند برگردانده شود.

آیا می توانم با کلیدهای AI خودم از آن استفاده کنم؟+

Auto-Implement تنها مدیریت شده است و تحت کنترل آن قرار می گیرد. BYOK این توکن های AI را به طور معمول به همراه یک هزینه استفاده تخت در هر جلسه، از همان اعتبار مدیریت شده-AI.

رشد و تعامل

بررسی Studio

استودیوی سروی فضای کاری برای ایجاد پرسشنامه‌های ویرایش‌پذیر است که می‌توانند به صورت یک صفحه مستقل غنی، ویجت وبگاه یا در خط قرار داده شوند. محصول فعلی همچنین لینک‌های میزبانی شده، پیش نمایش اسناد امضاشده، دعوت خصوصی، اشتراک گذاری کیوآر، جستجو پاسخ و تجزیه و تحلیل حوزهٔ پرسشنامه‌ای را ارائه می‌دهد. ویجت سایت یکی از گزینه‌های ارسال است؛ این تعریف یک پرسشنامه‌ست.

⚠️
مرز فعلی در مقابل هدف: تجربه تولید و پیش نمایش، Browser Builder survey قابلیت، و ارائه دهنده خدمات نظارتی / مرز بهداشت در حال حاضر موجود است. Survey Studio هنوز نیاز به معماری چند منظوره مستقل، دروازه هویت نظرسنجی امضا شده، هدف قرار دادن / سیم کشی متغیر، CRM Outration جریان ارسال و نوع بندی surveys.* API

ایجاد یک نظرسنجی

1
انتخاب کنید که چگونه مردم آن را می گیرند

جادوگر فعلی صفحه و لینک، ویجت وب سایت و Inline جاسازی شده را ارائه می دهد. جریان هدف تایید شده با نوع نظرسنجی آغاز می شود و بعدا ایمیل CRM، اتصال خصوصی و پیاده سازی QR را به عنوان انتخاب های کلاس اول اضافه می کند.

2
هدف را انتخاب کنید

انتخاب NPS، CSAT، CES، بازخورد محصول، پس از خرید، لغو، وارد کردن، وب سایت، رویداد، وبینار، پشتیبانی، سرب /demo، محاکمه، آزمون، تحقیق، کارمند، مصرف یا بازخورد عمومی.

3
از یک قالب کامل استفاده کنید یا شروع خالی کنید

کاتالوگ فعلی دارای استارت آپ های قابل ویرایش است که به منظور انتخاب یک الگو، پیش نویس کپی شده ای را ایجاد می کند: تغییر نظرسنجی شما شروع کننده یا بررسی دیگری را تغییر نمی دهد.

4
سفارشی سازی یا Quick Review

سفارشی سازی هر سوال، طراحی، رفتار و کنترل تحویل را باز می کند.بررسی سریع همان پیش نویس را در چک مشتری نهایی باز می نماید.هیچ چیز به طور خودکار منتشر نمی شود یا ارسال نمی کند.

انتخاب های تحویل و رفتار فعلی

صفحه و لینک

یک صفحه نام تجاری پاسخگو با خود URL استفاده از دعوت های خصوصی و انقضای زمانی که هر گیرنده نیاز به یک لینک کنترل شده دارد. نقاط اشتراک گذاری QR در این تجربه میزبانی شده است.

وب سایت ویجت

کانال میراث مهاجرت شده می تواند از صفحه، جغرافیا، دستگاه، بازدید کننده، تاریخ، نمونه برداری، خنک کردن، بازدید و قوانین سهمیه استفاده کند.این هنوز هم توسط پل فعال و حاشیه ای پشتیبانی می شود در حالی که معماری استقرار ساخته شده است.

Inline rib

یک نظرسنجی پاسخگو که در داخل صفحه، پورتال، محصول یا مرکز کمک قرار می گیرد، نیازی به توسعه استودیو ندارد.

ایمیل

امروز استودیو می تواند دعوت نامه را تولید کند HTML و لینک های خصوصی. ارسال پایان به پایان از تماس های CRM / گزارش ها، با رضایت، سرکوب، برنامه ریزی، تجدید نظر و همبستگی پاسخ، هدف ادغام توسعه CRM تایید شده است.

طراحی سازمانی و پیش نمایش

صفحات نظرسنجی دارای تم های مبتنی بر بررسی و خانواده های صفحه، کنترل پاسخگو، خوش آمدید و تکمیل کپی، و پیش نویس امضا شده است. پیش نمایش طراح به طور کامل در زیر ویرایشگر قرار دارد، نه یک راه آهن باریک جانبی که از زمان واقعی میزبانی شده در یک قاب شنی استفاده می کند و از دسکتاپ، تبلت و عرض تلفن پشتیبانی می کند؛ پیش نمایش ترافیک پاسخ ها یا تجزیه و تحلیل نمی دهد.

💡
Survey Studio مستقل از استودیوی تبلیغاتی است که هدف قرار دادن، هویت، دارایی ها، رندر و تجزیه و تحلیل باید به صورت پیش بینی شده باشد.محتوای ارتقاء تنها از طریق یک کپی یا گزارش واضح که داده های نظرسنجی جداگانه را ایجاد می کند استفاده می شود؛ ویرایش های بعدی نباید هیچ اثری داشته باشند.

محصول کامل فرم

استقرار مستقل

زندگی زنده Live

یک نظرسنجی می تواند صفحه جداگانه، ویجت، جاسازی شده، ایمیل CRM، اتصال خصوصی و QR را داشته باشد که هر کدام با حالت، طراحی، مخاطبان و تجزیه و تحلیل خود متوقف، غیرفعال یا حذف می شوند.

توسعه CRM و کمپین ها

زندگی زنده Live

ایجاد یک مخاطب تایید شده از بخش های CRM و کانکتورهای ناتوان از نظرسنجی، آن را به یک نسخه غیر قابل تغییر، شماره یک دعوت امضا شده هر یک، و ارسال از طریق اتصال ایمیل ورودی با اثبات تحویل هر گونه.

کیت Field و اعتبارسنجی

زندگی زنده Live

اسلایدر، انتخاب تصویر، آپلود فایل، امضا، آدرس، تلفن، سرفصل ها و متن غنی، با طول من / حداکثر، ایمیل / یا URL/ پیش فرض های عددی، متن خطای سفارشی و pre-question prefill URL پارامترهای

منطق، فرمول ها، نتایج

زندگی زنده Live

گروه های وضعیت، قوانین شاخه، یک موتور فرمول امن بر پاسخ ها و گروه های نمره که صفحه نتیجه خود را حمل می کنند: زمین های آزمون گل زده در حکم آن.

زبان، کیوسک، prefill

زندگی زنده Live

یک زبان بازدید کننده تنها با ترجمه های واقعی، حالت کیوسک برای قرص های مشترک (هدفهای بزرگتر، خودکار تنظیم شده، بدون تغییر)، سازنده لینک پیش از پر جنب و جوش و متن امن و پادار قابل ویرایش است.

تست A/B

زندگی زنده Live

یک نسخه چالش برانگیز را در هر استقرار با تقسیم ترافیک منتشر کنید. بازدید کنندگان به صورت چسبنده اختصاص داده می شوند، پاسخ ها با نسخه ای که واقعاً ارائه شده است مهر و موم می شوند و جدول مقایسه پاسخ ها، تکمیل و نمره معنی دار را در یک کلیک نشان می دهد.

دانلود بازی Weekly Digest

زندگی زنده Live

یک ایمیل هفتگی با آخرین 7 روزهای KPI های نظرسنجی، شلوغ ترین بررسی ها، پالس بازخورد و آخرین خلاصه هوش مصنوعی، ارسال شده از طریق اتصال خارج از حد بالا، آن را در مرکز تحویل، اتوماسیون.

حکومت

زندگی زنده Live

لیست دسترسی Per-survey محدود می کند که چه کسی می تواند یک نظرسنجی را ویرایش، منتشر یا حذف کند. Extension Authentication (چهار چشم) نیاز به مدیر دوم برای انتشار پیش نویس دقیق دارد؛ ویرایش لینک های تایید شده را تنظیم می کند. Draft اجازه می دهد تا یک بررسی کننده بدون ورود به نسخه واقعی را ببیند.

توسعه دهنده Platform

زندگی زنده Live

قرارداد 2.2• نظرسنجی های تایپ شده و بازخورد. * اقدامات در مورد api/v1، بررسی های تجربی. * رویدادها، وب با دوام امضا شده با Slack و Google Sheets رله فرمت ها، و یک پاسخ PDF صادرات

رشد و تعامل

بررسی Analytics و بازخورد محصولات مختلف هستند

Survey Analytics توضیح می دهد که چگونه یک نظرسنجی به افراد و انجام بازخوردها دست پیدا می کند، آنچه مشتریان در تمام منابع مجاز بیان کرده اند را توضیح می دهند و کسب و کار باید در مورد آن چه انجام دهد.این دو محصول به یکدیگر پیوند دارند اما حقیقت تحلیلی بیش از حد را به اشتراک نمی گذارند یا بازنویسی نمی کنند.

بررسی Analytics

از نظرسنجی فردی در Survey Studio، نه از ناوبری جهانی طرف، واجد شرایط بودن، قرار گرفتن، رفتار ماشه ای، شروع، تکمیل، رها کردن، سوال و اصطکاک شاخه، زمان بندی، استقرار / نتایج / خروج و قابلیت اطمینان زمان اجرا.

بازخورد و Inbox

یک فید زمان بندی مجوز برای پاسخ های نظرسنجی کامل، بازخورد ویجت میراث، چت و بلیط CSAT، بازخورد بلیط، رتبه بندی پاسخ مشتری AI-answer، رای گیری مفید دانش پایه و منابع خارجی / سفارشی تایید شده است.

بازخورد Analytics

تجزیه و تحلیل معنی مشتری: روند متریک اصلی، موضوعات / مفاهیم، احساسات، هدف، فوریت، درخواست ها، شکایات، ستایش، بخش های سفر / خدمات / تیم، ردیابی کننده ها و نتایج حلقه بسته.

مالکیت داده ها

پاسخ های نظرسنجی در ذخیره سازی بررسی معتبر باقی مانده است. بازخورد یک مرجع منبع بازسازی شده و سیگنال های مشتق شده را ذخیره می کند، سپس شواهد مجاز در مورد تقاضا را بارگیری می کند.یک پاسخ کامل به حداکثر یک آیتم بازخورد تبدیل می شود.

⚠️
صفحه بازخورد فعلی هنوز یک مرورگر پاسخ نظرسنجی و یک ویجت جداگانه دارد، و مجموع AI آن هنوز از مدل منبع کامل طبیعی استفاده نمی کند.بررسی یکپارچه / Inbox / Analytics / منابع و طراحی بهداشت هدف پیاده سازی است.

NPS، CSAT، CES، ستاره ها، انگشت شست و مفید بودن همیشه باید روش اصلی خود را حفظ کنند، مقیاس، نمونه، پنجره تاریخ و مخرج.آنها هرگز نباید به طور متوسط در یک ترکیب شوند.

رشد وSEO

استودیو تبلیغات

Promotion Studio وب‌گاه شما را به یک موتور تبدیل می‌کند. طراحی پاپ‌آپ‌ها، بنرها، اسلاید-این‌ها، نوارهای بالا/پایین، برخورد تمام صفحه، بلوک‌های خطی و حتی بازگرداندن‌های مبتنی بر کشور، سپس پیام درست را در لحظه مناسب به بازدیدکنندهٔ صحیح نشان دهید. همه چیز از طریق. OpsIQ ویجت از قبل در سایت شما وجود دارد ، بنابراین هیچ چیز اضافی برای نصب نیست. هر زمان کمپین‌ها را طراحی و ذخیره می‌کنید ؛ آنها فقط زمانی نمایش داده می‌شوند که آن‌ها را منتشر کنید و استودیو برای فضای کاری شما روشن شود.

استودیو تبلیغات
توسعه طراح استودیویک طراح کمپین بصری با یک پالت بلوک، پاپ آپ در بوم و پانل هدف گذاری.استودیو ارتقاء – Designerبلوکهاxخوش آمدید، {first_name}!دریافت کنید 15% اولین سفارش خود راSAVE15برچسب های منهدفگيريکشورآمریکا، CAمحرکخروج ازتقسیم A/B50 / 50انتشار1طراحیبلوک ها را بر روی بوم بکشید2هدفکشور، صفحه، مخاطبان3اندازه‌گیریA/B برنده + هوش مصنوعی
طراح بصری: یک پالت بلوک در سمت چپ، کمپین شما بر روی بوم (در اینجا یک کوپن شخصی با استفاده از یک پاپ آپ) {first_name} توکن، و پانل هدف گذاری + انتشار در سمت راست.

تصویر بزرگ

کمپین

چه چیزی

یک ارتقاء: یک پاپ آپ، بنر، نوار، اسلاید کامل، بلوک خط یا ژئو-redirect هر کدام دارای هدف است: فروش، سرب، امضا، چت، بررسی، اعلان.

طراحی و نسخه ها

چگونه

شما نگاه را در ویرایشگر بصری ایجاد می کنید، هر ذخیره یک نسخه جدید ایجاد می کند، بنابراین همیشه می توانید عقب بکشید.

هدف گذاری

چه کسی کیست

کسی که آن را می بیند: کشور، صفحه، منبع ترافیک، بازگشت به مقابل جدید، برنامه و (با یک کانکتور) مشتریان ثبت شده شما.

محرک‌ها (Triggers)

وقتی

هنگامی که به نظر می رسد: بلافاصله، در تاخیر، روی اسکرول، در خروجی، زمانی که بیکار، بر روی یک کلیک، پس از صفحات N یا از چت / فعالیت بلیط.

تحلیل‌ها

نتایج

Live Senses، Click-through، Conversion، یک قیف کشویی، کشور / صفحه / تقسیم دستگاه، برنده های A/B و بینش AI.

اولین ارتقاء خود را در 5 گام های قدم

1
از یک قالب یا سفید شروع کنید

Open Promot Studio و Click New Campaign یا یک طراحی آماده از گالری Templates را انتخاب کنید. پیش نویس در طراح باز می شود.

2
طراحی آن

در بلوک ها، سرفصل ها، متن، دکمه ها، تصاویر، نشان ها، آمار، شمارش معکوسها، فرم ها، کوپن ها، فیلم ها، رتبه بندی ها، رنگ های سبک، گرادیان و اثرات 3D با لغزنده ها. Preview Desktop / تبلت / موبایل، و استفاده از حرکت آزاد به مکان هر نقطه.

3
شخصی سازی آن

توکن های نوع مانند {first_name}, {country} یا {company} در هر متن، آنها تبدیل به ارزش های واقعی بازدید کننده می شوند.

4
هدف و ماشه

انتخاب کنید که چه کسی آن را می بیند (کشور، صفحه، دستگاه، مخاطب) و هنگامی که آتش می زند (delay، اسکرول، خروج)، یک قانون خالی برای معنی همه بگذارید.

5
بررسی، سپس انتشار

برای یک اسکن سریع از پیش راه اندازی کلیک کنید، سپس آن را در عرض چند ثانیه زندگی می کند و شروع به جمع آوری تجزیه و تحلیل می کند.

بلوک هایی که می توانید بسازید

محتوا

هسته

سر، پاراگراف، لیست، نقل قول، تصویر، نماد، نشان، stat، تقسیم کننده و فضار، بلوک های ساختمانی هر پیام.

فراخوان به عمل

هسته

دکمه ها با اقدامات واقعی: یک لینک را باز کنید، چت را شروع کنید، بلیط ایجاد کنید، کوپن را کپی کنید یا به صفحه پرش کنید.

ogency & Capture

حق بیمه

تایمر شمارش معکوس، فرم ها (mail / phone/ text)، کوپن ها و جاسازی های ویدئویی را نشان می دهند.

گام های بلند و بازخورد

حق بیمه

چرخ های اسپین تا برد، کارت های خراشNPS• رتبه بندی ستاره ها و قیف های چند مرحله ای

چیدمان و اثرات

حق بیمه

ستون ها، میله های پیشرفت، سهم اجتماعی، تیکت های اثبات اجتماعی، بله / نه دو مرحله، آزمون و اثرات 3D، شیب، درخشش، بولیاکس، شیشه ای.

توکن های شخصی سازی

هر یک از این موارد را در سرفصل ها، پاراگراف ها، دکمه ها، نشان ها، آمار، لیست ها یا نقل قول های بازدید کننده جایگزین می شوند و جزئیات زندگی بازدید کنندگان را در لحظه ای که نمایش تبلیغات (همیشه برای ایمنی تمیز می شود):

توکن های موجود
From the visit:   {country} {city} {device} {page_path} {utm_source} {referrer}
From your CRM:    {first_name} {last_name} {email} {company} {segment} {lifecycle_stage}
From a connector: {balance_due} {unpaid_invoices}   (logged-in customers only)

هدف گذاری مرجع

کشور و محل

فقط در کشورهای منتخب، شهرها یا مناطق زمانی از طریق GeoIP نمایش دهید. Great for Zone- Special Presentations یا یک geo-redirect.

صفحات و URLs

محدود کردن صفحات خاص با استفاده از برابر / شروع با / شامل / regex و حذف صفحات نیز.

دستگاه های دستگاه

دسکتاپ، تبلت یا تلفن همراه، به عنوان مثال یک نوار باریک در موبایل، یک modal بر روی دسکتاپ.

نوع بازدید کننده

جدید، بازگشت، شناخته شده (در CRM) یا ناشناس؛ بخش های CRM، مرحله چرخه عمر، نمره سرب و یا زبان مرورگر.

منبع ترافیک

به UTM (utm_source، Usem_campaign) یا سایت اشاره ای، به عنوان مثال تنها بازدید کنندگان از یک آگهی خاص.

برنامه و فرکانس

شروع / تاریخ پایان، پنجره های زمان از روز و اینکه چگونه اغلب یک فرد می تواند آن را ببیند (در جلسه، در روز بعد از بستن / کلیک / تبدیل).

تقسیم ترافیک A/B

به درصد بازدید کنندگان نشان دهید و انواع مختلف را به سر اجرا کنید؛ همان فرد همیشه همان نوع را می بیند.

مخاطبان (logged-in)

با یک کانکتور فعال، هدف توسط حالت حساب زنده، به عنوان مثال مشتریان دارای فاکتور های بدون پرداخت یا مشترکان فعال.

محرک‌ها (Triggers)

انتخاب کنید که چگونه ارتقاء ظاهر می شود: بلافاصله، پس از یک تاخیر، در عمق اسکرول، در خروجی، زمانی که بیکار، بر روی یک عنصر، بعد از تعدادی از صفحات مشاهده شده، بر اساس فرم-abandon یا از چت / فعالیت بلیط. window.OpsIQPromo.fire('event').

هدف ورود به مشتریان (connectors)

این چیزی است که باعث می شود OpsIQ ارتقاء ویژه: یک پلت فرم مانند اتصال WHMCS (یا هر اتصالی که از مخاطبان پشتیبانی می کند) و استودیو می تواند بازدید کنندگان را توسط حالت حساب کاربری زنده خود هدف قرار دهد.

1
فعال کردن یک اتصال مخاطب

در زیر کانکتور، کسی را فعال کنید که حقایق مخاطب را افشا می کند.WHMCS از جعبه خارج می شود) مشتریان به طور ایمن هنگامی که وارد این پلت فرم می شوند، شناخته می شوند. OpsIQ هرگز به یک ایمیل تایپ شده اعتماد نکنید.

2
اضافه کردن یک قانون مخاطب

در هدف گذاری کمپین > مخاطب، نیاز به وارد شدن و اضافه کردن قوانین مانند صورتحساب های بدون دستمزد دارند. 1, اشتراک گذشته است یا حساب اعتباری> 0.

3
شخصی سازی با داده های خود

استفاده از توکن ها مانند {first_name} یا {balance_due}«تو یک یادآوری بیش از حد دارید» خود را می نویسد.

هدف قرار دادن مخاطب، ایمن نیست: اگر کانکتور نتواند یک واقعیت را تایید کند (یا بازدید کننده وارد نشود)، ارتقاء به سادگی نشان نمی دهد، بنابراین پیشنهاد صورتحساب هدفمند هرگز به شخص اشتباه نمی رسد.

تجارت متصل (قدرت بزرگ استودیو)

کارت های محصول از فروشگاه شما

داده های زنده

یک بلوک محصول کالاهای واقعی (نام، قیمت، قیمت فروش، تصویر، لینک) را به طور مستقیم از بین می برد WHMCS, WooCommerce, Shopify یا شما OpsIQ صورتحساب. Tick "تازه نگه دارید" و کارت قیمت خود را از پلت فرم هر ساعت در حالی که منتشر می شود به روز می کند.

خرید و فروش کوپن های

کوپن ها

یک بلوک کوپن می تواند کد تخفیف واقعی را در فروشگاه شما ایجاد کند، بنابراین کدی که بازدید کننده نشان می دهد همیشه در پرداخت کار می کند.

درآمد سفارش-جنوب

درtribution

سفارشات واقعی از سیستم عامل های شما به طور ساعتی به کمپین ها (با استفاده از کوپن یا ایمیل سرب) متصل می شوند، بنابراین درآمد شما از فروش واقعی است نه برآورد.

اثبات اجتماعی واقعی

اعتماد به اعتماد

تیکت های ضد اجتماعی می توانند با دستورات اخیر واقعی (Ada دستور داد تا طرح شروع کار را آغاز کند) 2h پیش از این، نام و آیتم اول، هرگز ایمیل یا مقدار.

آزمایش ها و سفرها

انواع A/B و برنده خودکار

تقسیم ترافیک در انواع طراحی؛ اجازه دهید استودیو برنده آماری را به طور خودکار یا ترافیک دستی را به بهینه سازی باند ارتقا دهد که بازدید کنندگان را به سمت آنچه که شواهد می آید، تغییر می دهد.

بالادستی

یک تکه از بازدید کنندگان را که چیزی نمی بینند، ذخیره کنید، بنابراین می توانید ثابت کنید کمپین خود باعث آسانسور می شود.

انواع تقسیم بندی

محتوای مختلف در هر مخاطب کمپین SAME (مصاحبان موبایل، سبدهای بزرگ و بازگشت مشتریان)، هر بخش نسخه خود را دریافت می کند.

آزمایش های محرک

همچنین می توانند تست W When to be را آزمایش کنند: بلافاصله در مقابل تاخیر در برابر خروج، اندازه گیری سر به جلو.

سفر (chaining)

هدف از آنچه کسی با کمپین دیگری انجام داد («برنامه A را نظارت کرد اما تبدیل نشد») برای ساخت توالی های چند مرحله ای.

چای

یک توریست قرص کوچک می تواند پس از بستن کمپین بازگشایی شود، بنابراین یک پاپ آپ بسته هرگز به خوبی پیش نرفته است.

می دانند چه اتفاقی افتاده است

Click Heatmap

طراح

در طراح، نقشه گرمایی را برای نقاشی کلیک های بازدید کننده واقعی بر روی هر بلوک طراحی خود تنظیم کنید.

گام های مقدماتی

لانه

کمپین های چند مرحله ای دقیقاً نشان می دهند که مردم از کجا رها می شوند، صفحه نمایش را با صفحه نمایش قرار می دهند.

مقایسه کمپین ها

استودیو Studio

چهار کمپین را به سمت طرف (مثبت، کلیک، تبدیل)، بهترین ارزش برجسته شده است.

داستان هفته ای و هضم

آآ

هر دوشنبه یک خلاصه در اطلاعیه های شما قرار می گیرد؛ دکمه داستان هفتگی 📖 هر زمان که بخواهید یک خلاصهٔ ساده با مراحل بعدی را می‌نویسد.

کار کردن راحت

راهنمای نرم افزار AI Copilot & Ideas

چت با خلبان طراحی برای ویرایش این بوم ("ایجاد عنوان فوری، اضافه کردن شمارش معکوس")، دریافت ایده های کمپین از داده های ترافیک خود را، ترجمه یک کمپین در هر کشور و یا خودکار ثابت یک نمره کم طراحی.

خرید گیفت کارت اپل

یک دستور وب سایت شما را می خواند و رنگ ها و فونت های برند واقعی خود را پیشنهاد می کند؛ ذخیره کنید و هر انتخاب کننده با آنها هدایت می شود.

چند صفحه ای قیف

بلوک های گام به درستی ویرایش هر صفحه ای را انجام می دهند: زبانه برای هر صفحه نمایش، اضافه یا reorder Screens و پیش نمایش در امتداد.

نام های بازی و حضور

به نام نسخه های مهم ("Launch کاندید")، بازگرداندن هر یک از آنها و دیدن هشدار زمانی که یک شریک در حال ویرایش همان کمپین است.

نوار دستگاه و حاکمان

مشاهده دسکتاپ، تبلت و سمت تلفن همراه در یک دیدگاه؛ حاکمان پیکسل برای قرار دادن دقیق.

صفحه و کانال های میزبان

هر کمپین همچنین می تواند یک صفحه میزبانی مستقل برای بیو و کدهای QR، توالی ایمیل برای سرنخ های گرفته شده یا پیش نویس وب سایت تک کلیکی باشد.

امنیت سازمانی

پنجره های یخ زده (دوره های بدون تغییر)، یک سوئیچ اضطراری مکث، تایید، پیگیری حسابرسی و نسخه رولبک.

آیا باید کد را به سایت خود اضافه کنم؟+

ارتقاء ها توسط همان تحویل داده می شوند OpsIQ ویجت که قبلا نصب کرده اید.طراحی، انتشار، انجام شده است.

آیا بازدید کنندگان همان پاپ آپ را خواهند دید؟+

نه، تنظیم حجم فرکانس (در جلسه / در روز یا توقف بعد از بستن کسی، کلیک ها و یا تبدیل) پیش فرض های قابل قبول اعمال می شود.

چه کسی می تواند منتشر کند؟+

انتشار، استفاده از، بایگانی و عقب کشیدن محدود به صاحبان فضای کار و مدیران کامل است.هر عضو تیم می تواند پیش نویس های طراحی و ساخت را ایجاد کند.

رشد وSEO

توسعه دهنده Designer

طراح ارتقاء یک ویرایشگر بلوک پاسخگو برای ساخت، بررسی، نسخه برداری و انتشار تجربه کمپین است.

صفحه نمایش محصول
توسعه دهنده Designerطراح ترکیبی از یک بوم زنده، پیش نمایش دستگاه، بلوک ها، متغیرهای شخصی سازی، نظرات و تاریخ نسخه است.توسعه دهنده Designerفضای کاریVIEWPORTرومیزیدانلود بازی The Ponyv12فرارپیش نویسدانلود بازی LiveSPACEبلوک های HeroHeadline، رسانه ها و CTAویرایش Editبلوک پیشنهادیتخفیف و مهلتویرایش Editشخصی سازیمتغیرهای تماس و کمپینآماده شدنگزینه Launch Checkنظرات و اعتباربازبینی شده در1BUILD BLOCKSبازی Edit Live2PRE ViewDesktop، تبلت، موبایل3PUBLISHنسخه های منتشر شده
طراح ترکیبی از یک بوم زنده، پیش نمایش دستگاه، بلوک ها، متغیرهای شخصی سازی، نظرات و تاریخ نسخه است.

از بلوک ها برای ایجاد تجربه استفاده کنید، پیش نمایش هر گزارش پشتیبانی شده و متغیرهای شخصی سازی تایید شده را وارد کنید. Review comment and AI-mediaance قبل از راه اندازی. Save نسخه هایی را ایجاد می کند تا یک طراحی قبلی بتواند بررسی یا بازسازی شود.

رشد وSEO

قالب های تبلیغاتی

قالب ها یک گالری جستجو، شروع برای کمپین های استودیوی تبلیغاتی ارائه می دهند.

صفحه نمایش محصول
قالب های تبلیغاتیگالری قالب طرح های برتر را فیلتر می کند و رنگ های نام تجاری Workspace را هنگامی که یک الگو به عنوان پیش نویس تبدیل می شود، اعمال می کند.قالب های تبلیغاتیفضای کاریدستهتبدیل شدن بهRESULTS24برندکاربردیدانلود بازی LiveSPACEپیشنهاد خروجاصلاح با فوریت و CTAپیش‌نمایشبازدید کننده جدید خوش آمدگوییلیست بنر و سودپیش‌نمایشراه اندازی محصولقهرمان، اثبات و شمارش معکوسپیش‌نمایشدرخواست بازخوردبررسی سریعپیش‌نمایش1FILTERدسته بندی و جستجو2PRE Viewبررسی کامل طراحی3USEایجاد یک پیش نویس با نام تجاری
گالری قالب طرح های برتر را فیلتر می کند و رنگ های نام تجاری Workspace را هنگامی که یک الگو به عنوان پیش نویس تبدیل می شود، اعمال می کند.

جستجو یا فیلتر توسط دسته، بارگذاری نتایج اضافی، پیش نمایش تجربه کامل، سپس انتخاب کنید استفاده از Templateکمپین جدید همچنان یک پیش نویس باقی مانده و می تواند در طراح ارتقاء قبل از انتشار تغییر کند.

رشد وSEO

تحلیل های ارتقاء

تجزیه و تحلیل ارتقاء، جلوه ها و کلیک ها را به تبدیل، زمینه مخاطبان، نتایج عمل اتصال و یادگیری کمپین متصل می کند.

صفحه نمایش محصول
تحلیل های ارتقاءتجزیه و تحلیل ارتقاء نشان می دهد عملکرد، مخاطبان و شکست ماشه، منجر به صادرات و اتصال نتیجه عمل.تحلیل های ارتقاءفضای کاریIMPRESSIONS42.8kCTR6.4%CONVERSIONS814دانلود بازی LiveSPACEکشورانگلستان · 31%شکستصفحه/pricing · _22%شکستمحرکخروج از قصد · 44%شکستاکشنکوپن ایجاد شده · 97% موفقیتنتیجه1اندازه‌گیریدانلود فیلم سینمایی The Impressions to Conversion2SLICEصفحه، کشور، دستگاه3LEARNاستفاده از بینش
تجزیه و تحلیل ارتقاء نشان می دهد عملکرد، مخاطبان و شکست ماشه، منجر به صادرات و اتصال نتیجه عمل.

خواندن برداشت، نرخ کلیک و تبدیل با هم. شکستن نتایج توسط کشور، صفحه، ماشه و دستگاه؛ صادرات سرب در صورت لزوم دریافت می کند.پی.چ نشان می دهد که آیا پیگیری قول ارتقاء در واقع اجرا شده است بینش AI و یادگیری خلاصه نامه باید به عنوان فرضیه برای اعتباربخشی، نه اثبات خودکار درمان شود.

رشد وSEO

بیانیه ها

اعلان ها یک پیام را در منطقه اطلاع رسانی ویجت با هدف گیری اختیاری، برنامه ریزی و تماس به عمل منتشر می کنند.

صفحه نمایش محصول
بیانیه هاویرایشگر اعلان شامل محتوا، CTA، مخاطبان، بخش، قانون صفحه، تاریخ های فعال و سبک بصری است.بیانیه هافضای کاریACT3AUDIENCEبخش تقسیم بندیدانشگاهجول 22–29دانلود بازی LiveSPACEعنوان: Titleبرنامه ریزی تعمیر و نگهداریآماده شدنمحتواپیام مارک معکوسآماده شدنCTAبخوانيدگزینشیقانونصفحات قیمت گذاری فعالهدف1WRITEنام و Markdown2هدفمخاطب، بخش، صفحه3دانشگاهپنجره فعال
ویرایشگر اعلان شامل محتوا، CTA، مخاطبان، بخش، قانون صفحه، تاریخ های فعال و سبک بصری است.

تمام بازدید کنندگان، بازدیدکنندگان امضا شده یا بازدید کنندگان جدید را انتخاب کنید؛ به طور اختیاری مخاطبان را با بخش تماس و قانون صفحه محدود کنید.تاریخ های فعال از / فعال و یک پرچم فعال تنظیم می کند. Premium Style presets and Colors Change Presentation اما جایگزین محتوای روشن نمی شود.

رشد وSEO

کمپین های Push

کمپین های Push اعلان مرورگر را برای بازدید کنندگان مشترک ارسال می کنند پس از اینکه سایت را ترک کرده اند.

صفحه نمایش محصول
کمپین های Pushآهنگساز فشار نشان می دهد که اشتراک، محتوا، رسانه ها، اقدامات، قوانین هدف و حالت برنامه.کمپین های Pushفضای کاریSUBSCRIBERS8,214.سنت31.6kCLICK RATE5.8%دانلود بازی LiveSPACEعنوان: Titleسبد خرید شما منتظر استآماده شدنبدنبازگشت امروز به صورت رایگانآماده شدنCTAOpen Cartآماده شدنبرنامه زمانبندیارسال یا برنامه ریزیپیش نویس1PREPARE PUSHعنوان، بدن، آیکون2هدفمخاطب، بخش، صفحه3SENDحالا، برنامه یا پیش نویس
آهنگساز فشار نشان می دهد که اشتراک، محتوا، رسانه ها، اقدامات، قوانین هدف و حالت برنامه.

کلیدهای Configure Web Push را ابتدا در تنظیمات Web Push قرار دهید.یک کمپین می تواند شامل عنوان، بدن، آیکون، تصویر قهرمان، نشان، CTA و حداکثر دو دکمه اکشن باشد؛ یک اعلان مداوم تا زمانی که بازدید کننده تعامل داشته باشد باقی می ماند.

هدف توسط مخاطبان، بخش تماس اختیاری و قانون صفحه. صرفه جویی در یک پیش نویس، برنامه ریزی آن یا ارسال بلافاصله استفاده از اشتراک و معیارهای کلیک برای قضاوت به HTTPS و کارمند خدمات میزبانی شده صحیح در سایت های شخص ثالث جاسازی شده مورد نیاز است؛ مشاهده Web Push بر روی سایت های طرف سوم.

رشد وSEO

پیام های فعال

پیام های فعال به طور خودکار زمانی که رفتار یک بازدید کننده مطابق با قانون است، قبل از اینکه آنها بخواهند، شما هر کدام را به عنوان یک قاعده با سه بخش ایجاد می کنید: چه اتفاقی باید بیفتد، چه زمانی آتش سوزی و چگونه همه چیز از طریق تحویل داده می شود. OpsIQ ویجت در حال حاضر در سایت شما.

فعال
پیام های فعالیک آهنگساز قانون فعال در سه بخش: انتخاب یک عمل (چ، بنر، تور، فشار، ایمیل)، اضافه کردن شرایط و تنظیم فرکانس خنک کننده.پیام های فعالفضای کاری1 · اقدامپیام چتبنر پرچمتورفشار Pushایمیل2 * شرایطpage = /pricingزمان در صفحه > 20sبازگشت3 · فرکانسیک بار در جلسهوضعیت1Actionچت، بنر، ایمیل، فشار ...2CONDITIONSصفحه، زمان، نمره، بازگشت3فرکانسCooldown در هر بازدید کننده
هر قانون پیشگیرانه سه انتخاب است: چه اتفاقی می افتد (چنگ، بنر، تور، فشار، ایمیل، وب رای)، زمانی که (شرایط) و اغلب (کوتاه).

سه بخش از یک قاعده

1
چه اتفاقی باید بیفتد (اقدام)

یک حباب چت یا بنر صفحه ای را نشان دهید، یک تور راهنما را شروع کنید، یک فشار وب یا ایمیل ارسال کنید، به بخش اختصاص دهید یا یک توکن اینترنتی مانند webhook را آتش بزنید. {{visitor_name}} و {{page_title}} تبدیل شدن به ارزش های واقعی

2
هنگامی که آتش می گیرد (دخالق)

Narrow که آن را تحریک می کند: صفحه /URL زمان در صفحه، عمق اسکرول، نمره سرب، بازگشت در مقابل جدید و بیکار با هیچ شرایطی، آتش سوزی قانون برای هر بازدید کننده اضافه حداقل یکی به هدف قرار دادن آن را.

3
چه اغلب (سرعت)

یک خنک کننده تنظیم کنید تا همان فرد به صورت منظم، مثلاً یک بار در جلسه یا یک بار هر روز، فلج نشود.

⚠️
فضای کاری که به طور ساعتی "زمان یا قوانین را اجرا کنید" اجازه می دهد تا اقدامات سرور ( ایمیل، فشار، webhook، اختصاص) آتش سوزی در یک برنامه برای تماس های شناخته شده است که در حال حاضر در صفحه نیستند، بنابراین شما می توانید به صورت خودکار "سرنوشت های داغ پست الکترونیکی" را دریافت کنید. OpsIQ cron در حال اجرا، آن را ترک کنید اگر شما فقط می خواهید که بر روی صفحه nudges زندگی کنید.
آیا برای همه آتش خواهد زد؟+

فقط اگر هیچ شرایطی اضافه نکنید، حداقل یک وضعیت (صفحه، نمره سرب، بازگشت ...) را برای هدف قرار دادن بازدید کنندگان مناسب اضافه کنید.

چگونه این ارتباط با جریان ها و تورهای؟+

آنها با هم کار می کنند: یک قانون فعال می تواند یک تور راهنما را آغاز کند و یک جریان چت بوت می تواند توسط یک قاعده فعال ایجاد شود.با یک قانون تک چت شروع کنید، سپس دیگران را لایه برداری کنید.

رشد وSEO

Chatbot جریان

Chatbot جریان می دهد تا گفتگو در داخل ویجت چت شما (greetings، پاسخ های کلیدی، مسیرهای هدایت شده) بدون کد. A Flow مجموعه ای از مراحل متصل است (دز): شما یک سوال را بپرسید، بازدید کننده یک گزینه را انتخاب می کند و جریان آنها را به شاخه تطبیق می فرستد.تنها جریان فعال اجرا در سایت خود را ارسال می کند.

چگونه کار می کند
Chatbot جریانیک بوم جریان: شاخه های گره خوش آمدید به سه دکمه گزینه، هر کدام منجر به گام بعدی، نگاه کردن به سفارش یا دست زدن به یک انسان می شوند.سلام درود بر تبریکسلام، چگونه می توانم کمک کنم؟دانلود آهنگ My Orderسوال بیلینگبا یک انسان صحبت کنیدنگاه کردن به سفارش→عامل انسانیمحرک ها: سلام بر کلید واژه · Manual · بعد از دم کردن · On-chat-end
Chatbot جریان

جریان در مقابل AI · چه زمانی برای استفاده

استفاده از یک جریان

هنگامی که مسیر قابل پیش بینی است و شما می خواهید آن را هر بار یکسان باشد: مراحل رزرو، یک جادوگر بازگشتی، "که برنامه؟" انتخاب کننده، جمع آوری ایمیل قبل از تحویل.

استفاده از AI

وقتی سوالات باز هستند، "آیا این کار با تنظیمات من است؟" پاسخ مشتری چت AI از دانش آموزش دیده شما.یک جریان می تواند به هوش مصنوعی (یا یک انسان) در هر مرحله دست یابد.

محرک‌ها (Triggers)

سلام درود بر تبریک

به عنوان پیام افتتاحیه اجرا می شود زمانی که یک بازدید کننده برای اولین بار چت را باز می کند.

کلیدواژه کلمات کلیدی

وقتی که بازدید کننده یک کلمه را که ذکر کرده اید، تایپ می کند (به عنوان مثال بازپرداخت، قیمت گذاری، لغو).

بعد از جزئیات / پس از تاخیر

شروع به اشتراک گذاری جزئیات تماس یا زمان تنظیم شده در مکالمه.

در پایان چت / Proactive

دویدن به عنوان بسته بندی چت (به عنوان مثال یک امتیاز)، یا توسط یک قانون پیام فعال آغاز می شود.

ساخت یکی در چهار مرحله

1
ایجاد جریان

روی New Flow کلیک کنید، آن را نام ببرید، یک نوع ماشه (و کلمات کلیدی اگر کلمه کلیدی)، پس انداز کنید.

2
باز کردن بوم

روی Edit Canvas کلیک کنید، سازنده بصری که در آن شما مراحل (سرنوشت ها، سوالات با دکمه ها، شاخه ها) را اضافه می کنید و آنها را به هم متصل می کنید.

3
اضافه کردن شاخه ها و یک دست

برای هر انتخاب، یک شاخه را به مرحله بعدی بکشید.با حل و فصل، دست دادن به AI یا انتقال به انسان پایان دهید.

4
فعال کردن آن

گزینه Enable را کلیک کنید. جریان در ویجت شما بلافاصله زندگی می کند.در هر زمان بدون از دست دادن طراحی قابل تجزیه است.

آیا جریان ها جایگزین AI می شوند؟+

نه، آنها به سمت طرف حرکت می کنند.استفاده از جریان برای مسیرهای قابل پیش بینی و AI برای سوالات باز؛ یک جریان همیشه می تواند به هر دو دست دهد.

رشد وSEO

راهنمای تور

تور های راهنمایی شده پیاده روی گام به مرحله ای هستند که در قسمت هایی از صفحه شما با حباب های گفتاری و یک کانون توجه قرار می گیرند، هدایت بازدید کننده از طریق سوار شدن یا ویژگی جدید است.آنها به طور کامل در یک طراح بصری با پیش نمایش زنده ساخته شده اند. A تور تنها زمانی اجرا می شود که آن را فعال مشخص می کند.

چگونه کار می کند
راهنمای تورصفحه ای با یک حلقه توجه در اطراف یک دکمه Add-معامله و یک حباب سخنرانی خواندن گام 1 از 4 با یک دکمه بعدیاضافه کردن معاملهقدم گام برداشتن 1 از 4اولین معامله خود را بسازیداینجا کلیک کنید تا یک معامله را به خط لوله خود اضافه کنید.بعدی →
راهنمای تور

چگونه یک تور ساخته شده است

گام های گام

هر مرحله یک عنصر را هدف قرار می دهد و حبابی با متن شما نشان می دهد، همانطور که بسیاری از آنها به عنوان نیازهای پیاده روی متوقف می شوند و سفارش می دهند.

پیش بینی ها و موضوعات

از یک پیش تعیین شده شروع کنید یا حباب خود را طراحی کنید (رنگ ها، گرادیان، نور) با پیش نمایش زنده در سمت راست.

محرک

اختیاری یک قانون Proactive را پیوند می دهد تا زمانی که این آتش سوزی ها (به عنوان مثال اولین بازدید داشبورد بازدید کننده) شروع به کار کند.

فعال Toggle

یک تور واجد شرایط برای اجرا تنها در حالی که Active تیک زده می شود. untick به آن را بدون حذف آن است.

ساخت یکی در چهار مرحله

1
تور جدید

روی New Guided Tour کلیک کنید، آن را نام ببرید و به صورت اختیاری یک قانون Proactive را پیوند دهید تا به طور خودکار شروع شود.

2
اضافه کردن مراحل

هر توقف را اضافه کنید: عنصری که به آن اشاره می کند را انتخاب کرده و متن حباب را بنویسید.

3
طراحی آن

یک پیش تنظیم یا سبک حباب را انتخاب کنید.پیش نمایش زنده دقیقاً نشان می دهد که بازدید کنندگان چه می بینند.

4
فعال کردن

فعال و نجات.این تور اکنون می تواند به صورت خود اجرا شود یا توسط یک قانون پیام فعال آغاز شود.

تورها چگونه شروع می شوند؟+

در ماشه خود، یا از طریق یک اقدام پیام فعال "سفر خیره شده"، بنابراین شما تصمیم می گیرید که بازدید کنندگان چه تور و چه زمانی را ببینید.

رشد وSEO

اهداف تبدیل

اهداف تبدیل فعالیتی را که شما در مورد آن اهمیت می دهید (یک رویداد وب سایت فشرده، یک پیام چت، وضوح بلیط) به یک تبدیل ثبت شده با تخصیص کامل تبدیل می کند. OpsIQ تبدیل را در برابر تماس وارد می کند و آن را به کمپین ها، بخش ها و منابعی که در آنجا رهبری شده اند، پیوند می دهد.

چگونه کار می کند
اهداف تبدیلجریان هدف: یک رویداد پرداخت.succeed webhook تبدیل به یک تبدیل ثبت شده “purchase” با ارزش ارزشمند می شود $49, نسبت به منبع و کمپین آن ، با تراشه های پیش تنظیم سریع شروع بالا.شروع سریعخرید Stripeکتاب های دموخبرنامه امضاpayment.succeededوب سایت های داخلیتبدیل شدن به"خرید"$49ویژگی هایمنبع · کمپین
اهداف تبدیل

یک هدف را در سه مرحله تعریف کنید

1
انتخاب فعالیت ماشه

روی هدف تبدیل جدید کلیک کنید، نوع فعالیتی را انتخاب کنید که به عنوان یک تبدیل محسوب می شود یا از پیش تنظیم سریع شروع، خرید Stripe، Demo booked، Newsletter Signup و یا شروع به اشتراک گذاری استفاده کنید.

2
نام آن را بنویسید و یک ارزش ایجاد کنید

به تبدیل یک نام (خرید، کتاب های دمو، امضا) و اختیاری ارزش ثابت و پنجره ای اختصاص دهید.

3
ذخیره سازی Save

پس انداز و فعال کنید، از آن به بعد، هر زمان که فعالیت آتش می گیرد. OpsIQ یک تبدیل را در برابر تماس با ارجاع به لمس قبلی ثبت کنید.

اهداف در حال حاضر به وب سایت های درونگرا متصل می شوند: هر هدفی که ماشه آن با آتش سوزی نوع رویداد ورودی مطابقت داشته باشد، به طور خودکار لحظه ای است که زمین های رویداد از صفحه Inbound Webhooks برای اتصال Stripe، Calendly یا هر سیستم دیگری استفاده می کنند که می تواند POST را به صورت خودکار تنظیم کند. JSON.
چه چیزی می تواند تبدیل باشد؟+

هر فعالیت ضبط شده: یک رویداد وب سایت فشرده (پرداخت. succeed)، یک ایمیل چت، رزولوشن بلیط، هر چیزی در جدول زمانی تماس.

تحلیل‌ها

داشبورد های سفارشی

داشبورد های سفارشی به شما اجازه می دهند تا دیدگاه خود را از معیارهایی که مهم هستند، به جای تکیه بر بررسی استاندارد، ویجت هایی که می خواهید، کشیدن و اندازه دادن آنها در طرح مورد نظر خود، ذخیره آن و به اشتراک گذاری آن با تیم خود ایجاد کنید.

داشبورد های سفارشی
داشبورد های سفارشییک سازنده داشبورد با کاشی های KPI و نمودار، منطقه افت پیچ و خم و یک دکمه Add-widget.داشبورد های سفارشیفضای کاریداشبورد من+ Add ویجتبازدیدکنندگان2,481درآمد$8 2kترافیکیک ویجت را در اینجا بکشیدرده بندی های بالا/pricing/docs/signup1ADD WIDGETSمعیارهای انتخاب و نمودار2ARRANGEکشیدن و تغییر3اشتراک گذاریبا تیم شما
ساخت هیئت مدیره خود: اضافه کردن KPI، نمودار و ویجت لیست، کشیدن و اندازه آنها را به طرح شما می خواهید، سپس آن را با تیم به اشتراک بگذارید.

ساخت یک در سه مرحله

1
Add ویجتs

روی Add Widget کلیک کنید و متریک یا نموداری را که می خواهید ردیابی کنید انتخاب کنید.برای هر چیزی که در هیئت مدیره می خواهید تکرار کنید.

2
طرح را تنظیم کنید

ویجت ها را برای تغییر و کشیدن لبه های خود به اندازه گیری، KPI در سراسر بالا، نمودار زیر هر چه که بهتر بخوانید.

3
Save & Share

داشبورد را ذخیره کنید و آن را با تیم خود به اشتراک بگذارید تا همه افراد همان اعداد را تماشا کنند.

تخته های جداگانه را برای مشاغل جداگانه (یک هیئت مدیره "به طور روزانه" با شمارش زنده نگه دارید و یک هیئت مدیره “ماهانه بررسی” با نمودار روند) بنابراین هر کدام متمرکز می شوند.
رشد وSEO

کمپین های Outive

. اينجاست OpsIQ% 1 دقیقه1:1و موتور ایمیل انبوه: یک پیام شخصی‌سازی شده را بنویسید یا یک کمپین را به بخش CRM اجرا کنید، با شناسایی پاسخ، کنترل زمان ارسال، باز کردن / دنبال کردن کلیک، پیکسل ردیابی و یک کلیک برای لغو عضویت.

Outibility
کمپین های Outiveصفحه نمایش Outibility با آهنگساز /Campaigns/Templates / Replies و یک جدول کمپین نشان می دهد ارسال، باز کردن و پاسخ دادن.Outibilityفضای کاریکمپین هاآهنگسازالگو هاپاسخ هاکمپین.سنتباز کردنجواب بدهخبرنامه ماه ژوئن1,20048%7%محاکمه پیگیری34062%14%برنده-back82039%5%پاسخ به تشخیص خودکار توقف پیگیری · یک کلیک بدون زیر نویس بر روی هر ارسال11:1 & BULKتکمیل یا کمپین2TRACKEDباز، کلیک ها، پاسخ ها3COMPLIANTساخت و ساز در داخل
موتور خروجی: ارسال1:1یا اجرای کمپین ها به یک بخش، باز شدن و پاسخ، و سازگاری با تشخیص بدون برچسب و پاسخ.

چهار زبانه

آهنگساز

نوشتن شخصی1:1ایمیل با {tokens} از طریق تماس و CRM

کمپین ها

ارسال به بخش CRM، برنامه ریزی شده یا در حال حاضر با کلاه و کنترل زمان ارسال.

الگو ها

قالب های پیام قابل تنظیم برای تکرار

پاسخ ها

پاسخ به تشخیص سوابق و پیگیری های خودکار برای هر کسی که پاسخ داد.

چگونه یک کمپین اجرا می شود

1
انتخاب یک مخاطب

یک بخش CRM (یا آپلود لیست) را انتخاب کنید. Suppression و رضایت به طور خودکار اعمال می شوند.

2
نوشتن

پیام را با توکن های شخصی سازی بنویسید؛ پیش نمایش در برابر یک تماس واقعی.

3
برنامه ریزی و ارسال

ارسال در حال حاضر یا در بهترین زمان، رکورد پیکسل ردیابی باز می شود؛ کلیک ها و پاسخ ها نسبت داده شده است.

Outibility رضایت و سرکوب است، شامل یک صفحه بدون کلیک بر روی هر ارسالی می شود و به دنبال CAN-SPAM / CASL. پاسخ ها به طور خودکار پیگیری های بیشتر را متوقف می کنند.
تحلیل‌ها

گزارش های برنامه ریزی شده

گزارش های برنامه ریزی شده ایمیل یک معیار انتخاب شده برای دریافت کنندگان در یک برنامه (به طور روزانه، هفتگی یا ماهانه) به عنوان قابل چاپ، برچسب سفید PDF آن را یک بار تنظیم کنید و گزارش به طور خودکار از طریق صندوق ورودی ها فرود می آید. OpsIQ cron

گزارش های برنامه ریزی شده
گزارش های برنامه ریزی شدهصفحه نمایش برنامه ریزی شده: یک جدول از گزارش ها با زمان، گیرندگان و آخرین زمان، به علاوه دکمه Save-report.گزارش های برنامه ریزی شدهفضای کاریگزارش های برنامه ریزی شدهگزارش Saveگزارشدانشگاهگیرنده‌هادانلود سریال TheENTترافیک هفتگیمون 9:00[email protected]۲ روز پیشگزارش مشتری SEOماهانه[email protected]یون جون 1خلاصه فروشروزانه[email protected]todayتحویل به عنوان یک برچسب سفید PDF از طریق OpsIQ cron1AUTOMATEDروزانه · ماهانه ·2سفید-LABELPDF مشتریان3گیرنده‌هاایمیل در برنامه
یک گزارش را یک بار تنظیم کنید (تنظیم پارامتر، محدوده، زمان بندی، دریافت کنندگان) و OpsIQ ایمیل های برچسب سفید PDF به طور خودکار بر روی کادر شما.

یک گزارش را تنظیم کنید

1
انتخاب کنید چه چیزی را ارسال کنید

مجموعه متریک (traffic، SEO، فروش، پشتیبانی ...) و محدوده تاریخ را انتخاب کنید.

2
برنامه ریزی و دریافت کنندگان

روزانه، هفتگی یا ماهانه، در زمانی که شما انتخاب می کنید، به یک یا چند دریافت کننده ایمیل.

3
ذخیره سازی Save

Save and enabled. The Report خود را در زمان بندی، بدون هیچ گام دستی تولید و ایمیل می کند.

💡
گزارش های برنامه ریزی شده از طریق OpsIQ cron، اگر یک گزارش نمی رسد، تایید کند که cron در حال اجرا است (نگاه کنید به Cron و اتوماسیون).
حریم خصوصی Privacy

حریم خصوصی و انطباق

صفحه حریم خصوصی و انطباق تنها مکان برای نشان دادن یک حسابرس شما مسئولیت پذیری داده های شخصی است: دفتر رضایت، ورود دسترسی مدیر، اقامت داده ها و سیاست حفظ و آماده به چاپ DPA در یک نگاه پر سر و صدا تنها مدیران می توانند آن را باز کنند.

حریم خصوصی و انطباق
حریم خصوصی و انطباقصفحه نمایش حریم خصوصی و انطباق: زبانه برای دفتر مرکزی، ورود دسترسی، اقامت و DPA با یک میز پر رضایت از کمک های مالی و بازگشت توسط کانال.حریم خصوصی و انطباقفضای کاریصفحه اصلیدسترسی به logاقامتDPAارتباط بادانلود موسیقی متن فیلم | CHANNELActionتاریخ[email protected]ایمیلپرداختیون جون 12[email protected]pushبازگشتیون جون 10[email protected]marketingپرداختیون جون 9اثبات قابل جستجو برای هر مجوز رضایت و تجدید نظر توسط کانال1LEDSENTERاثبات هر گونه مجوز2ACCESS LOGچه کسی داده ها را لمس کرد3DPAقالب های چاپی
یک صفحه نمایش آماده حسابرسان: یک دفتر رضایت قابل جستجو (grants / Reokes by channel)، یک log دسترسی از کسانی که داده ها، تنظیمات اقامت / توجه و یک فایل چاپی را لمس کرده اند. DPA.

چهار زبانه

صفحه اصلی

یک رکورد قابل جستجو از هر مجوز رضایت و تجدید نظر، با تماس، کانال ( ایمیل، فشار، SMS، در-widget)، عمل، منبع و تاریخ اثبات شما یک تماس موافقت شده (یا عقب نشینی).

دسترسی به log

چه کسی در تیم شما مشاهده، ویرایش، صادر شده، پاک یا پیام داده های تماس را با مدیر، تماس، عمل، علت و دلیل بیان شده و IP دقیقاً چه قانونی درخواست می کند.

اقامت و حفظ

مشخص کنید که در آن زندگی داده های این محیط کار، تعیین می کند که چند روز ردیف فعالیت (دو ردیف) نگه داشته شده است.0 = برای همیشه، و کنترل کننده داده ها و DPO خود را ثبت کنید.

DPA قالب Template

یک Addendum پردازش داده قابل چاپ که در کنترل کننده، آدرس، DPO، اقامت و حفظ شما پر می شود. PDF.

حفظ حریم خصوصی و سازگاری با استودیو رضایت کوکی (که رضایت را جمع آوری می کند) و صفحه صادرات (که نسخه داده را برای یک کپی از آن تولید می کند. DSAR همچنین Cron و اتوماسیون را برای تمیز نگه داشتن شبانه ببینید.
اتصال‌دهنده‌ها (Connectors)

سیستم عامل های خود را به هم متصل کنید

پیوند OpsIQ به پلتفرم های خارجی: فروشگاه های تجارت الکترونیک، سیستم های صورتحساب، پردازنده های پرداخت، ارائه دهندگان ایمیل و سفارشی APIs هنگامی که به هم متصل شد، AI می تواند سفارشات، داده های مشتری، اشتراک ها و موارد دیگر را بررسی کند و اقدامات خود را با تایید شما انجام دهد.

چگونه کار می کند
مرکز هایOpsIQ هسته متصل به WHMCS, Shopify, Stripe ، WooCommerce, SendGrid و Google Business Profile هر کدام یک وضعیت متصل را نشان می دهند.WHMCSShopifyStripeWooCommerceSendGridگوگل پلیOpsIQهسته1PLUG IN25+ کانکتور های پیش ساخته2AI CONTEXTداده های واقعی پلتفرم3ACTIONSبا تایید شما
اتصال‌دهنده‌ها (Connectors)

کشتی ها باOpsIQ

این ها لحظه ای است که شما نصب می کنید و فقط به اعتبار آنها نیاز دارید.

WHMCS

لایحه

هزینه میزبانی وب: مشتریان، خدمات، بلیط ها، فاکتورها، دامنه ها، سرورها.

Shopify

تجارت الکترونیک

تجارت الکترونیک: سفارشات، مشتریان، محصولات، موجودی، پرداخت ها، وب سایت را فریب می دهد.

WooCommerce

تجارت الکترونیک

WordPress تجارت الکترونیک: سفارشات، مشتریان، محصولات، کوپن ها، حمل و نقل.

WordPress

CMS CMS

محتوا و کاربران در یکWordPressسایت

میدان Square

پرداخت

پرداخت ها و نقطه فروش: سفارش، مشتریان، کاتالوگ.

osCommerce

تجارت الکترونیک

تجارت الکترونیک: سفارش، مشتریان، محصولات

هتل بوتبل

پل پل

یک سایت هتل CMS بوتبل از طریق امضا شدهOpsIQپیاده سازی مرجع برای یک پلت فرم بدون هیچAPI.

Zendesk

پشتیبانی

Helpdesk: بلیط ها، کاربران، سازمان ها و نظرات

وب‌گاه رسمی شرکت گوگل

بازاریابی

کسب و کار محلی: بررسی، پست ها، Q & A، بینش استفاده می کند. OAuth.

تقویم Google

بهره وری

تقویم ها و رویدادهاOAuth.

GmailوIMAP

ایمیل

صندوق پستی: ایمیل ورودی و خروجی، همگام‌سازی دفتر آدرس.

SendGrid

ایمیل

تحویل ایمیل: ارسال ایمیل و مدیریت قالب ها

تيرانداز

ایمیل

ایمیل تحویل: ارسال ایمیل از طریق Mailgun

Slackتلگرام، LINE، X DM

پیامها

کانال های پیام رسانی برای مکالمات ورودی و خارجی

کانال های Meta

پیامها

Facebook Messenger، Instagram DM و WhatsApp

اطلاعات سایت (site Intelligence)GA4 Search Console)

تحلیل‌ها

تجزیه و تحلیل و جستجوی داده ها برایSEOمجموعه

غنی سازی وب سایت وCRMواردات

وب‌گاه رسمی شرکت CRM

غنی سازی شرکت و واردات مشتری بزرگ

در دسترس از بازار

این بسته ها منتشر شده اند، نه بخشی از نصب که یک را از کانکتورها، بازار نصب می کند و در پوشه اتصال زنده کپی می شود، پس از آن دقیقاً مانند آنهایی که در بالا رفتار می کنند، نسخه برداری می شوند.

Stripe

بازار

پرداخت: هزینه ها، مشتریان، فاکتورها، اشتراک ها، پرداخت ها، اختلافات.

BigCommerce

بازار

تجارت الکترونیک: سفارش، مشتریان، محصولات، دسته ها، برندها.

Magento2

بازار

تجارت الکترونیک: سفارشات، مشتریان، محصولات، دسته ها، موجودی.

PrestaShop

بازار

تجارت الکترونیک: سفارشات، مشتریان، محصولات، قوانین سبد خرید و حامل.

OpenCart

بازار

تجارت الکترونیک: سفارش، مشتریان، محصولات، دسته ها

آمازون SES، Postmark، Resend

بازار

تحویل ایمیل تراکنشی

Jira، خطی

بازار

مسئله و پیگیری پروژه

Zoom، Microsoft Calendar، Outlook Mail

بازار

جلسات، تقویم ها و پست های

DocuSign، آپولو، SerpApiGoogle Analytics

بازار

امضا، چشم انداز، جستجو و تجزیه و تحلیل داده ها.

WebflowWix، Squarespace

بازار

پلتفرم های وب سایت

💡
لیست کانکتور به عنوان بسته ها منتشر می شود. فهرست معتبر برای نصب شما صفحه ای است: آنچه ذکر شده است چیزی است که زمان اجرا کشف شده است و برگه بازار نشان می دهد چه چیزی می توانید اضافه کنید.

نصب یک کانکتور

1
به داخل کانکتور بروید

به سمت داخل پوشه در نوار سمت مدیر بروید.

2
پیدا کردن کانکتور

فهرست یا جستجو را مرور کنید.

3
فعال کردن آن

روی کانکتور کلیک کنید و گزینه toggle Enable را بزنید.

4
ورود به اعتبار

پر کردن در زمینه های مورد نیاز: API کلید، URL توکن ها و غیره هر کانکتور دارای الزامات خاصی است که در پنل تنظیمات آن ثبت شده اند.

5
تست اتصال

روی گزینه “Test Connection” کلیک کنید، یک نتیجه سبز به این معنی است که کانکتور می تواند به پلتفرم خارجی برسد.یک نتیجه قرمز نشان دهنده خطا است.

6
ویژگی های Configure

انتخاب کنید که چه ویژگی هایی را برای فعال کردن: همگام سازی دانش، همگام سازی وب، اقدامات AI نه همه اتصالات از تمام ویژگی ها پشتیبانی می کنند.

چه کانکتورهایی به شما می دهند

AI

AI می تواند داده های مشتری، سفارشات، اشتراک ها و بیشتر از طریق اتصال را بررسی کند.هنگامی که یک چت مشتری، هوش مصنوعی اطلاعات پلت فرم واقعی برای مرجع دارد.

زمینه هوش مصنوعی (کلاهکارنامه های ارتباطی)

آداپتور شما، بلیط را به صورت خوانده شده، یک خلاصه حساب فقط خواندن از صاحب بلیت است. customer_id وقتی شناخته می شود، در غیر این صورت، روی بلیط خودکار، جایی که پرچم ctx customer_trust_email حقیقت دارد، حساب را نگاه کنید customer_email (انتقال دهنده بلیط تایید شده) سیستم عامل های از راه دور یک نمایش را نشان می دهند /context/customer-by-email نقطه پایانی و کانکتور آن را می نامد، این چیزی است که AI به جای گفتن “لطفا وارد کنید” یک تعادل واقعی / درون صدا را نقل می کند.customer_sections, customer_allow_creditو فقط خواندنی باقی بمانید، هرگز اسرار را منتشر نکنید.

دایرکتوری مشتری (کلاهکارنامه های ارتباطی)

هویت کانکتور شما سه نگاهنامه ی جهانی را تغذیه می کند: lookupCustomerById() (کارت مشتری)، lookupCustomerServices() (صفحه محصول / خدمات) و listCustomers($query,$limit)انتخاب کننده "جستجو مشتری یا ایمیل تایپ" در فرم Compose-New-Ticket بومی {id, external_id, name, email, company, phone, platform, platform_label}. قانون از راه دور: اگر مشتریان شما در یک پایگاه داده یا خدمات دیگر زندگی می کنند، آنها را بر روی پلتفرم خود قرار دهید.API در داخل این روش ها، هرگز جداول سیستم دیگر را به طور مستقیم (در جدول های سیستم دیگر) نخواند. OpsIQ DB آن ها صاحبان مکان خالی هستند، به همین دلیل است که یک خواندن محلی یک انتخاب کننده خالی را باز می گرداند.API URL• یک خواندن محلی را فقط به عنوان یک شکست مشابه درDB نگه دارید.

بلیط های ایمیل، شناسایی و مسیریابی (نویسنده اتصال)

هنگامی که ایمیل ورودی به یک بلیط بومی تبدیل می شود، OpsIQ فرستنده را با تماس تشخیص می دهد lookupCustomerById(0, ['email'=>$sender]) در هر اتصال؛ اولین بازی با مشتری و آن platform در این صورت، بر روی آن مهر زده شده است. ticket.created رویداد _pipe_owner_platform (مخالق: مهمان)WHMCS ایمیل مشتری یک بلیط را باز می کند WHMCS (WHMCS شماره گذاری، آینه به عنوان یک، در حالی که یک فرستنده ناشناس مهمان بومی باقی می ماند. اگر کانکتور شما بلیط های بومی را روی پلتفرم خود قرار دهد, شما ticket.created باید در این موارد درب را نصب کنید: if (array_key_exists('_pipe_owner_platform',$payload) && $payload['_pipe_owner_platform'] !== '<your-slug>') return;کلید در بلیط های غیر آزمایشی (چنگ/منال / آی) وجود ندارد، بنابراین این آینه ها به عنوان قبل زندگی می کنند.→بلیط های باز از طریق ایمیل (هر مشتری یا فقط / خاموش)

اقدامات

AI می تواند اقدامات را از طریق اتصال انجام دهد: ایجاد بلیط، به روز رسانی سفارشات، لغو اشتراک ها، همه با تایید خود را از طريق لایه اعتماد.

دانش

کانکتورها مقالات دانش خاص پلت فرم را به AI کمک می کنند. Shopify کانکتور اضافه کردن عیب یابی تجارت الکترونیک؛ WHMCS کانکتور اضافه کردن دانش میزبانی.

واردات دانش پایه ( نویسندگان اتصال)

اگر پلتفرم شما یک پایگاه دانش را میزبانی می کند، یک پایه ی اطلاع را اعلام کنید. kb_capabilities بلوک در settings.json (نوع) kb_sourceو کانکتور شما در مرکز کمک ویرایشگر ظاهر می شود واردات KB→واردات از یک برنامه متصل هر زمان که فعال و پیکربندی در فضای کاری باشد، آن را غیر قابل مشاهده می کند، هیچ روشی برای پیاده سازی: نام گذاری یک داخلی adapter (zendesk مرکز کمک دقیق درخت API یا crawl برای هر سایت KB و یک base_template مانند https://{subdomain}.zendesk.comکه، OpsIQ پر از تنظیمات ذخیره شده کانکتور شما. Credentials هرگز سرور را ترک نمی کند؛ مرورگر فقط اتصال را برای پشتیبانی از یک پلت فرم جدید ارسال می کند، اضافه کردن یک پلتفرم جدید. opsiq_kb_<platform>_manifest() آن را با نام کامل به اشتراک بگذارید: connectors/PLATFORM_CONNECTORS.md §5.

وب‌هوک‌ها

برخی از کانکتورها وب را با پلت فرم خارجی برای اعلان های رویداد در زمان واقعی (دستورالعمل های جدید، به روز رسانی بلیط و غیره) ثبت می کنند.

ردیابی فروش

کانکتورهای تجارت الکترونیک داده های درآمد را به داشبورد فروش برای تخصیص و تجزیه و تحلیل تغذیه می کنند.

💡
کانکتورها Workspace-scoped هستند.هر فضای کاری می تواند اتصالات مختلفی داشته باشد که با اعتبارهای مختلف فعال شده اند.WHMCS فضای کاری استفاده می کند WHMCS اتصال؛Shopify فضای کاری استفاده می کند Shopify کانکتور
آیا می توانم از کانکتور های متعدد در یک زمان استفاده کنم؟+

بله، شما می توانید Shopify برای سفارشات و Stripe برای پرداخت در همان فضای کاری، AI داده ها را از تمام کانکتور های فعال ادغام می کند.

اگر پلت فرم من ذکر نشده است چه؟+

استفاده از Browser Builder برای ایجاد یک اتصال سفارشی برای هر پلت فرم با REST API یا بازار را برای کانکتور های ساخته شده توسط جامعه بررسی کنید.

کانکتورها با خود میزبان کار می کنند OpsIQ?+

بله، کانکتورها به طور یکسان در هر دو نسخه ابری و خود میزبان کار می کنند.

اتصال‌دهنده‌ها (Connectors)

فروش و قرارداد اتصال صورتحساب

هر اتصال تجاری از همان قرارداد رویداد بدون پلتفرم استفاده می کند. WHMCS پیاده سازی مرجع است، اما پل SaaS، فروشگاه ها، ارائه دهندگان پرداخت، کانکتورهای بازار و بسته های آداپتور باید از همان قوانین اطاعت کنند.

هر اتصال تجاری باید منتشر کند

یک دفتر معتبر

Publish realised economic events to opsiq_sales_events through CommerceEventRegistry::normalize(). Do not build a connector-specific Sales table or make core analytics query a remote platform directly.

هویت منبع پایدار

پلت فرم، رجیستری کانکتور است، مانند whmcs, shopify یا opsiq_saas. Traffic_source شامل تخصیص تأیید شده در هنگام عرضه است؛ در غیر این صورت از همان قلم به عنوان شناسه فروشگاه استفاده کنید، نه برچسب های نمایش داده شده. OpsIQ نام کانکتور دوستانه را در UI حل می کند.

قابلیت Idempotency

Event_id باید تعیین کننده باشد. Map حداقل یک سفارش غیر قابل تغییر، فاکتور_ref یا اشتراک_ref بنابراین وب سایتhook retries و backfills به روز رسانی همان رویداد به جای ایجاد فروش تکراری است.

منبع زمان بندی

اتفاق افتاده است_at زمان پرداخت یا اقتصادی گزارش شده توسط پلت فرم منبع است.هرگز تاریخ پرداخت تاریخی را با زمان واردات جایگزین نکنید.

پول و FX

ارسال مقدار منبع و یک ارز معتبر سه حرفی برای ISO.اگر تنظیمات کانکتور امکان پذیر باشد OpsIQ تبدیل FX، گزارش به ارز گزارشگری فضای کار؛ در غیر این صورت گزارش ها ذخیره و یا کد پلتفرم صورتحساب را حفظ می کنند نباید یک ارز گزارش شده یا نرخ مبادله را سخت کند.

چرخه عمر مبتنی بر شواهد

استفاده از جدید، تجدید، ارتقاء، بازپرداخت، اعتباری یا ناشناخته. کلاس بندی از دلیل فاکتور، اشتراک و یا رابطه خدمات، نوع خط، و یا یک زمینه منبع معتبر دیگر است. خرید تکراری توسط همان مشتری به طور خودکار تمدید نمی شود.

مرز فروش

فقط پرداخت های مثبت جدید، تجدید، ارتقاء یا به طور قانونی ناشناخته رسیدهای تجاری متعلق به فروش و تبدیلات است. بازپرداختها توسط بازپرداخت و تجزیه و تحلیل Net-revenue گزارش شده اند. اعتباری حساب، کیف پول بالا، توکن بالا و صندوق های اضافه همچنان رویدادهای صورتحساب هستند و هرگز به عنوان فروش، تبدیل، سفارش، حجم، یا درآمد حساب نمی شوند.

CRM جداگانه باقی می ماند

معاملات CRM نشان دهنده خط لوله و فعالیت معامله است، آنها فروش تجاری پلت فرم نیستند مگر اینکه یک لایحه یا فروشگاه متصل سفارش پرداخت شده یا فاکتور را از طریق این قرارداد منتشر کند.

هر سیگنال پرداخت باز می شود ردیف

به یک نام رویداد بستگی ندارد، هنگامی که پلت فرم چندین تأیید از پرداخت (در صورت پرداخت، سفارش پرداخت شده، معامله اضافه شده، پرداخت) را ارسال می کند هر کدام از آنها ممکن است ردیف دفتر کل را باز کنند زمانی که پلتفرم تایید فروش پرداخت می شود؛ اثر انگشت فروش خواهر و برادرها را به یک ردیف سقوط می دهد.

آشتی برنامه ریزی شده (Contract) 2.3)

A connector whose platform can list completed sales declares sales_reconciliation and implements SalesReconciliationInterface::reconcileSales(). Core re-reads the platform list on a schedule (once per workspace interval, bounded, cursored) through the same idempotent writer, so a dropped webhook cannot lose revenue. Conformance fails a package that can list history but does not reconcile. The Connector Builder derives the capability from the sales backfill action.

پیش بینی های درون

خلاصه داستان : خلاصه های بروشور و خلاصه داشبورد پیش بینی سازگاری از دفتر کل بازسازی شده اند. کانکتورها نباید یک پیش بینی را به عنوان منبع مالی روشنگری قرارداد درمان کنند.

Remote Platform Frontier

یک اتصال از راه دور پلت فرم خود را از طریق پیکربندی معتبر API این هرگز نباید به جداول پایگاه داده همان سرور بستگی داشته باشد. سایت دامنه دقیق معتبر شده توسط BrowserRegistry عرضه می شود و باید برای هر صفحه کامل نوشتن و backfill اعمال شود. Workspace یا محدوده گروه فقط تجمع زمان خواندن است؛ آن هرگز نباید مالکیت رویداد را گسترش دهد.

مثال پرداخت شده توسط Canonical Paid-event

رویداد تجاری عادی
{
  "event_id": "acme_store:invoice:INV-1042",
  "event_name": "invoice.paid",
  "platform": "acme_store",
  "order_ref": "ORDER-884",
  "invoice_ref": "INV-1042",
  "subscription_ref": "SUB-28",
  "service_ref": "SERVICE-91",
  "status": "paid",
  "lifecycle_type": "renewal",
  "amount": 129.00,
  "currency": "USD",
  "traffic_source": "acme_store",
  "occurred_at": "2026-07-23 08:30:27"
}

نقشه برداری سازنده

هنگامی که فروش و صورتحساب در Browser Builder فعال می شود، مقدار نقشه، پول، وضعیت منبع و تاریخ منبع، به علاوه حداقل یک سفارش، فاکتور یا مرجع اشتراک. Map_type زمانی که چرخه عمر API شواهد معتبر چرخه عمر را افشا می کند.Ingest تولید شده از هر ردیف از طریق همان تجاری که توسط کانکتورهای داخلی و بازار استفاده می شود عبور می کند .

⚠️
اعتبار و صندوق های اضافه به طور عمد برای تاریخ صورتحساب، تعادل مشتری و تجزیه و تحلیل کل دفتر نگهداری می شوند.از بین بردن آنها از فروش آن ها را حذف نمی کند؛ بلکه تنها مانع از تحریک عملکرد تجاری می شود.

چرخه عمر_type تصمیم می گیرد که چه چیزی به یک معامله CRM تبدیل می شود

lifecycle_type برچسب تحلیلی نیست.OpsIQ آن را بخوانید تا تصمیم بگیرید که آیا فروش وارد خط لوله CRM می شود، بنابراین هر کانکتور فروش در حال تصمیم گیری برای خط لوله است یا خیر.

جدید

یک معامله بسته (تجارت جدید) را باز می کند.

تجدید، ارتقاء

ثبت شده به عنوان درآمد تکراری.هیچ معامله کسب و کار جدید - تجدید نظر در منحنی احتمال مختلف تبدیل می شود و مخلوط کردن آنها هر دو پیش بینی فاسد است.

بازپرداخت، اعتبار

هرگز معامله ای را باز نکنید، در هر حالت پول به مشتری برگردانده می شود برنده نیست.

حذف / ناشناخته

درآمد فقط ثبت شده است، اما هرگز به خط لوله نمی رسد.

یک فروش، یک ردیف کلی: هویت فروش است نه رویداد

بازی نکنید event_id و خودتان را وارد کنید. event_id is platform:eventName:externalIdکه پاسخ می دهد "آیا ما قبلا این تحویل را پردازش کرده ایم" و نمی تواند به "آیا تاکنون این فروش را ثبت کرده ایم؟" پلت فرمی که دو بار پرداخت می کند - همانطور که یک بار پرداخت را اعلام می کند. invoice.paid و دوباره payment.completed دو قلم را می خرد و دوبار پول یکسانی را به خود اختصاص می دهد، هیچ چیز برای برخورد با آن ها و چیزی که نباید هشدار داد.

💡
در نصب مرجع یافت شده است: شش فاکتور با سه ردیف کلی، از سه مسیر کد با استفاده از سه طرح مختلف رویداد_id.0.00به همین دلیل هیچ کس اشتباه به نظر نمی رسید و هر فرآیند بعدی که بتواند مقدار واقعی را بازیابی کند، سه بار پرداخت خواهد کرد.

به جای آن، با نوشتن مشترک تماس بگیرید. Core هویت تجاری فروش را محاسبه می کند (sale_fingerprint• مطابقت با یک ردیف موجود در آن، حفظ اصل event_id در روز رسانی و فیلترها به ستون های واقعی:

تنها راه پشتیبانی برای نوشتن دفتر فروش
\OpsIQ\Commerce\CommerceEventContract::upsertSaleRow('opsiq_sales_events', $row);
فروش مشابه، بسیاری از حوادث

فاکتور.پرداخت، پرداخت و فروش.کامل شده برای یک فاکتور به اشتراک گذاری یک اثر انگشت و به روز رسانی یک ردیف.

بازپرداخت جداگانه باقی می ماند

پول خارج کردن یک واقعیت متفاوت از پولی است که در آن می آید. بازپرداخت فاکتور هویت خود را حفظ می کند، بنابراین هرگز نمی تواند پرداخت آن را معکوس کند.

هیچ مرجعی، اثر انگشت

یک ردیف بدون سفارش، فاکتور، اشتراک یا مرجع خدمات هیچ اثر انگشتی ندارد، بنابراین دو ردیف غیر مرتبط هرگز به این دلیل که هر دو از دست دادن یک شناسه.

اولویت مرجع

فاکتور_ref، سپس سفارش_ref و سپس اشتراک_ref ، سپس سرویس_ref- قوی ترین اول - بنابراین یک فروش هویت پایدار را حفظ می کند.

دفتر مرکزی تنها است: هرگز فروش را بازنویسی نکنید

بازپرداخت، لغو یا اصلاح یک ورود جدیدهرگز ردیف را که اصلاح می کند تغییر ندهید، بازنویسی پرداخت به بازپرداخت مرتب و سه چیز را در یک بار تکرار می کند:

درآمد ناخالص را از بین می برد

فروش ناخالص و بازپرداخت نرخ جدایی ناپذیر بودن را متوقف می کند - و میزان استرداد، متریک است که برگشت وجود دارد برای اطلاع رسانی.

این کتاب ها را در دوره اشتباه می خوانند.

بازپرداخت یک ماه مارس از فروش ژانویه باید کاهش یابد، بازنویسی مجدد در ژانویه به آرامی یک دوره بسته را استراحت می دهد.

این امر مسیر حسابرسی را می شکند

یک پرونده ورودی دفتر مرکزی که در زمان انجام شده است، اصلاح ها ضد بارداری هستند و این است که چگونه حسابداری دوگانه برای پنج قرن کار کرده است.

بنابراین یک کانکتور به جای درخواست آن، برگشت را گزارش می کند: refunded_at و refund_amount در کنار چرخه عمر خود فروش، و اجازه دهید که تماس گیرنده بازپرداخت را به عنوان ردیف خود تاریخ زمانی که بازپرداخت اتفاق افتاد، بنویسد.این دو هرگز نمی توانند با هم برخورد کنند، زیرا اثر انگشت فروش یک بازگشت از فروش را جدا می کند.

💡
همان اصل در مورد مقادیر اعمال می شود.یک مقدار ذخیره شده به ارزش فعلی پلت فرم نیست: یک فاکتور از اعتبار حساب به طور قانونی ثبت شده است0در زمان پرداخت، و پول در حال حاضر ثبت شده بود زمانی که مشتری به دست آورد. Restoring the Face Value دو بار به حساب می آید.

قرارداد طبقه بندی

OpsIQ تصمیم گیری در مورد چرخه عمر یک بار, in \OpsIQ\Commerce\SaleLifecycleClassifierیک کانکتور تنها اعلام می کند که پلتفرم خود کلمات یعنی چه، با اجرای \OpsIQ\Connectors\SalesLifecycleConnectorInterface::salesLifecycleVocabulary()پس از آن، به گروه تقسیم شده دعوت کنید و دوباره استدلال را تکرار نکنید.

واژگان را تعریف کنید، تصمیم بگیرید
public static function salesLifecycleVocabulary(): array
{
    return [
        'credit'             => ['addfunds'],                  // adds balance, sells nothing
        'upgrade'            => ['upgrade'],                   // resizes an existing commitment
        'recurring'          => ['hosting', 'domainrenew'],    // continues something owned
        'acquisition'        => ['domainregister'],            // obtains something new
        'recurring_prefixes' => ['domainaddon'],               // families that grow over releases
    ];
}

$lifecycle = \OpsIQ\Commerce\SaleLifecycleClassifier::classify([
    'explicit'    => $platformSaidSo,     // wins outright when present
    'line_types'  => $types,              // your platform's own line/item types
    'vocabulary'  => self::salesLifecycleVocabulary(),
    'is_order'    => $cameFromANewOrder,
    'is_refunded' => $moneyWentBack,
]);
💡
precedence ثابت و به اشتراک گذاشته شده است: صریح، پس بازپرداخت / سلول های داده شده، سپس اعتبار، سپس ارتقاء، سپس تکرار، پس از آن خرید، پس ناشناخته است. ارتقاء بالاتر از چک سفارش قرار می گیرد زیرا سیستم عامل افزایش سفارش برای ارتقاء همچنین؛ تکراری زیر آن قرار دارد زیرا اولین فاکتور یک اشتراک جدید دارای یک نوع تکراری است.

کل لغات پلتفرم را تعریف کنید

این شکستی است که بیشترین هزینه را دارد و کمترین اشتباه را به نظر می رسد.WHMCS اتصال کانکتور ['hosting','addon','domain'] لیستی که به صورت کامل خوانده می شود.WHMCS منتشر نمی کند Domain نوع خطوط دامنه واقعی؛ آن را منتشر می کند DomainRegister, DomainRenew, DomainTransfer, PromoHosting, PromoDomain, DomainAddon* و Upgradeهمه آنها از فهرست به پایین آمده اند. unknown: 1,288 فاکتورها، سه سال، بدون خطا و هیچ خط ورود.

هر مشتری جدید تاریخچه خود را از طریق یک اتصال به پشت پرده وارد می کندبنابراین یک اشکال طبقه بندی بر روی یک فضای کاری تأثیر نمی گذارد – این کار بر هر فضای کاری که تا به حال از طریق آن کانکتور وارد می شود، در لحظه ای که آنها برای اولین بار به خط لوله خود نگاه می کنند، تاثیر می گذارد و واژگان را از اسناد پلتفرم یا سرشماری داده های زنده گرفته و با خانواده های رو به رشد توسط خانواده ها مطابقت دارند. پیشوند هیچ کس به جای ناپدید شدن، با بستگان خود کلاسی نکرده است.

💡
یک بررسی عملی: شمارش کنید که چه تعداد از ردیف های خود را در ناشناخته قرار دهید.یک کانکتور فروش سالم تقریبا همه چیز را طبقه بندی می کند.یک جریان ثابت ناشناخته است تقریبا هرگز داده هایی که شما ندارید - این یک لغت است که کانکتور هرگز یاد نگرفته است بخواند.

بازسازی تاریخ وارداتی

هر حمل و نقلOpsIQکانکتور فروش این کار را انجام می دهد — WHMCS, Shopify, WooCommerce, osCommerce, SaaS Bridge, Stripe, BigCommerce and Magento 2. Treat it as expected, not optional: a customer imports their old records on day one, so a classification fix that cannot reach that history only helps people who signed up afterwards. Implement \OpsIQ\Connectors\SalesLifecycleRepairInterface::reclassifySale() استفاده از هر آنچه که در هر ضبط شده است، کانکتور شما را به طور مداوم می سازد. tools/crm_backfill_sales_lifecycle.php سپس تاریخ وارداتی کانکتور خود را بدون کد اتصال دهنده تعمیر کنید: خشک به طور پیش فرض، پشت سر خود را بالا می برد و شمارش ردیف قبل از نوشتن، برگشت پذیر از طریق یک دفتر غیر کامل، و هرگز خواندن شکست خورده به عنوان پاسخ نمی نویسد.

💡
اگر کانکتور شما نمی تواند سوابق گذشته را بخواند – یک اتصال تنها وب سایت – نمی تواند – روش را خنثی نکند. A stub Return ناشناخته بدتر از هیچ پیاده سازی است: یک backfill ردیف های خوب را به عنوان موفقیت طبقه بندی نشده و گزارش می کند.
💡
منابع بسته دقیق در کانکتورها /CONNECTOR_EVENTS. md و کانکتورها/PLATFORM_CONNEKTORS موجود است که در توزیع منبع خود میزبان قرار دارند.
اتصال‌دهنده‌ها (Connectors)

قرارداد رویداد Journey

اطلاعات سفر یک پاکت رویداد بدون پلت فرم را از ویجت مرورگر، کانکتورهای داخلی، پل SaaS، بسته های بازار و خروجی آداپتور Builder می پذیرد. نام های خاص پلتفرم در لبه ترجمه شده اند؛ قیف، تخصیص و کد اطلاعات سایت تنها رویدادهای کانونی مصرف می کند.

حل و فصل اعتماد

کلید دقیق همتا-domain

هر رویداد به سایت معتبر دامنه سایت_key وابسته است.یک کانکتور باید آن را از کلید flexRegistry یا نقطه پایانی معتبر خود، هرگز از یک بدنه درخواست غیر قابل اعتماد نگه می دارد سوابق جداگانه؛ گروه دامنه تنها یک کل زمان خواندن است.

هویت احتمالی Idempotent

Event_id برای کانکتورها لازم است و باید برای یک رویداد بومی تعیین کننده باشد. Retries، webhooks و backfills به روز رسانی یک رویداد به جای تکرار سفر یا فروش.

نام بومی به علاوه Canonical

منبع_event_name forشواهد و عیب یابی، سپس آن را به Event_name_canonical نقشه برداری کنید. تجزیه و تحلیل های اصلی هرگز نباید روی یک سیم پیچ کانکتور قرار گیرد.

گواهی های سرور برنده می شوند

مشاهده مرورگر می تواند یک سفر را شروع یا استنتاج کند. رویدادهای کانکتور معتبر تایید کننده، ورود، پرداخت، خرید، بازپرداخت و سایر نتایج ترمینال است.یک توکن همبستگی سایت معتبر قوی ترین پیوستن است؛ یک توکن نامعتبر رد شده و شناسه های جاسازی شده آن قابل اعتماد نیست.

حریم خصوصی Privacy

ارسال تنها شناسه ها و زمینه های مورد نیاز برای سفر اعلام شده.م رضایت، ماسک زدن و تنظیمات حفظ حریم خصوصی.هرگز محل اعتبار، داده کارت، اسرار تأییدیه یا فایل های پیام خصوصی در املاک.

پاکت Canonical

پاکت رویداد Journey
{
  "contract_version": 1,
  "event_id": "myshop:order:884:paid",
  "source": "myshop",
  "source_event_name": "order.paid",
  "event_name_canonical": "commerce.purchase.completed",
  "site_key": "exact_domain_site_key",
  "occurred_at": "2026-07-23T08:30:27Z",
  "visitor_id": "optional-browser-visitor",
  "session_id": "optional-browser-session",
  "journey_id": "optional-journey",
  "attempt_id": "optional-attempt",
  "correlation_token": "optional-signed-token",
  "customer_ref": "C-42",
  "user_email": "[email protected]",
  "object_type": "order",
  "object_ref": "884",
  "order_ref": "884",
  "outcome": "succeeded",
  "evidence_level": "server_confirmed",
  "confidence": 1,
  "properties": {"amount": 129, "currency": "USD"}
}

مالیات بر نظام

استفاده از نام تنگ ترین حقیقت، خانواده های پشتیبانی شامل رویدادهای صفحه /CTA؛ ثبت حساب، ورود، MFA و رمز عبور تنظیم مجدد; سرب و فرم مراحل; محصول، سبد خرید، پرداخت، اشتراک، تجدید و بازپرداخت؛ تبلیغات و تبدیل؛ کمک مرکز، چت و حوادث بلیط؛ حوادث امنیتی؛ و نام وقایع سفارشی. account.signup.succeeded, account.login.succeeded, lead.form.succeeded, commerce.payment.succeeded, commerce.purchase.completed, commerce.subscription.renewed و commerce.refund.completed.

ورود به مرورگر، تایید و رها کردن

ویجت می تواند بدون اتصال با مشاهده ساختار صفحه، اقدامات فرم، نتایج DOM و ورود بازدید کننده کار کند.این شواهد به طور واضح به عنوان مشاهده شده یا استنتاج شده باقی مانده است.یک کانکتور تایید سرور معتبر را اضافه می کند و می تواند آن را با همان تلاش مرورگر مرتبط کند. رهاسازی برای اولین بار به عنوان یک نامزد ذخیره می شود؛ تنها پس از تنظیم در UI و فقط زمانی که بهبودی یا موفقیت وجود ندارد، رها می شود.

درآمد و درآمد

Attribution ترجیح می دهد یک توکن همبستگی معتبر، سپس یک سفر دقیق، تلاش، جلسه یا مرجع تجارت، پس از آن نمودار هویت موافقت شده، و در نهایت یک بازی رفتاری محدود است. فروش بی نظیر همچنان توزیع نشده است. 1اطلاعات سایت درآمد این دفتر را می خواند؛ اعتبارات، کیف پول بالا، توکن های بالا و Add Funds هرگز تبدیل نمی شوند. Connector رفتار FX توسط آن تنظیمات کانکتور کنترل می شود.

⚠️
مدل پیاز، پنجره های نگاه، کنترل مستقیم ترافیک، حداقل اعتماد به نفس، رها کردن زمان و تعاریف قیف سیاست UI است.کد پلاگین نباید آنها را سخت کند.

معرفی و سازنده

اعلان سفر
{
  "capabilities": ["sales", "journey_events"],
  "journey_capabilities": {
    "journey_events": true,
    "payments": true,
    "subscriptions": false,
    "correlation_token": false,
    "backfill": true
  },
  "journey_event_mappings": [{
    "source_event_name": "order.paid",
    "event_name_canonical": "commerce.purchase.completed",
    "field_map": {
      "order_ref": "order.id",
      "customer_ref": "order.customer_id",
      "amount": "order.total",
      "currency": "order.currency",
      "occurred_at": "order.paid_at"
    }
  }]
}

Declare تنها قابلیت های این بسته را ارائه می دهد. Connector Builder نقشه برداری را تأیید می کند و همان آداپتور خنثی پلت فرم را تولید می کند که توسط بسته های شخص اول استفاده می شود. Journey Eation یک رویداد یا یک دسته محدود از مجموعه ای از برنامه ها را قبول می کند. 100 از طریق نقطه پایانی ادغام معتبر تولید شده.

💡
دفتر بازرگانی همچنان منبع مالی حقیقت است. پل تجارت به اقامتنی نتایج تأیید شده سرور را منتشر می کند و پس از اتمام دفتر مرکزی فعلی، اعتبار متقابل را برقرار می کند، بنابراین یک پرداخت هرگز دو فروش نمی شود.
اتصال‌دهنده‌ها (Connectors)

چگونه اقدامات AI کار می کند

هر کانکتور مجموعه ای از اقدامات را اعلام می کند: کارهایی که AI می تواند از طریق پلتفرم خارجی انجام دهد، پل بین “AI می گوید” و “ AI” است.

اقدامات AI
چگونه اقدامات AI کار می کنددرخواست مشتری به یک کارت عمل نوع حذف شده، سپس چک لیست: اجازه بررسی، شما تایید، API نام.چگونه اقدامات AI کار می کندفضای کاری«می تواند اشتراک من را به هم بزند»مشتریآآcancel_subscriptiondeleteتاییدیه مورد نیازچتر: اشتراک گذاری_id (از متن)Action TYPESreadنوشتنdeleteمجوز و نقش بررسی شدهشما تایید می کنید کهAPI نتایج گزارش شده ·1DECLAREDهر کدام از گزینه های اتصال2GATEDمجوز + تایید3THEN RUNAPI تماس، نتیجه
درخواست تبدیل به یک اقدام اعلام شده (نوع بندی شده خواندن / نوشتن / حذف) است که مجوز چک، تایید شده، سپس اجرا و گزارش شده است.

چرخه عمر عمل

1
مشتری چیزی را می پرسد

"ارسال من را لغو کن" هوش مصنوعی تشخیص می‌دهد که این نیازمند عمل "کنسل_ایمیل" است.

2
AI مجوزهای را چک می کند

آیا این اقدام مجاز است؟ آیا کاربر فعلی نقش مناسبی دارد؟

3
AI پارامترهای را جمع آوری می کند

این اقدام به یک شناسه اشتراک نیاز دارد. AI آن را از متن مشتری می بیند یا از مشتری می پرسد.

4
تاییدیه

برای اقدامات مخرب یا با نفوذ بالا، AI قبل از اجرای درخواست تایید می کند.

5
اعدام

این اقدام پلت فرم خارجی را می نامد. API.

6
نتیجه

AI نتیجه را به مشتری گزارش می دهد.

انواع Action Type

Read Actions

داده ها را بدون تغییر هر چیزی مشاهده کنید: لیست_سفارشها، Get_ client. Safe و هیچ تأییدی لازم نیست.

نوشتن اقدامات

ایجاد یا اصلاح داده ها: ایجاد_ticket، به روز رسانی_سفارش.می نیاز به تایید دارد.

حذف اقدامات

حذف داده‌ها. مثال: cancel_subscription. همیشه نیاز به تأیید دارد.

اقدامات HTTP

در عمل اعلام شده است.json, عمومی API تماس های تعریف شده به طور واضح

قابلیت تگ ها

اختیاری در هر عمل "فرصت" زمینه در اقدامات.json, یک برچسب کلاس بدون کانکتور (به عنوان مثال “شاخه های” برای بلیط خواندن / نگاه کردن، “ticket_build” برای باز کردن یک بلیط).OpsIQ درب های کل کلاس به طور یکنواخت در سراسر هر اتصال: بلیط خواندن از AI زمانی که اپراتور خاموش می شود آگاهی بلیط AI، و ایجاد بلیط برای رزرو شده است OpsIQ آهنگساز خود (بنابراین یک ابزار ایجاد کانکتور نمی تواند آن را تکرار کند) و اتصالات اتصال شما مطابقت دارد.OpsIQ هرگز نیازی به دانستن نام های عمل خود را ندارد.The Connector Builder آن را به عنوان یک افت توانایی در هر اقدام نشان می دهد.

اقدامات کد

پیاده سازی در PHP در کلاس کانکتور.کنترل کامل بر منطق

مثالی از تعریف عمل
{
  "lookup_order": {
    "label": "Look up an order",
    "description": "Find an order by ID or email",
    "method": "GET",
    "endpoint": "/admin/api/2024-01/orders.json",
    "params": {
      "order_id": { "type": "string", "label": "Order ID" },
      "email":    { "type": "email",  "label": "Customer email" }
    }
  }
}
اتصال‌دهنده‌ها (Connectors)

ایجاد یک کانکتور

Browser Builder به شما اجازه می دهد یک اتصال کامل برای هر پلتفرم با REST ایجاد کنید. API هیچ برنامه نویسی لازم برای کانکتور های پایه

ایجاد یک کانکتور
سازنده اتصالشکل اتصال بدون کد: نام، نوع حقیقت، پایه URL یک نقشه برداری عملی، یک آزمون گذرا و یک دکمه انتشار.سازنده اتصالفضای کاریسازنده اتصالنامپلتفرم من My PlatformامضاOAuth 2.0(PKCE)پایگاه URLhttps://api.example.com/v2اقدام عملیGET/customers →لیست_مشتریانآزمون تصویب شداتصال Package1NO-CODEنام، auth، پایه URL2ANY APIکلید، Bearer، Basic، HMAC OAuth3PUBLISHInto /connectors/<slug>/
ویژگی های سازنده در هر REST API یک حقیقت را تنظیم کنید، پایه URL و اقدامات، آن را تست کنید و یک اتصال کاری منتشر کنید.هیچ کدی لازم نیست.

ارائه دهنده کامل API پوشش بیمه

هر کدام از آنها تولید می شوند API کانکتور می تواند بومی های جداگانه را افشا کند API خواندن و بومی API اقدامات اصلاح شده ترجیح داده می شوند؛ عملیات های بومی، نقاط پایانی را پوشش می دهند. زمان اجرا از REST، GraphQL پشتیبانی می کند. JSON, شکل ، XML, بدن های خام و چند بخشی ، پا خیزی بسته API- هدرهای انحراف و idempotency در حالی که نگه داشتن اعتبار در داخل تنظیمات اتصال فضای کار.

⚠️
بسته های بازار از /marketplace_connectors همچنین بسته بندی شده /connectors. افزایش نسخه بسته، بازسازی قرارداد و اسناد، اجرای آزمون های انطباقی، سپس ثبت مجدد و انتشار نسخه جدید بازار.

دانلود بازی Phantom Wizard

جادوگر شش مرحله دارد که به عنوان زبانه در سراسر بالا نشان داده شده است، شما می توانید آزادانه بین آنها پرش کنید و Save Draft در پادار کار خود را در هر نقطه نگه می دارد.

1
هویت و مشخصات

نام، شليک، توصيف و شمايل ، سپس يه پروفايل قرارداد انتخاب کنيد: استاندارد API, تجارت, دفتر کمک, صندوق پستی, اطلاعات سایت, پل SaaS, پلتفرم PHP محلی, یا پلتفرم بدون هیچAPI هنگامی که پلتفرم هیچ چیز قابل تماس و قابل تماسی را ارائه نمی دهدOpsIQباید یک پل نصب کنید. پروفایل نقطه شروع کامل قابلیت را انتخاب می کند؛ شما هنوز هم می توانید توانایی های فردی را تنظیم کنید.

2
امضا

الگوی تأییدیه را انتخاب کنید که پلت فرم در زمینه های خود استفاده و پر می کند. وارد مدارک آزمون واقعی نیز می شود: آنها برای تست اتصال در مرحله بعدی مورد استفاده قرار می گیرند و پس از انتشار شما ذخیره نمی شوند.

3
آزمون تست

وارد شوید API پایگاه پایه URL و یک پایان نامه تأیید، سپس یک آزمون اتصال زنده را با استفاده از اعتبارنامه ها از مرحله اجرا کنید. 2این کار را قبل از تعریف هر گونه اقدام، اگر حقیقت یا پایه URL اشتباه است، هر عملی که پس از آن می نویسید به همان دلیل شکست خواهد خورد و شما باید کار اشتباهی را خنثی کنید.

4
اقدامات

تعریف هر عمل: نام، روش HTTP، مسیر نقطه پایانی، پارامترها، نقشه برداری زمینه پاسخ و تنظیمات اطمینان شرح داده شده در زیر.شما می توانید هر اقدام را به صورت جداگانه علیه زندگی زنده اجرا کنید. API از این مرحله

5
محرک‌ها (Triggers)

نقشه وب سایتhook Event هایی که پلت فرم شما بر روی آن ارسال می کند OpsIQ حوادث، بنابراین چیزهایی که در پلت فرم شما اتفاق می افتد می توانند کار را شروع کنند.OpsIQ.

6
بررسی، قرارداد شرکت و انتشار

Review every action, trigger and capability. Enterprise profiles expose the generated queue, worker, hook, migration, ticket-mirror, attachment and conflict contract before publishing. Publishing writes the package into /connectors/<slug>/.

⚠️
انتشار مجموعه مطابقت را اجرا نمی کند. تنها فرم جادوگر را تأیید می کند و هشدارهایی را منتشر می کند که مسدود نمی شود - فایل های آشکار، قابلیت اتصال، قرارداد هویت به هم ریخته و چک پل - هنگامی که شما خشک می کنید و دوباره در زمان نصب. Press-run خشک قبل از کشتی، هر بار.

آنچه که انتشاراتی انجام می دهد این است که فرم به شما نشان نمی دهد

پنج رفتار از افراد شگفت انگیز ژنراتور هیچ یک باگ نیست؛ همه آنها برای شما بعد از ظهر هزینه خواهند کرد اگر تصادف کنید.

یک سوال تصمیم می گیرد که عبور: آیا این پلت فرم خدمت می کندAPI?

پاسخ دادن به آن در مرحله1با انتخاب روش دسترسی به داده (یا “Platform بدون هیچ گونهAPI" پروفایل"APIحالت اعلام native_api and emits the <slug>_api_call passthrough. Bridge mode declares platform_bridge در عوض STRIPS native_api حتی اگر یک ویژگی قدیمی تر آن را انجام دهد، بنابراین مانیفست، کلاس تولید شده و تخصص docs نمی تواند مخالفت کند. ai_brain_aware هر دو راه اضافه می شود.

دانلود زیرنویس فارسی فیلم It Has a AAPI"

سازنده پاسخ شما را دنبال می کند؛ این حقیقت را برای خود کار نمی کند، و به طور پیش فرض هنگامی که هیچ چیزی گفته نمی شود.APIحالت، بنابراین یک نهAPIپلت فرم باید به طور دقیق بگوید - انتخاب کنید "Platform بدون هیچ گونهAPIپروفایل، تنظیم دسترسی داده ها به پل یا تیک platform_bridge; any one of the three is enough and they cannot contradict each other. Skip the question on a platform with no API and you are back to the old failure: a dead <slug>_api_call the model keeps reaching for. This used to be stamped unconditionally, so the trap is now escapable rather than gone.

تست اتصال به طور پیش فرض برای گرفتن/ping

اگر مسیر را خالی کنید، سازنده می نویسد /ping در اتصال تولید شده و به پروفایل.jsonبلوک آزمایشی تقریبا هیچ پلت فرم واقعی در این مسیر عمل نمی کند، بنابراین اتصال تست با HTTP شکست می خورد.404در هر نصب و خواندن مانند پیکربندی مشتری به جای یک نقص بسته، یک مسیر تأیید را تنظیم کنید که پلت فرم شما در واقع پاسخ می دهد.برای اتصال پل، آن را در نقطه انتهایی تشخیصی خود قرار دهید - کل زنجیره را در یک تماس ثابت می کند: پل مستقر شده است، مسابقات کلیدی و پل می تواند به پایگاه داده برسد.

بازنشر مجدد هنوز هم دست شما را بازنویسی می کند

قابلیت ها اکنون پاسخ داده های دسترسی را دنبال می کنند، بنابراین آن هایی که دیگر به سمت هیچ چیز دیگری نمی روند هنوز هم این کار را انجام می دهند: ویرایش متنProvider. php یا هر فایل دیگری که منتشر شده است جایگزین آن می شود.یک استثناء محافظت شده فایل پل است - جادوگر تنها یک پل حامل مارکر خود را بیش از حد بازنویسی می کند، بنابراین یک دست نوشته شده تنها باقی مانده است.

انتشار فایل ها

عدم توانایی و انتشار بعدی فایل ارائه دهنده خود را حذف می کند. دست ویرایش به هر فایل تولید شده - زمینهProvider.php بالاتر از همه - بدون هشدار نوشته شده است. کپی کردن سفارشی سازی ها ابتدا یا مالکیت بسته با حذف.opsiqسازندهjsonپس از آن، جادوگر دیگر موفق نخواهد شد.

آزاد کردن_وضعیت همیشه پیش نمایش است

جادوگر هیچ کنترلی برای آن ندارد، بسته ای که به معنای حمل و نقل به عنوان تولید است باید آزاد شود_ وضعیت با دست در تنظیمات تغییر کرده باشد.jsonو این ویرایش پس از آن امضا را می شکند، بنابراین دوباره ثبت نام کنید.

امضا ثابت می کند که صداقت، نه منشأ

بسته های سازنده با کلید متقارن خود این نصب امضا می شوند که دستکاری را تشخیص می دهد. ثابت نمی کند که چه کسی بسته را نوشته است و هر نصب دارای همان کلید می تواند یک بسته به صورت محلی امضا شده به عنوان امضا خود را تولید کند.

برخورد های اسلگ تنها در یک درخت بررسی می شوند

انتشار از یک نخ که در حال حاضر وجود دارد امتناع می کند/connectors/.نگاه نمی کند/marketplace_connectors/,بنابراین یک بسته دست اول شخص با همان شیب می تواند سایه را به پایان برساند.

💡
جادوگر یک مرحله دانش نویسنده ندارد، فایل دانش که پلت فرم شما را توصیف می کند برای شما از نام، شرح، نوع حقیقت و اقداماتی که تعریف کرده اید ایجاد شده است و هنگامی که اتصال فعال می شود، به AI بارگذاری می شود.

تعریف یک عمل (مرحله ای) 4)

هر عمل دارای تنظیمات زیر است.تنها چهار مورد اول لازم هستند؛ کنترل بقیه که ممکن است آن را اجرا کند و چقدر دقیق باشد.

کلید اقدام و برچسب

کلید چیزی است که AI می نامد؛ برچسب آن چیزی است كه یک انسان می خواند. Keys با سیم خود به طور خودکار استفاده می شود، بنابراین دو کانکتور می توانند بدون هیچ گونه هماهنگی ، “لیست_نظم” داشته باشند.

روش HTTP

دریافت، POST، PUT، PATCH یا DELETE.

URL مسیر راه هدایت

پایان دادن به پایه URL استفاده کنید {name} به عنوان مثال، برای سهامداران. /opportunities/{id}/stage

پارامترهای

برای هر پارامتر شما همچنین انتخاب کنید که در کجا قرار می گیرد: بدن, مسیر راه هدایت, پرسش های جستجو یا هدر دادن Headیک پارامتر مسیر پر می کند {placeholder}· یک پارامتر جستجو به انتهای آن اضافه می شود URL.

نقشه برداری پاسخ

بگو در چه زمینه ای JSON پاسخ به این معنی است که نام مشتری چیست، که ایمیل است، که کل سفارش است.این چیزی است که اجازه می دهد AI داده های پلت فرم شما را بخواند نه اینکه حدس بزند.

چه کسی می تواند از آن استفاده کند

تیم شما (admin AI)، مشتریان امضا شده ( چت مشتری)، هر دو یا دستیار نوشتن، اقدامات مشتری تنها برای مشتری امضا شده اجرا می شوند و زمینه های هویت به طور خودکار به آنها قفل می شود تا یک مشتری نتواند در مورد دیگری سوال کند.

مطالبات تایید

انسان باید قبل از اجرای عمل تایید کند.

سازنده :

مارک ها این عمل را به عنوان حذف یا تغییر حالت مورد استفاده برای هشدار قبل از اجرا می کنند.

مجوز لازم

مدیر باید این اجازه را برای AI به اجرا در عمل از طرف خود؛ مدیران کامل همیشه عبور می کنند. انتخاب از مدیریت_ ادغام، مدیریت_General، مدیریت /billing، مدیریت کردن_فروش_bridge، مدیریت-دانش، مدیریت ظهور_، مدیریت - رفتار، مدیریت + خروجی معتبر، مدیریت = ریسک منطقه، پاسخ_chat_to_s_tokettic، هیچ یک از مدیران ایمیل یا هر کدام.

توضیحات / AI اشاره

اختیاری، اما ارزش نوشتن آن به AI می گوید که چه زمانی برای رسیدن به این اقدام، مثلاً "استفاده از این هنگامی که مدیر درخواست تغییر یک مرحله معامله را می کند"

قابلیت

برچسب کلاس اختیاری، یا بلیط (یک بلیط خواندن یا جستجو) و یا بلیط ایجاد شده (بازها یک بلیط). OpsIQ برای مثال، تمام کلاس را در یک بار قرار دهید، پنهان کردن بلیط زمانی که اپراتور متوجه می شود هوش مصنوعی است.

مسیر راه

اختیاری برای نقاط پایانی که یک لیست را باز می گردانند، مسیر به آرایه، مثلا داده ها یا داده ها. itemss

خطای مسیر

اختیاری: یک زمینه بدن که حضور آن به معنای شکست تماس است، برای مثال خطا.message، مفید برای APIs بازگشت HTTP 200 در شکست

دویدن آن را

هر عمل را می توان در برابر زندگی کرد API از این مرحله، می توانید یک مسیر اشتباه یا نام فیلد را قبل از هر کس دیگری از آن استفاده کنید، اصلاح کنید.

⚠️
اقدامات نوشتن به طور پیش فرض محافظت می شوند هر گونه اقدام با استفاده از POST، PUT، PATCH یا DELETE شروع به نیاز به مجوز مدیریت_ ادغام و تأیید انسانی قبل از اجرا، این عمدی است.یک اقدام نوشتن جدید به جای اجازه دادن به AI تغییر داده های خود را بدون نظارت، شما می توانید هر دو در عمل تغییر دهید، اما آنها را با آگاهی تغییر دهید.
💡
برای تماس با چت مشتری، یک اقدام باید تنها خواندن: هر دو تایید و غیر آموزنده را ترک کنید.یک مشتری می تواند ماشه ای باشد که وضعیت را نیز تغییر دهد چیزی نیست که جادوگر به شما اجازه می دهد تا تصادف کشتی کنید.

دانلود رایگان فیلم Get webhooks (مرحله ای) 5)

مرحله محرک ها به شما یک وب را می دهد URL برای ثبت نام با پلت فرم خود و تأیید هر درخواست که بر آن می آید.

امضای Header

برچسب ها: دانلود بازی The header Your Platform Sign with، به عنوان مثال X-Hub-Signature 256.

الگوریتم امضای

HMAC-SHA1، HMAC – آن256 یا HMAC–sha512

طرح امضای

ساده، یک Hex یا Base64 Digest یا مدل Stripe، فرمت t= ...،v1 = ... قالب مورد استفاده توسط Stripe و چندین پلتفرم که آن را کپی کرده اند.

امضای شناسنامه

اختیاری: برخی از سیستم عامل ها پیش بینی هضم را، به عنوان مثال sha256= اگر شما این کار را انجام ندهید، خالی می کنند.

نقشه برداری های Event

نقشه هر رویداد که پلت فرم شما بر روی آن ارسال می کند OpsIQ اگر آن را باید افزایش دهد.

دانلود بازی Auto-registering The webhook

اگر پلتفرم شما دارای یک پلت فرم باشد API برای مدیریت وب سایت خود، شما مجبور به ثبت نام نیست URL با دست Auto-register این وب سایت را فعال می کند و آن را در دو مورد از اقداماتی که شما در مرحله تعریف می کنید، بیان کنید. 4:

ایجاد-Webhook Action

هنگامی که یک مدیر اتصال را فعال می کند، نام پارامتری را به شما می دهد که دارای کانکتور است. URL به طور اختیاری کسی که لیست رویداد را حمل می کند و مسیر در پاسخ است که شناسه وب جدید را نگه می دارد.

دانلود بازی اکشن Leave-webhook Action

هنگامی که کانکتور غیرفعال است، با استفاده از شناسه ای که در بالا گرفته شده است، بنابراین جدا کردن اتصال نیز متوقف می شود پلت فرم ارسال به نقطه پایانی مرده.

قابلیت هایی که می توانید تغییر دهید

پروفایل ها و قابلیت های آن توسط قرارداد مودم تعریف می شوند 2.2 قابلیت های ژنتیکی و تکراری به طور مستقیم منتشر می شوند؛ توانایی های سازمانی یک تولید را ایجاد می کنند. EnterpriseExtension.php داربست با چرخه عمر سیم کشی زمان اجرا

اقدامات

عملیات AI می تواند بر روی پلت فرم شما اجرا شود: سفارشات لیست، پیدا کردن مشتری، صدور بازپرداخت.

محرک‌ها (Triggers)

وب سایت را از پلت فرم خود دریافت کنید و آنها را به آن تبدیل کنید. OpsIQ حوادث

بلیط های AI

AI Triage و پاسخ Copilot بر روی بلیط هایی که در پلت فرم شما باقی می مانند، نقطه پایانی را انتخاب کنید که یک بلیط را با پاسخ های آن باز می گرداند و زمینه ها را نقشه برداری می کند. OpsIQ رشته را از طریق آن بخوانید.

جعبه پستی و آشناها

پست مشتری را در جدول زمانی خود نشان دهید، از یک معامله ارسال کنید و کتاب آدرس خود را به کتاب آدرس همگام سازی کنید. OpsIQ CRM

مشتری واردات

صفحه از طریق لیست مشتری و واردات هر یک به عنوان یک OpsIQ این همان چیزی است که دکمه واردات اجرا می کند.

متن

داده های زنده را از پلت فرم خود به هر مکالمه AI فشار دهید.

هویت

کار کنید که کدام یک از مشتریان شما بازدید کننده هستند و پروفایل و خرید خود را در بلیط نشان دهید.

فروش و صورتحساب

رویدادهای درآمد خوراک و ارقام MRR در OpsIQ داشبورد

بلیط های ورودی

تبدیل بلیط ها و ایمیل های پلت فرم شما ارائه شده توسط webhook OpsIQ پشتیبانی از موضوعات

پاسخ های خارجی

پست پستی Post OpsIQ کارکنان به پلت فرم پاسخ می دهند که موضوع از آن سرچشمه گرفته است.

کاربران Sync

وارد کردن حساب های کارکنان شما OpsIQ کاربران مدیر

Sync ادارات

واردات بخش های پشتیبانی خود را به OpsIQ.

Promo Target and Product Feed

اجازه دهید استودیو را در مورد حقایقی که شما درباره یک شخص می دانید، هدف قرار دهید و محصولات واقعی خود را در داخل ارتقاء ارائه دهید.

ارائه دهنده Studio

واقعیت های نظرسنجی سرور یکپارچه، متغیرهای فرار و صفحات دریافت کننده CRM را از طریق یک SurveyProvider. php اختصاصی محدود کرد، این کار زمان ارتقاء را استفاده نمی کند.

بومی بومی IP مسدود کردن بلوک ها

زمانی که OpsIQ بلوک ها IP بلوک خود پلت فرم را نام ببرید API این بلوک نیز در آنجا اجرا می شود.

رویدادهای امنیتی

دریافت مسدود شده IP سیگنال های تهدید OpsIQ.

دانش پلتفرم برای AI

هر کانکتوری که شما یک مرجع کوتاه ایجاد می کنید، توصیف آنچه پلت فرم شما است و اقدامات آن چه انجام می دهد. OpsIQ مدیر AI آن را هر زمان که اتصال شما فعال باشد می خواند، بنابراین پلت فرم خود را درک می کند نه اینکه فقط لیستی از نام های عمل را مشاهده کنید.

API عبور از

کانکتور شما همیشه یک تماس عمومی می گیرد، بنابراین AI می تواند به نقطه پایانی برسد که شما یک اقدام تایپ شده را برای استفاده از اقدامات نوع شده در جایی که می توانید تعریف نکرده اید؛ این یک دریچه فرار است.

قرارداد Canonical Connector 2.2 مرجع مرجع

نسخه قرارداد: 2.4 · 57 capabilities · 8 profiles.

پروفایل های مودم

standard_api · Standard REST or GraphQL API

Actions, triggers, OAuth/API-key authentication and optional context/identity mappings. Capabilities: actions, triggers, native_api, ai_brain_aware.

commerce · Commerce and billing platform

Customers, orders, sales, subscriptions, billing, promotions and journey events. Capabilities: actions, triggers, journey_events, sales, sales_reconciliation, billing, sync_orders, customer_import, survey, promo_audience, promo_feed, context, identity.

helpdesk · Helpdesk and ticket platform

Inbound tickets, outbound replies/notes, customer roster, AI triage and bidirectional ticket mirroring. Capabilities: actions, triggers, inbound_ticket, outbound_reply, outbound_note, ai_tickets, customer_import, survey, context, identity, ticket_mirror, ticket_merge, attachment_bridge, conflict_resolution.

mailbox · Mailbox and email provider

Inbound/outbound mail, address-book sync, multi-account OAuth and CRM timeline integration. Capabilities: inbound_email, outbound_email, mailbox, email_mailbox, oauth, actions, customer_import, ai_reply.

site_intelligence · Site Intelligence data provider

SEO, analytics, search-console, local-search or monitoring provider with scheduled sync. Capabilities: actions, triggers, site_intelligence, seo, scheduled_workers, durable_queue.

saas_bridge · SaaS bridge

Deep two-way SaaS integration with customers, billing, identity, tickets, webhooks, queues, attachments and workers. Capabilities: actions, triggers, webhook, context, identity, customer_import, survey, journey_events, sales, sales_reconciliation, billing, inbound_ticket, outbound_reply, ticket_mirror, ticket_merge, attachment_bridge, durable_queue, scheduled_workers, database_migrations, conflict_resolution, enterprise_hooks, admin_assets.

no_api_bridge · Platform with no API (OpsIQ installs a bridge)

For a self-hosted PHP application that serves no callable API. The wizard generates a signed bridge file the operator drops into their own site, plus the typed actions that read and write through it. Capabilities: actions, platform_bridge, ai_brain_aware.

local_php_platform · Local PHP platform bridge

WHMCS-style local hooks, database access, two-way tickets, billing/customer sync, queues and migrations. Capabilities: actions, native_data, context, identity, customer_import, survey, journey_events, sales, sales_reconciliation, billing, inbound_ticket, outbound_reply, ticket_mirror, ticket_merge, attachment_bridge, durable_queue, scheduled_workers, database_migrations, conflict_resolution, enterprise_hooks, admin_assets.

قابلیت های Canonical

اقدامات

Universal actions. Capability version: 1.0. Mode: generated. Runtime methods: registerActions. Package files: actions.json.

محرک های محرک

Inbound event triggers. Capability version: 1.0. Mode: generated. Runtime methods: handleWebhook. Package files: actions.json.

وب سایتhook

Inbound webhook endpoint. Capability version: 1.0. Mode: generated. Runtime methods: handleWebhook.

journey_events

Universal Journey Event Contract mapping. Capability version: 1.1. Mode: generated. Interfaces: OpsIQ\Connectors\JourneyEventConnectorInterface. Package files: settings.json.

متن متن

AI context providers. Capability version: 1.0. Mode: generated. Runtime methods: contextProviders. Interfaces: OpsIQ\Connectors\ContextConnectorInterface. Package files: ContextProvider.php.

guest_lookup

Guest record lookup without login (reference + proof match). Capability version: 1.0. Mode: generated. Runtime methods: contextProviders. Interfaces: OpsIQ\Connectors\ContextConnectorInterface. Package files: GuestLookupProvider.php.

هویت

Admin/customer identity providers. Capability version: 1.0. Mode: generated. Runtime methods: identityProviders, detectAdmin, detectCustomer. Interfaces: OpsIQ\Connectors\IdentityConnectorInterface. Package files: IdentityProvider.php.

sales

Sales and revenue ingestion. Capability version: 1.2. Mode: generated. Interfaces: OpsIQ\Connectors\CommerceConnectorInterface. Package files: SalesIngest.php.

sales_reconciliation

Scheduled sales-ledger reconciliation against the platform. Capability version: 1.0. Mode: generated. Runtime methods: reconcileSales. Interfaces: OpsIQ\Connectors\SalesReconciliationInterface.

لایحه

Cross-platform billing snapshot. Capability version: 1.0. Mode: generated. Runtime methods: billingProviders. Interfaces: OpsIQ\Connectors\BillingConnectorInterface. Package files: BillingProvider.php.

payments

Payment-provider capability bus. Capability version: 1.0. Mode: generated. Runtime methods: paymentsCapabilities.

تجارت تجاری

Sell through chat: canonical commerce role map. Capability version: 1.0. Mode: declarative. Package files: commerce_roles.json.

inbound_ticket

External ticket/email to OpsIQ ticket ingestion. Capability version: 1.0. Mode: generated. Runtime methods: handleWebhook. Interfaces: OpsIQ\Connectors\TicketMirrorConnectorInterface.

outbound_reply

Reply mirroring to the external platform. Capability version: 1.0. Mode: generated. Runtime methods: pushReply. Interfaces: OpsIQ\Connectors\TicketMirrorConnectorInterface.

ticket_merge

Ticket merges applied on the platform (native merge or private transcript note). Capability version: 1.0. Mode: generated. Runtime methods: mergeTickets. Interfaces: OpsIQ\Connectors\TicketMergeConnectorInterface.

sync_users

Staff/customer synchronisation. Capability version: 2.0. Mode: generated. Runtime methods: listCustomers. Interfaces: OpsIQ\Connectors\CustomerImportConnectorInterface. Package files: SyncImport.php.

sync_departments

Department/team synchronisation. Capability version: 1.0. Mode: generated. Package files: SyncImport.php.

sync_orders

Order roster and order-event synchronisation. Capability version: 1.0. Mode: declarative. Interfaces: OpsIQ\Connectors\CommerceConnectorInterface.

sync_products

Product, catalog and inventory synchronisation. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

sync_projects

Project, issue and workspace synchronisation. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

customer_import

CRM customer roster import. Capability version: 2.0. Mode: generated. Runtime methods: listCustomers, backfillChunk. Interfaces: OpsIQ\Connectors\CustomerImportConnectorInterface.

security_events

Receive and emit security events. Capability version: 1.1. Mode: generated. Runtime methods: securityCapabilities, syncBlockedIp, removeBlockedIp. Interfaces: OpsIQ\Connectors\SecuritySyncConnectorInterface.

security_native_block

Native remote IP/CIDR blocking. Capability version: 1.0. Mode: generated. Runtime methods: syncBlockedIp, removeBlockedIp. Interfaces: OpsIQ\Connectors\SecuritySyncConnectorInterface.

survey

Survey identity, audiences, recipients and variables. Capability version: 1.0. Mode: generated. Runtime methods: surveyAudienceCatalog, surveyAudienceFacts, surveyVariableCatalog, surveyVariables, surveyRecipientPage. Interfaces: OpsIQ\Connectors\SurveyConnectorInterface. Package files: SurveyProvider.php.

reply_feedback

Ticket reply feedback mirror (platform reply ratings land via the portal write method). Capability version: 1.0. Mode: generated. Runtime methods: replyFeedbackCatalog, pullReplyFeedback. Interfaces: OpsIQ\Connectors\ReplyFeedbackConnectorInterface.

promo_audience

Promotion targeting facts. Capability version: 1.0. Mode: generated. Runtime methods: subscribers. Interfaces: OpsIQ\Connectors\PromotionConnectorInterface.

promo_feed

Promotion product/content feed. Capability version: 1.0. Mode: generated. Interfaces: OpsIQ\Connectors\PromotionConnectorInterface.

email_mailbox

Mailbox bus, outbound mail and address-book sync. Capability version: 1.0. Mode: generated. Runtime methods: emailAccounts. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

inbound_email

Receive inbound email. Capability version: 1.0. Mode: declarative. Runtime methods: poll, handleWebhook. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

outbound_email

Send outbound email. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

mailbox

Mailbox connector. Capability version: 1.0. Mode: declarative. Runtime methods: emailAccounts. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

ai_tickets

AI triage and Inbox Copilot for remote tickets. Capability version: 1.0. Mode: generated. Runtime methods: loadTriageContext. Package files: AiOperations.php.

ai_reply

AI-assisted reply drafting. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

ai_brain_aware

Connector expertise supplied to Admin AI. Capability version: 1.0. Mode: generated. Package files: ai_expertise_admin.md, ai_api_reference.md.

native_api

Native API passthrough. Capability version: 1.0. Mode: generated. Runtime methods: registerActions.

platform_bridge

Signed platform bridge (for platforms with no API). Capability version: 1.0. Mode: generated. Runtime methods: registerActions. Package files: bridge/.

native_data

Local database/platform data adapter. Capability version: 1.0. Mode: declarative. Runtime methods: nativeDataProviders. Interfaces: OpsIQ\Connectors\NativeDataConnectorInterface.

crm

CRM capability provider (calendar, enrichment, telephony or customer data). Capability version: 1.0. Mode: declarative. Runtime methods: crmCapabilities. Interfaces: OpsIQ\Connectors\CrmCapabilityConnectorInterface.

block_registry

Remote sender block-registry synchronisation. Capability version: 1.0. Mode: declarative. Runtime methods: blockSender, unblockSender, isSenderBlocked. Interfaces: OpsIQ\Platform\BlockRegistryInterface.

inbound_comment

Inbound comment ingestion. Capability version: 1.0. Mode: declarative. Runtime methods: handleWebhook.

outbound_note

Outbound private note. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

outbound_notification

Outbound notification delivery. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

oauth

OAuth 2.0 authorisation. Capability version: 1.0. Mode: generated.

reviews

Review ingestion and response. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

محلی

Local search/location data. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

SEO

SEO data and actions. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

site_intelligence

Site Intelligence provider. Capability version: 1.0. Mode: declarative. Runtime methods: siteIntelligenceProviders. Interfaces: OpsIQ\Connectors\SiteIntelligenceConnectorInterface.

تحلیل تحلیلی

Analytics data provider. Capability version: 1.0. Mode: declarative. Runtime methods: analyticsCapabilities.

comms

Communications/video-meeting provider. Capability version: 1.0. Mode: declarative. Runtime methods: commsCapabilities.

admin_assets

Connector-provided admin/account/public browser assets. Capability version: 1.0. Mode: generated. Runtime methods: adminAssets. Interfaces: OpsIQ\Connectors\AdminAssetConnectorInterface.

enterprise_hooks

Platform-native hooks and lifecycle callbacks. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

durable_queue

Durable outbox/inbox queue and retry policy. Capability version: 2.0. Mode: extension. Package files: EnterpriseExtension.php.

ticket_mirror

Bidirectional ticket mirror with conflict handling. Capability version: 2.0. Mode: extension. Interfaces: OpsIQ\Connectors\TicketMirrorConnectorInterface. Package files: EnterpriseExtension.php.

attachment_bridge

Attachment upload/download transfer. Capability version: 2.0. Mode: extension. Package files: EnterpriseExtension.php.

database_migrations

Connector-owned schema migrations. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

scheduled_workers

Connector-owned scheduled/background workers. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

conflict_resolution

Two-way sync conflict strategy. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

⚠️
مشخصات سازنده همچنان منبع معتبری است. قرار دادن قوانین کسب و کار خاص پلت فرم در نقاط توسعه تولید شده؛ چرخه عمر بسته، صف ها، کارگران، مهاجرت ها و آزمون های انطباق باقی مانده سازندگان-مدیریت.

تنظیمات قابل اطمینان در هر عمل

تلاش مجدد

چند بار برای باز کردن یک تماس شکست خورده، با پشت سر گذاشتن که هر تلاش را دو برابر می کند. 429s و 5xx خطا دوباره مورد بازجویی قرار می گیرد؛ 4xx خطای درخواست شما است و تکرار آن فقط محدودیت نرخ شما را می سوزاند.

محدودیت نرخ

یک سقف در هر دقیقه برای این عمل، بنابراین یک ماشه شلوغ نمی تواند پلت فرم شما را چکش بزند. 0 برای هیچ محدودیتی

زمان بندی

چه مدت قبل از تسلیم شدن منتظر پلتفرم خود باشید.

تاییدیه

انسان را ملزم به تایید قبل از عمل اجرا می کند.استفاده از آن برای هر چیز مخرب است.

انواع Authentication Type

مرحله گام قدم 2 ارائه می دهد هفت الگو. Pick the One که با پلت فرم شما مطابقت دارد API اسناد، ژنراتور، مشتری صحیح HTTP را برای آن منتشر می کند.

API کلید در header

یک کلید استاتیک به عنوان یک هدر ثابت ارسال می شود، برای مثال X-API– کی. شما نام هدر را می دهید و برچسب فرم admin باید نشان دهد.این کلید را فقط به عنوان یک هدر ارسال می کند؛ اگر شما نام خود را داشته باشید API انتظار می رود کلید به عنوان یک پارامتر جستجو، استفاده از هدرهای سفارشی یا اتصال کامل کد.

توکن های Bearer

Token sent as Authorization: Bearer <token>. Common for modern APIs.

پایه Auth

نام کاربری و رمز عبور، پایه ۶۴-en coded به هدر مجوز.شما برچسب ها را انتخاب کنید هر دو زمینه در فرم admin نشان داده شده است.

HMAC-S

یک کلید عمومی به علاوه یک راز، با درخواست بدنه امضا شده است.شما سر امضای، هدر کلیدی و هدر زمان پلت فرم پلت فرم پلتفرم خود را انتظار دارید.

OAuth 2.0 (اعتبارات مشتری)

سرور به سرور، بدون هیچ تعامل کاربر و بدون هدایت شما توکن را ارائه می دهد. URL و یک محدوده اختیاری؛ مدیر یک شناسه مشتری و راز را فراهم می کند.استفاده از این زمانی که پلتفرم شما به جای شخص برای درخواست اعتبار می دهد.

OAuth 2.0 ( دکمه اتصال)

جریان مجوز کد با PKCE، برای Stripe Shopify, Slack و QuickBooks-style برنامه ها را به شما اجازه می دهند URL, توکن URL و محدوده بعد از انتشار، کلیک های مدیر بر روی کانکتور، اجازه می دهد در پلت فرم خود را، و OpsIQ ذخیره توکن های تازه و منوها دسترسی به توکن ها در تقاضا. ریدایرکت URI ثبت نام در شما OAuth برنامه در صفحه تنظیمات کانکتور نشان داده شده است.

دانلود بازی Custom Heads

یک فرم آزاد JSON نقشه هدر برای هر چیزی که در بالا باشد، پوشش نمی دهد، به عنوان مثال {*X-x}API کلید واژه:{api_key}"X-Tenant" :{tenant_id} هر سهامدار به یک زمینه در فرم admin تبدیل می شود.

💡
PKCE تنها در جریان دکمه اتصال اعمال می شود. جریان اعتبار مشتری هیچ تغییر مسیر و بدون گام کاربر ندارد، بنابراین PKFORM به آن اعمال نمی شود.

سبک های Pagination

جبران خسارت

از پارامترهای جبران و محدودیت استفاده کنید: ?offset=100 محدودیت=50.

صفحه

از شماره صفحه استفاده کنید: ?صفحه=3وپر_page=50.

مکان‌نما

از یک توکن نمائی از پاسخ قبلی استفاده کنید.

دانلود لینک Link Head header

از عبارت Link Response header با rel=”next” استفاده کنید.

پیشرفته: کد PHP سفارشی

کانکتور.php RETUS یک مثال است.OpsIQشکار برای.نام های روش زیر آنهایی هستند که Interface نیاز دارند؛ گرفتن یک اشتباه در بار کشنده است، نه هشدار.

کانکتور. php - قرارداد واقعی، حداقل و قابل اجرا
<?php
/* connectors/myplatform/connector.php */
declare(strict_types=1);

use OpsIQ\Connectors\AbstractConnector;

require_once __DIR__ . '/Client.php';

return new class extends AbstractConnector {

    /* ── the three identity methods. NOT identifier()/label(). ── */
    public function slug(): string        { return 'myplatform'; }
    public function name(): string        { return 'My Platform'; }
    public function description(): string { return 'Orders and customers from My Platform.'; }

    public function capabilities(): array { return ['actions', 'context']; }

    public function settingsSchema(): array
    {
        $f = __DIR__ . '/settings.json';
        if (!is_file($f)) return [];
        $j = json_decode((string)file_get_contents($f), true);
        return is_array($j['settings'] ?? null) ? $j['settings'] : [];
    }

    /* ── NOTE THE ARGUMENT. testConnection() with no parameter is a fatal. ── */
    public function testConnection(array $settings): array
    {
        try {
            $resp = \OpsIQ\Connectors\MyPlatform\Client::callWithSettings($settings, 'GET', '/me', [], []);
            $code = (int)($resp['http_code'] ?? 0);
            return ($code >= 200 && $code < 300)
                ? ['success' => true,  'info'  => ['message' => 'Connection OK', 'http_code' => $code]]
                : ['success' => false, 'error' => "Verify endpoint returned HTTP $code"];
        } catch (\Throwable $e) {
            return ['success' => false, 'error' => 'Test failed: ' . $e->getMessage()];
        }
    }

    public function onEnable(array $settings): array  { return ['success' => true]; }
    public function onDisable(array $settings): array { return ['success' => true]; }

    public function handleWebhook(array $payload, array $headers, array $settings): array
    {
        return ['success' => true, 'note' => 'No triggers declared.'];
    }

    /* Inherited from AbstractConnector: reads actions.json for you.
     * Override only to ADD actions the manifest cannot express. */
    public function registerActions(array $settings): array
    {
        return parent::registerActions($settings);
    }
};
⚠️
Three things that fatal at class load rather than failing gracefully. The identity methods are slug(), name() and description() — not identifier() and label(). testConnection() TAKES an array of settings; a no-argument version is an incompatible signature. And there is no $this->http() or runAction() on AbstractConnector — HTTP goes through your own Client.php or through an action declared in actions.json.

بلیط آینه به سیستم بلیت بومی

هنگامی که پلت فرم شما دارای یک بلیط است، آن را به داخل آینه کنید. OpsIQ از کانکتور خود با استفاده از بلیط مصرف کننده اتصال شما به ارث می برد (برای یک بلیط جدید ایجاد کنید، اضافه کردن برای پیگیری). Emit و مشترک به رویدادهای بلیط جهانی در کانکتور خود subscribers() روش، ticket.created, ticket.replied, ticket.updated, ticket.deletedAuto-reply، تشدید، SLA و CSAT همه رویدادهای مشابه را قلاب می کنند، بنابراین شما آنها را بدون کد اضافی به ارث می برید.

اگر شما را اداره می کنید ticket.deletedشما همچنین به صورت هماهنگ با هم برخورد می کنید. حذف بلیط ادغام شده merged_into و به یک اتصال که اعلام می کند ارسال نمی شود. ticket_mergeو هنگامی که به صورت یک بار به پایان رسید ticket.merged در عوض، شما می توانید بر روی پلت فرم خود ادغام کنید نه اینکه بلیط های ادغام شده را ببندید. قابلیت ادغام بلیط (Contract) 2.4).

بگو چه کسی پیام افتتاحیه را نوشت

بلیط همیشه برای مشتری، اما پیام باز ممکن است توسط کارکنانیک نماینده برای باز کردن بلیط از طرف مشتری یا رسیدن به طور فعال، هر کمکی این را پشتیبانی می کند، بنابراین بخشی از جهانی است. ticket.created قرارداد به جای چیزی که هر کانکتور به طور خصوصی حل می کند.

author_type

مشتری (default) یا مدیر، آن را می پذیرد و مشتری فرض می شود.

author_id

شناسه کارکنان زمانی که نویسنده_type=admin هرگز مشتری را انتخاب نکنید.

author_name

نام نمایندگی یا بخش نمایش داده شده به "Staff" بازمی گردد.

author_email

آدرس نماینده هرگز مشتری را به عنوان یک پیام کارکنان تحت ایمیل مشتری، یک گزارش و خطای حسابرسی است.

این زیبایی نیست. مصرف کنندگان خوانده می شوند author_type تصمیم گیری در مورد اینکه چه کسی آن را می سازد.یک باز نوشته شده توسط کارکنان گزارش شده است client اجازه می دهد تا خودکار واجد شرایط برای پاسخ به یک پیام نماینده خود را نوشت، و باعث می شود که اکو پلت فرم شما از آن باز شدن شبیه یک پیام مشتری تازه است، که پس از آن به عنوان یک تکراری فرود می آید و بلیط را به سمت تکرار و پرتاب می کند تا بلیط را برای ارسال بلیط به آن. پاسخ پاسخسیگنال پلت فرم خود را بر روی آن در کانکتور خود قرار دهید رویداد عادیهرگز در مصرف کنندگان

مسدود کردن مرکزی

هنگامی که یک نماینده یک فرستنده را مسدود می کند، این کار در سراسر آن انجام می شود. هر کس کانال بلافاصله (e-mail، چت، پورتال و هر اتصال دوقلو) به دلیل بلوک به طور مرکزی اجرا می شود، قبل از اینکه هر کانکتور پیام را ببیند، کانکتور شما آن را با انجام هیچ کاری به ارث نمی برد.

نیمه اختیاری خارج ازبه پلت فرم خود بگویید که یک مشتری در اینجا مسدود شده است، فقط اگر پلتفرم شما بتواند چیزی معادل آن را بیان کند.

قابلیت ها()

باید شامل Block_registry و کلاس باید BlockRegisty Interface باشد. پرچم یک ادعا است؛ رابط کاربری تضمین کننده است.

blockSender($b)

دریافت نوع (mail.domain)ip• ارزش، دلیل، admin_id، منقضی می شود_at، site_key. Returns [نتیجه، جزئیات؟، از راه دور_ref?]

unblockSender($b)

همان محموله، معکوس باید قفل باشد. مسدود کردن چیزی که هرگز مسدود نشده است، نه یک خطا است.

isSenderBlocked($b)

برای آشتی، پس از آن به جای اینکه توسط مشتری کشف شود، بازگشت (نتیجه، مسدود شده) گزارش می شود.

ارزش های نتیجه

خوب باشه

کاربردی بر روی پلت فرم شما شامل Remote_ref زمانی که یک شناسه ارزشمند ضبط دارید.

noop

در حال حاضر در حالت درخواست شده است.

unsupported

پلت فرم شما هیچ مفهوم معادل ندارد، نه یک خطا.

شکست خورد

شما می توانستید آن را انجام دهید و اشتباه بود، جزئیات را شامل کنید؛ در مسیر حسابرسی قرار دارد.

پایین آمدن یک پاسخ صحیح است. بسیاری از سیستم عامل ها هیچ مفهوم "block this فرستنده" ندارند و تنها تعلیق ACCOUNT را ارائه می دهند که لایحه، ورودها و خدمات را متوقف می کند نه فقط ایمیل پشتیبانی. Mapping "یک عامل آدرس اسپم را مسدود کرده است" بر روی "حساب مشتری بسته شده" اجازه می دهد یک بلوک اشتباه کلیک شده پرداخت خدمات مشتری را خاتمه دهد. unsupported و آن را تنها بگذارید.

همچنین کاهش پرونده را پوشش می دهد که در آن پلت فرم می تواند این کار را انجام دهید اما اجازه ندهید که شما یک چک کنید. APIنه یک ویژگی: اهرمی که تنها در UI admin پلت فرم وجود دارد، یک اهرم است که کانکتور شما ندارد.

مثال کار شده · Zendesk (اجرای مرجع)

خوانده شد connectors/zendesk/connector.php alongside this. It is short, and every branch below is a decision you will face too.

ایمیل ایمیل→خوب باشه

PUT /api/v2/users/{id} با درخواست های جدید کاربر نهایی معلق به جای باز کردن یک، در واقع همان ایده مسدود کننده فرستنده است و هیچ لایحه ای را متوقف نمی کند زیرا کاربران نهایی Zendesk هیچ کدام از آنها را ندارند.

دامنه Domain→پشتیبانی نشده

Zendesk می تواند یک دامنه کامل را به حالت تعلیق در آورد، اما تنها از طریق تعلیق: کلمه کلیدی در متن بلوک مرکز مدیریت و بدون هیچ گونه API می نویسد که این ویژگی وجود دارد؛ اهرمی وجود ندارد.

ip →پشتیبانی نشده

هیچ سطح بلیط IP بلوک وجود دارد.

آدرس ناشناخته→هیچ تلاشی

Zendesk نمی تواند آدرسی را که هرگز ندیده است، پیش ببرد و هیچ کاری برای انجام دادن آن یک شکست نیست و بلوک محلی هنوز بلیط را متوقف می کند.

عامل یا مدیر→پشتیبانی نشده

کارکنان اخراج شده یک همکار را از آدرس کمک کننده قفل می کنند.یک آدرس کارکنان به یک لیست بسیار بیشتر احتمال دارد که اشتباه باشد تا دستورالعمل، قبل از عمل بر روی آن، نقش را بررسی کنید.

این ردیف آخر، یکی از ارزش کپی کردن است. قرارداد نمی تواند شما را متوقف کند که یک بلوک را بر روی چیزی مخرب قرار دهید، بنابراین هر کانکتور باید تصمیم بگیرد چه چیزی را رد می کند. detail یک اپراتور می تواند بخواند، اطاعت کند.

صادقانه گزارش کنید. توجه کنید که تعداد این ردیف ها چقدر است. okاین نتیجه درست است، نه شکاف: یک بلوک دامنه هنوز کار می کند (در هسته ای در لحظه ای که نوشته شده اجرا می شود)؛ به سادگی نمی توان آن را به بیرون آینه کرد. ok برای چیزی که شما انجام نداده اید، به یک اپراتور بگویید که بلوک به پلت فرم شما رسیده است، زمانی که هرگز ترک نشده باشد. OpsIQ.

قوانین

بلوک محلی همیشه برنده می شود

قبل از اینکه شما نام گذاری شده و هر آنچه را که بازگشت می کنید، بنویسید.شما نمی توانید مانع مسدود کردن یک اپراتور شوید.

هرگز پرتاب نکنید

پرتاب به عنوان بدون پشتیبانی و ضبط شده درمان می شود.بازگشت با جزئیات شکست خورده است، بنابراین دلیل زنده ماندن است.

قابلیت idempotent

این بلوک ممکن است بیش از یک بار اعلام شود.

بازگشت سریع

Fan-out با کلیک اپراتور همگام است. Queue کند کار به جای باز نگه داشتن درخواست.

به عقب زنگ نزنید

هرگز دوباره بلوک نشوید OpsIQ از اداره شما، رجیستری کانکتور اصلی را رد می کند، اما یک پرش دوم حلقه خواهد شد.

هر اعلانی نوشته شده است. opsiq_block_registry_log (عملیات، نوع، ارزش، دلیل، مدیر، مبدأ، اتصال زنگ، نتیجه، جزئیات و زمان بندی) بنابراین یک اپراتور می تواند یک بلوک را به جای یک عامل از پلت فرم شما وارد کند و هر کانکتور در مورد آن چه انجام داد.

حرکات فشار به درستی

دست دادن attachments ایجاد ()/addReply(). هر آیتم فایل را در یکی از سه شکل حمل می کند:

content_b64

Base64 از فایل RAW، برای فایل های پشت auth (بیشتر موارد ورودی) استفاده کنید. OpsIQ آن را رمزگشایی می کند و فایل را برای شما باز می گرداند. قابل حمل ترین شکل است.

url منبع_url

یک HTTPS عمومی URL (به عنوان مثال، یک محتوای Zendesk باید HTTPS باشد؛ عبور از چک لیست SSRF / اجازه قبل از ذخیره آن.

stored_path

یک مرجع فایل ذخیره شده که قبلا نوشته اید (چیزی که آپلود کننده آهنگساز بومی تولید می کند)

Items also accept filename, mime_type and size_bytes. Caps: 12 MB/file, ~24 MB total, 10 files per call. Most platform read APIs return attachment نام فایل ها فقط (نه بایت)، بنابراین الگوی ورودی قابل اعتماد این است: بایت هایی را بخوانید که کد شما در حال حاضر اجرا می شود (در کنار پلت فرم یا از بارگذاری وب) ، پایگاه 64 آنها و آنها را به عنوان حمل و نقل به عنوان آنها. content_b64 در صورت

خروجی (OpsIQ →پلت فرم شما) هنگامی که یک نماینده یک فایل را متصل می کند، ticket.replied محموله به شما فایل های پاسخ را می دهد stored_path آیتم های زیر OpsIQ File store. آنها را بخوانید و در فرمت خود پلت فرم پلتفرم خود فشار دهید، و docs پلت فرم را بررسی کنید، رمزگذاری مهم است: WHMCS خواسته ها base64_encode(json_encode([[name,data]])) (JSON, نه سریال؛ Zendesk بایت های خام را به آپلود می کند /uploads.json سپس یک توکن را تنظیم می کند. comment.uploadsGmail یک مولتیپل / مخلوط RFC را ارسال می کند 822 پایگاه پیام ۶۴url-en coded raw; Amazon SES inbound attachments need the S3 receive action (the SNS path caps at 150 KB).

سیستم عامل های از راه دور: API + webhook، هرگز جداول برنامه دیگر

اگر پلتفرم شما یک برنامه جداگانه یا پایگاه داده (یک میزبان SaaS، یک راه دور WHMCS, یک DB مختلف در همان سرور هرگز جدول های خود را به طور مستقیم ننویسیدیک متن متقابل بر روی هر اتصال فعال است و به آرامی ردیف های واقعی را از دست می دهد: همیشه خارج از نام: REST امضا شده پلتفرم API (تغییرات، وضعیت، بخش، حذف)؛ ورودی • پلتفرم POSTs a Webhook، شما handleWebhook() آن را تایید و آتش می زند. ticket.* رویداد برای متوقف کردن یک حلقه آینه، برچسب آنچه که شما با نشانگر اصلی (به عنوان مثال. mirror_origin:'opsiq'• این پلت فرم آن را در وب سایتhook و مسئول داخلی شما از اکوs خود جدا می کند. OpsIQEvents::isMirroredEvent() در بالای هر دسته

وضعیت آینه، اولویت و بخش

پاسخ به طور خودکار وضعیت را حرکت می دهد، یک نماینده پاسخ → answered, a مشتری پاسخ → customer_replyآینه همان گونه که تغییر می کند. ticket.updated و خوانده شده payload['changes'] (به عنوان مثال. {status:'closed'}).

وضعیت: OpsIQ مجموعه کانونی (Canonical set) open, customer_reply, answered, in_progress, pending, closedیک نقشه دو طرفه کوچک را به واژگان پلت فرم خود نگه دارید و مطمئن شوید که ستون شما در واقع ارزش های نوشتن را می پذیرد (یک صفحه ی دو طرفه). ENUM از دست دادن یک ارزش به آرامی توسط برخی از پایگاه های داده خالی می شود. وزارت: سوگند به نفس OpsIQ دفتر کار در کنار شما بی معنی است، هرگز آن را ارسال نکنیدارسال کننده (Rescriptor)name, email و slugو آن را در برابر بخش های خود با ایمیل حل کنید.→نام→دانلود زیرنویس فارسی فیلم The Billing Department شما خودتان بخش صدور قانون به جای عمومیمحرک در هر دو ticket.escalated و department_id تغییر در ticket.updated.

💡
وضعیت / اولویت / بخش / آینه حذف شده توسط عینک های اتصال دهنده (mirror_STAT_changes، Mirror_priority_changeها، آینه_Subject_change، آینه-department_change ها) خوانده شده از طریق تقسیمات مشترک OpsIQ\Connectors\rrorاختیاری helper. Embed که در تنظیمات شما مسدود می شود.json و هر اتصال دهنده بلیط، عینک را به طور یکسان می خواند.

یک بلیط را به یک محصول / خدمات متصل کنید

اگر مشتری هنگام باز کردن بلیط یک محصول خاص را انتخاب کرد، یک اشاره تمبر را تمبر بزنید تا نماینده کارت خدمات متمرکز (با یک کلیک "دیدن سایر محصولات" برای بقیه) را انتخاب کند.

related_service_id

Preferred: the service id exactly as it appears in your IdentityProvider::lookupCustomerServices() list (each service's id). Unambiguous match.

related_service_label

یک کد سرویس پلت فرم، به عنوان مثال. WHMCS S396 (service)396 D11 (domain)11). OpsIQ نوع اختیاری + شناسه را تجزیه می کند و با لیست خدمات شما مطابقت دارد، با یک گارد نوع، بنابراین کد دامنه هرگز با محصول همان ID مطابقت ندارد. Expose یک رفلح در هر سرویس برای یک بازی دقیق است.

related_domain

نام دامنه؛ به عنوان یک زیرمجموعه در برابر جزئیات / دامنه هر سرویس مطابقت دارد.

💡
یک بار لیست دلبستگی را در شکل بالا بسازید و OpsIQ بقیه را اداره کنید: میزبانی URLs از طریق و محتوای Base64 برای شما ذخیره شده و دوباره میزبانی می شود، هرگز نیازی به نوشتن فایل های هر پلتفرم ندارید.
⚠️
کلید های اکشن حروف، رقم ها و نکات پایین تری هستند. سازنده قبول می کند.3برای80شخصیت ها و همچنین اجازه می دهد نقاط؛ فروشگاه عمل قبول2برای100شخصیت هایی که هیچ نقطه ای ندارند، بنابراین به حروف، رقم ها و تاکید ها ادامه دهید و هر دو را راضی می کنید. اضافه کردن یک عمل هیچ مسیر AJAX ایجاد نمی کند، بنابراین چیزی برای بازسازی وجود ندارد - اتصال دوباره برقرار شده و همگام سازی شده است.

اجازه دهید AI آن را برای شما بسازد

شما مجبور نیستید شش مرحله را با دست پر کنید. کانکتور را در کلمات خود توصیف کنید و اتصال را به صورت دستی شرح دهید.OpsIQAI تمام مشخصات را پیش نویس می کند، آن را از طریق همان اعتبار دهنده ای که جادوگر استفاده می کند اجرا می کند و برنامه را قبل از هر چیزی به دیسک نشان می دهد، دو مکان برای انجام آن وجود دارد و آنها همان بسته را تولید می کنند.

در جادوگر

باز Open کانکتورهای→اضافه کردن کانکتور→ساخت کانکتوردر مرحله1خواهید دید ✨برای من بسازیدنوع اتصال برای - پلت فرم، چه چیزی استOpsIQباید بخواند و آنچه را که باید بنویسد، و چه کسی از آن استفاده می کند، اضافه کنید.APIریشه اگر شما آن را می دانید، و آن را فشار دهید. جادوگر هر مرحله از پیش نویس پر می کند، و دقیقاً همانطور که انگار آن را تایپ کرده اید بررسی و ویرایش می کنید.6همان پنل به نظر می رسد ✨Refine with AIبنابراین می توانید یک تغییر (همچنین فاکتورها را بخوانید) به جای ویرایش فیلد ها درخواست کنید.

با پرسیدن سوالOpsIQ

باز کردن سوال بپرسید OpsIQ در هر نقطه از مدیران شرکت کنید و بگویید که چه می خواهید، هرگز نیازی به نام یک عمل یا دانستن جادوگر وجود دارد.

1
از آن بپرسید

به عنوان مثال: “برای من یک کانکتور برای Trello ایجاد کنید، باید تخته ها و لیست هایم را فهرست کنید، کارت های خواندنی را بخوانید و یک کارت روی یک هیئت مدیره ایجاد کنید. Trello از یک آداپتور استفاده می کند.APIکلید به علاوه توکن "The copilot در یک جمله پاسخ می دهد و نشان دهنده یک جمله است. پیش نویس این کانکتور کارت شما پیام کوتاه است، بنابراین پلت فرم را قرار دهید، خواندن و نوشتن در آن.

2
تایید پیش نویس

هنوز چیزی نوشته نشده است، خلبان مشخصات را پیش نویس می کند، آن را اعتبار می دهد و با برنامه پاسخ می دهد: چه کانکتور انجام می دهد، اقدامات آن (نوشتن)، مفروضات ساخته شده و سوالات شما هنوز باید پاسخ دهید - معمولاً که اعتبارات برای عرضه در نظر گرفته شده پارک شده اند و برای ماندن در دسترس هستند.24ساعت ها

3
بگو: «آن را بسازید»

خلبان نشان می دهد که ساخت و ساز card naming the connector and its slug. This one writes: it publishes the package into /connectors/<slug>/. Confirm it and you get the path back, together with the setting you still have to fill.

4
ورود و امکان

کانکتور جدید منتشر شده اما فعال نشده است و هیچ رازی را باز نمی کند.APIکلید یا توکن، مطبوعات آزمون تستو سپس، قابلیت Enableتا زمانی که شما این کار را انجام دهید، هیچ کاری نمی کند.

💡
هر دو کارت به کلیک شما نیاز دارند، پیش نویس گام هیچ چیزی نمی نویسد؛ مرحله ساخت مخرب است و همیشه می پرسد. AI نمی تواند یک کانکتور را منتشر کند، یکی را فعال کند یا به تنهایی وارد یک اعتبار شود.

آنچه که AI است و اجازه ندارد انجام دهد

اعتبار دهنده دیوار است

یک مشخصات پیش نویس دقیقا همان اعتبار را دارد () دکمه ی پخش جادوگر استفاده می کند.اگر آن را نمیگذرد، AI خطا داده شده و دوباره تلاش می کند تا سه بار و سپس در کلمات معتبر تایید کننده رد می شود.

هیچ مدرکی نمی نویسد

پیش نویس، الگوی تأیید هویت و زمینه های تنظیمات را نام می برد؛ هرگز یک کلید، توکن یا راز ایجاد نمی کند.شما آن ها را در صفحه تنظیمات کانکتور پر می کنید.

جواب سوالات را می دهد، نه حدس

هر چیزی که نمی تواند بداند – شناسه حساب شما، که منطقه، که از دو نقطه انتهایی برنامه شما را افشا می کند – به جای یک فرض خاموش، به عنوان سوال در مورد طرح مطرح می شود.

یک نقطه پایانی اختراع شده با صدای بلند شکست می خورد

به AI گفته می شود که هرگز راه را اختراع نمی کند، اما هیچ مدلی کامل نیست.یک مسیر اشتباه به عنوان یک عمل منتشر می شود و تست زنده خود را در مرحله اقدامات یا اولین بار که اجرا می شود شکست می دهد - این هرگز موفقیت خاموش نیست.

بسته معمولی است.

آنچه که تولید می کند یک بسته معمولی است: فایل های تولیدی یکسان، همان قرارداد، امضای مشابه، قابل ویرایش در جادوگر، حذف از صفحه کانکتور وجود دارد.

مدل شما پیش نویس می کند

کیفیت به دنبال مدلی است که شما در تنظیمات پیکربندی کرده اید→AI. یک مدل کوچک و ارزان پیش نویس اتصال درست اما ساده است و سوالات بیشتری می پرسد؛ یک مدل قوی تر از نقاط انتهایی را برای اولین بار تغییر می دهد.

⚠️
خلبان تنها می تواند اقداماتی را که این نصب در واقع ثبت کرده است اجرا کند.اگر اقدامات سازندگان پلاگین از دست رفته باشد – طرحی که شامل آنها نیست یا نقشی بدون آن داشته باشد. manage_connectors خلبان می گوید به جای ارائه یک کارت که در هنگام کلیک شکست بخورد.
اتصال‌دهنده‌ها (Connectors)

فروش از طریق چت: نقشه نقش تجاری

یک کانکتور که می تواند بفروشید – یک پلت فرم فروشگاه، سیستم رزرو، دروازه پرداخت – اعلام می کند کدامیک از عملیات های OWN پاسخ می دهندOpsIQنقش های تجاری canonical آن را مشخص می کند و کانکتور در تنظیمات ظاهر می شود→چت مشتری→فروش از طریق چت به طور خودکار؛ متوقف اعلام و آن را ناپدید می شود هیچ لیستی برای ثبت نام وجود دارد.

فایل: commerce_roles.json

این اعلامیه در فایل خود در ریشه بسته زندگی می کند - حضور فایل، ادعایی استنمی تواند در آن زندگی کند. connector_contract.jsonاین فایل توسط ابزار بسته بندی بازسازی شده و طرح آن کلیدهای ناشناخته را رد می کند، بنابراین یک بلوک دستی اعتبار را شکست خواهد داد و سپس بازنویسی خواهد شد.

commerce_roles.json
{
  "commerce": {
    "roles": {
      "catalog_search": { "operation": "acme_search_products", "transport": "http" },
      "customer_lookup": { "operation": "acme_customer_lookup", "transport": "http" },
      "quote":          { "operation": "acme_quote_order",     "transport": "http" },
      "payment_methods": { "operation": "acme_payment_methods", "transport": "http" },
      "order_get":      { "operation": "acme_get_order",       "transport": "http" },
      "order_create":   { "operation": "acme_create_order",    "transport": "http",
                          "recovery": "acme_get_order" }
    },
    "customer_ordering": {
      "enabled": true,
      "version": 1,
      "mode": "direct_order",
      "audience": "clients_only",
      "account_flow": "existing_client",
      "payment_flow": "connector_methods",
      "identity_parameter": "external_customer_id",
      "quantity_parameter": "quantity",
      "label": "Acme Store",
      "checkout_hosts": [],

      "transaction_kind": "purchase",
      "decision_mode": "immediate",
      "payment_timing": "on_confirmation",
      "reversibility": "reversible",
      "cancellation_flow": "platform_only",
      "fulfilment_presence": "remote_delivery",
      "notify_flow": "platform_automatic",
      "customer_fields": {"name": "required", "email": "required", "address": "required", "phone": "optional"},
      "client_tools": ["catalog_search", "catalog_get", "quote"],
      "account_timing": "before_quote"
    }
  }
}

قوانین و چرا هر کدام وجود دارد

نقش ها یک واژگان بسته هستند

OpsIQهیچگاه نقشی را از نام یک عمل به دست نمی آورد، نقشی که اعلام نشده وجود ندارد – اعلام کل قرارداد است.

این عملیات باید یکی از اقدامات شما باشد.

هر عملیات نقشه برداری باید در شما وجود داشته باشد actions.jsonیک تایپی توانایی ای را اعلام می کند که نمی تواند اجرا شود و به مشتری می گوید: «من می توانم آن را برای شما بررسی کنم» و هیچ چیز در این مورد وجود ندارد.

نقش خوانده شده هرگز در یک عملیات مخرب اشاره نمی کند

نقش های خواندن (catalog، در دسترس بودن، نقل قول، نگاه سفارش) باید برای عملیات که هیچ چیز را بر روی پلت فرم شما تغییر نمی دهد، نقشه برداری کنند.

نقش نوشتن هرگز به یک عملیات رکورد عمومی نمی پردازد

نقشه برداری order_create در یک جدول خام – record.create, db.insert, recordCreateهر املای، هر جداکننده – به صورت ساختاری رد می شود.یک ردیف نوشته شده به طور مستقیم قیمت گذاری پلت فرم شما را دور می کند، قفل سهام و ایمیل تأیید، تولید سفارش سیستم خود را به طور کامل باور نمی کند.

نقش نوشتن یک عملیات بهبودی را اعلام می کند

یک نگاه احتمالی که پاسخ می دهد "سرزمین نوشتن من؟" خطرناک ترین زمان بندی است یکی از پس پلت فرم شما ممکن است قبلا سفارش ایجاد کرده باشد؛ بدون اینکه تنها گزینه های کور شدن یا از دست دادن آن را بررسی کنید.

نقش های پرداخت ارائه دهنده در سه تعهدات اضافی

بسته ای که به طور مستقیم با یک ارائه دهنده پرداخت مذاکره می کند نیز باید اعلام کند payment_profile (ماجرا، کشورها، روش ها و محیط زیست محیطی یک محیط بدون حالت این است که چگونه یکپارچه سازی آزمون پرداخت زنده را انجام می دهد. webhook_verify (طرح امضای واقعی ارائه دهنده؛ یک راز عمومی-compare رد می شود) و event_map (ارائه دهنده حوادث بر روی کانتونیکی) یک اتصال تجاری که تنها پیاده سازی می کند record_payment در حال حاضر شواهد پرداخت های تجربی را تأیید می کند؛ نباید تظاهر به دروازه بودن کرد.

مشخص کنید که چگونه مشتریان ممکن است از یک فروشگاه متصل سفارش دهند

یک اتصال تجاری و یک کانکتور پرداخت-gate قراردادهای مختلفی دارند. سفارش مشتری فروشگاه Connectedعمیق ترین حالت را انتخاب کنید که پلت فرم بتواند ثابت کند.انتخاب داخل امضا شده است commerce_roles.jsonفروشگاه و مشتری چت آن را در زمان اجرا دوباره بخوانید، حذف یک نقش یا عدم نصب / حذف اتصال به این ترتیب پیشنهاد قبلی ارائه شده را به جای ترک اقتدار است.

catalog_only

نقشه های Maps catalog_search یا catalog_get. OpsIQممکن است محصولات را جستجو و توضیح دهد، اما نمی تواند یک سفارش اجرایی یا تأیید پرداخت را نشان دهد.هر بسته در این پیش فرض راست باقی می ماند تا زمانی که نقل قول و پرداخت / دستور کار از قرارداد عمیق تر و صدور گواهینامه بازار عبور کند؛ هرگز پشتیبانی تراکنشی را از نام پلتفرم منتقل نکنید.

platform_checkout

همچنین نقشه ها quote و platform_checkoutفعالیت تجاری – نهOpsIQهسته -بازگشت checkout_url, checkout_reference و نقل قول های کانونیURLباید HTTPS باشد، نام میزبان آن باید مطابقت داشته باشد. customer_ordering.checkout_hosts یا میزبان HTTPS از checkout_host_settingو نقل قول ممکن است بیش از حد زندگی کند.15چند دقیقه: یک محصول Permalink، سبد دستی محلی جمع شدهURLیا بازگشتURLقابلیت پرداخت تجاری نیست.

direct_order

همچنین نقشه ها quote, order_create و order_getبا order_create.recoveryCore بلافاصله قبل از اعدام، نقل قول را تازه می کند، کلید idempotency را تهیه می کند و پس از هر نتیجه ناشناخته ای قبل از هر گونه retry، عملیات بازیابی را درخواست می کند. payment_flow=opsiq_gatewayهمچنین باید نقشه برداری کند. record_payment با یک عملیات بازیابی / خواندن معتبر.OpsIQبه طور فعال معامله دروازه، مقدار مطابقت، پول، بازرگان و مرجع سفارش را تأیید می کند، مرجع ارائه دهنده را یک بار می نویسد، سپس فاکتور / سفارش بازرگان را بخوانید. mark_invoice_paid وضعیت بهگل رد می شود زیرا هیچ مدرک پرداخت را حمل نمی کند.عمل ایجاد باید قیمت گذاری، سهام و منطق کسب و کار پلتفرم را مورد استفاده قرار دهد؛ پایگاه داده خام نوشته شده است امتناع می شود.

تایید هویت و آنچه که اپراتور می تواند تغییر کند

زمانی کهOpsIQمالک پرداخت، یک مشتری چت باید به email_otp قبل از اینکه یک سفارش ایجاد شود،OpsIQایمیل ها6کد رقمی و درخواست آن چیزی نیست که یک کانکتور از آن خارج شود؛ کف اطمینانی است که هسته اجرا برای آن تقاضا می کند. order_create.

یک استثنا و کسی که آن را کنترل می کند

یک اپراتور ممکن است تنها آدرس غیر یکپارچه را بپذیرد که در آن کانکتور شما اعلام می کند. fulfilment_presence: customer_presentمهمان هتل باید به آنجا برسد، بنابراین یک آدرس اشتباه منجر به دریافت و اتاق هنوز وجود دارد. remote_delivery - حمل، ارائه شده، بارگیری و تأیید هر آنچه که اپراتور تنظیم می کند لازم است، زیرا ارزش بر قدرت آن آدرس به تنهایی قرار می گیرد. minimum_assurance یا reversibility: irreversible همچنین توانایی اپراتور برای رد کردن آن را حذف می کند.

چه مدت کد دوام می آورد

سی دقیقه به طور پیش فرض، اپراتور قابل تنظیم است5دقیقه تا24ساعت ها مشتری یک شمارش معکوس زنده را می بیند که در آن ارائه شده است. خودشان منطقه زمانی، نه کد منقضی شده اپراتور به سادگی می گوید و ارائه یک جدید به جای گزارش یک کد نامعتبر - مشتری تایپ کردن یک کد درست اما قدیمی اشتباه نکرده است و گفتن آنها آنها را در همان حلقه ارسال کرده اند.

مشتری باید چه چیزی را ارائه دهد: مشتریان_fields

نام و ایمیل همیشه مورد نیاز است و برای اولین بار جمع آوری می شود. address, phone و company as required یا optional برای مناسب کردن کسب و کار: مغازه ای که بسته های کشتی ها آدرس مورد نیاز را اعلام می کنند؛ یک هتل تلفن لازم را اعلام کرد، زیرا مهمان نمی تواند تماس رزرو داشته باشد. دستیار قبل از نقل قول و انتقالات از آنها درخواست می کند.OpsIQامتناع از قرار دادن یک سفارش که فاقد یک زمینه مورد نیاز است، سازنده نقشه نرمال شده را می نویسد، پایه شامل، بنابراین قرارداد بر روی دیسک صریح است.

هنگامی که حساب کاربری ایجاد می شود، محاسبه

at_order (تأسفانه) اجازه می دهد تا سفارش یک حساب خریدار را برای اولین بار ایجاد کند. before_quote هنگامی که قیمت پلت فرم شما در هر حسابWHMCSمالیات بر پروفایل و نقل قول های مشتری در ارز مشتری – وOpsIQایجاد حساب کاربری از طریق شما customer_create به محض اینکه فیلدهای مورد نیاز شناخته شوند، سپس از نقل قول برای این حساب سوال کنید، بنابراین کارت تأیید تمام آنچه را که در واقع نیاز دارید انجام می دهد. account_flow: connector_signup.

دستیاری که می گیرد، نمی خواند: مشتری_tools

با سفارش های ایجاد شده، دستیار هرگز یک کاتالوگ قدیمی را نمی خواند.این سه ابزار را می نامد. commerce_catalog_search (یک پرس و جو خالی یک مرور کلی از خانواده های محصول است؛ نتایج فراتر از حد توسط نام ذکر شده است). commerce_catalog_get برای یک آیتم در کل و commerce_quoteکه سرور تأیید امضا شده را از طریق همان دیوارهایی که مسیر اتصال همیشه داشته است، استخراج می کند.یک ابزار در هر فعل، کانکتور شما به عنوان یک پارامتر، بنابراین فروشگاه با شش کانکتور سه ابزار به جای هجده دریافت می کند . client_tools هر گونه محدودیت را محدود می کند و به هر صورت، هیچ یک از آنها را به طور کامل در اختیار ندارد. catalog_only کانکتور هرگز نقل قول نمی کند. تایید هیچگاه یک ابزار نیست: دکمه کارت در وب، دقیق ترین CONFIRM دستور یک کانال را بدهید و هیچ مدلی نمی گوید که پول خرج می کند.

آنچه که کاتالوگ شما باید حمل کند

id, name, یک مشتری امن summary, a category یا خانواده محصول (این است که چگونه یک کلمه مشتری چیزی را پیدا می کند که نام آن کد است)، currency, unit_amount_minor, availableو input_schema نام گذاری فیلد ها نیاز به سفارش دارد.جستجو کلمات مشتری را در برابر نام، خانواده، چرخه و خلاصه نشان می دهد.

عدم استفاده از یک دلیل که مشتری می تواند بر روی آن عمل کند

بازگشت برگشت {"success":false,"error":"…","missing":["domain"],"retryable":true} وقتی یک ارزش اشتباه یا از دست رفته است، امتناعی که نام آن را می گیرد. missing یا retryable به مشتری می رسد؛ یک شکست لخت، عمومی باقی می ماند و هیچ نشت داخلی ندارد.

ارز جغرافیایی و توقف اضطراری

هنگامی که اپراتور بر روی ارز ژئو (Client Chat) قرار می گیرد→رفتار، مشتری قیمت ها را بر روی هر سطح می خواند – متن چت، کارت وب، کارت متنی کانال و ارز باز فروشگاه جلو - با استفاده از فروشگاه FX پلت فرم خود هرگز جایگزین نمی شود: کارت نشان دهنده چهره بازدید کننده در کنار کل فروشگاه است، و دروازه دقیقا مقدار آن را پردازش می کند. استفاده از همه فروش (تنظیمات)→تجارت) سوئیچ مرگ است: کاتالوگ، نقل قول ها و نگاهها باز می مانند؛ پیشنهاد و تایید توقف در هر کانال.

وقتی فروش از طریق چت رفتار نمی کند

نمی توان به بازرگان رسید

مهر بسته شکسته شده است: یک فایل پس از ثبت نام ویرایش شد. Re-منتشر کردن بسته.یک نسخه بازار نصب شده هرگز در محل ویرایش نمی شود؛ آن را از پانل بازار به روز می کند.

سفارش برای این فروشگاه متوقف شده است در حال حاضر

سوئیچ قاتل در تنظیمات است.→تجارت بازرگانی→از همه فروش ها استفاده کنید.

سفارش در این کانال هنوز در دسترس نیست

کانال زیر جایی که مشتریان می توانند خرید کنند، تیک نمی شود. لاگین سرور کانال را نام گذاری می کند.

دستیار یک آیتم را توصیف می کند اما به نظر نمی رسد هیچ کارتی

ابزار نقل قول رد شد، هر تماس به عنوان ثبت نام می شود [opsiq][commerce][client_tool] با دلیل: یک شناسه موردی اشتباه، زمینه ای که مورد آن اعلام نمی کند، دامنه گرفته شده یا امتناع خود بازرگان قبل از اعتماد به تفسیر دستیار، ثبت را بخوانید.

دستیار می گوید که نمی تواند محصولات را ببیند.

این صفحه متعلق به یک فضای کاری دیگر است که هر ویجت وب سایت متعلق به یکی از فضاهای کار است و کانکتور فروشگاه باید در آنجا فعال شود.

پاسخ کنسرو شده به جای یک پاسخ

کمی بیشتر درباره آنچه که نیاز دارید به من بگویید، یعنی ارائه دهنده AI خود را شکست می دهد؛ تاریخ هوش مصنوعی نشان می دهد خطای دقیق در آن نوبت و ابزار هرگز به دست نیامده است.

یک ویرایش کانکتور در چت نشان نمی دهد

کارگر در عرض یک دقیقه بر روی تغییر کد بازیافت می کند، اما مکالمه آخرین کارت خود را دوباره پخش می کند.

یک بازدید کننده نیجریه دلار می بیند اگرچه ارز ژئو در حال حاضر روی آن است.

بررسی کنید که زمین-IPپایگاه داده پیکربندی شده (Client Chat)→ج) و اینکه ارز بازدید کننده دارای نرخ FX است؛ بدون هیچ نرخیOpsIQقیمت فروشگاه را به جای یک شماره اشتباه نشان می دهد.

مجموع شما تنها رقمی است که پول را جابجا می کند.

نقل قولی unit_amount_minor, quantity و total_amount_minorو وسوسه انگیز است که از دو اول به عنوان غیر فعال کننده رفتار کنیم، نه، و فرض کنید که این هزینه ای برای مشتری واقعی دارد.

quantity چیزی است که CUSTOMER انتخاب می کند - یک اتاق، یک مجوز، یک سیاست چند گانه شما می تواند چیزی باشد.OpsIQهرگز نمی بیند: شب ها، صندلی ها، چرخه های صورتحساب، فاصله، وزن، کراوات، هتل یک اتاق را برای سه شب به عنوان کمیت نقل می کند.1, واحد105,000مجموع،315,000. OpsIQواحد ضرب شده توسط کمیت برای قیمت یک کارت تایید، نشان داد مهمان105,000و پس از آن،315,000در واقع، معامله گر به یک رقم بازگشت و متهم شدن به دیگری بدترین کاری است که این قرارداد می تواند انجام دهد.

قانون

total_amount_minor تنها رقمOpsIQنشانه ها و نشانه ها را نشان می دهد و در برابر آن ها قرار می گیرد. unit_amount_minor جزئیات صفحه نمایش در خط است.اگر کل شما دقیقا همان چیزی نیست که می خواهید شارژ کنید، نقل قول شما اشتباه است -OpsIQدرست نخواهد کرد، زیرا کل چیزی که به طور مفید تنظیم شده است، کسی است که هرگز موافقت نکرده اید تا به آن افتخار کنید.

این به معنی اقدام نقل قولی شما است

بازگشت به شخصیت همه جانبه، اعمال شب خود را، کراوات، تخفیف، مالیات و هزینه های قبل از پاسخ شما.اگر خط خود را آشتی نمی دهد - واحد زمانی که برخی از کل شماره هرگز برابر با مجموع شما نیست -OpsIQهمه چیز را به عنوان یک خط در قیمت واقعی خود رفتار کنید نه اینکه یک شکست ایجاد کنید که با هیچ چیزی سازگار باشد.

شش پاسخ که این قرارداد را متناسب با هر صنعت می سازد

اعلامیه بالا به عنوان بیانیه فروشگاه شروع شد: خرید یک چیز، پرداخت در حال حاضر، آن را شما ممکن است لغو کنید، هر یک از چهار فرض است که برخی از کسب و کار واقعی به اشتراک نمی گذارد.یک بانک پول در حال حرکت نیست، بیمه گران نمی گویند " تأیید شده" تا زمانی که یک نویسنده به نظر می رسد یک فاکتور تجاری پس از آن.

بنابراین یک اتصال تراکنشی به شش سوال دیگر پاسخ می دهد. هر یک به طور پیش فرض به خواندن سخت هیچ چیز همیشه امن نیست و هرگز گمراه کننده است، زیرا گفتن چیزی که نویسنده وقتی سوال را در نظر نگرفته باشد.

transaction_kind

purchase, booking, subscription, bill_payment, transfer, application, top_up, renewalVocabulary به جای رفتار: آن را تصمیم می گیرد کلمه مشتری خود را بخواند.تماس با انتقال سیم یک "سفارش" باعث می شود دستیار صدا مانند آن را درک کسب و کار آن صحبت نمی کند، و هیچ مقدار از لوله کشی صحیح بازیابی از آن. purchase.

decision_mode

immediate یا deferredانتخاب کنید. deferred برای هر چیزی که به نوشتن، ارزیابی اعتبار، ارجاعات، پذیرش یا یک کمیته می پردازد.OpsIQسپس می گوید ارسال شده نه به جای تایید شدهو دست ها بر روی مرجع درخواست از آن، گفتن یک نفر که درخواست خود را تایید می کند در حالی که با یک انسان قرار دارد، زیان آورترین کاری است که یک دستیار چت می تواند برای یک کسب و کار تنظیم شده انجام دهد و این رفتار پیش فرض هر جریان خرده فروشی است. immediate.

payment_timing

on_confirmation, deposit_then_balance, invoice_later یا no_paymentاین تصمیم می گیرد که آیاOpsIQباز کردن یک صفحه پرداخت در همهپس نمی توان از آن غافل شد. payment_flow این می گوید کسی که کیست پول می گیرد، این می گوید چه زمانی و چه زمانیپس از آن شما را فاکتور کنید و برنامه هایی که هیچ هزینه ای برای ارسال ندارند، به جای رسیدن به لیست دروازه ای که خالی یا غلط است، در تأیید نهایی می شوند.

reversibility

reversible یا irreversibleمهم ترین چیزی که یک کانکتور مالی می گوید، اتاق را می توان آزاد کرد و بسته ای می تواند برگردد؛ انتقال کامل نمی تواند بدون هیچ مشکلی باشد، پول در انتهای دیگر وجود دارد و تنها راه حل آن این است که از غریبه درخواست بازگشت به آن را داشته باشید. irreversible نیروهای خودکار cancellation_flow برای none و هر گونه اقدام به انجام یک کار در جهت گیری هویت، هر چه این اعلامیه بیان کنددو زمینه مخالف است یک دولت برای حل و فصل در زمان اجرا توسط هر کدام از آنها خوانده شده است پیش فرض برای اولین بار. reversible.

cancellation_flow

none, platform_only یا connector_cancelنقش های لغو شده در حال حاضر بدون هیچ قاعده ای درباره اینکه چه کسی می تواند به آنها برسد وجود داشته است و دو حدس اشتباه در جهت مخالف شکست خورده اند: حدس بزنید باز و یک پیام چت رزرو پرداخت شده را بدون هیچ هزینه ای که نقل قول داده شده باشد، لغو کرده و مشتری که می خواهد کنسل شود، تلفن همراه است. connector_cancel همچنین نیاز cancellation_quote و order_cancel با بهبودی –OpsIQهیچ وقت قبل از اینکه بگوییم چه هزینه ای دارد، لغو نمی شود. none.

fulfilment_presence

customer_present یا remote_deliveryچه یک آدرس ایمیل غیر رسمی می تواند هزینه هر کسی را داشته باشد، مهمان هتل باید به آن برسد، بنابراین یک آدرس اشتباه منجر به دریافت و اتاق هنوز وجود دارد؛ بسته ارسال شده، سرور ارائه شده یا لینک دانلود بر روی قدرت این آدرس به تنهایی. این چیزی است که باعث می شود یک “تحقق ایمیل” اپراتور در دسترس باشد.و این را به جای انتخاب توسط آنها توسط شما اعلام می شود - بنابراین استدلال هتل هرگز نمی تواند با یک کانکتور که کالاهای کشتی. remote_delivery.

minimum_assurance و disclosure (اختیاری)

minimum_assurance اجازه دهید که درخواست کنید بیشتر بیشتر اثبات هویت نسبت بهOpsIQنیاز، هرگز کمتر - بانکی که نیازمند یک گام برای انتقال است، از قرارداد استفاده می کند و تنظیم آن همچنین توانایی اپراتور را برای رد تایید کانکتور شما حذف می کند، زیرا تصمیم ریسک خود یک بازرگان راحتی اپراتور را رتبه بندی می کند. disclosure کلمه ای که نشان داده شده قبل از قبل دکمه تایید، برای یک نرخ، هزینه یا حق خنک کننده شما باید ارائه دهید؛ بدون آن، قاچاق تجاری تنظیم شده نیاز به کلمه زدن به نام محصول دارد.

notify_flow

platform_automatic, platform_triggered یا noneهنگامی کهOpsIQپرداخت خود را هرگز اجرا نکنید، بنابراین هر آنچه که به طور معمول ایمیل ها هرگز آتش نمی زنند، ضبط سفارش پرداخت می شود؛ هیچ پلت فرمی برای گفتن هر کسی ندارد. platform_triggered نیاز order_notify نقش با بهبودی وOpsIQتنها پس از اینکه پرداخت هزینه های خواندن ثابت می کند که پول ثبت شده است، درخواست کنید. none باعث می شودOpsIQ- تأیید اجباری، زیرا در غیر این صورت یک مشتری پرداخت کننده هیچ چیز را نمی شنود. none.

همان قرارداد، ۹ کسب و کار غیر مرتبط

هیچ کدام از این ها در اطراف طراحی نشده اند.هر یک از آنها قراردادی است که صادقانه به صنعت دیگری پاسخ می دهد، با این حال، هر کدام از آن ها برای یک صنعت متفاوت، با وجود یک صنعت مختلف، به طور صادقانه جواب می دهند.OpsIQهیچ چیز در مورد هیچ یک از آنها نمی دانیم.

یک قرارداد، نه صنعت
Hotel        booking      immediate  deposit_then_balance  reversible    -> payment page, "confirmed", identity may be waived
Online shop  purchase     immediate  on_confirmation       reversible    -> payment page, "confirmed", identity always verified
Bank         transfer     immediate  on_confirmation       IRREVERSIBLE  -> payment page, no cancel route, never waived
Insurer      application  DEFERRED   no_payment            reversible    -> no payment page, "submitted", never "confirmed"
Utility      bill_payment immediate  on_confirmation       IRREVERSIBLE  -> payment page, nothing to give back
Clinic       booking      immediate  invoice_later         reversible    -> NO payment page, billed afterwards
Tradesman    booking      immediate  invoice_later         reversible    -> NO payment page, invoiced on completion
Telecom      top_up       immediate  on_confirmation       IRREVERSIBLE  -> payment page, final once sent
University   application  DEFERRED   no_payment            reversible    -> no payment page, decision follows
رویداد پرداخت شده برای پلتفرم ها

پس از پرداخت فروشگاه های بومی به طور فعال تایید و متعهد است.OpsIQانتشار payment.completed با order_id, payment_id/provider_ref, gatewayدقیق، amount_minorISO currencyمشتری، اقلام خط، کانال و paid_atیک کانکتور تجاری باید این شواهد را از طریق record_payment و آن را بخوانید؛ یک کانکتور میزبانی شده، رویداد پرداخت معتبر خود را مصرف می کند و نباید یک نوشتن پرداخت تکراری دریافت کند.

AI یک پیشنهاد دهنده است، نه منبع اقتدار

این مدل ممکن است یک محصول و کمیت اعلام شده را انتخاب کند، اما نمی تواند نام عملیاتی را انتخاب نماید، پرداخت را منتفی کند.URLیا ایجاد حالت بازرگان از متن. مشتری یک کارت امضا شده دقیق دریافت می کند و باید دکمه تأیید خود را فشار دهد، این تایید به فضای کاری، کانکتور، آیتم، مقدار، نقل قول، پول، نخ و انقضای بستگی دارد.

مشتریان اجتماعی بدون ایمیل همان جریان را حفظ می کنند

WhatsAppپیامبر،Instagram, TelegramLINE، SMS و X از حساب کانال ارائه دهنده به عنوان هویت مشتری استفاده می کنند.این پیشنهاد به آن حساب کانال امضا شده است و تأیید هنوز هم از طریق همان نقل قول تازه، سهام، IDempotency، پرداخت و کنترل بازیابی اجرا می شود. یک مشتری اجتماعی با استفاده از دقیق اقدام تایید یک بار در مکالمه خود؛ نثر معمولی مانند "بله" هیچگاه سفارش نمی دهد.

تاریخ سفارش یک لینک هویت دقیق را دنبال می کند، هرگز حدس ایمیل

سفارشات بومی توسط یک هویت کانال مبهم نمایه شده اند، بنابراین AI می تواند پاسخ دهد "نظم من کجاست؟" بدون درخواست ایمیل یا شماره سفارش.CRM/ مشتری ضبط و پیاده سازی مشتری / سفارش معتبر در کانکتور. ارائه دهندگان زمینه مشتری دریافت که لینک ذخیره شده؛ آنها نباید یک حساب را از نام صفحه نمایش یا ایمیل تایپ شده به چت با یک دستور مطابقت پاسخ AI به طور مستقیم؛ با چند آن را خلاصه بازی ها و پرسید که کدام یک; با هیچ کس نمی گوید تاریخ مرتبط است.

محموله را جهانی کنید: فیلدهای تایپ شده و هویت مالک سرور

هسته هیچWHMCSهتل، SaaS، فروشگاه، بانک، محصول، مسیر یا شعبه فروشنده. parameters شکل مشتری و طرح اسلات AI است.یک کانکتور رزرو می تواند تاریخ ها و مهمانان را اعلام کند؛ یک اتصال صورتحساب می تواند چرخه ای را اعلام نماید؛ یک کانکتور سازمانی آینده می تواند زمینه های امن خود را اعلام کرده باشد.OpsIQکنترل های اولیه را ایمن می کند و ارزش های جمع آوری شده را فقط به عمل اتصال نقشه شده ارسال می کند.

نوع عمل نقل قول
{
  "action_id": "acme_customer_quote",
  "scope": "client",
  "is_destructive": false,
  "parameters": [
    {"name":"external_customer_id","type":"string","required":true},
    {"name":"item_id","label":"Product","type":"string","required":true},
    {"name":"quantity","label":"Quantity","type":"integer","required":true,"minimum":1},
    {"name":"cycle","label":"Billing cycle","type":"select","required":false,
     "options":[{"value":"monthly","label":"Monthly"},{"value":"annual","label":"Annual"}]}
  ]
}

برای clients_only, تنظیم customer_ordering.identity_parameter به پارامتر عمل که شناسه مشتری خارجی کانکتور را دریافت می کند، این زمینه هرگز به یک مشتری نشان داده نمی شود و هر ارزش تماس گیرنده حذف شده است؛OpsIQتزریق فقط شناسه از یک اتصال تایید شده است. پرداخت مهمان آن را خالی می کند. ایمیل تایپ شده اثبات برای یک جستجوی مهمان اعلام شده، نه یک ورود و نه مجوز خرید.

دامنه های گروه: با این حال، حساب های مشتری امضا شده و پیکربندی کانکتور متعلق به محل کار پورتال گروهی اولیه است.با این وجود توکن هویت باید برای سایت دقیق عضو که ویجت را جاسازی می کند، با استفاده از راز وب سایت شرکت کننده امضا شود.OpsIQثابت می کند که سطح اول و تنها پس از آن تجارت و مشتری مرتبط را از طریق گروه اولیه حل می کند.هرگز جایگزین کلید سایت عضو با کلید اصلی نیست و هرگز راز اصلی یک سایت عضو را کپی نکنید.

پاکت های Canonical باید کانکتور را برگرداند

فهرست
{
  "success": true,
  "data": {"items":[{
    "id":"42", "name":"Example product", "summary":"Customer-safe summary",
    "currency":"USD", "unit_amount_minor":2500, "available":true,
    "selection":{"item_id":"42"}
  }]}
}
نقل قول
{
  "success": true,
  "data": {
    "quote_id":"opaque", "currency":"USD",
    "unit_amount_minor":2500, "total_amount_minor":5000,
    "selection":{"item_id":"42","quantity":2},
    "expires_at":"2026-08-31T14:05:00Z"
  }
}

پاسخ پلت فرم چک کردن نقل قول معتبر canonical را تکرار می کند و HTTPS را اضافه می کند. checkout_urlCore این نقل قول را در تأیید و مقایسه ارز، انتخاب کامل و پایدار دقیقا ترجمه پاسخ پلت فرم آن به این پاکت ها؛ هسته هرگز زمینه های فروشنده را ترجمه نمی کند و یا سازنده های بازرگان را می سازد.URL.

یک دروازه ی ساخت اپراتور را در فروشگاه بومی و چت موجود کنید

قابلیت پرداخت به تنهایی دروازه ای را در مقابل مشتریان قرار نمی دهد. خرید Native Store Payment Gate بلوک در Browser Builder اضافه می کند یک قرارداد نسخه صریح، نقشه های ساخت و بررسی پرداخت فعال، و اجازه می دهد تا دامنه های پرداخت میزبانی شده را فهرست کنید.هنگامی که کانکتور نصب شده، فعال و انتخاب شده تحت تنظیمات بازرگانی، همان دروازه ظاهر می شود در فروشگاه عمومی، ذخیره سازی، پردازش مشتری و پرداخت خودکار است.

قرارداد دروازه فروشگاه Native Store Gate
{
  "commerce": {
    "roles": {
      "checkout_create": { "operation": "acme_checkout_create", "transport": "http",
                           "recovery": "acme_payment_status" },
      "payment_status":  { "operation": "acme_payment_status", "transport": "http" },
      "payment_profile": { "operation": "acme_payment_profile", "transport": "http" },
      "webhook_verify":  { "operation": "acme_webhook_verify", "transport": "http" },
      "event_map":       { "operation": "acme_event_map", "transport": "http" },
      "payment_refund":  { "operation": "acme_refund", "transport": "http",
                           "recovery": "acme_refund_status" }
    },
    "storefront_gateway": {
      "enabled": true, "version": 1, "label": "Acme Pay",
      "checkout_hosts": ["checkout.acmepay.com", "*.acmepay.com"]
    }
  }
}
خروجی پردازش Canonical

نقشه های عملی پرداخت checkout_url و هنگامی که یک ارائه دهنده داشته باشد، session_id....URLباید HTTPS باشد، هیچ مدرکی نداشته باشد و با یک میزبان مجاز مطابقت داشته باشد.

خروجی وضعیت Canonical Status Output

عمل وضعیت یک ارائه دهنده جدید را انجام می دهدAPIجستجو و نقشه ها paid به عنوان یک بول واقعی، amount_minor به عنوان یک عدد صحیح، currency به عنوان یک کد سه حرفی و ISO provider_refبازگشتURLرشته پرس و جو، بارگذاری مشتری یا دستورالعمل های تأیید شده “تایید شده” هرگز حقیقت پرداخت نیست.

قرارداد بازپرداخت اختیاری

اگر دروازه از بازپرداخت پشتیبانی می کند، نقشه payment_refund و بازگشت به آفرینش، سخت است. accepted و completed booleans به اضافه provider_ref· بازیابی یک نگاه ارائه دهنده و بازگشت را انجام می دهد statusبدون هر دو عمل،OpsIQبازپرداخت کانکتور را تبلیغ نمی کند.

چه کسی دستور را تایید می کند

کانکتور هرگز نمی نویسدOpsIQوضعیت سفارشOpsIQمقدار بازگشت و ارز را دقیقاً مقایسه می کند و مرجع ارائه دهنده را ثبت می کند؛ تنها پس از آن هسته انتقال بانک دستی تنها جریانی است که یک عامل به نام نماینده می تواند تایید کند.

در Browser Builder، تیک تجارت تجاری, نقش ها را نقشه برداری کنید و هر دو را پیکربندی کنید سفارش مشتری فروشگاه Connected, خرید Native Store Payment Gateیا هر دو زمانی که کانکتور به طور واقعی هر دو قرارداد را فراهم می کند، جادوگر این اعلامیه را تایید و می نویسد. commerce_roles.jsonانتشارات هنوز از بررسی و امضای نرمال بازار استفاده می کند؛ این قرارداد هرگز تایید بسته را رد نمی کند یا اتصال غیر قابل نصب را تأیید می کند. php tools/verify_commerce_contracts.php.
💡
حمل و نقل http برای یک راه دورAPIیا bridge برای اجرای یک پل مستقر شده (نگاه کنید به NO)APIالگوی زیر) نقش های حمل و نقل- آگنوستیک هستند؛ زمان اجرا فقط نیاز به انتقال دارد تا بتواند یک پل را نسخه کند.
اتصال‌دهنده‌ها (Connectors)

فروش از طریق چت بدون اتصال: Actions & ماشه

قرارداد تجاری بالا نیازی به یک بسته اتصال ندارد.اگر پلت فرم شما متعلق به خودتان است – یک دفتر پشتی سفارشی، یک دفتر داخلیAPI, سیستمی که هیچ کس کانکتور را برای آن کشتی نمی کند - شما می توانید همان ماشین فروش را با دو ابزار که قبلاً از آن استفاده می کنید به ادغام هر چیز دیگر: اقدامات سفارشی ( نقاط انتهایی HTTP خود، تعریف شده در صفحه Actions) و محرک ها (حتی Webhooks)، همان کارت، تضمین هویت، همان هسته پرداخت، همان رسید.

چگونه با هم سازگار شود

شما یک اقدام سفارشی در هر نقش تجاری ایجاد می کنید – هر کدام یک نقطه پایانی ساده HTTPS در طرف شماست که تحت تعریف زیر قرار دارد. هوش مصنوعی و اتوماسیون→اقدامات با آنURLهدر و پارامترهای حقیقت، سپس شما یک اعلان را ذخیره می کنید که نقش آن اقدامات را ایفا می کند.از آن لحظه فروشگاه شما دقیقاً مانند یک کانکتور مورد حمایت به نظر می رسد: نقل قول های AI از هوش مصنوعی از آن طرف. شما خودتان نقل قول، کارت تایید ارائه می دهد، مشتری ایمیل خود را تأیید می کند، هسته سفارش تماس می گیرد شما خودتان دستور عمل با یک کلید هویتیOpsIQپرداخت از طریق دروازه های محل کار و شما خودتان کتاب های اکشن پرداخت سوابق آن هیچ چیز در مورد تجربه مشتری نمی گوید “ سفارشی”.

اعلامیه

پس انداز اینJSONبه عنوان محیط کاری commerce_custom_integration (تنظیمات)→تنظیمات پیشرفته، یا از طریق تنظیمات RESTAPIاین همان شکل یک بسته است. commerce_roles.json گره تجارت، با action نام گذاری شناسه های سفارشی خود:

commerce_custom_integration
{
  "enabled": true,
  "roles": {
    "catalog_search":  { "action": "acme_catalog" },
    "quote":           { "action": "acme_quote" },
    "order_get":       { "action": "acme_order_get" },
    "customer_create": { "action": "acme_customer_create",
                         "recovery": "acme_customer_by_email" },
    "order_create":    { "action": "acme_order_create",
                         "recovery": "acme_order_by_key" },
    "record_payment":  { "action": "acme_record_payment",
                         "recovery": "acme_payment_by_key" }
  },
  "customer_ordering": {
    "enabled": true, "version": 1,
    "mode": "direct_order",
    "audience": "guests_and_clients",
    "account_flow": "connector_signup",
    "payment_flow": "opsiq_gateway",
    "label": "Acme Store",
    "identity_parameter": "client_identifier",
    "quantity_parameter": "quantity",
    "transaction_kind": "purchase",
    "fulfilment_presence": "remote_delivery",
    "notify_flow": "platform_automatic"
  }
}

در نهایت اضافه کنید custom_commerce به کانکتورهایی که برای فروش در تنظیمات فعال شده اند→چت مشتری→فروش از طریق چت هر کس درخواست، و آن را با دلایلی به جای پنهان کردن فروشگاه خود رد می کند: نقشی که حالت شما نیاز دارد این نقشه ها به هیچ وجه، یک نقش نوشتن بدون عمل بهبودی (§ بند)15.7– نوشتنی که نمی تواند دوباره انجام شود، امتناع می شود؛ اقدامی که از زمان نجات شما حذف شده یا غیرفعال شده است.

هر عمل باید چه کند

بازگشت پاکت کانکتور

پاسخ {"success": true, "data": { ... }} یا {"success": false, "error": "a sentence a customer may read"}اقدام شما مسیر موفقیت باید در پاکت اشاره کنید.

نقل قول: کل در واحدهای کوچک

بازگشت برگشت quote_id, product_name, quantity, unit_amount_minor, total_amount_minor, currency, selection, selection_summary, expires_atهمه چیز در "کل شما تنها رقمی است که پول را حرکت می دهد" بخش فوق از فعل و انفعال استفاده می کند: مالیات، هزینه ها و مولتیپلرها به طور کلی شما را می برند، زیرا کل شما چیزی است که امضا شده، نشان داده شده و شارژ شده است.

ایجاد سفارش: به کلید idempotency افتخار کنید

دریافت می کنید idempotency_keyامضا شده total_minor و currency, تایید customer_emailو پارامترهای نقل قولی خود را ذخیره کلید با سفارش; اگر شما قبلا یک دستور برای آن ایجاد کرده اید, بازگشت این سفارش به جای یک دوم چک کردن پول - اگر سیستم شما قیمت متفاوت از کل امضا شده، اجتناب مجدد به جای کمتر شارژ. reference پلت فرم شما تشخیص می دهد.

بازیابی: پاسخ در مورد یک نوشتن

order_by_key کلید و پاسخ های احتمالی را دریافت کنید {"found": true, "order": {...}} یا {"found": false}. یافت شد: نادرست یک وعده است... OpsIQ ممکن است تلاش نوشتن را بر اساس قدرت آن تکرار کند. یک تغذیه وضعیت یا فهرست سفارشات اخیر پاسخی در مورد یک نوشتن نیست.

پرداخت رکورد: مسیر حل و فصل خود

شناسه معامله دروازه را به عنوان کلید idempotency علاوه بر مرجع سفارش خود، پس از دریافت کنید.OpsIQبه طور فعال مقدار و ارز را با دروازه تأیید کرده است.مارک سفارش پرداخت شده از طریق منطق خود پلت فرم شما - ایمیل های خود را آتش می زند، سهام خود را کاهش می دهد. platform_notified: true اگر پلتفرم شما خود مشتری را ایمیل کند.

ورودی کارت از پارامترهای عمل شما می آید

هر پارامتری که در عمل QUOTE خود (بر خلاف پارامتر هویت) اعلام می کنید که AI جمع آوری نکرده است بر روی کارت تأیید به عنوان ورودی مشتری پر کردن خود - یک دامنه، یک تاریخ، برچسب آنها را خوب؛ برچسب چیزی است که مشتری می خواند.

محرک ها: فروش خود را بشنوید

دو رویداد آتش در اتوبوس مشترک رویداد، بنابراین وب سایت شما هر گونه فروش چت را می شنود:

commerce.order.created

لحظه ای که سفارش در سمت بازرگان قرار دارد، قبل از پرداخت – مرجع، اتصال (یا custom_commerce• مقدار، پول، ایمیل مشتری، شناسه موضوعات.

commerce.payment.confirmed

دقیقاً یک بار در هر سفارش، هنگامی که دروازه به طور فعال پرداخت را تأیید می کند، همان ادعا را می کند که از دریافت های تکراری جلوگیری می کند و بنابراین نمی تواند وب سایت شما را دو برابر کند.

هنگامی که به یک کانکتور فارغ التحصیل می شود

ادغام سفارشی پیکربندی فضای کاری است: آن را به فروشگاه خود، در فضای کار شما خدمت می کند. لحظه ای که می خواهید یکپارچگی را توزیع کنید - دیگر فضاهای کاری، بازار، نسخه بندی، نصب و نصب پرداخت شده - بسته همان اقدامات و بیانیه مشابه به عنوان یک اتصال تغییر نمی کند؛ تنها بسته بندی انجام می دهد.

اتصال‌دهنده‌ها (Connectors)

یک پلتفرم را که هیچ چیز ندارد متصل کنید.API( الگوی پل)

بسیاری از سیستم عامل های واقعی بدون RESTAPIبه طور کلی، یک CMS هتل، یک سیستم صورتحساب قدیمی، یک ابزار داخلی است.شما هنوز می توانید کامل بنویسید.OpsIQاتصال برای یک: کانکتور یک فایل PHP را که اپراتور به ریشه وب عمومی خود وارد می کند، و آن فایل IS است.APIاین صفحه کل الگو است، با قوانینی که آن را برای اجرا و دلیل پشت هر قانون ایمن می کند.

شکل آن

یک کانکتور معمولی تماس های شخص دیگری را می گیردAPIاتصال پل خود را به ارمغان می آورد هیچ چیز دیگر تغییر نمی کند: اقدامات مشابه، ارائه دهندگان زمینه، همان قرارداد هویت، همان طرح بسته.

1
شما یک فایل PHP می نویسید

It lives in your package at bridge/opsiq-<platform>-bridge.php. It talks to the platform's database directly, or boots the platform's framework, or both. It answers JSON.

2
اپراتور آن را به وب سایت خود کپی می کند

در کنار index. php خود پلتفرم، هیچ کد پلت فرمی اصلاح نشده است، هیچ پلاگین نصب نمی شود و هیچ چیز برای حفظ ارتقاء پلتفرم ها وجود ندارد.

3
پنل کانکتور به آنها فایل را می دهد

تنظیمات شماjsonWebhook_help.snippet_template را اعلام می کند که صفحه اتصال آن را به عنوان یک فایل کپی شده با تنظیمات زنده خود در حال حاضر جایگزین کرده است، بنابراین هیچ چیز برای ویرایش دستی وجود ندارد.

4
OpsIQآن را سرور به سرور می نامند.

Client.php شما درخواست های GET را با کلید مشترک در یک X ارسال می کندOpsiqدانلود بازی Bridge-Key headerURLتنظیمات ریشه سایت پلت فرم است.

سازنده پلاگین می تواند این را برای شما در حال حاضر تولید کند.انتخاب “Platform بدون هیچ گونهAPIپروفایل (یا تنظیم دسترسی داده به پل) و آن را منتشر فایل پل، قطعه پانل تطبیق و اقدامات تایپ شده است که خواندن و نوشتن از طریق آن - برای یک برنامه Laravel خواندن آن.env، برایWordPressخواندن wp-config.php یا با اعتبارهایی که برای هر چیز دیگری به کار می برید، حالت پل تأییدیه را به حالت دیگر اصلاح می کند.OpsIQپروتکل پل: کانکتور به طور ایمن تولید می کند api_key وقتی که فعال می شود، آن را به عنوان X-Opsiq-Bridge-Keyو همان ارزش ذخیره شده را به هم متصل می کند. OPSIQ_BRIDGE_KEY در فایل کپی شده. Hand-author تنها زمانی که پلت فرم شما هیچ کدام از آن ها نیست، یا هنگامی که نیاز به رفتار پل تولید شده ندارید، یک پل دست نوشته شده از جادوگر امن است: این فقط یک فایل پل را با مارکر خود می نویسد.
💡
همه چیز در این صفحه در PHP در مقابل نشان داده شده است.MySQLبه این دلیل که این پیاده سازی مرجع و تنها ترکیب خط لوله بسته بندی به طور کامل پشتیبانی می کند، خود الگو زبان آگنوستیک و موتور آگنوسستیک است: "پل در زبانهای دیگر و پایگاه های داده دیگر" برای دروازه در Node، پایتون، Go، Ruby، .NET و جاوا، جستجوی introspection for.PostgreSQL, SQLسرور،SQLiteو اوراکل وMongoDBمعادل - همراه با محدودیت بسته بندی که تصمیم می گیرد چگونه یک پل غیر PHP به اپراتور برسد.

مدل امنیتی و چرا هر قانون وجود دارد

این فایل در یک ریشه عمومی پشت یک کلید مشترک قرار دارد که هر قاعده را در زیر هدایت می کند، هیچ کدام از آنها را برای ساده تر کردن پل خود آرام نکنید.

فروشنده هرگز عرضه نمی کندSQL

نه یک بند، نه یک قطعه ORDER BY، بلکه یک پارامتر جستجوی خام "فقط این بار" نیست. The caller نام میز، ستون و ارزش؛ فایل شما بیانیه را ایجاد می کند.SQLمتن، یک کلید مشترک تبدیل به اجرای پایگاه داده های خودسرانه می شود.

نام جدول و ستون در برابر اطلاعات تایید شده است

شناسه ها نمی توانند به عنوان پارامترهای محدود شوند، بنابراین باید در عوض بررسی شوند.در واقع جدول واقعی و فهرست ستون برای این پایگاه داده را بخوانید و هیچ چیز را بر روی آن رد نکنید.یک شناسه که یک شی واقعی از این طرح نیست، پس نمی تواند به یک پرس و جو تمام شود – چیزی است که باعث می شود هر میز امن باشد.

هر مقدار یک پارامتر ثابت است.

بدون استثنا، از جمله ارزش های موجود در یک جستجو. شناسه های معتبر و به علاوه مقادیر محدود جفتی است که سطح را کامل می کند و سطح تزریق nil.

خواندن جهانی است، می نویسد اجازه داده شده

بلوک بعدی را ببینید، این قانون است که اکثر مردم می خواهند از آن استفاده کنند.

ستون های مخفی بر روی خواندن و امتناع از نوشتن

مطابقت بر روی ستون: نام رمز عبور، به یاد داشته باشید_token، راز، api_key، Private_key ، نمک، توکن، جایگزین ارزش با یک سهامدار در راه خروج.

حذف ها تک نفره هستند، با کلید اصلی

هرگز یک حذف عمده، هرگز با فیلتر کردن حذف نمی شود.یک حذف بزرگ این است که چگونه یک پایگاه داده می میرد اگر کسی واقعا به یکی نیاز دارد، آنها می توانند آن را در پلت فرم انجام دهند.

خواندن ها به صورت ردیفی

پارامتر محدودیت را با یک جستجوی سخت سقف قرار دهید، نباید قادر به تخلیه پایگاه داده از طریق پیام چت باشد.

شکست بسته تا زمانی که کلید تنظیم شود

پاسخ های پل بدون پیکربندی403به همه چیز، پل که قبل از پیکربندی مفید است، یک پل است که برای غریبه مفید بود.

مقایسه کلید زمان دائمی، کلیدی در یک هدر

هش_equals، هرگز == کلید در X-X می رود.Opsiq- Bridge-Key، نه رشته پرس و جو، بنابراین از log های دسترسی، ورودی پروکسی و هدرهای ارجاعی خارج می شود.

فقط

یک روش، یک شکل، هیچ چیز برای قاچاق در بدن نیست.همه چیزهایی که پل به عنوان یک GET با پارامترهای معتبر و قابل اعتماد بیان است.OpsIQتنها تماس گیرنده است.

خواندن جهانی، می نویسد اجازه لیست - و چرا

این قانون است که با آن بحث می شود، بنابراین در اینجا استدلال به طور کامل وجود دارد. دستیار باید بتواند کل پلت فرم را ببیند: این چیزی است که آن را مفید می کند و یک خواندن نمی تواند هر چیزی را از بین ببرد. نوشتن ها متفاوت هستند، این فایل در یک وب عمومی پشت یک کلید مشترک قرار می گیرد اگر نشت کلیدی، یک سطح نوشتن نامحدود باعث نشت کامل داده شده - رزرو یک صفحه جدید بدون قفل نشده اجازه نمی دهد تا کاربر هنوز یک لیست کلید افشا شود.

⚠️
کارت تأیید OpsIQ هوش مصنوعی را کنترل می‌کند ، نه کلید. مدیر که بر روی اجازه در یک عمل مخرب کلیک می‌کند ، کنترل دستیار است. این کنترل کسی نیست که کلید پل را در اختیار دارد. آنها دو تهدید متفاوت هستند ، و فهرست اجازه پاسخ به دومین آن است.
دروازه های اپراتور، از پل بوتبل
/* ── WRITE ALLOW-LIST — which tables the assistant may CHANGE here.
 *
 * READS are unrestricted: the assistant can see every table in the platform.
 * WRITES are limited to this list, because this file sits in a PUBLIC webroot
 * behind ONE shared key — an allow-list means that even a leaked key cannot
 * reach a table you never enabled (no new admin users, no emptied bookings).
 *
 * Comma-separated table names. Add tables as you need them — e.g. append
 * ',pages,posts' to let the assistant edit site content. Set it to '*' to
 * allow every table, deliberately. Empty falls back to the hotel defaults. ── */
const OPSIQ_WRITE_TABLES = 'ht_bookings,ht_booking_rooms,ht_booking_addresses,ht_rooms,ht_room_types,ht_customers,customers';

دو جزئیات در چک زیر آسان است برای اشتباه گرفتن نام جدول در حال حاضر RESOLVED، حمل پیشوند جدول نصب شده، در حالی که یک اپراتور می نویسد پیشوند لیست اجازه داده نشده زیرا آن چیزی است که آنها به طور طبیعی تایپ می کنند یا یک نصب پیشوند به صورت سکوت هیچ و هر وقفه نوشتن را رد نمی کند و باید خود را توضیح دهد، زیرا فرد خواندن آن را با یک پنجره چت نمی کند.

چک لیست اجازه، فعل از Market_connectors /botble/bridgeopsiqبوتبل-bridge.php
/** Tables a WRITE may touch. Empty = the built-in defaults. */
$writeAllowed = static function (string $table) use ($prefix): bool {
    $raw = trim((string)(defined('OPSIQ_WRITE_TABLES') ? OPSIQ_WRITE_TABLES : ''));
    if ($raw === '') $raw = 'ht_bookings,ht_booking_rooms,ht_rooms,ht_customers,customers';
    if (trim($raw) === '*') return true;                     // explicit opt-in to everything
    $bare = ($prefix !== '' && stripos($table, $prefix) === 0) ? substr($table, strlen($prefix)) : $table;
    foreach (explode(',', $raw) as $t) {
        $t = trim($t);
        if ($t === '') continue;
        if (strcasecmp($t, $table) === 0) return true;
        if (strcasecmp($t, $bare)  === 0) return true;
        if ($prefix !== '' && strcasecmp($prefix . $t, $table) === 0) return true;
    }
    return false;
};

/** One refusal, one explanation — used by every write op. */
$requireWritable = static function (string $table) use ($writeAllowed): void {
    if ($writeAllowed($table)) return;
    opsiq_bridge_out(['success' => false, 'error' =>
        'write_not_allowed: "' . $table . '" is not in this bridge\'s write allow-list. '
        . 'Reads are unrestricted. To permit writes here, add the table to OPSIQ_WRITE_TABLES '
        . 'in opsiq-botble-bridge.php (or set it to "*" to allow every table).'], 403);
};

دروازه، در تمام

چهار چک، در این ترتیب قبل از هر چیزی اطلاعات را لمس می کند.

چهار چک دروازه برای
<?php
declare(strict_types=1);

/* ── EDIT THIS: a long random secret (40+ chars). Empty = bridge OFF. ── */
const OPSIQ_BRIDGE_KEY = '';

header('Content-Type: application/json; charset=utf-8');
header('Cache-Control: no-store');

function opsiq_bridge_out(array $payload, int $code = 200): void
{
    http_response_code($code);
    echo json_encode($payload, JSON_UNESCAPED_SLASHES);
    exit;
}

/* 1. Fail closed. An unconfigured bridge answers nothing to anyone. */
if (OPSIQ_BRIDGE_KEY === '' || strlen(OPSIQ_BRIDGE_KEY) < 24) {
    opsiq_bridge_out(['success' => false, 'error' => 'bridge_not_configured'], 403);
}
/* 2. One method. */
if (strtoupper((string)($_SERVER['REQUEST_METHOD'] ?? '')) !== 'GET') {
    opsiq_bridge_out(['success' => false, 'error' => 'method_not_allowed'], 405);
}
/* 3. Constant-time key comparison, key from a header (never the query string). */
$given = (string)($_SERVER['HTTP_X_OPSIQ_BRIDGE_KEY'] ?? '');
if ($given === '' || !hash_equals(OPSIQ_BRIDGE_KEY, $given)) {
    opsiq_bridge_out(['success' => false, 'error' => 'forbidden'], 403);
}
/* 4. Only now read credentials and connect. */

اعتبارسنجی شناسه ها در برابر اطلاعات_schema

این قطعه است که تبدیل به " دستیار می تواند هر میز" از بی پروا به امن، حل نام جدول تماس گیرنده در برابر طرح واقعی، تحمل یک پیشوند جدول گم شده و یا اضافی، و بازگشت null برای هر چیز دیگر پس از آن کار با نامی که به طور بالقوه وجود دارد.

اعتبار و عملکرد قرمز، فعل و انفعال از پل بوتبل
/** Real tables in THIS database — the allow-list, straight from the DB. */
$allTables = static function () use ($pdo, $db): array {
    static $cache = null;
    if ($cache !== null) return $cache;
    $st = $pdo->prepare('SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = ? ORDER BY TABLE_NAME');
    $st->execute([$db]);
    return $cache = array_map('strval', $st->fetchAll(PDO::FETCH_COLUMN));
};

/** Resolve a caller-supplied table name to a REAL one, or null. */
$resolveTable = static function (string $name) use ($allTables, $prefix): ?string {
    $name = trim($name);
    if ($name === '' || !preg_match('/^[A-Za-z0-9_]+$/', $name)) return null;
    $tables = $allTables();
    foreach ($tables as $t) if (strcasecmp($t, $name) === 0) return $t;
    /* Tolerate a missing or extra table prefix. */
    foreach ($tables as $t) {
        if (strcasecmp($t, $prefix . $name) === 0) return $t;
        if ($prefix !== '' && strcasecmp($prefix . $t, $name) === 0) return $t;
    }
    return null;
};

/** Column introspection: table => [column => true]. Cached per request. */
function opsiq_bridge_columns(PDO $pdo, string $db, string $table): array
{
    static $cache = [];
    if (isset($cache[$table])) return $cache[$table];
    $stmt = $pdo->prepare('SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?');
    $stmt->execute([$db, $table]);
    $cols = [];
    foreach ($stmt->fetchAll(PDO::FETCH_COLUMN) as $c) $cols[strtolower((string)$c)] = true;
    return $cache[$table] = $cols;
}

/** Columns whose VALUES must never leave the platform. */
$secretCol = static function (string $c): bool {
    return (bool)preg_match('/(^|_)(password|remember_token|secret|api_key|private_key|salt|token)($|_)/i', $c);
};
/** Columns a write may never touch — auth material. */
$writeBanned = static function (string $c): bool {
    return (bool)preg_match('/(^|_)(password|remember_token)($|_)/i', $c);
};
/** Strip secret values from a row before it leaves the server. */
$redact = static function (array $row) use ($secretCol): array {
    foreach ($row as $k => $v) if ($secretCol((string)$k)) $row[$k] = '[redacted]';
    return $row;
};

یک مقاله خواندن و یک نوشتن کامل،

توجه داشته باشید که چه چیزی محدود است و چه چیزی تایید شده است. ستون فیلتر در برابر فهرست ستون واقعی بررسی می شود و سپس به عنوان یک شناسه تقسیم می شود؛ ارزش آن محدود است. Rows بر روی راه خارج از صفحه نمایش داده می شوند. بروزرسانی کلید اصلی و هر ستون حقیقت را رد نمی کند، و تمبرهایی که به روز رسانی می شوند_at هنگامی که میز یکی دارد.

هر جدول را بخوانید – شناسه های معتبر، ارزش های محدود، ردیف های برشی
case 'query': {
    $t = $resolveTable((string)($_GET['table'] ?? ''));
    if ($t === null) opsiq_bridge_out(['success' => false, 'error' => 'unknown_table'], 404);
    $cols = opsiq_bridge_columns($pdo, $db, $t);
    if (!$cols) opsiq_bridge_out(['success' => false, 'error' => 'unknown_table'], 404);

    $sql = "SELECT * FROM `$t` WHERE 1=1";
    $args = [];

    /* Equality filter: column must be REAL, value is bound. */
    $wc = strtolower(trim((string)($_GET['where_column'] ?? '')));
    if ($wc !== '') {
        if (!isset($cols[$wc])) opsiq_bridge_out(['success' => false, 'error' => 'unknown_column: ' . $wc], 400);
        $sql .= " AND `$wc` = ?";
        $args[] = (string)($_GET['where_value'] ?? '');
    }
    /* Ordering: column validated, direction from a fixed pair. */
    $ob = strtolower(trim((string)($_GET['order_by'] ?? '')));
    if ($ob !== '' && isset($cols[$ob])) {
        $dir = strtoupper(trim((string)($_GET['order'] ?? 'DESC'))) === 'ASC' ? 'ASC' : 'DESC';
        $sql .= " ORDER BY `$ob` $dir";
    } elseif (isset($cols['id'])) {
        $sql .= " ORDER BY `id` DESC";
    }
    /* Hard row cap. */
    $lim = (int)($_GET['limit'] ?? 25);
    if ($lim < 1)   $lim = 25;
    if ($lim > 200) $lim = 200;
    $off = max(0, (int)($_GET['offset'] ?? 0));
    $sql .= " LIMIT $lim OFFSET $off";

    $st = $pdo->prepare($sql);
    $st->execute($args);
    $rows = array_map($redact, $st->fetchAll());
    opsiq_bridge_out(['success' => true, 'data' => [
        'table' => $t, 'returned' => count($rows), 'rows' => $rows,
    ]]);
}
یک ردیف بنویسید – میز لیست شده، ستون های حقیقت را رد کرد، تک آهنگ ها توسط کلید اصلی
case 'record.update': {
    $t = $resolveTable((string)($_GET['table'] ?? ''));
    if ($t === null) opsiq_bridge_out(['success' => false, 'error' => 'unknown_table'], 404);
    $requireWritable($t);                       // the allow-list, before anything else
    $cols = opsiq_bridge_columns($pdo, $db, $t);
    $pk   = $primaryKey($t);
    $id   = (string)($_GET['id'] ?? '');
    if ($id === '') opsiq_bridge_out(['success' => false, 'error' => 'id_required'], 400);

    $set = json_decode((string)($_GET['set'] ?? ''), true);
    if (!is_array($set) || !$set) opsiq_bridge_out(['success' => false, 'error' => 'set_json_required'], 400);

    $frag = []; $args = [];
    foreach ($set as $col => $val) {
        $col = strtolower(trim((string)$col));
        if (!isset($cols[$col]))  opsiq_bridge_out(['success' => false, 'error' => 'unknown_column: ' . $col], 400);
        if ($writeBanned($col))   opsiq_bridge_out(['success' => false, 'error' => 'refused: "' . $col . '" is auth material - change it through the platform own password flow, never by direct write.'], 400);
        if ($col === $pk)         opsiq_bridge_out(['success' => false, 'error' => 'refused: the primary key cannot be rewritten.'], 400);
        if (is_array($val) || is_object($val)) $val = json_encode($val, JSON_UNESCAPED_SLASHES);
        $frag[] = "`$col` = ?";
        $args[] = ($val === null) ? null : (string)$val;
    }
    if (isset($cols['updated_at']) && !isset($set['updated_at'])) $frag[] = '`updated_at` = NOW()';

    $before = $pdo->prepare("SELECT * FROM `$t` WHERE `$pk` = ? LIMIT 1");
    $before->execute([$id]);
    $prev = $before->fetch();
    if (!$prev) opsiq_bridge_out(['success' => false, 'error' => 'not_found'], 404);

    $args[] = $id;
    $up = $pdo->prepare("UPDATE `$t` SET " . implode(', ', $frag) . " WHERE `$pk` = ? LIMIT 1");
    $up->execute($args);
    opsiq_bridge_out(['success' => true, 'data' => [
        'table' => $t, 'id' => $id, 'changed' => $up->rowCount(),
        'before' => $redact(array_intersect_key($prev, $set)),
    ]]);
}

تفاوت های طرح بقا

نسخه های پلتفرم متفاوت هستند. ستون ها حرکت می کنند، تغییر نام می دهند یا غایب هستند.یک پل که فرض می کند یک طرح بر روی یک نصب کار می کند و به جای آن سازگار است: تنها ستون هایی را انتخاب کنید که در اینجا وجود دارند، پیشوند جدول را تحمل می کنند و یادداشت های قابل قبول مرجع را امتحان کنید.

دانلود بازی کره ای The Botble Bridge
/* Only ever select columns that exist on THIS install. */
$pick = static function (array $cols, array $wanted, string $alias = 'b'): string {
    $out = [];
    foreach ($wanted as $c) if (isset($cols[$c])) $out[] = "`$alias`.`$c`";
    return $out ? implode(', ', $out) : "`$alias`.*";
};

/* References vary: stored with or without a leading "#", with or without an
 * operator-configured alpha prefix, or only as a numeric id. Try every
 * plausible form — the PROOF match is what actually gates disclosure, so
 * tolerant matching here is safe. */
$refCandidates = [$ref, '#' . $ref];
$digitsOnly = preg_replace('/\D+/', '', $ref);
if ($digitsOnly !== '' && $digitsOnly !== $ref) {
    $refCandidates[] = $digitsOnly;
    $refCandidates[] = '#' . $digitsOnly;
}
$refCandidates = array_values(array_unique($refCandidates));
💡
به پل خود یک مقاله بدهید که گزارش می دهد STRUCTURE تنها - که جداول حل شده، که ستون میز اصلی است و SHAPE جدیدترین مرجع با هر دیجیتال ماسک شده است، کلید مانند همه چیز دیگر است، و آن را تبدیل "نگاه هیچ چیزی" از بلیط پشتیبانی به یک پاسخ ده ثانیه پیدا نمی کند.

خطای یکنواخت و تله ی enumeration

یک شکل برای همه چیز

Success is {"success":true,"data":{...}}. Failure is {"success":false,"error":"snake_case_reason"}. Your Client.php and every action then have exactly one response shape to handle.

عدم موفقیت و عدم تطابق باید یکسان باشد

در سطح جستجو، مرجعی که وجود ندارد و مرجعی است که اثبات آن مطابقت نداشته باشد باید پاسخ SAME را تولید کند.پاسخ های مختلف پل شما را به یک اوراکل تبدیل می کنند که تأیید می کند کدام ارجاع ها واقعی هستند، که صادرات رایگان مشتری برای هر بیمار است.

هرگز دلیل را برای بازدید کننده فاش نکنید

این پل می تواند دقیق باشد.OpsIQآنچه که به یک بازدید کننده می رسد، توسطOpsIQدر یک امتناع ثابت.

فایل کپی شده در پنل کانکتور

اپراتور هرگز مخزن شما را باز نمی کند.آنها پانل کانکتور را در داخل باز می کنندOpsIQو کپی مطبوعات، این نسخه از تنظیمات می آید.jsonو باید همان برنامه به عنوان پل / *.php باشد.

تنظیماتjsonورود پانل برای یک اتصال پل
{
  "settings": [
    { "key": "base_url", "label": "API base URL", "type": "text", "required": true },
    { "key": "api_key",  "label": "Bridge key",   "type": "password", "required": true,
      "autogenerate": true,
      "help": "Auto-generated the moment you enable the connector. It must match OPSIQ_BRIDGE_KEY inside the bridge file; the copyable file below already carries this value once saved." }
  ],
  "webhook_help": {
    "title": "One file, three surfaces",
    "body": "This platform has no public REST API, so this ONE file IS the API. Copy it into the site PUBLIC webroot, keeping the filename.",
    "snippet_filename": "opsiq-yourplatform-bridge.php   (drop next to the site index.php)",
    "snippet_template": "<?php\n/* ... the whole bridge file ... */\nconst OPSIQ_BRIDGE_KEY = \u0027{{setting:api_key}}\u0027;\n..."
  },
  "snippet_bindings": [
    { "assignment": "OPSIQ_BRIDGE_KEY", "setting": "api_key" }
  ]
}
{{setting:key}} carries live values

The connector panel substitutes {{setting:<key>}} in the snippet with that connector's saved value, so the copied file already contains the operator's generated bridge key and needs no hand-edit. An empty or unsaved setting leaves the token visible, so the operator can see exactly what is still missing.

Snip_bindings زنده مانده بازسازی

هر یک از تخصیص های مخفی تولید شده را به طور واضح تعریف کنید، ابزار همگام سازی کپی پنل را از پل حمل شده بازسازی می کند و سپس دوباره آن را بازیابی می کند. OPSIQ_BRIDGE_KEY = {{setting:api_key}} از این اتصال، بدون آن، یک ارتقاء می تواند به طور وفادار فایل بسته کلیدی را کپی کند و به آرامی جایگذاری کلید قابل اجرا اپراتور را حذف کند. Connector Builder این الزام را به صورت خودکار برای بسته های پل تولید شده منتشر می کند.

سایر صاحبان جای جایگزین شده سرور هستند

مستقل از آن،{webhook_url}, {webhook_path}, {webhook_secret}, {site_key}, {base_url}و{slug}قبل از اینکه پنل تا به حال قطعه را ببیند، پر شده اند.

وب سایت Shake_help ممکن است یک شی یا لیست باشد

یک لیست چندین قطعه در یک پنل به شما می دهد، مثلاً فایل پل و قلاب جداگانه رله.

🚫
فایل پل را با دست نگه ندارید و کپی پنل دو نسخه از یک برنامه است، و آنها حرکت می کنند - یک پل ارتقا یافته بود و کپی پانل آن نه، بنابراین هر کسی که دوباره نصب شده و کپی شده از پنل نصب پل قدیمی و در سکوت هر توانایی جدید شناسایی شده است: مطابقت، امضا تصویب شد، آزمون های تصویب شده.
دو نسخه را یکسان نگه دارید
# Regenerate every package's panel snippet from its bridge file
php tools/sync_connector_bridge_snippets.php --apply

# Show what would change, without writing
php tools/sync_connector_bridge_snippets.php

Drift is now a failing conformance check, not a support ticket: the verifier compares the two line by line (ignoring the {{setting:...}} placeholders, which are supposed to differ) and names the first line that differs. Run the sync tool as the last step before every release, right before signing.

چه چیزی باید پل را افشا کند

عملیات شکل گرفته و سطح داده های جهانی، با هم، آنهایی که شکل می گیرند پاسخ های منظم و هدفمند به پرسش هایی را که مردم واقعاً از آن ها سوال می کنند برمی گردانند؛ افراد جهانی همه چیز دیگر را پوشش می دهند تا دستیار هرگز گیر نیفتد.

نوشته های شکل یافته

آمار، فهرست اصلی شی با فیلترها، یک شیء با ردیف های مرتبط آن، کاتالوگ آنچه فروخته می شود، جستجوی مشتری با تاریخ است.این پاسخ خوبی در یک تماس به جای پنج می دهد.

نوشته های شکل یافته

دو یا سه تغییر دولتی که مهم است - وضعیت را تنظیم می کنند، لغو می شوند و ارزش های پذیرفته شده را که اجازه لیست شدن دارند، نگه می دارند.

تجارت نوع

برای یک پلت فرم قابل فروش، کاتالوگ هدف، نقل قول، پرداخت / سفارش و عملیات کاهش پرداخت را افشا می کند، سپس آنها را در نقشه برداری قرار دهید. commerce_roles.json با transport: bridgeهرگز نقش نوشتن تجارت را در رکورد جهانی ایجاد/ به روز رسانی سطح نقشه برداری نکنید.

کشف جهانی

جداول (با شمارش ردیف) و توصیف (قطب، انواع، کلید اصلی، به علاوه پرچم های قابل خواندن و قابل توجه در هر ستون) این است که چگونه دستیار یک پلت فرم را یاد می گیرد که پیش بینی نکرده اید.

کتاب جهانی و نوشتن

جستجو، ثبت نام، ثبت، ضبط. به روز رسانی رکورد، حذف هر یک از آنها معتبر به عنوان نشان داده شده در بالا.

هویت، قبل از دروازه کلیدی

کاوشگرهای هویت توسط BROWSER ADMIN، همان-origin نامیده می شوند، بنابراین نمی توانند یک هدر سفارشی ارسال کنند. تأیید آنها خود جلسه پلت فرم است که آنها را از تمام داده های ضبط دور نگه دارید و هرگز اجازه ندهید آنها یک صفحه شناسایی کانکتور را باز گردانند.

تشخیص

op=diag, structure only, masked.

نقشه بازی Bridge Business
{
  "commerce": {
    "roles": {
      "catalog_search": {"operation":"hotel_catalog_search","transport":"bridge"},
      "quote":          {"operation":"hotel_quote","transport":"bridge"},
      "order_create":   {"operation":"hotel_order_create","transport":"bridge",
                           "recovery":"hotel_order_get"},
      "order_get":      {"operation":"hotel_order_get","transport":"bridge"},
      "record_payment": {"operation":"hotel_record_payment","transport":"bridge",
                           "recovery":"hotel_order_get"}
    },
    "customer_ordering": {
      "enabled":true, "version":1, "mode":"direct_order",
      "audience":"guests_and_clients", "account_flow":"guest_checkout",
      "payment_flow":"opsiq_gateway"
    }
  }
}
💡
نقش canonical کنترل توالی و اقتدار را در اختیار دارد؛ عملیات پل حمل کننده نوع پلتفرم خود را حفظ می کند.یک هتل ممکن است نیاز به ورود، خروج و مهمانان داشته باشد.WHMCSممکن است نیاز به یک مشتری موجود یا ثبت نام متعلق به کانکتور داشته باشد و یک پلتفرم SaaS ممکن است نیازمند چرخه صورتحساب باشد. Core هرگز این زمینه ها را سخت نمی کند.این پل باید خدمات تجاری پلت فرم را به طوری که سهام، مالیات، فاکتورها، ایمیل تأیید و قلاب همه اجرا می شوند، فراخوانی کند.
⚠️
record_payment نه یک میانبر قیمت علامت گذاری شده است. پذیرش تنها شواهد ارائه دهنده سرور: سفارش دقیق، بازرگان، مقدار، ارز ISO، مرجع ارائه دهنده، زمان بندی تازه تایید شده و IDempotency کلید آن را از طریق پرداخت پلت فرم / در صورت صورتحسابAPIسپس یک سفارش معتبر یا فاکتور خواندنی را بازگردانید.یک نتیجه ناشناخته باید قبل از هر گونه بازآموزی بهبود یابد.
💡
یک کانکتور خواندنی به هیچ وجه نیازی به لیست اجازه ندارد، اگر پلت فرم شما فقط به سؤالات پاسخ می دهد، یک پل را بدون نوشتن ارسال و کل کلاس ریسک نوشتن ناپدید می شود، اضافه می نویسد که وقتی کسی از آنها درخواست می کند.

چک لیست قبل از اینکه یک پل را کشتی

این پل همه چیز را بدون هیچ مجموعه کلیدی رد می کند

آن را امتحان کنید، ثابت را به خالی تبدیل کنید و هر گونه پاسخ های عملی را تأیید کنید.403.

یک کلید اشتباه در زمان ثابت رد می شود

هش_برابری ها و کلید فقط از هدر خوانده می شوند.

نام میز ساخته شده رد می شود

و یک نام واقعی با پیشوند اشتباه هنوز حل می شود.

یک ستون رمز عبور هرگز در یک خواندن ظاهر نمی شود

و نوشتن که نام یکی با توضیح رد می شود.

نوشتن به یک میز خارج از لیست اجازه داده ها رد می شود

با پیام که به اپراتور می گوید چگونه آن را گسترش دهد.

پنل اسنیپت با فایل پل مطابقت دارد

ابزار php /sync_connector_bridge_snippets. php آن را در مرحله گزارش می دهد.

نصب مجدد کانکتور کافی نیست

اگر بسته شما یک فایل پل را حمل می کند، یک اپراتور به روز رسانی کانکتور باید آن فایل را در ریشه وب خود اضافه کند.

اتصال‌دهنده‌ها (Connectors)

بوت کردن چارچوب خود پلتفرم از یک پل

یک پل که فقط بخواند می تواند حرف بزند SQLیک پل که همه چیز را در پلت فرم (یک سفارش، رزرو، یک فاکتور پرداخت شده) باید از طریق لایه نرم افزار خود پلتفرم عبور کند و بوت کردن آن لایه به طور بی سر است جایی که هر شکست ظریف در این الگوی زندگی می کند.همه چیز زیر راه سخت برای ادغام زنده یاد گرفته شد، هر قانون علیه نقص واقعی که هیچ خطایی تولید نمی کرد.

یک ردیف در پایگاه داده، یک سفارش نیست

دانلود آهنگ های RAW INSERTs A Shadow Record

ردیف به نظر می رسد، مدیر لیست آن را، و هنوز هم یک رکورد پلت فرم معتقد است که ایجاد شده است: هیچ شماره مرجع بومی، هیچ قلاب مدل، بدون فاکتور، هیچ ایمیل مشتری، هیچ لینک مشتری کار مشتری، مشتری نقل قول می کند یک مرجع پلت فرم هرگز صادر نمی شود برای کارکنان که نمی تواند آن را از طریق سرویس خود پلتفرم ایجاد کند؛ اگر آن تنها یک نمودار پس از پرداخت را مشخص کند، و در آن انتظار آن را دارد.

هرگز شماره گذاری پلتفرم را دوباره پیاده نکنید

دو نمونه از فرمت مرجع آن را به نظر ساده برای بازتولید و تکثیر آن همان سطح سایه نوشتن است: روز پلت فرم تغییر طرح خود، هر یک از سوابق شما اشتباه است و هیچ چیز به شما هشدار نمی دهد که ژنراتور آن (پناهگاه به یک غیر استاتیک می رسد)، و خواندن ارزش ذخیره شده به جای اعتماد به آنچه ارسال کرده اید.

ستون های پلتفرم به معنای پلت فرم را حفظ می کنند

قبل از اینکه شما هر چیزی را در یک ستون پلتفرم ذخیره کنید، هر خواننده ای که به نام یک اسلات آزاد نامیده می شود را پیدا کنید: بر روی ادغام مرجع؛ transaction_id معلوم شد که توکنی است که مشتری به نام “یادداشت رزرو خود را بررسی می کند” از طریق آن حل می شود: یک هضم اختیاری ذخیره شده در آنجا بی سر و صدا هر لینک مهمان را شکسته است. نگه داشتن حسابداری خود را در یک جدول متعلق به پل: UNIQUE (عملیات،) idempotency_keyنگهبان بازی است، محدودیت از دوقلوهای همزمان امتناع می کند و نگاه بهبودی همان جدول را می خواند که قبل از شروع به ترجمه آن میز نوشته شده است: MySQL DDL به طور ضمنی یک معامله باز را انجام می دهد.

حوادث، شنوندگان و تله ایمیل دو طرفه

منبع خدمات را قبل از ارسال حوادث بخوانید

اگر سرویس پلتفرمی که شما از قبل به آن می فرستید، ارسال آن به خودتان دو ایمیل تأیید کننده را برای مشتری ارسال می کند و دو فاکتور ایجاد می کند.اگر هیچ چیزی گوش نمی دهد، ارسال هیچ کدام از شکست ها خطایی را مطرح نمی کند، خطوط منبع آن را برش دهید و آنچه را که در واقع انجام می دهد بخوانید: یک حدس مبتنی بر نام و حتی یک regex بر بدن هر دو قبل از حل این منبع اشتباه کرده است.

گوش دادن به راست و راست است؛ از سوی دیگر، گوش شنوا می شود.

Laravel شنوندگان کلاس را در بسته بندی ها قرار می دهد، بنابراین گزارش های شنیداری () دریافت کنید[email protected]برای همه چیز. getRaw Earers کلاس های واقعی را نام گذاری می کند و هرگز رویدادی را که شنوندگان آن را نمی توانید نام ببرید ارسال نکنید.

اگر "Queue" به معنای "اجراهای بعدی" نباشد.

با صف=sync (پیش فرض بر تعداد زیادی از نصب های تولید) یک شنونده ی صف شده در درخواست پل شما اجرا می شود. بستر بوت شما زمینه رندر آن است: هر ثبت نام یا ثبت نام و یا ثبت هر ثبت یا ثبت، URL نقص در زمین های بوت شما در صندوق ورودی مشتری. Check config ('queue.default) قبل از استدلال در مورد جایی که هر چیزی اجرا می شود، و به شغل / یا محل کار نگاه کنیدfailed_jobs قبل از اینکه یک کارگر درگیر شود.

گارد با حالت خود پلتفرم مجدداً رزرو می کند

خدماتی که بدون قید و شرط ارسال می شود باید دقیقاً یک بار نامیده شود. نشانگر این است که نمی تواند حرکت کند، حالت رکورد خود پلتفرم (فقط در حالی که رکورد هنوز در انتظار است) است، نه پرچم موازی "مطلق" شما که می تواند با آن مخالف باشد.

بوت بی سر، بوت وب نیست

ثبت نام آنچه که وب بوت ثبت می کند

Template variables, module settings, filter hooks: platform service providers often register them only on a web request. On the reference integration the email handler substitutes only REGISTERED variables: every value was set correctly and the customer's confirmation still rendered with empty name, phone and link, no error anywhere, because registration lives in a runtime registry the headless boot never filled. Find the platform's registration call (for Botble: EmailHandler::addTemplateSettings with the module's email config) and make it in your boot, exactly as the platform's own provider does.

پین هرURLریشه، نه فقط روتر

نقاط درخواست ثبت شده در اسکریپت پل شما، بنابراین مسیر () url() و تولید دارایی site.comعمومی/عمومیopsiq-bridge.php/checkout /TOKEN: یک پیوند مشتری از طریق یک لینک JSON Endpoint. ForceRootUrl (config)urlاصلاح ژنراتور؛ دیسک STORAGE ریشه خود را دارد، بنابراین آرم ایمیل تا زمانی که سیستم های فایل شکسته می شود.url همچنین تنظیم شده است (این به طرز شگفت انگیزی حل می شود، بنابراین آن را در بوت کار کنید و تنها زمانی که خالی یا اسکریپت-relative: CDN اپراتور URL شما نباید از آن غافل شوید.

قبل از اینکه دستتان را بر

خدمات پلت فرم از طریق اتصال خود خوانده شده و نمی تواند معامله باز شما را مشاهده کند که قبل از متعهد، یک سرویس پس پرداخت هیچ پرداخت کامل پیدا نمی کند، بی سر و صدا رکورد بدون حقوق را ترک می کند و هنوز حوادث آن را آتش می زند، بنابراین مشتری در مورد سابقه ای که این پلتفرم فکر می کند بدون پرداخت است، سپس تماس بگیرید.

قوانین صداقت

هیچ گونه شکست سایه ای

اگر مسیر بومی غیر قابل دسترس است، با یک خطای تجدید پذیر قبل از هر گونه حرکت پول امتناع کنید.هرگز مرجعی را اختراع نکنید، هرگز به روز رسانی یک وضعیت برای ایجاد یک رکورد نیمه نهایی به پایان رسید. پرداخت تایید شده که پردازش بومی آن به عنوان مصالحه به عنوان یک موافقت نامه شکست خورد needs_attention: پول واقعی است، دولت صادقانه "پرداخت می کند و هنوز پردازش نشده است."

گزارش حقایق، نه بیانیه شما

"خدمات اجرا شده" و "مشتری گفته شد" حقایق مختلفی هستند: ادغام مرجع یک ایمیل کامل با هر زمینه خالی ارسال می کند در حالی که خط لوله فرار به طور جداگانه آنها را برگرداند (فرآوری تکمیل شده، اعلان تلاش)، نگه داشتن یک ایمیل تماسی با هر تماس با تمام تماس با هر رشته خالی در حالی platform_notified این نیرو ها را OpsIQ تأیید بازگشت هر زمان که پلت فرم پردازش نشد و هرگز ادعا تحویل: یک صندوق ورودی از سرور قابل مشاهده نیست.

پس بنویسید

یک کاوشگر قابلیت خواندن در پل: وجود کلاس، امضاهای روش، برش منبع از روشهایی که قصد تماس دارید، شنوندگان خام، راننده صف و (هنگامی که یک سوال را می توان با فراخوانی تابع بی ضرر پاسخ داد) خود تماس زنده پنج نظریه درباره یک ایمیل توخالی قبل از اینکه منبع آن را حل کرد، یک فایل گرد هزینه دارد؛ یک کپی رایتینگ اشتباه بر روی یک پلت فرم مشتری زندگی می کند.

اتصال‌دهنده‌ها (Connectors)

این پل در زبان های دیگر و سایر پایگاه های داده

الگوی پل یک الگوی PHP نیست.OpsIQتماس یک نقطه انتهایی HTTP است، بنابراین فایل می تواند Node، Python، Go، Ruby، .NET یا Java باشد و فروشگاه پشت آن می تواند هر گونه باشد.SQLموتور یاMongoDBآنچه که IS PHP-form خط لوله بسته بندی است و این محدودیت تصمیم می گیرد که چگونه پل شما به اپراتور می رسد، ابتدا بخش تحویل را بخوانید: این بخشی است که مردم را شگفت زده می کند.

آنچه که کانکتور در واقع نیاز دارد

این کل قرارداد است.هیچ چیز در آن نام یک زبان نیست.

حمل و نقل

HTTPS. One GET درخواست هر تماس

اعتبار

یک راز مشترک در X-Opsiq-Bridge-Key هدر درخواست، در مقایسه با زمان ثابت.نه یک پارامتر پرس و جو، نه کوکی، نه یک حقیقت پایه.

پارامترهای

رشته Query op نام های سطح، do نام عملیات، بقیه این استدلال های عملیاتی است.

پاسخ

JSON {"success":true,"data":{...}} یا {"success":false,"error":"snake_case_reason"}Content-Type Application/jsonو هیچ عیبی ندارد.

کدهای وضعیت

200در موفقیت403کلید غیر قابل تنظیم یا غلط،404پیدا نشد،405روش اشتباه،400استدلال بد،501پشتیبانی نشده در این طرح

همه چیز همین است

هیچ چارچوبی، بدون زمان اجرا،OpsIQکتابخانه در کنار شما، اگر بتواند به آن خدمت کند، می تواند یک پل باشد.

تحویل: چه چیزی ممکن است در پل یا آنچه که نباید زندگی کند

بسته امضا شده یک لیست ثابت از پسوند فایل را پوشش می دهد و یک فایل خارج از آن لیست از Zip.A پل در زبانی که فهرست پوشش نمی دهد، بنابراین نمی تواند داخل بسته ارسال شود - اما دیگر نمی تواند در شما ناپدید شود.26آگوست2026یک فایل در bridge/ این بسته بندی یک شکست سازگاری سخت است، بنابراین بسته به جای نصب بدون هیچ پل در آن از عبور امتناع می کند.

چگونه یک پل / پوشه در زمان ساخت درمان می شود
bridge/bridge.php     ->  SHIPPED, and drift-checked against the panel snippet
bridge/server.js      ->  SHIPPED, and drift-checked against the panel snippet
bridge/bridge.py      ->  REFUSED at conformance: "Bridge files are packaged" FAILS
bridge/bridge.rb      ->  REFUSED at conformance
bridge/main.go        ->  REFUSED at conformance
bridge/Bridge.cs      ->  REFUSED at conformance
bridge/Bridge.java    ->  REFUSED at conformance
PHP وJavaScriptپشتیبانی کامل

کشتی های فایل در Zip امضا شده و verifier پنل خود را با نام مستعار به آن، هر کدام از دو آن است. The Move Check همه فایل ها را در پل می خواند - نه فقط PHP، بنابراین یک پل ارتقا یافته با یک کپی پانل استل نمی تواند ساخت در هر دو زبان.

همه چیز دیگر – از طریق پنل تحویل داده می شود

قطعه پانل متن ساده بدون هیچ ایده ای است که آن را نگه می دارد، بنابراین برای هر پشته کار می کند. قرار دادن کل برنامه در وب سایتhook_help. snippet_template، نام فایل در اسنیپت های فایل و نه ترک یک کپی در پل / مطابقت بسته به جای حمل آن توخالی.

اگر واقعا به زبان دیگری در بسته نیاز دارید

Widen PackageSigner::EXTENSIONS deliberately, then re-sign and re-seed. That is a decision about what executable code Nabtech distributes, so make it on purpose — do not discover it from a missing file.

💡
نام فایل در webhook_help.snippet_filename هرگاه بسته شما بیش از یک پل را کشتی کند، این است که چگونه تأیید کننده می داند کدام پل به یک کپی پنل تعلق دارد؛ بدون آن، یک جفت مبهم به عنوان هشدار انطباق گزارش شده و قطعه ای که نادیده گرفته نمی شود.
⚠️
نقطه ی چک حرکت این است که یک فایل پل و کپی پنل آن دو نسخه از یک برنامه هستند و به جای ویرایش دستی، تغییر می کنند: php tools/sync_connector_bridge_snippets.php --applyسپس بسته را دوباره ثبت کنید.

دروازه، در شش زبان

همان چهار چک در یک سفارش همه جا: بدون کلید، یک روش، مقایسه کلیدی زمان ثابت از هدر بسته نمی شود، سپس اتصال.تنها تله واقعی مقایسه است و آن را به دام دیگری در هر زبان است.

⚠️
مقایسه ی SHA-256هضم دو کلید به جای کلیدهای خود، آن را در هر زبان درست است، و این واقعیت که چندین مقایسه کننده زمان ثابت یا پرتاب یا نشت در یک ناسازگاری طولانی - زمان بندی گره زمانی Node امن Equal افزایش می دهد یک دامنه زمانی که بافرها متفاوت است، که تبدیل یک کلید اشتباه به یک خطای پیچیده در یک عدم تطابق طول می شود.500به جای یک403.
Node. js – دروازه
// Node.js — no dependencies
const http = require("http"), crypto = require("crypto"), url = require("url");

const BRIDGE_KEY = process.env.OPSIQ_BRIDGE_KEY || "";   // empty = bridge OFF

const sameKey = (a, b) => {
  const ha = crypto.createHash("sha256").update(String(a)).digest();
  const hb = crypto.createHash("sha256").update(String(b)).digest();
  return crypto.timingSafeEqual(ha, hb);                 // equal lengths, always
};
const out = (res, payload, code = 200) => {
  res.writeHead(code, { "Content-Type": "application/json; charset=utf-8",
                        "Cache-Control": "no-store" });
  res.end(JSON.stringify(payload));
};

http.createServer(async (req, res) => {
  if (BRIDGE_KEY.length < 24)         return out(res, { success: false, error: "bridge_not_configured" }, 403);
  if (req.method !== "GET")           return out(res, { success: false, error: "method_not_allowed" }, 405);
  const given = req.headers["x-opsiq-bridge-key"] || "";
  if (!given || !sameKey(BRIDGE_KEY, given))
                                      return out(res, { success: false, error: "forbidden" }, 403);

  const q = url.parse(req.url, true).query;
  // ... dispatch on q.op / q.do exactly as the PHP bridge does
}).listen(process.env.PORT || 8787);
پایتون – دروازه
# Python — Flask
import hashlib, hmac, os
from flask import Flask, request, jsonify

app = Flask(__name__)
BRIDGE_KEY = os.environ.get("OPSIQ_BRIDGE_KEY", "")      # empty = bridge OFF

def same_key(a: str, b: str) -> bool:
    return hmac.compare_digest(
        hashlib.sha256(a.encode()).digest(),
        hashlib.sha256(b.encode()).digest(),
    )

def out(payload, code=200):
    resp = jsonify(payload)
    resp.status_code = code
    resp.headers["Cache-Control"] = "no-store"
    return resp

@app.before_request
def gate():
    if len(BRIDGE_KEY) < 24:
        return out({"success": False, "error": "bridge_not_configured"}, 403)
    if request.method != "GET":
        return out({"success": False, "error": "method_not_allowed"}, 405)
    given = request.headers.get("X-Opsiq-Bridge-Key", "")
    if not given or not same_key(BRIDGE_KEY, given):
        return out({"success": False, "error": "forbidden"}, 403)
Go، Ruby، . NET و Java – مقایسه ای مشابه
// Go
func sameKey(a, b string) bool {
    ha := sha256.Sum256([]byte(a))
    hb := sha256.Sum256([]byte(b))
    return subtle.ConstantTimeCompare(ha[:], hb[:]) == 1
}

func gate(next http.HandlerFunc) http.HandlerFunc {
    return func(w http.ResponseWriter, r *http.Request) {
        w.Header().Set("Content-Type", "application/json; charset=utf-8")
        w.Header().Set("Cache-Control", "no-store")
        key := os.Getenv("OPSIQ_BRIDGE_KEY")
        if len(key) < 24 { out(w, 403, "bridge_not_configured"); return }
        if r.Method != http.MethodGet { out(w, 405, "method_not_allowed"); return }
        given := r.Header.Get("X-Opsiq-Bridge-Key")
        if given == "" || !sameKey(key, given) { out(w, 403, "forbidden"); return }
        next(w, r)
    }
}

// Ruby
def same_key?(a, b)
  OpenSSL.secure_compare(Digest::SHA256.digest(a.to_s), Digest::SHA256.digest(b.to_s))
end

// C# / .NET
static bool SameKey(string a, string b) =>
    CryptographicOperations.FixedTimeEquals(
        SHA256.HashData(Encoding.UTF8.GetBytes(a)),
        SHA256.HashData(Encoding.UTF8.GetBytes(b)));

// Java
static boolean sameKey(String a, String b) throws Exception {
    MessageDigest d = MessageDigest.getInstance("SHA-256");
    return MessageDigest.isEqual(d.digest(a.getBytes(UTF_8)), d.digest(b.getBytes(UTF_8)));
}

اعتبارسنجی شناسه ها در هر موتور پایگاه داده

ویژگی ایمنی تغییر نمی کند: یک جدول یا نام ستونی که فروشنده عرضه می کند باید در برابر طرح واقعی قبل از اینکه آن را بین ببرد بررسی شود و هر ارزش باید پارامتری محدود باشد.تنها پرس و جو درون گرا، شخصیت نقل قول و بند پیپینگ متفاوت است.

MySQLوMariaDB

جدول: SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = ?ستون ها: همان مخالف information_schema.COLUMNS با AND TABLE_NAME = ?با backticks، دو برابر کردن هر پشت در داخل صفحه با. LIMIT n OFFSET m.

PostgreSQL

همان دیدگاه های اطلاعاتی_شما، نام های پایین تر WHERE table_schema = $1 (معمولا) publicنقل قول با دو نقل قول، دو برابر هر گونه نقل قول دوگانه در داخل صفحه با. LIMIT n OFFSET mقانون تاشو را ببینید: یک شناسه بدون نقل قول برای کاهش پرونده، بنابراین حساس به زمان حل یک نام مقایسه کنید.

SQLServer

همان دیدگاه های مربوط به اطلاعات و اطلاعات مربوط به براکت های مربع، دو برابر کردن هر کدام از براکت های بسته بندی در داخل. Paging نیاز به یک ORDER BY دارد: ORDER BY [id] DESC OFFSET @o ROWS FETCH NEXT @n ROWS ONLY.

SQLite

جدول: SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%'ستون ها: SELECT name FROM pragma_table_info(?) – از این فرم ارزشمند استفاده کنید، زیرا شکل خالی PRAGMA table_info(x) بیانیه نمی تواند پارامتری را به هم متصل کند و دعوت از بین بردن رشته دقیقا همان حفره ای است که شما سعی دارید آن را با نقل قول های دوگانه ببندید. LIMIT n OFFSET m.

اوراکل

جدول: SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = :ownerستون ها از ALL_TAB_COLUMNSنقل قول با دو نقل قول، و به یاد داشته باشید یک شناسه بدون نقل قول به پرونده UPPER، مخالف از مواردPostgreSQLصفحه با OFFSET :o ROWS FETCH NEXT :n ROWS ONLY 12c و بعد

MongoDB

هیچ کسSQLبنابراین هیچ یک از اجزای شناسه و هیچ پارامتری محدود - نظم و انضباط مختلف برای همان هدف.

جستجو در داخل موتور
-- MySQL / MariaDB
SELECT TABLE_NAME  FROM information_schema.TABLES  WHERE TABLE_SCHEMA = ?;
SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?;

-- PostgreSQL
SELECT table_name  FROM information_schema.tables  WHERE table_schema = $1;
SELECT column_name FROM information_schema.columns WHERE table_schema = $1 AND table_name = $2;

-- SQL Server
SELECT TABLE_NAME  FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_SCHEMA = @schema;
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = @table;

-- SQLite
SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%';
SELECT name FROM pragma_table_info(?);

-- Oracle
SELECT TABLE_NAME  FROM ALL_TABLES      WHERE OWNER = :owner;
SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE OWNER = :owner AND TABLE_NAME = :tbl;
💡
حل، سپس از نام RESOLVED استفاده کنید.هرگز املای تماس گیرنده را به سمت جستجو حتی پس از چک کردن آن منتقل نکنید – نام واقعی را در لیستی که از طرح خوانده اید و آن را تقسیم کنید که هیچ هزینه ای ندارد و شکاف بین "این نام مشابه" و "این است که من در مورد اجرا هستم."

MongoDBهمان قوانین، بدونSQL

هیچ رشته پرس و جو برای تزریق وجود ندارد، بنابراین مردم تصور می کنند که چیزی برای محافظت وجود ندارد: سند فیلتر.JSONمستقیم به داخل find() اجازه دهید یک فرستنده ارسال کند {"$ne": null} یا {"$gt": ""} جایی که شما انتظار یک ارزش را دارید و به آرامی هر سند را انتخاب کنید، خودتان فیلتر کنید.

MongoDB- مجموعه اجازه لیست، فیلتر اسکالر-forced، پیش بینی به عنوان Redaction
// Node + the official driver
const names = (await db.listCollections({}, { nameOnly: true }).toArray()).map(c => c.name);

function resolveCollection(given) {
  if (!/^[A-Za-z0-9_.-]+$/.test(given || "")) return null;
  return names.find(n => n.toLowerCase() === String(given).toLowerCase()) || null;
}

const coll = resolveCollection(q.collection);
if (!coll) return out(res, { success: false, error: "unknown_collection" }, 404);

// Build the filter from a validated field and a SCALAR value. Never spread
// caller JSON into it: {"$ne":null} would match every document.
const filter = {};
if (q.where_field) {
  if (!/^[A-Za-z0-9_.]+$/.test(q.where_field))
    return out(res, { success: false, error: "unknown_field: " + q.where_field }, 400);
  filter[q.where_field] = String(q.where_value ?? "");   // String() is the guard
}

// Projection is the redaction allow-list: drop secrets, never return them.
const projection = { password: 0, remember_token: 0, api_key: 0, secret: 0, token: 0 };

const limit = Math.min(Math.max(parseInt(q.limit ?? "25", 10) || 25, 1), 200);
const rows  = await db.collection(coll)
                      .find(filter, { projection })
                      .limit(limit)
                      .skip(Math.max(0, parseInt(q.offset ?? "0", 10) || 0))
                      .toArray();
نام های مجموعه از لیست Collections

این اطلاعات شما_schema است که املای تماس گیرنده را در برابر آن حل کرده و از نام حل شده استفاده کنید.

هر مقدار فیلتر را به یک اسکالر

یک () رشته یا یک شماره (در اطراف آن کل دفاع در برابر تزریق اپراتور است.یک سند که انتظار می رود ارزش معادل NoSQL از نقل قول گمراه کننده باشد.

پروژه، قانون Redaction است.

از فیلدهای مخفی شکل در پیش بینی خارج شوند تا هرگز سرور را ترک نکنند، نه اینکه آنها را از نتیجه پس از آن حذف کنند.

حذف ها تنها توسط یک عمل باقی می مانند –id

یکی را با یک حل شده حذف کنید – هرگز بسیاری از افراد را پاک نکنید و هیچگاه فیلتری که تماس گیرنده تحت تاثیر قرار می گیرد، نداشته باشید.

نوشتن ها باقی مانده اجازه لیست

همان استدلالSQLنام مجموعه ها ممکن است لمس شود و بقیه را با توضیح رد کند.

نقطه پایانی هویت در زبان های دیگر

کاوشگر هویت نیمه ی دیگر یک پل است و HTTP هم هست.خط ثبت نام در هر زبان یکسان است: Base64url the Charge،HMAC-256 آن رشته، به یک dot ملحق می شوند.

این را از تنظیمات خراش، پورتال پشتیبانی یک مسیر آماده برای هر زبان (یک بار، دو دقیقه توکن) را حمل نکنید.سایت های Remote، سایت شما، کد ها، C. Recognise log-in مشتریان به طور خودکار نسخه چت را در هر زبان حمل می کنند (یک ساعت توکن به علاوه دستگیره تازه).
چه چیزی را تغییر دهید وقتی از آن استفاده می کنید

این قطعه ها یک توکن دست خالی PORTAL را که عمدا سخت تر است، استخراج می کنند: آن را حمل می کند jti و تک آهنگ: True و زندگی در مورد120چند ثانیه چون در یک سفر می کندURLیک پل یا توکن هویت ویجت هیچ کدام از آن ها را حمل نمی کند و از یک نمایشگاه طولانی تر، دقیقه تا ساعت استفاده می کند.

آنچه که یکسان باقی می ماند

سایت_key، iat، انقضای و سطح بالایی معتبر: درست، به علاوه یک مدیر یا مشتری با یک شناسه و نام کاربری یا ایمیل مشابه ادعاهای یکسان، همان امضا، همان راز.

هر دو شکل توکن تایید می کنند

یک JWT سه بخش، HS256 را امضا کرد و همچنین دو قسمتی از آن به علاوه Hex64url بار اضافه شده است.HMACمرجع PHP منتشر می کند.استفاده از هر کتابخانه زبان شما طبیعی است – یک کتابخانه JWT معمولاً مسیر کوتاه تر خارج از PHP است.

هرگز آن را در مرورگر استخراج نکنید

در هر زبان واقعی است. ثبت نام مشتری به معنای ارسال راز سایت برای هر بازدید کننده است.

انتخاب صادقانه

این پلتفرم PHP است.

پل را در PHP بنویسید، آن را در بسته ارسال می کند، آن ها به طور ناگهانی بررسی شده اند و می تواند چارچوب خود پلت فرم را بوت کند تا یک جلسه زنده برای کاوشگر هویت بخواند.هیچ چیز دیگری همه سه را به شما نمی دهد.

این پلتفرم Node است

یک کشتی پل . js، نشانه ها و دقیقاً مانند یک PHP دیده می شود.

این پلتفرم پایتون، Ruby، Go، . NET یا Java است.

از طریق قطعه پانل تحویل دهید و در بدن پنل چنین بگویید؛ فایل را در پل نگذارید، جایی که انطباق بسته را رد می کند، کانکتور کاملا طبیعی است: اقدامات، ارائه دهندگان زمینه، هویت و نگاهبان مهمان همه کار یکسان است، زیرا هیچ یک از آنها به آنچه تماس HTTP پاسخ می دهد، اهمیت نمی دهند.

شما نمی توانید یک فرآیند را بر روی میزبان پلتفرم اجرا کنید

سپس الگوی پل ابزار مناسب نیست.یک پل برای رسیدن به یک پلت فرم از داخل میزبان خود وجود دارد، اگر شما فقط می توانید آن را از خارج به دست آورید، شما نوشتن عادی استAPIاتصال در برابر هر سطحی که آن را افشا می کند.

⚠️
یک محدودیت دیگر که ارزش برنامه ریزی در اطراف را دارد: یک کاوشگر هویت باید جلسه ورود پلتفرم را بخواند، که معمولا به معنی اجرا در داخل فرآیند خود پلت فرم یا حداقل در میزبان آن با دسترسی به فروشگاه جلسه آن است.یک پل نوشته شده در زبان مختلف از پلت فرم می تواند به راحتی داده ها را خدمت کند و هنوز هم برای پاسخ به حالت شناسایی کار می کند.
اتصال‌دهنده‌ها (Connectors)

به دستیار هر دو نیمه بدهید: اقدامات و زمینه

این تنها چیزی است که از یک کانکتور گم شده است که "کار می کند اما بی فایده است" اقدامات اجازه می دهد AI انجام کارها را.بخش های زمینه به آن اطلاع دهند که اتصالات نیاز دارند و اغلب سؤالاتی که مدیر درخواست می کند، هرگز توسط یک اتصال با اقدامات کامل پاسخ داده نمی شود و هیچ ارائه دهنده متن به طور صادقانه گزارش خواهد داد که نمی تواند هر چیزی را ببیند.

دو نیمه

اقدامات - چگونه AI انجام کارها

در عمل اعلام شده است.jsonیا با استفاده از RegistryActions() بازگردانده می شود، مدل یکی را انتخاب می کند، پارامترهای آن را پر می کند وOpsIQاجرای آن. Actions برای افعال است: لغو این رزرو، باز کردن بلیط، تغییر این وضعیت.

بخش های زمینه – چگونه AI چیزها را می داند

این مدل که پیش از اجرای مدل توسط یک متخصص ارائه شده است، “چند سفارش در ماه جاری”، “که جدیدترین مشتریان من هستند”، ” آنچه ما می فروشیم” همه چیز از طریق یک نگاه زمینه حل و فصل می شود و هرگز به هیچ وجه دست نمی یابد.

⚠️
Symptom از یک ارائه دهنده مفقود: دستیار پاسخ می دهد "بدون کانکتور فعال این بخش متن را تامین نمی کند" در حالی که اتصال نصب شده، فعال و عبور تست اتصال آن است هیچ چیز ثبت نشده است، این پیام به معنی هیچ ارائه دهنده ادعا نمی شود بخش.

واژگان بخش جهانی

OpsIQاز بخش هایی با نام عمومی سوال کنید، شغل شما این است که تصمیم بگیرید هر کدام از آنها در پلتفرم شما چه معنایی دارند و به آن پاسخ دهید.یک رزرو هتل سفارش هتل است؛ اتاقی است که هتل می فروشد.

سفارش / در انتظار_سفارش

هر معامله ای در پلت فرم شما وجود دارد: سفارشات، رزروها، مشاغل، محموله ها و سفارش های مورد انتظار همان لیست فیلتر شده برای آنهایی است که ناتمام هستند.

مشتریان

مشتری را جذب می کند.

products

آنچه که این پلتفرم به فروش می رساند: محصولات، اتاق ها، برنامه ها و خدمات.

لایحه

مجموع درآمد و پول شکل، به علاوه شمارش توسط دولت.

بلیط، خدمات، دامنه ها، سرورها، فعالیت

از این موارد استفاده کنید زمانی که پلت فرم شما واقعاً آنها را دارد. نقشه برداری نکنید – بخش بدون پاسخ بهتر از یک اشتباه است.

هر چیز دیگری که پلت فرم شما داشته باشد

خود را تعریف کنید.یک ارائه دهنده که بخش () را اعلام می کند: [شقادها] ، کسانی را که به لیست اجازه های عمومی نگاه می کنند ادغام کرده اند، بنابراین ظاهرهای خاص پلت فرم بدون هیچ تغییرات هسته ای در دسترس قرار می گیرند.

اشتباهی که یک روز هزینه می کند

یک ارائه دهنده متن باید رابط کاربری را اجرا کند. نوع رجیستری آن را بررسی می کند، بنابراین کلاسی که فقط به سمت راست نگاه می کند – بدون خطا، در هر نقطه از آن است.

NextProvider. php - قرارداد، از بسته مرجع Botble
use OpsIQ\Platform\ContextProviderInterface;

/* MUST implement ContextProviderInterface: ContextRegistry::collectAll()
 * type-checks it, so a provider that merely LOOKS right is skipped and every
 * section answers "No enabled connector supplied this context section" — the
 * exact symptom, with no error anywhere. */
final class ContextProvider implements ContextProviderInterface
{
    public function slug(): string  { return 'yourplatform_context'; }
    public function label(): string { return 'Your Platform (orders, customers, products)'; }
    public function priority(): int { return 30; }   // lower renders earlier

    /** ADMIN only. The guest surface has its own provider and its own rules. */
    public function surfaces(): array { return ['admin']; }

    /** The universal section names this connector can answer. */
    public function sections(): array
    {
        return ['orders', 'pending_orders', 'clients', 'products', 'billing'];
    }

    public function isAvailable(): bool
    {
        try {
            $s = \OpsIQ\Connectors\ConnectorRegistry::getSettings('yourplatform') ?: [];
            return trim((string)($s['base_url'] ?? '')) !== '' && trim((string)($s['api_key'] ?? '')) !== '';
        } catch (\Throwable $e) {
            return false;
        }
    }

    public function build(array $ctx): string
    {
        $section = strtolower(trim((string)($ctx['section'] ?? '')));
        $limit   = max(3, min(50, (int)($ctx['limit'] ?? 20)));
        $query   = trim((string)($ctx['query'] ?? ''));
        try {
            switch ($section) {
                case 'orders':
                case 'pending_orders': return $this->orders($limit, $query, $section === 'pending_orders');
                case 'clients':        return $this->customers($limit, $query);
                case 'products':       return $this->products($limit);
                case 'billing':        return $this->billing();
            }
        } catch (\Throwable $e) {
            return '';   // a provider must NEVER break prompt assembly
        }
        return '';
    }
}
ثبت نام آن از کانکتور

پیاده سازی زمینه اتصال دهنده و بازگرداندن ارائه دهندگان خود را از متنProviders().طبقه کانکتور همچنین می تواند زمینه Compider Interface به طور مستقیم اجرا کند و به عنوان خود ثبت نام شود.

بازگشت متن ساده، نهJSON

ساخت() یک بلوک متنی را که به سرعت متصل می شود، باز گرداند. آن را برای خواننده بنویسید: یک عنوان، سپس یک خط در هر ردیف.

بازگشت به جای پرتاب

استثناهای خود را دریافت کنید، یک ارائه دهنده که پرتاب می کند وارد شده و از بین رفته است اما بازگشت به "قرارداد" است.

سازنده نمی تواند بخش های مختلف را برای شما بنویسد.

دسته بندی کشتی های زمینی () را تولید می کند: آرایه [بازگشت]؛ و جادوگر هیچ زمینه ای برای آن ندارد.

⚠️
TOTAL واقعی را بیان کنید، نه تعداد ردیف هایی که ارسال کرده اید.یک صفحه در مجموع نیست.A ارائه دهنده ای که بیست ردیف را فهرست می کند بدون اینکه بگوید با اطمینان به شما پاسخ می دهد: "شما دارای یک صفحه هستید.20رزروها زمانی که پلت فرم نگه می دارد669یک COUNT ارزان و یک خط صریح - "TOTAL در فایل:669(این فهرست نشان دهنده جدیدترین لیست است.20تنها) – کل اصلاح است و شمارش بی اطمینان بدتر از هیچ شمارشی نیست.
یک بلوک که نمی تواند به اشتباه حساب شود
$lines = ['YOUR PLATFORM — ORDERS (live, newest first)'];
$lines[] = 'TOTAL orders on file: ' . (int)$total
         . ' (this list shows the newest ' . count($rows) . ' only — never count these rows to answer "how many")'
         . ' | by status: ' . $byStatus;
foreach ($rows as $r) {
    $lines[] = '#' . (int)$r['id'] . ' ' . $r['reference'] . ' | ' . $r['status']
             . ' | amount ' . $r['amount'] . ' | ' . substr((string)$r['created_at'], 0, 16);
}
$lines[] = 'Use yourplatform_get_order (order_id) for the full record.';
return implode("\n", $lines);

نام خود را از این طریقOpsIQمی تواند از نوشتن بخواند.

OpsIQیک عمل را با WORDS در عمل خود طبقه بندی کنید و عمداً محافظه کارانه است: هر چیزی که نمی تواند تشخیص دهد به عنوان نوشتن درمان می شود و کارت تأیید را درخواست می کند.

1
مخرب است یا نیاز به پیروزی تایید شده دارد

اگر هر دو تنظیم شده باشند، عمل همیشه به تایید نیاز دارد.در واقع آنها را تأیید می کند - این چیزی است که کارت تایید مدیر را بالا می برد.

2
یک کلمه نوشتن در هر نقطه از شناسه آن را به نوشتن تبدیل می کند

اضافه، ایجاد، باز، به روز رسانی، ویرایش، تغییر، حذف، از بین بردن، لغو، بازپرداخت، تعلیق، خاموش، فعال، تایید، ارسال، علامت گذاری، ثبت مجدد، بستن، بازگشایی، باخش، دفع، بازگرداندن، تنظیم، تنظیم کردن، تنظیم شده، اجازه دادن، غیرفعال، تولید، درخواست، پرداخت، دوباره، تحویل، انتقال، و انتقال، کاهش، و توقف، انتقال بیشتر، انتقال و تعداد، کاهش دادن، تنظیم مجدد، محدود، تقسیم، و کاهش، تنظیم و انتقال و انتقال ، تنظیم، همگام سازی، تنظیم شدن، تنظیم.

3
سپس یک کلمه خواندن آن را به عنوان خوانده می کند.

دریافت، لیست، جستجو، پیدا کردن، نمایش، جمع آوری، نگاه، شرح، توصیف، خواندن، پیش نمایش، تست، پینگ، وضعیت، خلاصه، جزئیات، تاریخ، بررسی، آمار، متریک ها، درآمد، تجزیه، تجزیه و تحلیل، تجزیه ، تعادل، تقسیم، سهمیه بندی، بینش، پیش نویس تغذیه، طبقه بندی، پیشنهاد می کند.

4
سپس روش HTTP تصمیم می گیرد

دریافت، سر و صدا و نوشته ها

5
در غیر این صورت، یک نوشتن است.

تشخیص داده نشده به معنای تایید مورد نیاز است.این پیش فرض عمدی است.

⚠️
کلمات را قبل از خواندن بررسی کنید، بنابراین یک نام مخلوط مانند get_and_sync_Orders به عنوان یک WRITE طبقه بندی می شود. Pick One Verb، ابتدا آن را قرار دهید و آن را تمیز نگه دارید: list_orders، Get_client، Search_booking، کنسل کردن_book، set_سفارش_STAT.

فقط بومی را اعلام کنید اگر این پلتفرم واقعا یک

The native_api capability registers a generic <slug>_api_call passthrough so the model can reach endpoints your typed actions do not cover. On a platform with no API it is worse than useless: the model keeps reaching for a tool that cannot succeed, instead of using the tools that can.

سازنده آن را از پاسخ داده های شما تصمیم می گیرد

Say the platform has an API and it declares native_api and emits the passthrough. Say it has none (bridge mode, or the "Platform with no API" profile) and it declares platform_bridge instead and strips native_api, so the two can never both be true. You no longer hand-edit this.

بسته های دستی هنوز هم باید آن را درست انجام دهند

اگر شما در حال نوشتن خود مانیفست هستید، دقیقاً یکی از بومی_api یا پلت فرم_bridge را اعلام کنید که مطابق با پلتفرم_bridge به عنوان فرار از یک کانکتور پل انتظار می رود داشته باشد و سازنده از مشخصاتی امتناع می کند که ادعا می کند پلت فرم /bridge بر روی یک پلت فرم است.APIکانکتور

یکi_api_reference را در هر دو راه صادق نگه دارید.

On a connector that declares native_api the admin brain heads that file with a line naming <slug>_api_call. Without native_api it is headed neutrally instead, so a bridge connector no longer advertises a tool it does not have. Describe your real surface — for a bridge, that is your op and do vocabulary, not a REST endpoint table.

مغز مدیر را در مورد پلت فرم خود آموزش دهید

Declare ai_brain_aware and ship two Markdown files. They are read from the INSTALLED package directory (opsiq/connectors/<slug>/) for ENABLED connectors only, and injected into the admin agent's system prompt.

ai_expertise_admin.md

چه این پلت فرم IS، چگونه داده های آن شکل گرفته است، اشیاء آن نامیده می شوند و تیکک هایی که در غیر این صورت دستیار را حدس می زنند.برای یک همکار صالح بنویسید که هرگز پلتفرم را ندیده است.

ai_api_reference.md

سطح تماسی برای یک اتصال پل این است که کار شما و انجام واژگان با پارامترهای خود، نه یک جدول پایان REST.

بودجه

تقریباً6,000شخصیت ها در هر اتصال و در مورد24,000شخصیت ها برای کل بلوک در سراسر هر اتصال فعال.در طول پوشش هر اتصال دهنده فایل شما به طور خلاصه شده است؛ مختصر قبل از اینکه شتاب دهنده باشد.

پرداخت دقیق

این فایل ها تفاوت بین دستیاری است که از ابزارهای جدول جهانی خود استفاده می کند و از بخش اشتباه پاسخ می دهد، زیرا هیچ چیز به آن گفته نشده بود که این ابزارها وجود داشته اند.

💡
هر دو فایل باید در بسته INSTALLED باشند، نه فقط درخت منبع شما، آنها فایل های معمولی بسته هستند، بنابراین آنها توسط امضا پوشانده شده و در ZIP ارسال می شوند - که همچنین به معنی ویرایش یکی پس از شکستن مهر و موم است.
اتصال‌دهنده‌ها (Connectors)

هویت از طریق یک اتصال: مدیر، مشتری، پورتال

یک قرارداد امضایی سه سطح را اداره می کند.کار کانکتور این است که "چه کسی در پلتفرم وارد شده است" را به یک توکن امضا شده تبدیل کند.OpsIQمی تواند تأیید کند و سپس موضوع تایید شده را ارائه دهد.OpsIQشکل، کانکتور هرگز کسی را تأیید نمی کند – پلت فرم انجام می دهد و امضا این ادعا را حمل می کند.

سه مرحله، یک نشانه

مدیریت – کارکنان شما، در داخل backend

یک موضوع مدیریت، ویجت در داخل پنل مدیر پلت فرم بارگذاری می شود و هر عضو کارکنان با خود مطابقت دارد.OpsIQنماینده: پیاده روی کامل در صفحه ویجت مدیریت.

مشتری – یک مشتری امضا شده در چت مشتری

یک موضوع مشتری، این چیزی است که به مشتری اجازه می دهد حساب WHOLE خود را به جای یک جستجوی ناشناس دریافت کند: هر سفارش، جزئیات کامل و هر گونه اقدام خود خدمات شما اجازه می دهید.

پورتال – یک لینک عمیق به پورتال پشتیبانی

همان ادعاهای به اضافه jti و تک آهنگ، با یک120زندگی دوم، زیرا توکن در یک مسیر حرکت می کندURLو باید یک بار خرج کنید، این یکی را ثبت نکنید: تنظیمات، پورتال پشتیبانی یک قطعه آماده برای هر زبان دارد، و پلت فرم آن را برای شما زمانی که منطقه حساب بر روی این سرور اجرا می شود، استخراج می کند.

قرارداد محموله

این ها ادعاهایی هستند که بررسی های دقیق آن ها در اینجا اختیاری نیست، هر مثال جزئی دیگری ممکن است پیشنهاد کند.

site_key

سطح بالا باید برابر با کلید سایت درخواست باشد یا توکن رد شود.

iat و انقضای

سطح بالا، بدون وقفه باید در آینده باشد و بعد از iat. A توکن بیش از یک دقیقه در آینده رد می شود.

معتبر: حقیقت

سطح بالا، در کنار اعلام پلت فرم شما که یک انسان واقعی وارد شده است.

پلتفرم Platform

سطح بالا: یک نام کوتاه از مبدا توصیه می شود و اجازه می دهد تا ارائه دهنده هویت کانکتور توکن های خود را از پلت فرم دیگر بگوید.

مدیر یا مشتری

یک شی نام موضوع را می گیرد، باید یک شناسه غیر خالی و یک نام کاربری یا ایمیل – دروازه دسترسی به هر مدیر در آن ها شامل هر دو زمانی که شما هر دو.

دانلود بازی Minting, Verbatim From the Botble Bridge
$payload = [
    'site_key'      => $cfgSiteKey,
    'iat'           => time(),
    'exp'           => time() + 6 * 3600,
    'authenticated' => true,
    'platform'      => 'yourplatform',
    /* 'admin' or 'customer' — OpsIQ stamps the matching session identity
     * from whichever key is present. */
    $opsiqSubject   => $subjectPayload,
];
$payload64     = rtrim(strtr(base64_encode(json_encode($payload, JSON_UNESCAPED_SLASHES)), '+/', '-_'), '=');
$identityToken = $payload64 . '.' . hash_hmac('sha256', $payload64, $cfgSecret);

دو نفر از آنها و شکست هایی که ایجاد می کنند

OpsIQدارای دو علامت است و آنها یکسان نیستند، دانستن این باعث صرفه جویی در یک بعد از ظهر می شود، زیرا علائم چیزی شبیه علت به نظر نمی رسد.

ویجت Administrator دارای یک verifier خود است.

opsiq/ جاسازی/admin_ajax.php دارای یک ثابت کننده محلی است که پرچم معتبر را در هر دو موقعیت می پذیرد. list, تاریخ و بدون خواندن همه از طریق آن عبور می کنند، بنابراین آنها معتبر هستند.

وانکر مشترک سخت تر است

opsiq/ شامل / مشتری_identity_token_verify.php پشت جریان چت و Core AJAX قرار داردAPIاز نظر تاریخی، پرچم در سطح بالا مورد نیاز است.

علامت

تاریخ و مکالمات کار می کنند، هر چت پاسخ "ثبت نام اداری لازم" را می دهد که دقیقاً مانند یک باگ جلسه خوانده می شود و نه: توکن پرچم سطح بالا را از دست داده است.

آنچه که هسته فعلی انجام می دهد

اکنون پرچم را در سطح بالا یا داخل موضوع می پذیرد، بنابراین قرارداد یکنواخت است. هسته های قدیمی تر فقط سطح بالایی را می خوانند.شکل کانونی را حذف کنید و بسته شما بر روی هر نسخه کار می کند.

این در حال حاضر ماشین چک شده است.هر فایلی که توکن های هویت را استخراج می کند به طور ثابت در برابر قرارداد اسکن شده و یک بار پلت فرم مطابق با فایل دقیق و خط آن را رد نمی کند: ابزار php / شناسایی_قراردادها. php.

مشتریان امضا در چت مشتری

دو چیز باید درست باشد.ک باید مشتری تأیید شده را تمبر بزند و کانکتور شما باید آن را ارائه دهد.

1
پل یا نقطه پایانی یک توکن مشتری را می سازد

همان نشانه گذار به عنوان مدیر، با یک موضوع مشتری، مشتری را از جلسه خود پلتفرم بخوانید، اگر پلت فرم شما مشتریان را در گارد مختلف مدیران علامت گذاری کند، نگهبان که می خواهید و هرگز به موضوعات دیگر باز نمی گردد – این است که چگونه یک مشتری به یک توکن مدیریتی تحویل داده خواهد شد.

2
Core آن را تایید و تمبر می کند.

در یک توکن معتبر، هسته موضوع تأیید شده را به جلسه تمبر می زند. ارائه دهنده شما هویت ثابت شده ای را می خواند؛ هرگز تایید نمی کند.

3
هویت شما آن را ارائه می دهد

تشخیص Clienter() بازگشتی است.OpsIQشکل دادن: باید پیاده سازی کندOpsIQ\Platform IdentityProvider Interface یا رجیستری به آرامی آن را رد می کند - همان تله به عنوان ارائه دهنده زمینه.

4
اقدامات مشتری-تکامه شما یک مشتری را می پذیرد

وOpsIQآن را به هویت تأیید شده قبل از اعدام قفل کنید.این مدل نمی تواند آن را عرضه کند.

هویتی که در آن وجود دارد – هویت اثبات شده را بخوانید، آن را در آن حضور دهید.OpsIQشکل
use OpsIQ\Platform\IdentityProviderInterface;

final class IdentityProvider implements IdentityProviderInterface
{
    public function slug(): string  { return 'yourplatform_identity'; }
    public function label(): string { return 'Your Platform identity (bridge-signed identity_token)'; }
    public function priority(): int { return 25; }   // ahead of the generic session provider

    public function isAvailable(): bool
    {
        try {
            $s = \OpsIQ\Connectors\ConnectorRegistry::getSettings('yourplatform') ?: [];
            return trim((string)($s['base_url'] ?? '')) !== '';
        } catch (\Throwable $e) { return false; }
    }

    public function detectAdmin(): ?array
    {
        $row = $this->sessionRowFor('_opsiq_admin_identity');
        if (!$row || !$this->isOurs($row)) return null;
        return [
            'id'       => (int)($row['id'] ?? 0),
            'name'     => $this->displayName($row, 'Admin'),
            'email'    => (string)($row['email'] ?? ''),
            'username' => (string)($row['username'] ?? ''),
            'role'     => (string)($row['role'] ?? ''),
            'platform' => 'yourplatform',
            'source'   => 'yourplatform_identity_token',
        ];
    }

    public function detectCustomer(): ?array
    {
        $row = $this->sessionRowFor('_opsiq_customer_identity');
        if (!$row || !$this->isOurs($row)) return null;
        return [
            'id'       => (int)($row['id'] ?? 0),
            'name'     => $this->displayName($row, 'Customer'),
            'email'    => (string)($row['email'] ?? ''),
            'phone'    => (string)($row['phone'] ?? ''),
            'platform' => 'yourplatform',
            'source'   => 'yourplatform_identity_token',
        ];
    }

    /* A session identity stamped by ANOTHER platform's token must not be
     * claimed here. An empty platform is accepted because older bridges did
     * not stamp one, and the site key already scoped the token. */
    private function isOurs(array $row): bool
    {
        $p = strtolower(trim((string)($row['platform'] ?? '')));
        return $p === '' || $p === 'yourplatform' || $p === 'remote';
    }

    private function sessionRowFor(string $key): ?array
    {
        if (session_status() !== PHP_SESSION_ACTIVE) return null;
        $row = $_SESSION[$key] ?? null;
        return (is_array($row) && (int)($row['id'] ?? 0) > 0) ? $row : null;
    }
}

اقدامات مشتری-تحریم: دو قفل، هر دو مورد نیاز

این مدل هرگز نباید داده هایی را که می خواند، انتخاب کند.OpsIQاعمال می کند که در سمت خود، و پلت فرم شما باید آن را در طرف دیگر نیز اجرا کند.یک قفل یک باگ دور از نشت است؛ دو قفل قرارداد هستند.

قفل Lock Lock1 — OpsIQاضافه کردن پارامترهای هویت

قبل از اینکه یک اقدام مشتری انجام شود،OpsIQجایگزین هر پارامتر هویتی شکل با هویت بازدید کننده VERIFIED: client_id، clientid، user_id ، Userid، Client_id, account_id شناسه عددی تأیید شده را انتخاب می کند؛ client_identifier، مشتری_identer، Account_ifidentier آن را به عنوان یک رشته در نظر می گیرد؛ ایمیل، کلاینت_mail.

قفل Lock Lock2پلت فرم شما هر پرس و جو را دوباره تکرار می کند

به این فکر که داده شده اید و آن را به پاراگراف هر خواندن اضافه کنید و هر نوشتن روی آن سطح هرگز به درخواست خود اعتماد نکنید. مشتری امضا شده در مورد سفارش شخص دیگری باید خالی شود، نه ممنوع است.

نام خود را به طوری که قفل کنید1آنها را پیدا کنید

آن را به مشتری_id، نه نشانه و یا تغییر.یک پارامترOpsIQتشخیص نمی دهد که پارامتری است که نمی تواند قفل کند.

⚠️
به مشتری امضا شده، عملیات OWN خود را، جدا از مدیران، حتی زمانی کهSQLبه نظر می رسد که دو سطح با قوانین مختلف صادق هستند؛ یک سطح با پرچم تبدیل به نشتی روز کسی است که شاخه اشتباه را ویرایش می کند.

صفحه صفر سیم کشی: کاوشگر کانکتور-declared

You can spare the operator all page wiring. Add an admin_identity_probe_url setting (https only) pointing at your identity endpoint. The plain admin-widget loader from Remote Sites, Codes then works with no page attributes at all: the widget discovers the endpoint through the connector, calls it with the site key and widget token, and authenticates each admin individually. A page can still override with a data-identity-endpoint attribute or window.OpsIQAdminIdentityEndpoint.

تنظیماتjson- تنظیمات کاوشگر
{
  "key": "admin_identity_probe_url",
  "label": "Admin identity probe URL",
  "type": "text",
  "placeholder": "https://your-site.com/opsiq-yourplatform-bridge.php?op=admin_identity",
  "help": "Set this to your bridge admin_identity endpoint and the plain admin-widget loader works with NO page wiring: the widget probes this URL by itself, the bridge answers with the signed identity of the CURRENTLY logged-in admin, and every admin is matched to their own OpsIQ agent. Leave empty to keep the admin embed off."
}
این کاوشگر توسط مرورگر نامیده می شود

همان-وریجین، بنابراین نمی تواند یک هدر سفارشی را حمل کند. تأیید آن جلسه پلت فرم است.آن را به عنوان یک سر از دروازه کلید پل خود قرار دهید، آن را از داده های رکورد دور نگه دارید و هیچ چیز را برای بازدید کننده ثبت شده باز نمی گرداند.

پاسخ به شکل ثابت

{"success":true,"authenticated":true,"admin":{...},"identity_token":"..."} — and {"success":false,"authenticated":false,"error":"..."} when nobody is signed in.

هیچ راز طولانی مدت در منبع صفحه

فقط توکن های امضا شده و اکتشافی

پیاده سازی کامل نقطه پایانی برای LaravelWordPress, WHMCS, Symfony و Plain PHP ، به علاوه ویژگی های Laravel سخت و دستور عیب یابی، در صفحه ویجت admin قرار دارند.آنها همان کد برای یک موضوع مشتری هستند: گاردی که خوانده اید را تغییر دهید و کلید سوژه ای که امضا می کنید.

اتصال‌دهنده‌ها (Connectors)

انتشار: ویرایش پوشه منتشر نمی شود

رایج ترین راه برای از دست دادن یک بعد از ظهر این است که یک کانکتور را در زیر بازار / اتصال دهنده ویرایش کنید و هیچ چیز تغییر نکرده باشید. نصب ها آن پوشه را نمی خوانند. آنها یک زیپ امضا شده را از کاتالوگ بازار می کشند.

چرا ویرایش هیچ کاری نکرد

marketplace_connectors/<slug>/ is the SOURCE

جایی است که شما کار می کنید، هیچ چیزی از آن نصب نمی شود.

کاتالوگ دارای یک ZIP امضا شده است

یک نصب دانلود که Zip، نشان دادن امضا و بسته بندی آن تا زمانی که شما را بازسازی کنید، هر نصب نگه می دارد به گرفتن بسته قدیمی.

سازنده ی Browser در جایی دیگر منتشر می کند

It writes into /connectors/<slug>/ on this install. That is a local connector, not a marketplace release. The two paths do not overlap.

دانلود بازی The Release توالی

1
نسخه را در فایل های TWO آپلود کنید

تنظیماتjsonو کانکتور_Compactjsonسازگاری آنها را مقایسه می کند و اگر سست، نسخه یا قابلیت تنظیم اختلاف نظر دارند، شکست می دهد.در حالی که شما آنجا هستید، یک فایل مورد نیاز است.

2
Re-sync پل

php tools/sync_connector_bridge_snippets.php --apply — only relevant if your package ships bridge/*.php, and mandatory if it does. Skipping it means the panel hands operators the previous bridge.

3
Re-sign all بسته

ابزار php / نشانه_all_connectors. php - امضا هش فایل را پوشش می دهد، بنابراین هر ویرایش آن را تایید می کند.

4
کلید امضای را صادر کنید، سپس بذر

این بسته هر بسته را به عنوان آن ساخت Zip، و در یک زمینه که کلید نمی تواند از تنظیمات بخواند اجرا می شود - بنابراین باید از محیط آمده است.

5
فایل پل را رد کنید، اگر یک نفر را کشتیید

نصب مجدد کانکتور به روز رسانی بسته.این کپی نشسته در ریشه اپراتور را لمس نمی کند.به آنها بگویید، در پانل و در تغییرگر.

کل آزادی، به منظور
# 2 — hold the panel copy identical to the shipped bridge
php tools/sync_connector_bridge_snippets.php --apply

# 3 — re-sign (do this last, after every file is final)
php tools/resign_all_connectors.php

# 4 — the seeder reads the signing key from the ENVIRONMENT only
export OPSIQ_CONNECTOR_SIGNING_KEY="$(php -r 'require "bootstrap/init.php"; echo opsiq_setting("connector_signing_key","");')"
php saas/scripts/maint/seed_marketplace_free.php --apply --only=<slug>

# verify before and after
php tools/verify_identity_contracts.php
php vendor/bin/phpunit tests/phpunit/Unit/Connectors
⚠️
چرا صادرات اختیاری نیست: امضا کننده به دنبال کلید در OPSIQ_CONNECTOR_SIGNING_KEY اول و کانکتور_signing_keyset دوم است. The SEEder بر روی بوت استرپ SaaS اجرا می شود و ابزار نشانه گذاری / اتصال/.php هیچ چیز در همه، بنابراین در هر دو تنظیمات خوان وجود ندارد - بدون محیط متغیر وجود دارد و نه تنها با نوار کلیدی که شما آن را به عنوان "بدون کدگذاری کلید" گزارش شده است.OpsIQو می تواند کلید را به خودی خود پیدا کند.

در واقع چه کشتی هایی

فقط فایل های امضا

Zip از لیست فایل های خود امضا کننده ساخته شده است، بنابراین یک فایل گمراه شده که در پوشه بسته شما نشسته است ارسال نمی شود: یک فایل بدون مجوز برای سوار شدن به مشتریان.

افزونه های پوشش

php json, js, css, md, txt, html, sh, svg, png, jpg, jpeg, gif, webp, ico, yml, yaml — بازگشتی ، شامل bridge/ و tests/. signature.json خود از هش‌ها حذف می‌شود و سپس به ZIP اضافه می‌شود تا نصب‌کنندگان بتوانند تأیید کنند.

هر چیز دیگری به عنوان Not_package گزارش می شود.

این فایل را هر فایلی که پشت آن گذاشته شده است، نام می برد.یک فایل که انتظار داشتید کشتی به آنجا بیاید، به معنای یک پسوند اشتباه یا مکان اشتباهی است – نه موفقیت خاموش.

ویرایش هر فایل پوشش شده مهر را شکسته است

از جمله یک فایل مارک معکوس. Re-sign That بسته

فایل های مورد نیاز در یک بسته غیر قابل قبول

connector.php

باید یک نمونه از Interface را بازگرداند.

settings.json

Manifest: slug، name، نسخه، مانیفست، سازگاری، قابلیت ها، کانکتور_act_version، تنظیمات.

connector_contract.json

قرارداد قابل خواندن ماشین، مدل و قابلیت آن باید با تنظیمات یکسان باشد.json.

وب‌گاه رسمی شرکت دات کام

هر سه برای وجود و حداقل اندازه بررسی می شوند. D. SELOPER به محتوای واقعی نیاز دارد نه یک لایه.

فایل در هر قابلیت اعلام شده

هر قابلیت نام فایلی که انتظار دارد – FieldProvider. php برای زمینه، IdentityProvider . php for Identity، GuestlookupProvider/php برای مهمان_lookup و غیره – مگر اینکه کانکتور توانایی inline را پیاده سازی کند.

هیچ چیز شبیه به یک چراغ نیست

سازگاری سه فایل مارک معکوس را برای مقادیر محرمانه و کلیدهای خصوصی اسکن می کند و در یک ضربه شکست می خورد.

قبل از اینکه آن را کشتیید، آن را بررسی کنید.

مجموعه انطباق کامل همان یک نصب اجرا می کند. آن را بررسی مانیفست در برابر قرارداد کانونی، که زمان و قابلیت های آشکار موافقت، که هر گونه قابلیت اعلام شده فایل خود و روش های آن، قرارداد هویت بهken در هر فایل منقرض، مطابقت پل -گوشه، مهمان نگاه اجازه بهداشت، عمل منحصر به فرد و ایمنی تایید، و بسته امضا.

قبل از هر آزادی، چهار تا را بدوید
# conformance for every marketplace package
php tools/test_marketplace_connector_conformance.php

# the identity-token contract, statically, with file:line on failure
php tools/verify_identity_contracts.php

# the connector unit suite
php vendor/bin/phpunit tests/phpunit/Unit/Connectors

# the release gate
php tools/release_gate_connectors.php
💡
انتظار می رود یک شکست وجود داشته باشد و مشکلی نباشد: چک لیست بسته هشدار را گزارش می دهد در حالی که هنوز ویرایش می کنید، لحظه ای که شما دوباره به آن اشاره می کنید مشخص می کند.هر شکست دیگر یک شکست واقعی است.
اتصال‌دهنده‌ها (Connectors)

بسته بندی و مرجع چرخه عمر

این قرارداد سطح منبع برای ساخت یک کانکتور است که OpsIQ می تواند کشف، پیکربندی، اعتبار، فعال کردن، اجرای، تست، علامت و توزیع کند.

توسعه دهنده مرجع
بسته بندیبسته اتصال دارای یک پیاده سازی کانکتور مورد نیاز و آشکار، با اقدامات اختیاری، دستور العمل ها، دانش، دارایی ها و متادیید امضا است.بسته بندیdeveloperMANIFESTv1زندگیمدیریتکار امنمحدودهدانلود بازی LiveSPACEconnector.phpکلاس / کارخانهنیاز ضروریsettings.jsonManifest و تنظیمات schemaنیاز ضروریactions.jsonتعاریف Actionگزینشیsignature.jsonامضای dataآزادی آزاد1DECLAREقابلیت ها و توانایی ها2IMPLEMENTچرخه زندگی و ارائه دهندگان3اعتبارسنجیآزمون، امضا، بسته
بسته اتصال دارای یک پیاده سازی کانکتور مورد نیاز و آشکار، با اقدامات اختیاری، دستور العمل ها، دانش، دارایی ها و متادیید امضا است.

حداقل بسته

connectors/example_platform/
├── connector.php          # connector implementation / entry point
├── settings.json          # manifest + configuration schema
├── actions.json           # optional action catalogue
├── README.md              # setup, scopes, webhooks and limits
├── workflow_recipes.json  # optional reusable recipes
├── knowledge.json         # optional provider knowledge
├── profile.json           # optional connector profile
├── src/                   # optional client/provider classes
├── assets/                # optional admin assets
└── signature.json         # signed release metadata

قرارداد Manifest

settings.json استفاده از نسخه ی مانیفست 1اعتبار سنج انتظار دارد که یک نام، نسخه، مانیفست، سازگاری، شرح و قابلیت ها اعلام کند. opsiq_min و opsiq_maxوضعیت آزاد یکی از تولید, بتا بتا, پیش نمایش Preview یا قالب Template· بلوغ قابلیت استفاده از سطوح L1-L6. بسته های میراث را می توان با هشدار ها طبیعی کرد، اما یک بسته جدید باید بدون هشدار عبور کند.

رابط اتصال Core interface

  • هویت و تنظیم: slug(), name(), description(), capabilities(), settingsSchema(), testConnection().
  • چرخه زندگی: onEnable() و onDisable()Disable باید غیر مخرب باشد؛ پاکسازی داده ها یک عملیات جداگانه عمدی است.
  • ورودی /sync: handleWebhook(), poll(), backfill()- نظرسنجی کار افزایشی را اداره می کند؛ تاریخچه واردات مجدد و باید برای تکرار ایمن باشد.
  • پشتیبانی: pushReply() جایی که پلتفرم پاسخ ها را می پذیرد.
  • اقدامات: registerActions() قراردادهای عملیاتی را اجرا می کند.
  • امنیت: securityCapabilities(), syncBlockedIp(), removeBlockedIp(), testSecuritySync().

پایه انتزاعی همچنین ارائه می دهد اختیاری پس زمینه، لیست مشتری، کشف / ایجاد ایمیل، مشترکان، مدیریت / شناسایی مشتری، صورتحساب / ارائه دهندگان محتوا / هویت، استخراج پاسخ، تجدید تماس های HTTP، JSON• دسترسی بی طرف، رتبه بندی فازی و کمک کننده های دزدی.

قابلیت ها و احراز هویت

نام های قابلیت پشتیبانی شامل اقدامات، محرک ها، زمینه، هویت، فروش، صورتحساب، inbound_ticket، outbound_reply، sync_users، همگام سازی_departments، امنیت_events، مشتری_import، Security_native_block، Promo_audience، promo_mail_box، بومی-pia و سازنده یک اطلاع رسانی است. API کلید، حامل، اساسی، HMAC OAuth 2اعتبار مشتری،OAuth 2نوشتن کد و قالب های احراز هویت سفارشی

چرخه عمر ثبت

  1. کشف بسته را پر می کند و نشان دهنده آن است.
  2. پیکربندی در هر فضای کاری ذخیره می شود؛ اسرار رمزگذاری شده است.
  3. تست اتصال بدون فعال کردن کانکتور، اعتبار را اثبات می کند.
  4. گزینه Enable Calls onEnable(), تعاریف عمل را همگام سازی می کند و می تواند شروع به کار اولیه.
  5. حمل و نقل / وب سایتhook/subscribe همیشه دارای فضای کاری است.
  6. تماس های غیر قابل قبول onDisable() فعالیت را بدون حذف داده های وارداتی متوقف کنید.
  7. Purge یک عملیات صریح جداگانه است.

قوانین اصلاح

  • از کلید محل کار در هر خواندن، نوشتن، کلید کش، کلید تکراری و وب سایت استفاده کنید.
  • Backfill، Webhookion و نوشتن Action idempotent ثبت نام یک شناسه خارجی / ID در هر کجا که پلت فرم ارائه می دهد.
  • برای سیستم های از راه دور، استفاده از آنها API هرگز فرض نکنید که جداول پایگاه داده آنها در OpsIQ اتصال
  • بازگشت خطای ساختار یافته، ایمن مشتری هرگز اسرار، رد و بدل شدن ارائه دهنده خام یا وجود فضای کاری دیگر را افشا نمی کند.
  • تنها قابلیت هایی که بسته در واقع پیاده سازی می کند. actions.json کاتالوگ یک عمل قابل استفاده را تا زمانی که کانکتور نصب، فعال، پیکربندی شده و اتصال آن معتبر باشد، انجام نمی دهد.

تست و آزاد کردن

اجرای PHP lint، وضوح آشکار، تست های اتصال، آزمایش طرح عمل، آزمون امضای وب را فریب / پخش، تستهای تنظیم فضای-استرس، تست تکرار مجدد، آزمایشات غیر فعال و تست های شکست / امتحان ورزشی / سپس بسته بازار باید امضا و تایید شود، شامل تنظیمات / خروجی / اسناد / تقلب، و وضعیت واقعی آن است.

اتصال‌دهنده‌ها (Connectors)

دستور العمل های flex

دستورالعمل های گام به مرحله برای تنظیمات اتصال مشترک

دستورالعمل
دستورالعمل های flexA A A Shopify دستورالعمل تنظیم به عنوان یک چک لیست: ایجاد برنامه، دامنه های اعطایی، توکن و آزمایش، فعال کردن وب سایتhooks، قرار دادن سفارش تست.دستورالعمل های flexShopifyRecipe · Shopify با webhooksایجاد یک برنامه سفارشی در Shopify مدیر اجراییدامنه های Grant: Read_Orders، read_ clients3- فروشگاه Paste Domain + Token، Click Testقابلیت اتصال Webhook sync (سفارش های خودکار-register)قرار دادن یک دستور تست→در فروش ظاهر می شود30s1STEP BY STEPدستور العمل های Copy- Paste2REAL PLATFORMSShopify · WHMCS · Stripe· پوند3تاییددستور تست نشان می دهد 30s
هر دستورالعمل یک چک لیست است که شما به پایین دنبال می کنید، در اینجا، Shopify با سفارش زمان واقعی وب سایتhooks، تایید شده توسط یک دستور تست.

Recipe : Shopify دانلود بازی real-time webhooks

سناریو:
هدف: Connect Shopify با همگام سازی سفارش خودکار و GDPR اطاعت
چه کاری باید انجام دهید:

1. Create a custom app in Shopify admin (Settings > Apps > Develop apps). 2. Grant scopes: read_orders, read_customers, read_products, write_customers. 3. Copy the Admin API access token. 4. In OpsIQ Connectors > Shopify, enter store domain and token. 5. Click Test Connection. 6. Enable Webhook sync, OpsIQ registers order/customer webhooks automatically. 7. GDPR webhooks register automatically (data_request, customers/redact, shop/redact). 8. Verify: place a test order, check it appears in OpsIQ Sales within 30 seconds.

Recipe : WHMCS ادغام یکپارچگی

سناریو:
هدف: Connect WHMCS بنابراین AI می تواند مشتریان، خدمات، بلیط ها و فاکتورها را بررسی کند.
چه کاری باید انجام دهید:

1. In WHMCS admin, Setup > Staff Management > Manage API Credentials. Create a key. 2. In OpsIQ Connectors > WHMCS, enter URL, API identifier, and secret. 3. Click Test Connection. 4. Install the WHMCS module addon for ticket relay. 5. Verify: ask the admin AI "Find client [email protected]". WHMCS data should appear.

Recipe: Stripe Payments

سناریو:
هدف: پیگیری پرداخت های Stripe و اجازه دهید AI معاملات را بررسی کند.
چه کاری باید انجام دهید:

1. In Stripe Dashboard > Developers > API keys, create a restricted key (read: Customers, Charges, Invoices, Subscriptions). 2. In OpsIQ Connectors > Stripe, enter the restricted key. 3. Test Connection. 4. Add webhook endpoint in Stripe: copy the webhook URL shown on the connector's own settings page. It carries a per-connector token and looks like https://your-domain.com/api/connectors.php?slug=stripe&token=THE_TOKEN A URL without the token is rejected with "Missing slug or token". 5. Select events: charge.succeeded, invoice.paid, customer.subscription.updated. 6. Copy the webhook signing secret to OpsIQ. 7. Verify: make a test payment, check it in OpsIQ Sales.

وبگاه رسمی Google Business Profile

سناریو:
هدف: اتصال GBP برای مدیریت بررسی، پست ها و بینش.
چه کاری باید انجام دهید:

1. Create a Google Cloud project, enable Business Profile API. 2. Create OAuth 2.0 credentials (Web application). 3. Set redirect URI: copy it from the connector's own settings page. Google and Microsoft connectors share one slug-less callback: https://your-domain.com/connectors.php?oauth=callback Everything else uses https://your-domain.com/connectors.php?slug=<slug>&oauth=callback OAuth redirect URIs must match EXACTLY, and a URI missing oauth=callback is read as a webhook and answered with "Missing slug or token". 4. In OpsIQ, enter Client ID and Client Secret. 5. Click Authorize, sign in, grant access. 6. Select your business location. 7. Verify: reviews, posts, and insights should appear.

اتصال‌دهنده‌ها (Connectors)

توسعه CRM و سایت اطلاعات

OpsIQ زیر سیستم ها برای افزونه باز هستند.یک کانکتور می تواند قابلیت جدیدی را به CRM یا وب سایت ارسال کند بدون هیچ گونه تغییر در OpsIQ هسته، از طریق رجیستر قابلیت پلت فرم (\)OpsIQ\Platform قابلیت بازپرداخت سرمایه داری") توانایی را تعیین می کند، پیاده سازی تنظیمات روش کوچک آن، حمل کانکتور،OpsIQ آن را کشف می کند و آن را به UI، مشتری متصل می کند. 360 جدول زمانی و تنظیمات نصب

توسعه CRM و SI
قابلیت های Platformیک اتصال در اتوبوس های قابلیت تغذیه چپ (CRM، اطلاعات سایت، Analytics) کشف شده توسط توانایی بازپروری.قابلیت های Platformفضای کاریکانکتور شماقابلیت های اعلام شدهوب‌گاه رسمی شرکت CRMتقویم · غنی سازی · پرداخت · صندوق پستیسایت اطلاعاتمحلی_listing · رتبه بندی_دادهتحلیل‌هاگزارش وب سایت_analytics · گزارش و مصرفCapabilityRegistryکشف آن و سیم UI + جدول زمانی1DECLAREقابلیت ها، نه ویرایش های اصلی2PLUG INCRM · اتوبوس های SI- Analytics3AUTO-WIREDUI، جدول زمانی، ماشه
یک کانکتور قابلیت ها را اعلام می کند (calendar، غنی سازی، داده های رتبه بندی شده، تجزیه و تحلیل ...) و... [-] OpsIQ خودکار آنها را به CRM و اطلاعات سایت متصل می کند، هیچ تغییرات اصلی.

قابلیت های Declare

(تغییرات)json)

اضافه کردن a <domain>_capabilities آرایه، بهترین برای کانکتور های بدون کد / بازار. Domains: crm, site_intelligence.

در کد (connector. php)

پیاده سازی crmCapabilities() / siCapabilities() بازگشت به همان توصیف کنندگان

یک ارائه دهنده تقویم CRM (تنظیمات)json)

سناریو:
هدف: یک اتصال تقویم در پانل جلسه برنامه CRM ظاهر می شود.
چه کاری باید انجام دهید:

"crm_capabilities": [ { "type": "calendar", "label": "Calendar (Acme)", "actions": ["createEvent","listEvents","freeBusy"], "requires_auth": true } ]

یک ارائه دهنده اطلاعات سایت (تنظیمات) را تعریف کنید.json)

سناریو:
هدف: ارائه اطلاعات لیست محلی به اطلاعات سایت
چه کاری باید انجام دهید:

"site_intelligence_capabilities": [ { "type": "local_listing", "actions": ["listLocations","listReviews","getInsights"], "requires_auth": true } ]

توانایی اتوبوس ها و روش های آن

دانلود بازی کامپیوتر

createEvent($settings,$params) →{موفقیت,event_id,html_link, Meet_link} listEvents; freeBusyرانندگی توسط \OpsIQ\CRM\CalendarBridge.

دانلود موسیقی متن فیلم crm / Rich

enrich($settings,$params) →{موفقیت، سودها}OpsIQ\CRM\EnrichmentBridge (همچنین به طور خودکار در شرکت ایجاد می شود زمانی که یک ارائه دهنده متصل است).

دانلود بازی کامپیوتر / Esign

sendForSignature($settings,$params) →{موفقیت,envelope_id,sign_url}OpsIQ\CRM\EsignBridge

سایت_intelligence / Local_listing

listLocations, listReviews, getInsightsکشتی ها از طریق اتصال پروفایل Google Business

سایت_intelligence / رتبه بندی_data

keywordRanks($settings,$params) →{موفقیت، رتبه ها}OpsIQ\siteIntelligence'RankDataBridge. Ships: SerpApi کانکتور

تجزیه و تحلیل / Web_analytics

report($settings,$params) (sync / Export) + ingest($settings,$events) (import) Driven توسط \OpsIQ Analytics WebAnalyticsBridge Google Analytics (GA4) کانکتور داده ها API برای گزارش ها، پروتکل اندازه گیری برای واردات. Analytics برای کانکتورهایی مانند CRM + Site Intelligence باز است. analytics / analytics_capabilities).

پرداخت / پرداخت_ارائه دهنده

listPayments, customerPayments, createPaymentLinkرانندگی توسط \OpsIQ\Pays\PaymentsBridge نشان می دهد پرداخت مشتری در جدول زمانی CRM + ارسال یک لینک پرداخت در معامله.Stripeکانکتور پرداخت ها Domain payments / payments_capabilities.

پست های پستی / Email_sync

listMessages + sendMessageرانندگی توسط \OpsIQایمیل های مشتری در مشتری360جدول زمانی + ارسال ایمیل از یک معاملهGmail+ Outlook/Microsoft365کانکتورهای Domain mailbox / mailbox_capabilities.

به اشتراک گذاشته شده OAuth برنامه + One Redirect

همه اتصالات گوگل یک برنامه را از طریق \ به اشتراک می‌گذارندOpsIQ\OAuth\ SharedGoogleApp. Set google_oauth_client_id/_secret یک بار و تقویم، Analytics، پروفایل کسب و کار + Gmail همه کارها (مستقله های هر اتصال دهنده (اختیاری) باطل می شوند.آنها همچنین یک تغییر مسیر را به اشتراک می گذارند. URI, <site>/connectors.php?oauth=callback (هیچ یک از طرفین در ارتباط نیستند)، زیرا گوگل هیچ چیز را افشا نمی کند. API برای اضافه کردن URI به یک برنامه؛ OpsIQ کانکتور را از امضا شده بازیابی می کند OAuth state ثبت نام در آن واحد URI یک بار و هر اتصال گوگل (در حال حاضر + آینده) بدون تنظیمات کنسول دیگر اجازه می دهد. SharedGoogleApp::resolve(...)’s redirect_uri از شما oauthParams()؛ هرگز یک بازگردانی بر اساس سرآیند را سخت کد نکنید. وصله‌های مایکروسافت از طریق \ هم همین کار را انجام می‌دهند OpsIQ\OAuth\ SharedMicrosoftApp (microsoft_oauth_*).

دکمه های واردات قابلیت-gate دارند

. اون واردات (تاریخی) و مشتریان واردات دکمه ها تنها برای کانکتورهایی که در واقع آنها را پیاده سازی می کنند، با انعکاس شناسایی شده اند، بنابراین هیچ پرچمی برای اعلام وجود ندارد. backfill() یا backfillChunk() برای کسب دکمه واردات؛ پس از آن listCustomers() (بازگشت {email, First_name, ...} صفحات برای کسب مشتریان واردات. AbstractConnector بدون حرکت و دکمه پنهان باقی می ماند، بنابراین UI هرگز یک اتصال را ارائه نمی دهد.

هوش مصنوعی در اتوبوس

عامل CRM پیشنهاد می کند و کتاب ها از سیگنال های معامله (\"OpsIQ\CRM\MeetingProposer→CalendarBridge و حساب های جدید خود را غنی سازی می کند، حلقه “AI عمل CRM”، اجرا شده در سراسر اتوبوس های کانکتور.

بررسی بلیط مشتری-چ ( Client-chat)fetchTicket())

دو لایه، هیچ تغییرات هسته ای

هنگامی که یک بازدید کننده شماره بلیط را در چت مشتری ارجاع می دهد ("وضعیت T- چیست؟000123?"), OpsIQ آن را در دو دسته حل می کند. درجه بندی 1 نوشته های مشترک OpsIQ فروشگاه بلیط، هر اتصال با inbound_ticket بلیط های آن را در آنجا آینه کنید، بنابراین بلیط های همگام سازی شده فقط برای تمام کانکتورها با کد اتصال صفر کار می کنند. درجه بندی 2 یک شکست زنده برای بلیط های قدیمی است که هرگز آینه نشده اند: هسته ای خواستار توقفی است fetchTicket() در هر اتصال فعال که آن را اجرا می کند. duck-typed کشف شده توسط method_exists()مثل contextProviders()/audienceCatalog()(بنابراین امضا شده ConnectorInterface دست نخورده و کانکتورهایی که به آن نیاز ندارند (منبع ایمیل / چت که بلیط را بومی ایجاد می کنند) به سادگی آن را حذف می کنند.

⚠️
مالکیت اجباری است و شما برای اجرای آن. fetchTicket() هویت بازدید کننده VERIFIED در $ctx (client_id + client_emailهمان هویت تأیید شده که مشتری چت AI استفاده می کند) حل مشتری پلت فرم از آن هویت و پرس و جو تنها بلیط مشتری، سپس دوباره مالکیت بر روی رکورد جزئیات بازگشت. null در هر صورت، عدم تطابق یا خطا، هرگز داده های مشتری دیگری را باز نمی گرداند. null با کمال میل به "نمی توان این بلیط را پیدا کرد."
کانکتور.php، قرارداد (reference: کانکتورها / اتصالات whmcs و کانکتورها/zendesk)
<?php
// connector.php — OPTIONAL universal client-chat ticket resolver (Tier 2).
// Only add it if your platform keeps its OWN ticket store that may hold tickets
// not yet mirrored into OpsIQ. Return the normalised array below, or null.
//
// $ref      = ['mode' => 'id'|'tid', 'value' => string]  (from extract_ticket_ref)
// $ctx      = ['client_id' => int, 'client_email' => string]  (VERIFIED visitor)
// $settings = your connector settings
public function fetchTicket(array $ref, array $ctx, array $settings): ?array
{
    try {
        $email = trim((string)($ctx['client_email'] ?? ''));
        $cid   = (int)($ctx['client_id'] ?? 0);
        if ($cid <= 0 && $email === '') return null;            // no verified identity → refuse

        // 1) Resolve THIS visitor on your platform (by verified email/id).
        // 2) List ONLY their tickets and match $ref against the ticket number/id.
        // 3) Re-confirm ownership on the detail record before returning.
        //    On any miss/mismatch/error → return null (never leak).

        return [
            'tid'        => 'T-000123',     // the customer-facing reference
            'id'         => 123,            // your internal id
            'status'     => 'open',
            'subject'    => '…',
            'department' => 'Billing',     // '' if your platform has none
            'priority'   => 'high',
            'opened_at'  => '2026-06-29 10:00:00',
            'last_reply' => '2026-06-29 12:00:00',
            'message'    => 'opening message text',
            'replies'    => [               // oldest → newest; opening message may be first
                ['who' => 'You',   'date' => '…', 'message' => '…'],
                ['who' => 'Staff', 'date' => '…', 'message' => '…'],
            ],
        ];
    } catch (\Throwable $e) {
        error_log('[yourslug][fetchTicket] ' . $e->getMessage());
        return null;                                             // graceful degrade
    }
}

چگونه پلتفرم از آن استفاده می کند

کشف

CapabilityRegistry::providers($domain,$type) ارائه دهندگان با وضعیت نصب شده / فعال (فایل مبتنی بر سیستم؛ DB فقط برای پرچم فعال).

گزینش

CapabilityRegistry::active($domain,$type) اولین ارائه دهنده آماده با اتصال و تنظیمات بارگذاری شده خود را باز می گرداند. پل ها این را به جای سیم کشی سخت افزاری، نام می برند.

اطلاع‌رسانی برای نصب

در جایی که یک ویژگی نیاز به قابلیتی دارد که هنوز متصل نیست، UI یک اتصال یک کلیک / Install را نشان می دهد و هرگز کنترل مرده ای ندارد.

راهنمای کامل

مشاهده نگاه connectors/PLATFORM_CONNECTORS.md (CRM + Site Intelligence) و connectors/CRM_CONNECTORS.md در بسته

اتصال‌دهنده‌ها (Connectors)

مشتریان خود خدمات و بازپرداخت (ایجاد اتصال شما برای چت مشتری)

مشتریان امضاء شده می توانند از مشتری چت در مورد حساب OWN خود ("من تعادل"، "دستورالعمل من" بپرسند، و اگر کسب و کار آن را فعال کند، درخواست بازپرداخت همه چیز توسط بیانیه های اتصال شما: هیچ یک از آنها پشتیبانی نمی شود: هیچ کدام از بلیط من") و، اگر این کسب و کارتان آن را قادر به پرداخت هزینه است. OpsIQ تغییرات هسته ای، هیچ پلت فرم سخت رمزگذاری نشده است. AI به عنوان ابزار بومی (که نمی تواند یک را اختراع کند)، هویت در کنار مشتری تأیید شده قفل می شود و نتایج به طور خودکار برای هوش مصنوعی تنظیم می شوند.

یک نگاه مشتری را مشخص کنید

در خود actions.jsonیک اقدام تنها خواندنی با همه سه حالت مشتری قابل تماس است: "scope":"client", "requires_confirmation":false, "is_destructive":falseاستفاده کنید. "scope":"both" هنگامی که همان نگاه باید توسط تیم شما در نرم افزار Admin AI نیز قابل تماس باشد، واژگان کامل است. admin, client, both و system (system نه به هوش مصنوعی می رسدAPIو مسیر های webhook فقط هر چیز دیگری به طور مستقیم رد می شود: اعتبار بسته شکست می خورد و عمل نصب نمی کند. writing دامنه – دستیار نوشتن خدمت می کند admin اقدام تنظیم شده

قانون هویت (مضر)

نام پارامتر هویت خود را از مجموعه استاندارد.ک.د به شناسه عددی تأیید شده: client_id, clientid, customer_id, user_id, userid, account_idقفل شده به آن شناسه به عنوان یک رشته: client_identifier, customer_identifier, account_identifierقفل شده به ایمیل تایید شده: email, client_email, customer_email, user_email. OpsIQ قفل ها و خودکارها آن را از مشتری امضا شده در پلت فرم قرار می دهند؛ AI هرگز هویت خود را نمی بیند یا انتخاب می کند.یک نام غیر استاندارد بسته نمی شود (در صورت ثبت نام، هرگز نشت نمی کند).

آنچه باید فقط مدیر باقی بماند

هر چیزی که توسط این هویت محدود نمی شود: جذب به داخل-بادری (د)order_id/ticket_id به تنهایی، لیست های فروشگاه، جستجوی متن آزاد.آن ها نشت متقابل مشتری در هر پلتفرم هستند. "scope":"admin".

شکل گیری نتیجه ( کلیدهای پاسخ)

نتایج جستجو ساختاری قبل از رسیدن به AI است: کلیدهای مخفی شکل افتاده اند، رشته های طولانی و لیست ها فشرده شده اند، زمینه های خالی پیچیده هستند و یک نقشه مسطح گسترده تر از کلاه اصلی آن را نگه می دارد. کلید های پاسخ دهنده اولپول (credit, balance, amount, total, due, paid• هویت (email, *name, phone, company(حالت)status, active, expir*, renew*), تاریخ ها, برنامه/ محصول/ دامنه/ خدمات/ اشتراک/ سفارش/ فاکتور/ بلیط stats/summary/totalsقبل از اینکه هر صندلی باقی مانده به کلید های کوچک ترین ارزش هدایت عملی برود: فیلدهای خود را با این واژگان استاندارد نام ببرید و زمینه هایی که به سوال مشتری پاسخ می دهند را به جای یک راهنمای خام، باز کنید.100- پلت فرم کلیدی؛ یک زمینه به نام خارج از واژگان برای صندلی های چپگرا رقابت می کند و می تواند از محموله های بسیار گسترده تر جدا شود.

Refunds · آنچه که کانکتور شما فراهم می کند

دو عملیات خام، بدون سیاست:1• یک توزیع کننده پرداخت که توسط هویت و مرجع معامله (شما) فیلتر می شود. API باید و فیلترها، مثلا. whmcs_get_transactions; (2• یک اقدام بازپرداخت (scope:"admin", requires_confirmation:true, is_destructive:trueهرگز مشتری-در حال توسعه) به عنوان مثال. whmcs_refund_orderکسب و کار هر دو کلید را در تنظیمات انتخاب می کند.→چت مشتری؛OpsIQمجدداً پرداخت سرور را، جعبه سیاست کسب و کار (یک کلاه، پنجره سن، محدودیت ماهانه)، مسائل داخل جعبه را اعمال می کند و یک بلیط بررسی برای همه چیز دیگر است.

سازنده No-Code

ویرایشگر اکشن Browser Builder دارای همان کنترل ها است: تنظیم “چه کسی می تواند از آن استفاده کند” برای مشتریان امضا، هر دو چک باکس های نوشتن را خاموش کنید و از یک نام پارامتر هویت استاندارد استفاده کنید.

پیاده سازی مرجع

نوشته های “Customer Self-Service” در connectors/whmcs/actions.json, woocommerce/actions.json, oscommerce/actions.jsonقرارداد کامل در connectors/README.md §8.1–8.2 و ConnectorInterface::registerActions().

اتصال‌دهنده‌ها (Connectors)

بازدید کنندگان مهمان - اجازه دهید بازدیدکنندگان رزرو، حمل و نقل یا سفارش بدون ثبت نام (guest_lookup) را پیگیری کنند.

هتل ها، پیک ها و بسیاری از سیستم عامل های تجاری به مشتریانی خدمت می کنند که مرجع اما بدون ورود دارند: مهمان با تأیید رزرو، یک گیرنده با شماره پیگیری. guest_lookup قابلیت (قرارداد اتصال، حالت: تولید) به کانکتور شما اجازه می دهد تا بازدیدکنندگان را در چت مشتری خدمت کند - بدون هیچ گونه تماس گیرنده -OpsIQتغییرات هسته ای، هیچ سیستم عامل سخت کننده اتصال شما اعلام می کند که چه چیزی ثابت می کند و زمینه های WHICH قابل مشاهده هستند؛OpsIQدر این صورت، آن را به عنوان یک انکار و تکذیب می کند.

مدل اعتماد

مرجع + اثبات، هرگز هویت

بازدید کننده مرجع رکورد (که توسط regex شما اعلام می کنید) به علاوه مدرکی که انتخاب می کنید - معمولا ایمیل در رکورد. اقدام خود را بازیابی رکورد SERVER-SIDE با مرجع؛OpsIQارائه دهنده تولید شده، اثبات را در برابر رکورد FETCHED مقایسه می کند. ورودی بازدید کننده هرگز قابل اعتماد نیست و هیچ هویت تایید شده ایجاد نمی شود: این بازی به بازدید کننده اجازه می دهد که زمینه های لیست شده یک، هیچ چیز دیگر.

انکار بی معنی (نه سر و صدا)

عدم موفقیت و اثبات ناسازگاری یک پاسخ یکسان تولید می کند. AI به صراحت هرگز دستور داده نمی شود که تأیید کند آیا مرجع وجود دارد یا نه و هیچگاه جزئیات رکورد را اختراع نمی کند.IPقبل از اینکه اتصال شما مورد مشورت قرار گیرد.

دو گزینه ی باینری، هر دو به طور پیش فرض

هیچ چیز به مهمانان خدمت نمی کند تا کسب و کار سوئیچ BOTH را فعال کند: کنترل فضای کاری در تنظیمات→امنیت امنیتی→"Guest Record Lookups در چت مشتری" (پراپد و همیشه رمز عبور تأیید شده، حتی زمانی که گام برداشتن اختیاری خاموش است)، و اتصال خود را guest_lookup_enabled تنظیمات toggle. نصب یا فعال کردن یک کانکتور به تنهایی هرگز سطح مهمان را باز نمی کند.

سطح مهمان اختصاصی

ثبت کننده تولید شده در guest سطح زمینه - ساختاری جدا از admin و customerارائه دهندگان متن موجود هرگز برای بازدید کنندگان ناشناس مشورت نمی کنند و ارائه دهنده مهمان هرگز برای ایمیل های امضا شده مورد مشورت قرار نمی گیرد. ctx آن پیام چت، شناسه موضوع و درخواست بازدید کننده (unverified) ایمیل پیش از چت را به عنوان یک کاندید اثبات - هیچ زمینه هویتی.

دانلود آهنگ زیبای The Builder

1
تعریف عمل را

در مرحله ی اقدام، یک عمل خواندنی را اضافه کنید که به صورت مرجع آن رکوردی را باز می گرداند (به عنوان مثال. GET /bookings/{booking_number}• و زمینه های پاسخ خود را با alias نقشه برداری: وضعیت، ورود، خروج، اتاق / نوع، مشتری / ایمیل.

2
تیک “Guest Lookups”

در مرحله توانایی، فعال کنید guest_lookupیک پنل اختصاصی به نظر می رسد: اقدام را انتخاب کنید، پارامتر مرجع را نام ببرید، الگوی مرجع (یک بدن Regex مانند بدنه regex مثل یک تابع مرجع) را انتخاب نمایید. \bBK-[0-9]{4,10}\b• نام رکورد ("کتاب") و ثبت نام کنید - ایمیل در رکورد (بازنشسته) یا هیچ (به تنهایی، برای ردیابی پست تنها وضعیت).

3
اجازه دهید زمینه های قابل مشاهده را فهرست کنید

دقیقاً زمینه هایی که یک مهمان ممکن است ببیند، همه چیز دیگر DROPPED است - هرگز رد نمی شود. سازنده از فیلدهای PII- شکل ( ایمیل، تلفن، آدرس، پرداخت ...) در لیست اجازه می دهد و مجموعه ی تأییدیه هرگز نمی تواند مطابق با همان قانون قبل از انتشار باشد، بنابراین یک مشخصات دستی ویرایش نشده نمی تواند یکی را در یادداشت نصب کند که اثبات خود را نشان می دهد، و فقط می تواند ثابت کند، بنابراین شما را پوشش دهد.

4
انتشار و فعال کردن

سازنده منتشر می کند GuestLookupProvider.php - پیاده سازی سخت افزاری کانونی، یکسان برای هر بسته تولید شده – و اضافه می کند guest_lookup_enabled به تنظیمات کانکتور خود بروید.کسب و کار دو سوئیچ را می دهد و AI چت شروع به ارائه جستجو زمانی که یک بازدید کننده در مورد نوع رکورد شما سوال می کند.

قوانین قرارداد

فیلد های وضعیت شکل فقط

فکر کنید “چه تصویری در صفحه ردیابی عمومی” چاپ می شود: وضعیت، تاریخ ها، اتاق یا دسته خدمات، شمارش نام، جزئیات تماس، آدرس های خیابانی، داده های پرداخت و یادداشت های متن آزاد هیچ جایی در یک چت ناشناس ندارند – سازنده و مطابقت هر دو آنها را رد می کنند.

AI تنها از بلوک پاسخ می دهد

ارائه دهنده تولید شده خروجی خود را با دستورالعمل برای پاسخ دادن به تنها از زمینه های ذکر شده و ارائه بلیط برای هر چیز دیگر، جزئیات نه در لیست اجازه "در چت" - با طراحی در دسترس نیست.

پیگیری ها همچنان کار می کنند

ارائه دهنده مرجع پیام های اخیر بازدید کننده در همان مکالمه را مجدداً تنظیم می کند، بنابراین "و هنگامی که چک کردن است؟" بدون ارسال مجدد مرجع کار می کند. ایمیل مرجع و اثبات همسان در موضوع چت به عنوان CANDIDATES به یاد می آید، بنابراین پیگیری ها فقط نامزدها نیستند: هر چرخش هنوز هم ثبت نام سرور و تأیید قبل از انتشار یک فیلد واحد.

بسته های دستی

یک بسته بازار ممکن است خود را به خود حمل کند GuestLookupProvider.php implementing ContextProviderInterface با surfaces(): ['guest']قرارداد قالب تولید شده را دقیقا دنبال کنید – با مرجع، گواهی سرور، انکار یکنواخت، خروجی تنها لیست – و اعلام کنید guest_lookup in capabilitiesسازگاری سطح مهمان را تأیید می کند و لیست اجازه برای PII را اسکن می کند.

💡
نگاهبان مهمان تنها زمینه خواندن برای AI چت است.آنها هرگز اعمال را اجرا نمی کنند، هرگز هویت ایجاد نمی کنند و هرگز مسیر خود خدمات مشتری را در بالا باز نمی کنند - این راه هنوز به یک مشتری امضا شده در پلت فرم نیاز دارد.
اتصال‌دهنده‌ها (Connectors)

هدف قرار دادن مخاطبان (promo_audience)

اجازه دهید کمپین های هدف استودیو توسط مشتری زنده و صورتحساب از پلت فرم خود را: "یک فاکتور بدون دستمزد"، "نظم در انتظار"، هر اتصال (پیش نصب شده، بازار یا یکی شما خودتان ساخت) با اجرای دو روش کوچک پیوستن. OpsIQ تغییرات هسته ای، هیچ رمزگذاری سخت پلت فرم: کانکتور شما به عنوان یک پلتفرم در زبانه هدف گذاری استودیو با کاهش حقایق خود ظاهر می شود و چندین اتصال دهنده را می توان به صورت جانبی فعال کرد.

مخاطبان Promo
مخاطبان ارتقاءهویت تایید شده به یک مخاطب اتصال منتقل می شود و حقایق تولید کننده را که منجر به هدف گذاری قانون، با یادداشت بسته نشده است، می نامد.مخاطبان ارتقاءفضای کاریورود بههویت تایید شدهمخاطبانFlags()کانکتور شماواقعیتunpaid_invoices = 2#قانونپرداخت نشده_inbugs 1کمپین نشان می دهدشکست ها بسته شده اند: مشتری ناشناخته یا هر خطایی→کمپین مخفی مانده است.1TWO METHODSدانلود بازی های The Hunter Catalog + Flags2LIVE STATEپرداخت نشده، در انتظار، وضعیت3FAIL-SAFEهرگز به شخص اشتباهی نشان ندهید
کانکتور شما به پاسخ های صورتحساب زنده برای بازدید کننده وارد شده؛ استودیو اهداف خود را بر روی آنها، و بسته نشده است بنابراین یک پیشنهاد صورتحساب هرگز به شخص اشتباه نمی رسد.

چگونه کار می کند

1
حقایق خود را بیان کنید

پیاده سازی مخاطبان Catalog() در کلاس کانکتور شما، یک برچسب را برمی گرداند و لیست کلیدهای پلت فرم شما می تواند پاسخ دهد.هر کلید در استودیو افت نام پلتفرم شما نشان می دهد.

2
پاسخ به یک مشتری

Implement audienceFlags(array $identity). OpsIQ calls it at delivery time with the VERIFIED logged-in visitor identity (from the widget identity token, the same identity the client chat AI uses). Return a flat key => value map.

3
انجام شده

فعال کردن کانکتور. برگه هدف گذاری استودیو ارتقاء یک بخش “Client & Billing” را در لیست پلتفرم شما ایجاد می کند؛ مدیران قوانینی مانند “unpay_inbugs> را می سازند 1هر حقیقت نیز تبدیل به یک متغیر شخصی سازی مانند {unpaid_invoices}.

کانکتور. php، قرارداد کامل Promo_audience
public function audienceCatalog(): array
{
    return ['label' => 'My Billing Platform', 'keys' => [
        ['key' => 'unpaid_invoices', 'label' => 'Unpaid invoices (count)', 'type' => 'number'],
        ['key' => 'pending_orders',  'label' => 'Pending orders (count)',  'type' => 'number'],
        ['key' => 'client_status',   'label' => 'Client status',           'type' => 'text'],
    ]];
}

public function audienceFlags(array $identity): array
{
    // $identity = verified token payload: ['email' => ..., 'id' => ..., 'name' => ...]
    $email = strtolower(trim((string)($identity['email'] ?? '')));
    if ($email === '') return [];
    $client = $this->api('GetClient', ['email' => $email]); // your platform call
    if (!$client) return []; // unknown client -> return [] (fails CLOSED)
    return [
        'unpaid_invoices' => (int)$client['unpaid_count'],
        'pending_orders'  => (int)$client['pending_orders'],
        'client_status'   => (string)$client['status'],
    ];
}

قوانین قرارداد

قابلیت را تحسین کنید

افزودن 'promo_audience' به کانکتور شما capabilities() آرایه به طوری که پلت فرم و لیست بازار آن را به عنوان قابلیت مخاطبان (همچنین از حضور روش کار می کند، اما اعلام آن سیگنال تمیز است). connectors/whmcs کانکتور، پیاده سازی مرجع کامل است.

نام کلیدی

پایین تر مار_case، 2-60 chars، تطبیق ^ [a-z0-9_] + انواع: اعداد، متن، کلید های بدون درز که توسط مخاطب Flags بازگردانده می شوند هنوز در قوانین قابل استفاده هستند، اما اعلام همه چیز شما پشتیبانی می کنید بنابراین مدیران می توانند آن را ببینند.

هویت تایید شده است

The $identity array comes from the signed widget identity token issued by the customer site at login, never from client-supplied fields. If your platform cannot resolve the identity, return an empty array.

شکست بسته · همیشه

در هر خطایی (API به پایین، مشتری پیدا نشد، زمان بندی (قانونی که واقعیت آن از دست رفته است، کمپین را نشان نمی دهد.یک پاپ آپ هدفمند هرگز نباید به شخص اشتباهی برسد؛ OpsIQ این کار را هم در قانون اجرا می کند.

عملکرد Performance

مخاطب Flags() در بیشتر مواقع به ازای هر اتصال در هر صفحه فراخوانی می شود و تنها زمانی که یک کمپین منتشر شده از قوانین پلتفرم شما استفاده می کند، بازدید کنندگان ناشناس هزینه تماس های صفر را دارند. 1-2 API تماس ها؛ OpsIQ در داخل درخواست یادداشت کنید.

اپراتورها برای آزاد

مدیریت ها کلید های شما را با =،!=، >=، <=، شامل، خالی است، شما فقط مقادیر عرضه می کنید.

توکن های شخصی سازی

هر حقیقت به عنوان یک متغیر در کپی کمپین دو برابر می شود: {unpaid_invoices}, {client_status} علاوه بر ساخته شده-ins {first_name} و {client_email} ارزش ها قبل از ارائه، ایمن می شوند.

اتصال دهنده های بازار بدون کد

حقایق خودکار

اعلامیه (JSON-only) marketplace connectors get promo_audience for FREE: اگر اتصال‌دهنده شما مشتریان/کاربران، فاکتورها، سفارش‌ها یا منابع اشتراک را اعلام کند، OpsIQ وضعیت_مشترک، فاکتورهای پرداخت‌نشده، مبلغ_دائم، سفارش‌های منتظره، اشتراک‌های فعال و وضعیت عضویت را از اقدامات جستجو موجود شما بدست می‌آورد. هیچ کد وجود ندارد.

کاتالوگ سفارشی (تنظیمات)json)

یک شیء مخاطب_capability را اضافه کنید {'label": "My Platform"، "keys" : [["key]: "open_carts"، "نام": باز کردن سبدها، "نوع":" (شماره)")، کنترل دقیق که چه حقایق (و برچسب ها) در استودیو ظاهر می شوند.

تست ارائه دهنده خود

1
فعال کردن کانکتور

کانکتور > Enable شما سپس تب هدف گذاری کمپین را باز کنید. پلت فرم شما باید تحت "Client & Billing (connectors) ظاهر شود.

2
ساخت یک قاعده

اضافه کنید: پلت فرم شما · یک کلید *= 1 سپس گزینه “Lotin-in client only” را ذخیره و منتشر کنید.

3
بررسی هر دو جهت

به پلت فرم خود به عنوان یک مشتری که با قانون مطابقت دارد (popup باید نشان دهد) و به عنوان کسی که نمی کند (پروپی باید پنهان بماند). بازدید کنندگان ثبت نام هرگز مطابق قوانین ورود به داخل نیستند.

آتش سوزی یک کمپین از کد خود ( ماشه سفارشی)

چرا

فراتر از محرک های داخلی (delay، اسکرول، خروجی، بیکار، کلیک، صفحات مشاهده شده، چت / فعالیت بلیط)، شما می توانید یک کمپین را از هر نقطه در سایت خود یا اتصال جلو، پس از یک گام پرداخت موفق، زمانی که یک سبد خرید رها شده است، هنگامی که مسیر SPA تغییر می کند و غیره آتش بزنید.

چگونه

راه اندازی کمپین برای سفارشی نام یک رویداد (به عنوان مثال. checkout_failedسپس قلاب جهانی را از صفحه خود فراخوان کنید:

سایت / کانکتور Front-end JS
// Any campaign whose Custom trigger event matches will be evaluated
// (it still respects targeting, frequency caps and audience rules).
window.OpsIQPromo && window.OpsIQPromo.fire('checkout_failed');
💡
با توجه به یک رویداد هرگز هدف گذاری یا فرکانس را دور نمی کند، تنها "هنگامی که" کمپین هنوز هم باید هر قاعده (geo، مخاطب، رضایت، کلاه) را قبل از آن که نشان دهد، آزاد می کند.
راهنمای کامل چگونگی استفاده (طراحی، بلوک ها، تجزیه و تحلیل، A / B، انتشارات) در مرکز کمک درون برنامه زیر زندگی می کند مشارکت→استودیو ارتقاءقابلیت موجود در اینجا به طور خودکار از هر اتصال ENABLED در کانکتورها یا بازار / یا اتصال دهنده ها کشف شده است و هیچ چیز برای ثبت نام وجود ندارد.
اتصال‌دهنده‌ها (Connectors)

قابلیت اتصال (Contract) 2.2)

. اون survey توانایی اجازه می دهد تا هر پلتفرم ارائه آداپتور هویت مشتری تایید شده، حقایق مخاطبان، متغیرهای ایمن و کاندیدهای گیرنده برای بررسی استودیو مستقل از آن است. promo_audience و مالکیت کانکتور نظرسنجی ها، پاسخ ها، تجزیه و تحلیل یا تحویل ایمیل را ارائه نمی دهد.

💡
وضعیت پیاده سازی امروز کامل و قابل استفاده است: قراردادها 2.2, SurveyConnectorInterface, پنل اختصاصی سازنده ، تولید شده SurveyProvider.php, بسته متاداده و انزوای انطباق همه مصرف کشتی هنوز سیم کشی نشده است: SurveyConnectorRegistry اجرا و آزمایش شده است، اما هیچ بررسی زمان اجرا آن را هنوز نمی نامد، بنابراین سلامت ارائه دهنده در UI admin قرار ندارد و هیچ بسته اتصال منتشر شده قابلیت صدور دروازه هویت پیمایش امضا بهken را اعلام می کند، هدف گذاری و ادغام متغیر، مواد توسعه CRM و اولین نقشه های ارائه دهندگان حمل شده باقی مانده مراحل جداگانه.

مسئولیت های ارائه دهنده

کاتالوگ مخاطب و حقایق

حقایق استاندارد تایپ شده را اعلام می‌کند و مقادیر را تنها برای یک موضوع محدود به فضای کاری که توسط کارساز تأیید شده‌است، حل می‌کند. حقايق معمول شامل order_count, last_order_status, cancelled_order _count, customer_created_at, active_subscription_count، past_due_invoice_count و open_ticket_count هستند.

کاتالوگ متغیر و ارزش

مشتری، حساب، سفارش، اشتراک و متغیرهای پشتیبانی با نوع، حساسیت و کپی اجازه داده شده زمینه نیاز به عقب نشینی و فرار متن خروجی.

انضباطی

کاندیداهای اختیاری برای توسعه CRM با شناسه های خارجی پایدار، صفحات محدود شده، نشانگرهای تعیین کننده و متاداده مرتبط با رضایت، مخاطبان منتخب را قبل از هر ارسال مسدود می کنند.

هویت

هویت را فقط از دروازه هویت نظرسنجی پس از امضای توکن، اکتشافی، هدف، اتصال و تأیید فضای کار بپذیرید. ایمیل، شناسه، تگ ها یا حقایق صورتحساب هرگز معتبر نیستند.

زمان سلامت

SurveyConnectorRegistry طراحی شده است تا گزارش های سازگار، مسدود و در دسترس ارائه دهندگان بدون افشای تنظیمات، مسیرهای، هویت خام یا پیام های استثنایی را گزارش دهد و یک ارائه دهنده مسدود کننده هرگز نمی تواند مورد استفاده قرار گیرد. سطح گزارش هنوز در UI admin افشا نشده است: امروز یک ارائهدهنده مسدود کننده به سادگی بی سواد است.

قوانین تعطیلی شکست خورده

کلیدهای نامشخص، انواع اشتباه، ارزش های بیش از اندازه، ناسازگاری موضوع، زمان اتصال و هویت ناشناخته رد می شوند.یک قانون هدف گذاری که نیاز به یک واقعیت در دسترس نیست مطابقت ندارد. صفحات راهنمایی ناقص و حسابرسی شده است.

سازنده: Wizard

قرارداد 2.2 ورودی ثبت قابلیت، رابط کاربری، صفحه نقشه‌برداری بررسی، تولید شده را ارسال می‌کند SurveyProvider.php, قابلیت نسخه، مرجع خوان / توسعه دهنده و وسایل سازگاری.تجارت ، helpdesk ، SaaS پل و پروفایل های PHP محلی شامل آن است؛ استاندارد API کانکتورها انتخاب می کنند. دروازه استاتیک یک ارائه دهنده نظرسنجی را رد می کند که یک فضای تبلیغ، میز یا قابلیت را می نامد.

💡
کپی از ارتقاء تنها واردات است: سازنده ممکن است نقشه برداری های تبلیغاتی سازگار را یک بار ترجمه کند، یک نسخه کامل و ضبط اثبات شده را ذخیره کند. Deleting یا تغییر نقشه ارتقاء نباید رفتار نظرسنجی را تغییر دهد.
اتصال‌دهنده‌ها (Connectors)

قابلیت بازخورد پاسخ (Contract) 2.2)

. اون reply_feedback قابلیت آینه های خود یک پلت فرم را به طور دقیق رتبه بندی می کند OpsIQ ستاره ای که مشتری به کارکنان پاسخ می دهد WHMCS منطقه مشتری بر روی پاسخ SAME در OpsIQ کلید مدیریت، با همان تراشه، اعتبار عامل، ورود صفحه بازخورد و محاسبات تیم و عملکرد به عنوان یک امتیاز داده شده در یک رتبه بندی OpsIQ بلیط پورتال یک انبار، یک تراشه، یک خط لوله؛ کانکتور فقط ترجمه می شود.

راه نوشتن

دقیقا دو مسیر ورودی و یک حقیقت وجود دارد. OpsIQ بلیط پورتال به صورت بومی ارسال می شود. بلیط های پلت فرم از طریق اتصال جریان دارد و هر رویداد را از طریق هر رویداد از طریق ReplyFeedback::recordMirrored()ستون های مشابه، قانون تنها کارکنان، یک محور به طور دقیق آخرین معانی، تمبر فضای کار و صدای مشتری که فهرست استفاده از پورتال را نشان می دهد، هیچ گاه ردیف بازخورد خود را نمی نویسد.

سازگاری (چهار فایل، سپس دوباره ثبت نام)

1
connector_contract.json

اضافه کردن قابلیت ها.reply_feedback entry: 1.0, روش های پاسخگوFeedbackConnector Interface ، بهFeedBackbackCatalog پاسخ می دهند و PushReplyFeedبک را باز می کنند که در داخل ورودی_ticket معنی دارد.

2
settings.json

Add Reply_feedback to the Capability list. This چیزی است که کشف کانکتور می خواند.

3
spec.json

Declare Answer_feedbackmodes (poll and/یا webhook) و مقیاس رتبه بندی پلت فرم است.این چیزی است که دروازه انطباق می خواند.

4
کلاس

پیاده سازی رابط، لیست پاسخ_بک در قابلیت های()، سپس دوباره بسته را علامت گذاری کنید.

مسئولیت های ارائه دهنده

فهرست

حالت های Declare، مقیاس رتبه بندی خود پلت فرم (core به بومی عادی می شود) 1-5• و هرگونه توکن واکنشی. کاتالوگ باید با مشخصات موافقت کند.json.

ترجمه ماشینی

بازگشت به عقب برگشت حوادث کانونی: پلت فرم کارت شناسه، پلتفرم پاسخ دادن به ID، رتبه بندی، واکنش اختیاری / رضایت، زمان ارسال و یک رویداد پایدار_id می نویسد و ترجمه نمی کند.

قابلیت Idempotency

Event_id با هر بازخورد ثابت است، بنابراین یک رویداد دوباره بازی شده یک no-op و یک امتیاز تغییر یافته (مانند پورتال) است.

انضباط

صفحات محدود و تعیین کننده هستند؛ یک مکان نما که از پیش به پایان نمی رسد فرار تاریخی پشت پرده به عنوان پنجره نورد، هرگز یک کشش غول پیکر.

ایمنی Probe

بدون هیچ پیکربندی، یک صفحه کامل خالی را به جای پرتاب کردن بازگردانید.هور مطابقت با استدلال های خالی بررسی می کند.

عدم وضوح

Core هر رویداد را به یک پاسخ محلی توسط نشانگر آینه ای که آینه بلیط در حال حاضر تمبر می دهد (تعهد) حل می کند.<slug>:<ticket>:reply:<reply>یک رویداد که نمی تواند حل شود، هرگز حدس زده نمی شود؛ بازخورد فقط به پاسخ کارکنان متصل می شود؛ و اعتبار نماینده همیشه از نویسنده موجود پاسخ می آید. رتبه بندی هرگز مجوز را تغییر نمی دهد. inbound_ticket یا ticket_mirror.

مثال کار: WHMCS

WHMCS فروشگاه های مشتری-area در هر درجه بندی ستاره در tblticketreplies.rating.... WHMCS کانکتور حالت نظرسنجی را با یک مودم اعلام می کند 1-5 کشتی، ticket_reply_ratings دستور رله در فایل پل خود را، و ترجمه هر ردیف به یک رویداد که شناسه های آن مطابقت دارد whmcs:<ticket>:reply:<reply> آینه بلیط آن را در حال حاضر تمبر می زند، پس از ارتقاء اتصال، دوباره کپی کردن فایل پل به فایل پل. WHMCS سرور بنابراین دستور جدید وجود دارد.

💡
قرارداد توسعه دهنده کامل با رابط، شکل رویداد، قوانین عادی سازی و چک لیست انطباق: doc/contracts/TICKET_REPLY_FEEDBACK_CAPABILITY.md در OpsIQ بسته پذیرش: نرخ پاسخ در داخل پلت فرم، منتظر نظرسنجی ساعتی و همان پاسخ در همان پاسخ OpsIQ تراشه را نشان می دهد، صفحه بازخورد آن را فهرست می کند و یک رویداد دوباره پخش شده هیچ چیز را تغییر نمی دهد.
اتصال‌دهنده‌ها (Connectors)

قابلیت ادغام بلیط (Contract) 2.4)

. اون ticket_merge قابلیت ساخت یک بلیط در داخل OpsIQ یک ادغام در هر پلت فرم بلیط متصل است. بلیت پلتفرم نگه داشته شده پیام های بلیط ادغام شده را دریافت می کند، با هر پیام باز شدن بلیط ادغام شد، به جای اینکه بلیط پلت فرم تنها بسته شود.

چرا وجود دارد

ادغام در OpsIQ هر پیام از بلیط های ادغام شده را به بلیط نگه داشته شده حرکت دهید و بلیط های یکپارچه قبل از قرارداد را حذف کنید 2.4 یک کانکتور شنیده شده فقط ticket.deleted برای هر بلیط ادغام شده WHMCS این بلیط را بسته و نگه داشته شده WHMCS بلیط هیچگاه چیزی را که مشتری برای اولین بار نوشت دریافت نکرد: موضوع نشان داد [MERGED] و محتوا گم شده است.

چه هسته ای ارسال می کند

بلیط (یک بار در هر ادغام)

ticket_id, ticket_numberموضوع و external_ref بلیط ها: native_table (opsiq_tickets); site_keyمنابع، بلیط های ادغام شده قدیمی ترین، هر کدام با ticket_id, ticket_numberموضوع، external_ref, client_name, client_email, created_at و پیام هاreply_id, author_type, author_name, created_at, بدن; merged_by; merged_atپیام ها مکالمه قابل مشاهده مشتری هستند که قبل از حرکت ثبت شده اند. نت های داخلی هرگز شامل نمی شوند.

بلیط حذف شده (پر بلیط ادغام شده)

آتش سوزی، حالا با merged_into {ticket_id, ticket_number, external_refCore آن را به یک کانکتور که اعلام می کند تحویل نمی دهد ticket_mergeسایر مصرف کنندگان می توانند از یک پاک کننده ادغام شوند.

دانلود بازی Outbound webhooks

بلیط.merged یک رویداد قابل تحویل است. A SaaS webhook Endpoint مشترک برای بلیط، حذف شده نیز دریافت بلیط.مرج، بنابراین ادغام ساخته شده قبل از ساخت قبل 2.4 صدای ادغام را می شنود.

آنچه که کانکتور شما انجام می دهد

دسامبرlare

List ticket_merge in capabilities() and settings.json, and implement TicketMergeConnectorInterface::mergeTickets(array $merge, array $settings). Required on Contract 2.4 for any package that declares ticket_mirror or handles ticket.deleted; conformance fails it otherwise.

بومی را به یاد بیاورید زمانی که می توانید

When the kept ticket and a merged ticket both have a copy on your platform (TicketMergeContract::twins() resolves them from external_ref), call the platform's own merge.

در غیر این صورت یک یادداشت خصوصی اضافه کنید.

A merged ticket with no copy on your platform: add TicketMergeContract::transcript() to the kept platform ticket as a PRIVATE note. Never a public reply, which would email the customer their own old messages.

گزارش هایی که ادغام نشد

بازگشت {ok, حالت ادغام شده, اشاره نشده, خطا} هر کپی ادغام شده شما نمی تواند در unmerged قرار گیرد و هسته شامل حذف طبیعی خود را (بسته، یا حذف با mirror_deletesبه طور دقیق آن حالت بازگشت تنها زمانی که پلت فرم هیچ ادغام و بدون توجه خصوصی ندارد، پشتیبانی نمی شود.یک حمل و نقل یا یک شکست واقعی با دلیل نادرست است؛ در تشخیص ثبت شده است.

احترام به عینک های شما

همان تنظیمات آینه که دروازه دیگر ورودی درب آینه ای را در بر می گیرد، ادغام می شود.

دانلود آهنگ جدید Merges That Start on your Platform

Resolve the platform ids and call TicketMergeContract::applyInbound(['<prefix>'], $keptId, $mergedIds). OpsIQ merges its copies with _origin=mirror, so nothing is pushed back to you.

کشتی سازی

WHMCS

MergeTicket (ticketid = نگه داشتن بلیط، بلیط های ادغام شده) هنگامی که هر دو در هر دو هستند WHMCS; AddTicketNote با رونویس در غیر این صورت، قلاب TicketMerge رله ادغام شده است OpsIQ کپی زمانی که کارکنان در هم ادغام شوند WHMCS.

Zendesk

POST /api/v2/tickets/{id}/merge.json با نظرات ادغام خصوصی (تا پنج بلیط در هر تماس)، به علاوه رونویسی به عنوان یک نظر خصوصی در مورد بلیط نگه داشته شده، زیرا Zendesk بلیط های ادغام شده را بدون حرکت نظرات خود ببندید.

OpsIQ پل SaaS

POST /v1/tickets/{id}/merge همراه با source_ids, که حرکت پورتال پاسخ و پیوست; یک پاسخ داخلی را حمل می کند رونویس برای بلیط است که هرگز در پورتال بود /manage ادغام ها Thecons OpsIQ کپی ها

سازنده اتصال

ticket_merge مشتق شده است، هرگز تیک زده نمی شود: یک بسته تولید شده آن را اعلام می کند زمانی که بلیط پلت فرم را ایجاد می کند (یک بلیط.ساخت مشترک با بلیط لینک بر روی)، رزرو بلیط یا اعلام بلیط ticket_mirrorدر مرحله بلیط، زیر مرسی, عمل ادغام پلت فرم را انتخاب کنید (map ادغام می شود.target_remote_idو ادغام.source_remote_ids یا ادغام.source_remote_id• و یک اقدام یادداشت خصوصی (یادداشت نقشه)remote_id و توجه داشته باشید.body) ادغام شده (با استفاده از هر دو، سازنده هشدار می دهد که پیام های بلیط یکپارچه به پلت فرم نمی رسد.

💡
قرارداد کامل: doc/contracts/CONNECTOR_CONTRACT.mdبلیط بخش ادغام می شود: دو بلیط را در هم ادغام کنید OpsIQ این که هر دو در پلت فرم وجود دارند، سپس بلیط نگه داشته شده را بر روی پلتفرم باز کنید.اولین پیام بلیت ادغام شده آنجا است.
اتصال‌دهنده‌ها (Connectors)

بازار

بازار به شما اجازه می دهد تا اتصالات را که توسط جامعه ساخته شده اند، پیدا کنید، نصب و منتشر کنید.

بازار
بازاریک شبکه جستجو شده از کارت های اتصال جامعه با دسته ها، نصب دکمه ها و رتبه بندی ستاره.بازارفضای کاریکانکتورهای جستجو ...Calendدانلود بازی Schedulingنصب★ 4.8HubSpotوب‌گاه رسمی شرکت CRMنصب★ 4.6میلچیمپایمیلنصب★ 4.7QuickBooksحسابدارینصب★ 4.5خم کردنپیام کوتاهنصب★ 4.9عدممستنداتنصب★ 4.41DISCOVERاتصالات جامعه2داخلیک کلیک3PUBLISHثبت نام و ارسال خود
کانکتورهای جامعه را مرور کنید، در یک کلیک نصب کنید یا علامت بزنید و خود را منتشر کنید، از قبل نصب شده و بازار هر دو قابل جستجو هستند.

پیدا کردن و نصب کانکتور ها

1
مرور

به کانکتور > بازار جستجو با نام، دسته یا پلت فرم بروید.

2
بازبینی شده در

شرح، اقدامات پشتیبانی شده و رتبه بندی ها را بررسی کنید.

3
نصب

Click install را کلیک کنید. بسته کانکتور بارگیری و نصب شده به Market_connectors /

4
شکل گیری Configure

آن را در داخل بدنه فعال کنید، وارد شوید. API مدارک و آزمون

انتشار یک کانکتور

1
ساخت و آزمایش

از آداپتور استفاده کنید.تمام کارهایی را که انجام می دهید بررسی کنید.

2
بسته بندی بسته

پروفایل ژن json, اقدامات json دانش json فایل های PHP

3
نشانه ثبت نام

Run php tools/sign_connector.php <slug> to sign ONE package (it also accepts a path). It does not boot OpsIQ, so give it the key: either --key=<secret> or the OPSIQ_CONNECTOR_SIGNING_KEY environment variable, otherwise it stops with "No signing key available". tools/resign_all_connectors.php re-signs EVERY package on the install and reads the key from settings by itself, but it can also mint a NEW install-wide signing key, so reach for it only when that is what you want.

4
ارسال

ارسال از طریق جریان ارسال بازار برای بررسی.

دو اتصال کانکتور

کانکتورها / - آنچه در واقع اجرا می شود

ریشه کشف زمان اجرا در اینجا زندگی می کند: کانکتورهایی که با کشتی حمل می شوندOpsIQهر چیزی که از بازار نصب شده است و هر آنچه که سازنده پلاگین بر روی این نصب منتشر می کند.

بازار_connectors/ - جایی که بسته ها مجاز هستند

انتشار SOURCE برای بسته های بازار اول شخص ریشه ای کشف نیست: هیچ چیز در اینجا زندگی نمی کند تا زمانی که بسته بندی شده، امضا شده، به کاتالوگ و نصب شده است، که در آن نقطه یک زمین کپی در کانکتورها /.

💡
به هر دو مکان نگاه کنید.یک بسته ای که در زیر Market_connectors نوشته شده اید، نسخه ای نیست که اجرا می شود – نصب آن به کانکتورها/ و فقط این کپی در زمان اجرا کشف شده است.StripeBigCommerce، Magento2PrestaShop، Opencart، Amazon SES، Postmark و Resend همگی بسته های بازار هستند: نصب یکی قبل از انتظار برای پیدا کردن آن در کانکتور.
توسعه دهنده

API سازنده وب سایت Shake

. اون API و Webhook Builder به شما اجازه می دهد تا API نقاط انتهايي و شنوندگان وب هوک داخل. OpsIQ بدون نوشتن PHP خام.

API سازنده : سازنده
API سازنده وب سایت Shakeیک سازنده انتخاب یک نوع ماشه (درbound webhook، برنامه، رویداد، Manual) که به یک عمل قابل تنظیم تغذیه می کند.API سازنده وب سایت Shakeفضای کاری۳- استقلالوب سایت Inbound webhookبرنامه (cron)OpsIQ رویداد Eventدستیاقدام عملینقشه های ورودی →ایجاد بلیط / اطلاع / تماس APISave Endpoint1محرکهاWebhook · برنامه ریزی · راهنمای2NO RAW PHPساخته شده در UI3Actionنقشه ها، سپس اجرا می شوند
ایجاد نقاط پایانی بدون PHP خام: یک ماشه (در اینترنت فشرده، برنامه، رویداد یا دستی) را انتخاب کنید، سپس زمینه ها را به یک عمل نقشه بزنید.

محرک‌ها (Triggers)

رویداد

دویدن وقتی اتفاق می افتد OpsIQ یا هنگامی که یک سیستم خارجی یک رویداد تطبیق دهنده را به وب سایت شما ارسال می کند. URL نام رویداد را تایپ کنید، برای مثال بلیط.

برنامه زمانبندی

از یکی از رویدادهای فاصله ساخته شده به عنوان نام رویداد استفاده کنید: در دقیقه، cron. Hours یا cron . daily. Actions و ماشه صفحه نمایش دکمه هایی برای این موارد دارد، بنابراین شما مجبور نیستید آنها را به خاطر بسپارید.

عبارت

وقتی که یک مدیر از AI برای آن به زبان ساده سوال می کند، عبارت را اضافه کنید که باید مطابقت داشته باشد، مثلاً مشتری را پیدا کنید.

وب سایت Inbound webhook

یک سیستم خارجی HTTP POST را به شما ارسال می کند OpsIQ وب سایتhook URL با یک نام رویداد، هر بار گوش دادن به این آتش سوزی رویداد.

گاهی اوقات فقط آن را اجرا کنید: شرایط

یک ماشه رویداد می تواند شرایط را حمل کند، بنابراین تنها زمانی اجرا می شود که داده های ورودی بدون شرایطی که هر بار آتش سوزی رویداد رخ می دهد.

فیلد

یک مسیر در داده های رویداد.استفاده از یک dot برای ارزش های لانه دار، به عنوان مثال مشتری.

همه یا هر

انتخاب کنید که آیا هر قانون باید مطابقت داشته باشد یا فقط یکی از آنها.

تست های Text Test

برابر، برابر نیست، شامل، ندارد، با آن شروع می شود، یکی از است، یکی نیست. Matching نادیده گرفتن سرمایه است.

تست های عددی

بیشتر از حداقل، کمتر از اعداد نوشته شده به عنوان متن هنوز هم به درستی مقایسه می شوند.

تست های حضور

حال، گم شده است، خالی است، بی معنی نیست.

فقط با استفاده از مهندس تماس برای بلیط های فوری

سناریو:
بلیط رویداد ایجاد شده با یک قانون: اولویت برابر فوری است.
چه کاری باید انجام دهید:

این اقدام برای بلیط های فوری اجرا می شود و برای همه چیز دیگر از بین می رود.بدون فیلتر مورد نیاز در پایان شما.

💡
اگر قوانین را خالی کنید، ماشه بر روی هر رویداد تطبیق پذیر اجرا می شود که همان رفتار قبل از شرایط وجود دارد.

اقدامات

ارسال وب سایتhook

ارسال HTTP POST به یک خارجی URL با یک محموله سفارشی

ایجاد بلیط

یک بلیط پشتیبانی با بخش مشخص، موضوع و پیام ایجاد کنید.

ارسال ایمیل

ارسال ایمیل با یک قالب سفارشی

به روز رسانی رکورد

به روز رسانی یک مشتری، بلیط یا ثبت CRM

Run کانکتور Action

اجرای یک اقدام ثبت شده از یک اتصال فعال با مجوز کانکتور و قوانین تأیید آن.

دویدن Run Run OpsIQ ژنرال عمومی API اقدام عملی

جستجو کامل به نام General API کاتالوگ. Fields، دامنه ها، مجوزها، تأیید، قابلیت شناسایی و حمایت خشک از قرارداد عمل زنده می آیند؛ جریان کار در داخل فضای کاری ذخیره شده و زمینه مدیریت اجرا می شود.

ارسال ارائه دهنده API درخواست درخواست

استفاده از یک کانکتور بومی API خواندن یا تایید بومی API اقدام بنویسید زمانی که نقطه انتهایی ارائه دهنده هیچ عمل نظارتی نداشته باشد.Credentials در داخل کانکتور باقی می ماند و تنها مسیرهای تامین کننده نسبی پذیرفته می شوند.

سازنده: Actions & Causes /api/v1.php, OpenAPI و Postman از همان ActionContractRegistry استفاده می کنند، بنابراین یک اقدام قابل انتخاب نمی تواند از مستندات زمان اجرا عبور کند.
توسعه دهنده

کتاب آشپزی

آماده برای استفاده از دستورالعمل های محرک برای اتوماسیون مشترک.

چگونه کار می کند
کتاب آشپزیجریان دستورالعمل: یک وب سایت رول یک فیلتر تولید را می کند، سپس طرفداران برای ایجاد یک بلیط فوری و اطلاع دادن به Slack.uptime.downنظارت بر وب سایت Shakeاگرfilterایجاد بلیط اضطراریقابلیت اتصال Slack #ops
کتاب آشپزی

بلیط خودکارسازی از نظارت

سناریو:
سیستم نظارت ارسال پست زمانی که سرور پایین می رود.
چه کاری باید انجام دهید:

Trigger: Inbound webhook Condition: payload.status = "down" Action: Create ticket · Dept: Technical, Subject: "Server {{payload.hostname}} down", Priority: Urgent

اطلاع رسانی Slack در سفارشات بزرگ

سناریو:
پیام Slack هر بار که یک مشتری سفارش خود را به پایان برساند $100.
چه کاری باید انجام دهید:

Trigger: Event (order.completed) Condition: order.amount > 100 Action: Send webhook to Slack incoming webhook URL with order details

دانلود ایمیل Weekly

سناریو:
ایمیل های خلاصه برای مدیریت هر دوشنبه در ساعت 9 صبح
چه کاری باید انجام دهید:

Trigger: Schedule (Monday 09:00) Action: Send email with last week's stats pulled from the REST API

بلیط های ثابت

سناریو:
اگر یک بلیط پاسخی برای 24 ساعت ها، اختصاص به رهبری تیم.
چه کاری باید انجام دهید:

Trigger: Schedule (every hour) Condition: ticket.status = "Open" AND ticket.last_reply_age > 86400 Action: Assign to team-lead, add internal note

توسعه دهنده

اولین اقدام خود را بسازید

این پیاده روی یک عمل اتصال ساده از ابتدا ایجاد می کند.

ساخت و ساز
ایجاد یک عملیک فرم تعریف عمل: جستجوی نام_سفارش، درخواست GET برای دریافت /orders/{id}, یک پارامتر شناسه تایپ شده و یک عبور 200 آزموناقدام جدیدفضای کاریاقدام جدیدنامlookup_orderدرخواست RequestGET/orders/{id}پارامترها· * String200 · سفارش پیدا شده1DEFINEنام، متد، Endpoint2PARAMSورودی های Typed3ESTزندگی زنده Live 200 نتیجه
یک عمل را از ابتدا ایجاد کنید، آن را نام گذاری کنید، روش و نقطه پایانی را تنظیم کنید، پارام های تایپ شده را اعلام کنید و آن را به یک چتر زنده آزمایش کنید. 200.

دو نوع عمل

قبل از شروع، تصمیم بگیرید که کدام یک را نیاز دارید. هر دو در همان صفحه پیکربندی می شوند.

Call a خارجی API

این اقدام یک درخواست HTTP را به پلت فرم شما ارسال می کند. OpsIQ نیاز به بیرون رفتن و انجام کاری در کنار شما.

اجرای یک عمل کانکتور

این عمل چیزی را اجرا می کند که یک کانکتور نصب شده در حال حاضر آن را انتخاب می کند و شما فقط می خواهید آن را تحریک کنید.شما اقدام اتصال را از یک لیست انتخاب می کنید، بنابراین هیچ چیز برای سیم کشی وجود ندارد.

گزینه دوم این است که چگونه از تمام اتصالات خود استفاده کنید بدون اینکه دوباره هیچ کدام از آن ها را بسازید: یک برگه بلیط بخوانید، مشتری را ببینید، مخاطبین را وارد کنید و بنابراین اقدام کانکتور را از سمت پایین انتخاب کنید و انجام دهید.
1
برنامه ریزی عمل

مثال: «نگاه کردن به محصول» با نام، قیمت بازگشت، سهام و شرح یک محصول را ببینید.

2
تعریف در عمل json

تعریف عمل را اضافه کنید:

اقداماتjsonشکل واقعی مانیفست
{
  "actions": [
    {
      "action_id": "lookup_product",
      "label": "Look up a product",
      "category": "Catalogue",
      "description": "Find a product by name and return price, stock and description.",
      "scope": "admin",
      "requires_confirmation": false,
      "is_destructive": false,
      "delivery_type": "http",
      "http_method": "GET",
      "http_url": "/api/products/search",
      "parameters": [
        { "name": "name", "type": "string", "required": true, "in": "query",
          "description": "Product name to search for" }
      ],
      "returns": [
        { "alias": "id",          "path": "data.id",             "type": "string" },
        { "alias": "name",        "path": "data.name",           "type": "string" },
        { "alias": "price",       "path": "data.price",          "type": "number" },
        { "alias": "stock",       "path": "data.stock_quantity", "type": "number" }
      ]
    }
  ]
}
⚠️
سه چیز که یک عمل را انجام می دهند، به هیچ وجه ثبت نام نمی کنند. Action_id REQUIRED است و باید2برای100شخصیت های حروف کوچکتر، رقم ها و تأکیدها - ورودی بدون هیچ کس به طور مستقیم رد می شود. مانیفست یک شی با "اقدامات" LIST است، نه نقشه ای که توسط نام عمل کلیدی شده است و نقشه برداری پاسخ "بازگشت" با مسیرهای DOTted (داده) ، نه JSONPath ("داده.id") وجود دارد - هیچ "پاسخ دادن_"، "mparadho" یا کلید در هر نقطه ثبت نام "
3
تست با خشک

در مرحله بررسی Browser Builder، حالت خشک را فشار دهید.این چک لیست کامل مطابقت را بر روی بسته شما اجرا می کند و هنگامی که اعتبار ارائه داده اید، یک تست اتصال واقعی ایجاد می کند.

4
بررسی استفاده از AI

از مدیر AI بپرسید: “نگاه کنید به محصول Widget Pro”، هوش مصنوعی باید این عمل را پیدا و اجرا کند.

⚠️
اضافه کردن یک عمل به اقداماتjsonیک مسیر AJAX ایجاد نمی کند، بنابراین هیچ چیز برای بازسازی حرکات پلاگین وجود ندارد.OpsIQهنگامی که کانکتور فعال می شود یا تنظیمات آن ذخیره می شوند: اتصال را دوباره برقرار کنید و عمل جدید به نظر می رسد. ابزارها/gen_ روتر_registry.php ارسال admin AJAX را پوشش می دهد و هیچ تاثیری در اقدامات کانکتور ندارد.
توسعه دهنده

پایان نامه های رویداد داخلی

نقاط پایانی ورودی پذیرش امضا شده JSON از یک سیستم دیگر و تبدیل آن به فعالیت های ارتباطی پیچیده که می تواند جدول زمانی، امتیازدهی و گردش کار را تغذیه کند.

صفحه نمایش محصول
نقطه پایانی ورودیهر منبع ورودی خود را دارد URL, راز ، نقشه برداری و نتیجه فعالیت های اخیرنقطه پایانی ورودیفضای کاریمنابع5ACCEPTED12.4kREJECTED18دانلود بازی LiveSPACEپلتفرم Billingاشتراک گذاری حوادثسالمبرنامه محصولثبت نام و استفاده از حوادثسالمشناسه Event IDprovider_event_idدائوپامضایX-OpsIQ-Inbound-SignatureHMAC1CREATE SOURCEURL راز2MAP PAYLOADایمیل، رویداد و ID3تاییدHMACسپس مصرف کنید.
هر منبع ورودی خود را دارد URL, راز ، نقشه برداری و نتیجه فعالیت های اخیر

ایجاد یک منبع در هر سیستم ارسالی OpsIQ تولید یک محصول URL دانلود بازی / Token and Secret JSON همراه با Content-Type: application/json و ثبت دقیق بدن خام با استفاده از HMAC-SHA256:

X-OpsIQ-Inbound-Signature: sha256=<hex hmac>

نقشه Map JSON مسیر برای ایمیل تماس، نام رویداد و شناسه اختیاری رویداد ID. شناسه رویداد کلید ترجیحی deduplication پذیرفته شده است وارد جدول زمانی تماس می شود و می تواند بر نمره سرب، بخش ها، قوانین چرخه عمر و جریان های کاری تاثیر بگذارد.

رد کردن امضاهای نامعتبر قبل از تجزیه و تحلیل داده های کسب و کار، با به روز رسانی هر دو طرف داخل یک پنجره کنترل شده، راز را فاش نکنید.

توسعه دهنده

عملیات وب سایت خارجی

مدیریت وب سایت خارجیhook ایجاد اشتراک های امضا شده، نقاط انتهایی آزمون و نظارت به عنوان تحویل همزمان و دوباره ورزش سلامت.

صفحه نمایش محصول
دانلود بازی Outbound webhooksصفحه وب سایت خارجی را لیست نقاط پایانی HTTPS، اشتراک رویداد، بهداشت تحویل و یک تست امضا شده یک کلیک.دانلود بازی Outbound webhooksفضای کاریENDPOINTS7SUCCESS99.2%دوباره سعی کن4دانلود بازی LiveSPACEآینه CRMتماس و معاملهسالماتوبوس پشتیبانیبلیط و چتسالمانبار داده ها*تمرین مجددآزمون تحویلامضای نمونه محمولهآماده شدن1SUBSCRIBEHTTPS URL حوادث و2AUTHENTICATEامضای HMAC3OBSERVEراه آهن تحویل و retries
صفحه وب سایت خارجی را لیست نقاط پایانی HTTPS، اشتراک رویداد، بهداشت تحویل و یک تست امضا شده یک کلیک.

مدیران کامل یک نقطه پایانی HTTPS ایجاد می کنند، رویدادهای خاص یا کارت وحشی را انتخاب می کنند و با خیال راحت راز را ذخیره کرده و تست می کنند. OpsIQ نشانه های محموله خام با HMAC-SHA256 :

X-OpsIQ-Signature: sha256=<hex hmac>

تأیید امضای قبل از اینکه تحویل یا عمل شود به عنوان ناهمگن و به طور خودکار پس از تقریباً دوباره مورد توجه قرار می گیرد. 1 minute, 5 minutes, 30 minutes, 2 hours and 12 hoursاز راه آهن تحویل دهنده اخیر برای بازرسی وضعیت، کد پاسخ و شمارش تلاش استفاده کنید.

گیرنده شما باید به خاطر هر سیستم ناهمگونی، یک پاسخ 2xx را فقط پس از پذیرش پایدار دریافت کند.

توسعه دهنده

وب‌هوک‌ها

Webhooks اجازه می دهد تا سیستم های خارجی اطلاع دهند OpsIQ هنگامی که چیزی اتفاق می افتد (داخلی) و اجازه دهید OpsIQ به سیستم های خارجی اطلاع دهید زمانی که چیزی در داخل اتفاق می افتد (داخلی).

وب‌هوک‌ها
دانلود بازی Outbound webhooksصفحه نمایش وب خارجی: یک جدول پایانی با نام، رویدادهای مشترک، نقاط وضعیت تحویل اخیر و یک دکمه ارسال تست.دانلود بازی Outbound webhooksفضای کاریپایان+ Save Endpointنام تجاریبازیگراندانلود بازی DELIVERIESSlack #فروش-کارشناسانhttps://hooks.slack.com/…. crm. deal. won ، سفارشآزمون تستآینه CRMhttps://api.acme.com/hookتماس بگیرید. *، بلیطآزمون تستزاپیرhttps://hooks.zapier.com/…chat.startedآزمون تست1ENDPOINTSنام، حوادث، URL2SIGNEDHMAC + Auto-retried3SEND TESTبررسی تحویل
صفحه نمایش واقعی بیرون از وب سایت: هر نقطه پایانی با حوادث آن، بهداشت تحویل اخیر و یک تست ارسال یک کلیک، امضا شده و دوباره مورد توجه قرار می گیرد.

دانلود بازی Outbound webhooks

اشتراک

به Settings > Webhooks بروید. یک نقطه پایانی اضافه کنید URL و انتخاب حوادث برای دریافت.

حوادث

اشتراک گذاری در حوادث خاص، یا ["*"] برای همه چیز، لیست کامل نصب شما زیر است و webhooks.events.list بازگشت به آنJSON.

دوباره سعی کنید

تحویل های شکست خورده با بازگشت نمایی پس از آن 15 شکست های متوالی، نقطه پایانی به صورت خودکار قابل انکار است.

ثبت نام

هر تحویل امضا می شود. X-OpsIQ-Signature carries v2=<hex>و رشته امضا شده است version.timestamp.delivery_id.body بدن به تنهایی تأیید نمی کند و همیشه رشته را دقیقاً بازسازی می کند.

محافظت از SSRF

OpsIQ به صورت خصوصی و داخلی ارسال نمی شود IPs (127 x، 10 x، 172.16 x، 192.168 x، 169.254.169.254).

تحویل Async

Webhooks از طریق صف شغلی تحویل داده می شود، نه مسدود کردن OpsIQ عملیات

شناسه پایدار

هر رویداد یک رویداد منحصر به فرد دارد که در سراسر retries برای deduplication باقی می ماند.

آنچه با هر تحویل می رسد

X-OpsIQ-Event

نام رویداد، به عنوان مثال ticket.created.

X-OpsIQ-Delivery

شناسه تحویل، همان را در سراسر retries باقی می ماند - از آن برای نادیده گرفتن یک تکراری استفاده کنید.

X-OpsIQ-Timestamp

ثانیه های یونیکس در زمان ثبت نام، هر چیزی را که بیش از ۵ دقیقه باشد رد کنید.

X-OpsIQ-Signature

امضایی به عنوان v2=<hex>تقسیم بر روی =سمت چپ نسخه است، طرف راست ارزشی است که شما مقایسه می کنید.

X-OpsIQ-Signature-Version

طرح در حال حاضر v2آن را از هدر به جای رمزگذاری سخت بخوانید و کد شما در صورت اضافه شدن V3 کار می کند.

⚠️
رشته امضا شده است version.timestamp.delivery_id.bodyنه بدن خام به تنهایی، بلکه تنها بدن است که رایج ترین دلیل شکست تأیید است – هر تحویل واقعی رد می شود و نقطه پایانی به نظر می رسد شکسته شده است.

بررسی تحویل

PHP · تأیید یکOpsIQوب سایتhook
<?php
// Read the raw body BEFORE any framework parses it — the signature covers
// the exact bytes we sent, so a re-encoded array will not match.
$raw      = file_get_contents("php://input");
$sigHeader= $_SERVER["HTTP_X_OPSIQ_SIGNATURE"] ?? "";   // "v2=<hex>"
$ts       = (string)($_SERVER["HTTP_X_OPSIQ_TIMESTAMP"] ?? "");
$delivery = (string)($_SERVER["HTTP_X_OPSIQ_DELIVERY"] ?? "");
$secret   = "your endpoint signing secret";   // shown once when you add the endpoint

// 1. Refuse a stale delivery. This is what stops a captured request being replayed.
if ($ts === "" || abs(time() - (int)$ts) > 300) {
    http_response_code(401);
    exit(json_encode(["error" => "Stale delivery"]));
}

// 2. The header names its own version: "v2=<hex>".
[$version, $received] = array_pad(explode("=", $sigHeader, 2), 2, "");

// 3. Rebuild exactly what OpsIQ signed.
$canonical = $version . "." . $ts . "." . $delivery . "." . $raw;
$expected  = hash_hmac("sha256", $canonical, $secret);

// 4. Constant-time compare, so a timing attack cannot reveal the secret.
if ($received === "" || !hash_equals($expected, $received)) {
    http_response_code(401);
    exit(json_encode(["error" => "Invalid signature"]));
}

// 5. Accept. Deliveries retry, so treat a delivery id you have already
//    processed as a success and do the work only once.
$event = json_decode($raw, true);
// ... your handling ...

http_response_code(200);
echo json_encode(["received" => true]);
Node.js · تأیید یکOpsIQوب سایتhook
const crypto = require("crypto");

// express.raw gives you the exact bytes OpsIQ signed. express.json() does not.
app.post("/opsiq-webhook", express.raw({ type: "application/json" }), (req, res) => {
  const raw      = req.body;                                  // Buffer
  const sig      = req.headers["x-opsiq-signature"]  || "";   // "v2=<hex>"
  const ts       = req.headers["x-opsiq-timestamp"]  || "";
  const delivery = req.headers["x-opsiq-delivery"]   || "";
  const secret   = process.env.OPSIQ_WEBHOOK_SECRET;

  // 1. Reject stale deliveries (replay protection).
  if (!ts || Math.abs(Date.now() / 1000 - Number(ts)) > 300) {
    return res.status(401).json({ error: "Stale delivery" });
  }

  // 2. Split "v2=<hex>" into its version and its value.
  const [version, received] = sig.split("=", 2);

  // 3. Rebuild what OpsIQ signed: version.timestamp.delivery_id.body
  const canonical = Buffer.concat([
    Buffer.from(`${version}.${ts}.${delivery}.`),
    raw,
  ]);
  const expected = crypto.createHmac("sha256", secret).update(canonical).digest("hex");

  // 4. Constant-time compare. Lengths must match first or timingSafeEqual throws.
  const a = Buffer.from(expected), b = Buffer.from(received || "");
  if (a.length !== b.length || !crypto.timingSafeEqual(a, b)) {
    return res.status(401).json({ error: "Invalid signature" });
  }

  // 5. Accept, and make the work idempotent on the delivery id.
  const event = JSON.parse(raw.toString("utf8"));
  res.json({ received: true });
});

هر رویداد که این نصب می تواند ارسال کند

از ساخت دویدن، الگوبرداری شده است، بنابراین همیشه با نسخه ای که در آن هستید مطابقت دارد.

52 events can be delivered to a webhook endpoint on this install. Subscribe with ["*"] for all of them, or name the ones you want. The General API action webhooks.events.list این لیست را به همان شکل باز کنید.JSONبنابراین کد شما هرگز نباید آن را سخت کند.

تحلیل تحلیلی (1)

analytics.anomaly

Fired by PHASE_ANOMALY_ALERTS when a daily KPI (sessions, pageviews, conversions, revenue) deviates from its same-weekday 4-week baseline beyond the configured threshold. Payload: day (required), title, site_key, anomalies.

تجارت تجاری (2)

commerce.order.created

Fired the moment a chat-confirmed order lands on the merchant platform (connector or custom-actions integration) - before payment. Subscribe to sync carts, reserve stock, or notify fulfilment systems. Payload: reference (required), connector, amount_minor, currency, customer_email, thread_id, occurred_at.

commerce.payment.confirmed

Fired exactly once per order when the gateway actively verifies the payment (amount and currency exact). This is the settlement signal - it rides the same claim that prevents duplicate receipts, so it can never double-fire. Payload: reference (required), connector, occurred_at.

تماس با تماس (6)

contact.conversion

Fired by OpsIQ.

contact.erased

Fired by OpsIQ.

contact.lifecycle_changed

Fired by OpsIQ.

contact.status_changed

Fired by OpsIQ.

contact.tag_added

Fired by OpsIQ.

opsiq.contact.upsert

Fired by OpsIQ.

conversation (5)

conversation.assigned

Fired when a conversation is assigned to an agent or unassigned. Payload: thread_id (required), site_key, assigned_admin_id, by_admin_id, occurred_at.

conversation.created

Fired when a new Client Chat conversation (thread) is opened. Payload: thread_id (required), site_key, channel, client_email, client_name, visitor_id, created_at.

conversation.message.created

Fired when a visible message is written to a conversation by the visitor, an agent, the AI or the system. Internal notes do not fire. Payload: thread_id (required), message_id (required), site_key, sender_type, admin_id, message, has_attachment, created_at.

conversation.rated

Fired when the visitor rates a conversation (1-5 stars). Payload: thread_id (required), site_key, stars, comment, trigger, admin_id, occurred_at.

conversation.resolved

Fired when an agent resolves a conversation and hands it back to the AI. Payload: thread_id (required), site_key, by_admin_id, occurred_at.

crm (6)

crm.company.created

Fired when a CRM company/account is created. Payload: company_id (required), name.

crm.deal.created

Fired when a CRM deal/opportunity is created (by an order, the capture agent, or a human). Payload: deal_id (required), title, amount, currency, scope.

crm.deal.lost

Fired when a deal is moved to a Lost stage (closed-lost). Payload: deal_id (required), stage, amount.

crm.deal.stage_changed

Fired when a deal moves to a different pipeline stage. Payload: deal_id (required), stage, amount.

crm.deal.won

Fired when a deal is moved to a Won stage (closed-won). Payload: deal_id (required), stage, amount.

crm.task.created

Fired when a CRM task is created (incl. AI-suggested next-step / renewal tasks). Payload: task_id (required), title.

ایمیل (2)

email.bounced

Fired by OpsIQ.

email.replied

Fired by OpsIQ.

feedback (13)

feedback.analysis.completed

Fired when a Voice-of-Customer analysis run completes. Payload: analysis_run_id (required), workspace_key, sample_count, model_version.

feedback.detractor.detected

Fired when a newly indexed response meets its metric-specific detractor rule. Payload: feedback_item_id (required), workspace_key, source_kind, metric_kind, classification.

feedback.follow_up.completed

Fired when a Feedback follow-up is completed. Payload: feedback_item_id (required), workspace_key, actor_admin_id, outcome_code.

feedback.item.assigned

Fired when Feedback ownership changes. Payload: feedback_item_id (required), workspace_key, assignee_admin_id, team_id, actor_admin_id.

feedback.item.indexed

Fired when a source record is added to or refreshed in the canonical Feedback index. Payload: feedback_item_id (required), source_kind, source_id, workspace_key, metric_kind, classification.

feedback.item.redacted

Fired when source deletion or redaction removes Feedback content from the index. Payload: feedback_item_id (required), workspace_key, source_kind.

feedback.item.status_changed

Fired when the Feedback workflow state changes. Payload: feedback_item_id (required), workspace_key, state, actor_admin_id.

feedback.item.tagged

Fired when a tag is added to or removed from Feedback. Payload: feedback_item_id (required), workspace_key, tag, operation.

feedback.item.updated

Fired when a canonical Feedback item changes. Payload: feedback_item_id (required), workspace_key, change.

feedback.source.failed

Fired when a Feedback source replay or incremental index operation fails. Payload: workspace_key, source_kind (required), error_code, checkpoint.

feedback.source.lagging

Fired when a Feedback source checkpoint is behind its expected freshness window. Payload: workspace_key, source_kind (required), lag_seconds, last_success_at.

feedback.theme.detected

Fired when a canonical topic or theme signal is attached to Feedback. Payload: feedback_item_id (required), workspace_key, theme_key, confidence.

feedback.urgent.detected

Fired when an urgent Feedback signal is detected. Payload: feedback_item_id (required), workspace_key, source_kind, signal_key.

invoice (3)

invoice.created

Fired when an invoice is generated. Payload: invoice_id (required), customer_id, customer_email, amount, currency, due_date, items.

invoice.overdue

Fired when an invoice passes its due date unpaid. Payload: invoice_id (required), customer_id, customer_email, amount, currency, days_overdue.

invoice.paid

Fired when an invoice is paid in full. Payload: invoice_id (required), customer_id, customer_email, amount, currency, paid_at.

order (1)

order.created

Fired when a new order is placed. Payload: order_id (required), customer_id, customer_email, amount, currency, items, status, source.

پرداخت (3)

payment.completed

Fired when a payment succeeds. Payload: order_id (required), payment_id, provider_ref, customer_id, customer_email, amount, amount_minor, currency, gateway, invoice_id, items, paid_at.

payment.failed

Fired when a payment attempt fails. Payload: order_id, customer_id, customer_email, amount, currency, gateway, reason.

payment.refunded

Fired when a refund is issued. Payload: order_id, refund_id, customer_id, customer_email, amount, currency, reason.

امنیت امنیتی (1)

security.alert

Fired by PHASE_SECURITY_ALERTS when a security rule trips: failed-login wave, new automatic IP blocks, or a tamper-evidence (audit/consent hash chain) verification failure. Payload: rule (required), title, site_key, count, blocks, errors.

subscription (3)

subscription.cancelled

Fired when a subscription is cancelled. Payload: subscription_id (required), plan_name, customer_id, customer_email, cancel_reason, cancelled_at, ends_at.

subscription.created

Fired when a subscription is started. Payload: subscription_id (required), plan_id, plan_name, customer_id, customer_email, amount, currency, interval, trial_ends_at, next_billing_at.

subscription.renewed

Fired when a subscription renews successfully. Payload: subscription_id (required), plan_name, customer_id, customer_email, amount, currency, next_billing_at.

بلیط بلیط (5)

ticket.closed

Fired when a ticket is closed or resolved. Payload: ticket_id (required), resolution, closed_by_type, closed_by_id.

ticket.created

Fired when a new support ticket is opened. Payload: ticket_id (required), ticket_number, subject, department_id, department_name, customer_id, customer_email, priority, message, author_type, author_id, author_name.

ticket.merged

Fired when one or more tickets are merged into another ticket. Payload: ticket_id (required), ticket_number, subject, external_ref, native_table, site_key, sources, merged_by, merged_at.

ticket.renumbered

Fired when a connector mirror adopts the remote platform's ticket number for an OpsIQ ticket. Payload: ticket_id (required), old_number (required), ticket_number (required), connector, external_ref.

ticket.replied

Fired when a reply is posted to a ticket. Payload: ticket_id (required), reply_id, author_type, author_id, author_name, message.

user (1)

user.registered

Fired when a new user/customer account is created. Payload: user_id (required), email, firstname, lastname, company, country, source.

چگونه وب سایت را به صورت محلی تست کنیم؟+

از ngrok برای افشای سرور محلی خود استفاده کنید. نقطه پایانی وب را به ngroK خود تنظیم کنید URL.

اگر نقطه پایانی من به طور موقت پایین باشد چه؟+

OpsIQ با عقب نشینی نمایی تجدید نظر کنید، اگر نقطه پایانی شما در پنجره بازپرورش بهبود یابد، هیچ رویدادی از دست نمی رود.

توسعه دهنده

کلیدهای API

API کلید های معتبر درخواست ها را به OpsIQ REST API هر کلید دارای مجوز های دامنه ای است.

کلیدهای API
کلیدهای APIصفحه کلیدهای API: یک پنل مسئله با تراشه‌های سطح دسترسی و دامنه، در کنار لیستی از کلیدهای مخفی موجود با دکمه‌های لغو.کلیدهای APIفضای کارییک مسئله کلیدیدسترسی به Accessفقط بخوانیدمحدودیتمحدودهcontacts.readtickets.readevents.writeموضوع کلیدیکلیدهای شماادغام Zapieropq_••••4f2aدانلود بازی Reokeاپلیکیشن Mobileopq_••••91c7دانلود بازی Reokeصادرات Analyticsopq_••••2db0دانلود بازی Reoke1SCOPEDخواندن یا محدود2PER-ACTIONمحدوده دقیق را انتخاب کنید3REVOCABLEدر هر زمان
واقعی API صفحه کلید: یک کلید دامنه، خواندنی یا محدود را با انتخاب محدوده دقیق و هر زمان تغییر دهید.

ایجاد یک API کلید کلیدی

1
به Settings > API کلیدهای کلیدی

حرکت به سمت API مدیریت کلید

2
گزینه Create Key را کلیک کنید

به آن نام توصیفی بدهید.

3
محدوده های انتخاب

فقط آنچه را که لازم است، به صورت کلیدی در خواندن و نوشتن جفت در هر منطقه ارائه دهید، بنابراین یک ادغام گزارش می تواند بخواند و هیچ چیز دیگر.

محدوده های موجود

باریک ترین مجموعه ای را انتخاب کنید که کار را انجام می دهد. admin هر محدوده زیر را راضی کنید، بنابراین فقط زمانی که به طور واقعی نیاز به دسترسی گسترده دارید از آن استفاده کنید.

دانلود موسیقی متن فیلم crm. Write

تماس ها، شرکت ها، معاملات، فعالیت ها، بخش ها، توسعه، تبدیل، چرخه عمر و وب نرم افزار CRM.

بلیط ها

لیست و بلیط های خواندن و پیام های آنها؛ پاسخ، به روز رسانی، باز کردن و اجرای عملیات صف بزرگ.

گفتگو ها / مکالمات

مکالمات و تاریخ پیام های زنده را بخوانید؛ پیام ها، اختصاص و تغییر وضعیت ارسال کنید.

دانلود بازی کیلوبایت / KB. Write

دانش پایه ورودی

گفتگو.خواندن / گفتگو.نوشتن

قالب های پاسخ Saved

connectors.read

ببینید که کدام کانکتورها نصب شده اند، چه کاری می توانند انجام دهند و مدارک خود را آزمایش کنند.

automations.read

مشاهده اقدامات، محرک ها و تاریخ اجرا آنها.

departments.read

بخش های موجود برای مسیریابی

notifications.read

اعلان برای یک اپراتور به نام

analytics.read

بخش های گزارش، CSV صادرات و تعاریف گزارش برنامه ریزی شده

site_intelligence.read

سایت های نظارت شده و گزارش های SEO آنها

files.read

امضای لینک برای پیوست ها

status.write

اجزای صفحه و حوادث

نوشتن

AI Writing Aiders: Draft، خلاصه، ترجمه، بازنویسی، نوشتن، تجزیه و تحلیل.

مدیر اجرایی

همه چیز، از جمله تعداد کمی از اقدامات حساس که عمدا توسط هر محدوده باریک قابل دسترسی نیستند: دور زدن یک تماس، تغییر تنظیمات حریم خصوصی و خواندن log دسترسی.

💡
meta. actions را با کلید خود تماس بگیرید تا ببینید دقیقا چه اقداماتی می تواند بر روی نصب شما اجرا شود، که همیشه قابل اعتماد تر از کار کردن از یک لیست است.

سطح دسترسی

همه چیز

کلید ممکن است هر چیزی را که دامنه های آن اجازه می دهد، صدا کند.

فقط بخوانید

هر نوشتن رد می شود، هر چه دامنه ها بگویند، امن ترین انتخاب برای گزارش، داشبورد و هر چیزی که هرگز نباید داده ها را تغییر دهد.

محدودیت

شما اقدامات دقیق را که کلید ممکن است تماس بگیرد لیست می کنید، هر چیز دیگری حتی در محدوده مجاز رد می شود.

4
کپی کردن کلید

یک بار نمایش دهید. شروع به ذخیره آن با "opq_" کنید.

🚫
هرگز به اشتراک نگذارید API کلید در کد عمومی، سمت مشتری JavaScript یا کنترل نسخه.استفاده از متغیرهای محیطی
توسعه دهنده

اتصال وب سایت شما

. اون OpsIQ ابزارک یک JavaScript قطعه ای که به وب سایت خود اضافه می کنید برای ردیابی، گفتگوی هوش مصنوعی، ایجاد بلیط و شناسایی مشتری.

چگونه کار می کند
اتصال وب سایت شمایک برچسب اسکریپت یک خط در سمت چپ و در سمت راست، صفحه وب با صفحه نمایش OpsIQ حباب چت در گوشه ظاهر می شود.<!-- paste before </body> --><script src="https://cdn.opsiq.io/w.js" data-site="ws_8a2f" async></script>
اتصال وب سایت شما

نصب پایه Basic

متن اصلی ویجت
<script src="https://your-opsiq-domain.com/widget.php"
  data-site-key="site_abc123"
  async></script>

Paste before the closing </body> tag. The script loads asynchronously and does not block page rendering.

ویژگی های Configuration

data-site-key

کلید سایت خود را از سایت های متصل شده لازم است.

data-mode

اختیاری: چت (default)، "شاخه های" یا "هر دو".

data-position

اختیاری: «بالا راست» یا «چپ پایین».

data-color

کد رنگ اصلی Hex

data-greeting

پیام تبریک اولیه

data-language

اختیاری زبان UI: "en"، "es"، "fr"، "de"، "pt"، "ar"، و غیره.

data-identity-token

اختیاری: توکن هویت ثبت شده توسط سرور

پشتیبانی SPA

راهنمای مسیر SPA
// Manually notify OpsIQ of a route change (for custom routers)
window.OpsIQ = window.OpsIQ || [];
window.OpsIQ.push(["pageview", {
  url: window.location.href,
  title: document.title,
}]);

قوانین CSP

قوانین CSP برای ویجت
script-src 'self' https://your-opsiq-domain.com;
connect-src 'self' https://your-opsiq-domain.com;
frame-src https://your-opsiq-domain.com;
آیا ویجت وب سایت من را کند می کند؟+

نه. 15 KB به آرامی، یک ویژگی پس از محتوای صفحه را بارگذاری کنید.

آیا می توانم ظاهر را سفارشی کنم؟+

استفاده از رنگ های داده برای پشتیبانی اولیه CSS گزینه ها را حذف کنید.

توسعه دهنده

دستور العمل های نصب Widget install

راهنمای نصب مخصوص پلتفرم

چگونه کار می کند
دستور العمل های نصب Widget installسیستم های نصب کارت برای WordPress, Shopify و Google Tag Manager هر کدام می گویند که کجا ویجت اضافه کنیم.وبWordPressافزونه را نصب کنید، وارد شویدکلید سایت شما، پس اندازفروشگاه خریدShopifyمتن را به داخل ببریدموضوع قبل از غیر قانونی /body.GTMمدیر برچسبسفارشی سفارشی HTML برچسب، تمام صفحات
نصب دستور العمل ها

WordPress

سناریو:
اضافه کردن به تمام صفحات یک WordPress سایت
چه کاری باید انجام دهید:

Option 1: Edit theme footer.php, paste snippet before </body>. Option 2: Use "Insert Headers and Footers" plugin > Scripts in Footer. Option 3: Use a child theme footer.php to survive theme updates.

Shopify

سناریو:
اضافه کردن به شما Shopify فروشگاه
چه کاری باید انجام دهید:

Online Store > Themes > Edit Code > Layout > theme.liquid. Paste before </body>. Save.

React / Next. js

سناریو:
به یک برنامه React یا Next. js اضافه کنید.
چه کاری باید انجام دهید:

In Next.js, use next/script in app/layout.tsx: import Script from "next/script"; <Script src="https://your-opsiq.com/widget.php" data-site-key="site_abc" strategy="lazyOnload" />

WHMCS

سناریو:
اضافه کردن به شما WHMCS منطقه مشتری
چه کاری باید انجام دهید:

تنظیمات > General Settings > Other > Global Footer Content. Insert the اسنیپت را انتخاب کنید یا قالب خود را ویرایش کنید.

Google Tag Manager

سناریو:
اضافه کردن از طریق GTM
چه کاری باید انجام دهید:

ایجاد سفارشی HTML برچسب ها، Paste Snip. ماشه: All pages

توسعه دهنده

ویجت مدیریت در پشت شما (یک قرارداد، هر پلتفرم)

بسترOpsIQدستیار مدیر – چت مدیریت، صندوق ورودی بلیط و نوشتن هوش مصنوعی – داخل پنل مدیریتی پلتفرم OWN شما، بنابراین تیم شما هرگز ابزار خود را مانند هویت بازدید کننده و پورتال ترک نمی کند.SSOاین یک قرارداد عمومی است که در آن اجرا می شود -15خطوط کد سرور پلت فرم شما – همان الگوZendeskاستفاده از Intercom و Words برایSSOهیچ پلاگین هر پلتفرمی برای صبر کردن وجود ندارد: هر پشته ای که بتواند یک افزونه را محاسبه کندHMACامروز می تواند این کار را انجام دهد.

مرحله گام قدم1– خط جاسازی شده

از سایت های Remote→سایت شما→کد ها, خط بار را کپی کنید و آن را به صفحات پنل مدیر خود اضافه کنید ( پابر شامل ، قالب طرح یا یک جعبه سفارشی فقط admin-JS):

دانلود بازی One-line
<script async src="https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=SITE_KEY&identity_token=TOKEN_FROM_STEP_2"></script>

مرحله گام قدم2- بگوOpsIQکسی که وارد شده است (سرنوشت سرور)

تنها برنامه شما می داند که کدام مدیر در آن امضا شده است - این یک کوتاه مدت نیست، بلکه مدل امنیتی است. سرور شما یک توکن کوتاه مدت امضا شده از جلسه خود را تولید می کند، دقیقاً مانند هویت بازدید کننده، با همان وب سایت طراحی سایت جعلی:

PHP · هویت مدیر را از جلسه خود ثبت کنید
<?php
$secret  = "opsiq_whsec_your_site_secret";   // Remote Sites → Codes
$payload = json_encode([
    "site_key"      => "SITE_KEY",
    "iat"           => time(),
    "exp"           => time() + 6 * 3600,
    "authenticated" => true,          // REQUIRED, top level — see note below
    "platform"      => "your-platform",
    "admin"    => [
        "id"            => (string)$admin->id,      // from YOUR session
        "name"          => $admin->name,
        "username"      => $admin->username,
        "email"         => $admin->email,
        "role"          => $admin->role,
        "authenticated" => true,
    ],
]);
$payload64 = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
$identityToken = $payload64 . "." . hash_hmac("sha256", $payload64, $secret);
// Put $identityToken into the embed line (identity_token=…), or expose it as
// window.OpsIQAdminIdentityToken before the loader script.
دسترسی به حالت خودکار

هر مدیری که به پلت فرم شما وارد می شود، به صورت جداگانه با هم مطابقت دارد:OpsIQدروازه دسترسی به هر مدیر نام کاربری توکن + ایمیل را در برابر یک ایمیل حل می کندOpsIQعامل (صفحه تیم؛ استفاده از لیست “ ایمیل های مشابه” نماینده زمانی که ایمیل پلتفرم متفاوت است) و اعمال آن محل کار، بخش و مجوز صندوق پستی جدید = اضافه کردن عامل در واحد کار.OpsIQهیچ تغییری ایجاد نمی کند.

نقش های سواری در امتداد

هر نقشی که پلت فرم شما ارسال می کند درOpsIQدر کنار تخصیص؛ مجوز همیشه از طریقOpsIQرکورد نماینده، هرگز از نقش اعلام شده.

چرا کوکی ورود ما را نخواند؟

مرورگرها هرگز کوکی مدیر خود را به یک منشأ دیگر ارسال نمی کنند – هیچ فروشنده ای نمی تواند “فقط” ورود شما به دامنه متقابل را تشخیص دهد.هر محصول جدی این گونه حل می کند: vouches سرور، امضا شده است.

هیچ حالت مشترک در سایت خود شما

خاموش کردن The Off OpsIQ میزبان هیچ حالت امضا نشده یا به اشتراک گذاشته شده ای وجود ندارد: لودر تا زمانی که یک توکن مدیر امضا شود، پنهان می ماند. توکن = ... ارزش در بار کد ها یک کلید ویجت است که تنها سایت را شناسایی می کند؛ هرگز نمی تواند کسی را وارد کند.

. اون authenticated پرچم - آن را در سطح بالا قرار دهید

این پرچم، ادعای سرور شما است که یک انسان واقعا وارد آن شده وOpsIQبدون آن هیچ توکنی را رد کنید. "authenticated" => true beside site_key/iat/expنه تنها در داخل admin جسم فعلیOpsIQآن را در هر دو موقعیت می پذیرد، اما نسخه های قدیمی تنها سطح بالایی را خوانده اند و شکست فریبنده است: لیست گفتگو، تاریخ و همه چیز معتبر در حالی که هر چت پاسخ به نوبه خود "Cal login مورد نیاز"که شبیه به یک باگ جلسه است و اگر دقیقاً این تقسیم را ببینید، ابتدا این پرچم را بررسی کنید.

بهداشت توکن

ثبت نام بر روی سرور، هرگز در مرورگرJavaScriptکوتاه مدت ( دقیقه تا ساعت)؛OpsIQتوکن های منقضی شده و آینده را رد می کند، و امضا توکن را به کلید سایت شما متصل می کند.

پیاده سازی مرجع

. اون WHMCS ماژول این کار را به صورت خودکار از. WHMCS نشست Botble پرونده پل ارتباطي هتل اين کار رو از. Laravel نشست (op=admin_identity). هر دو فقط این قرارداد در گویش پلتفرم خودشان هستند — کپی کنید که نزدیک‌ترین خواندن به پشته شماست.

سیم کشی صفحه صفر (برنامه های تایید شده)

هنگامی که شماOpsIQکانکتور نقطه پایانی هویت شما را در آن ذخیره می کند admin_identity_probe_url تنظیم، خط بارگذاری PLAIN تمام صفحات مدیریتی شما نیاز دارد: ویجت کاوشگر را از کانکتور کشف می کند، آن را با کلید سایت خود + توکن ویجت تماس می گیرد و هر مدیر به طور خودکار تأیید می کند. data-identity-endpoint یا window.OpsIQAdminIdentityEndpoint.

💡
راز ثبت نام برای شما پر شده است. در سایت های از راه دور، سایت شما، کد ها، گزینه 3ثبت نام در کارکنان خود، هر مثال در حال حاضر شامل راز خود این سایت است، بنابراین کد به عنوان گذشته کار می کند: هیچ چیز برای کپی یا پیکربندی نمونه ها در این صفحه نمایش وجود ندارد opsiq_whsec_YOUR_SITE_SECRET در جای خود هر مثالی به نظر می رسد OPSIQ_SITE_SECRET (یا تنظیمات خود چارچوب شما، که در یادداشت های آن نام گذاری شده است) بر روی سرور اول و استفاده از آن هنگامی که تنظیم می شود، بنابراین شما می توانید هر زمان که میخواهید، به عنوان مثال برای چرخش آن بدون کد ویرایش آن را حرکت دهید JavaScriptو هرگز آن را به یک مخزن عمومی متعهد نکنید، زیرا هر کسی که این راز را در خود نگه دارد می تواند به عنوان یکی از مشتریان یا کارکنان شما ثبت نام کند. WHMCS و Botble هیچ کدام از این موارد را لازم نیست: WHMCS قلاب با راز پر شده وارد می شود و Botble پانل اتصال آن را به پل پر می کند.

کد کامل، پلت فرم

هر مثال برچسب Admin Chat را فقط برای یک عضو کارکنان امضا شده با توکن های امضا شده چاپ می کند و به تازه سازی ویجت پاسخ می دهد (?opsiq_identity_refresh=1&role=admin(با) {"success":true,"identity_token":"…"} یا 401سایت های از راه دور، سایت شما، کد ها، گزینه 3ثبت نام در کارکنان شما همان کد را با کلید سایت و راز پر شده در آن چاپ می کند.

⚠️
توکن مدیر، فرم دو قسمتی است: Base64url (پرداخت)، یک dot، سپس hex HMAC-256 از آن متن پایگاه 64url نیست، و JWT رد می شود.هدف مدیر نیاز به شناسه و ایمیل دارد و نمایشگاه باید در داخل باشد 24 ساعت ها

WHMCS

Nothing to add: the WHMCS hook in Option 1 already signs your logged-in staff into Admin Chat and refreshes the token. Do not paste the Option 3 loader as well.
1

Install the Option 1 hook as includes/hooks/opsiq_tracker.php.

2

Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

includes/hooks/opsiq_tracker.php
/* WHMCS: no extra code. Option 1 (the All-in-One WHMCS Hook) signs the logged-in
 * admin into Admin Chat on every admin page and answers ?opsiq_identity_refresh=1&role=admin. */

Botble (connector bridge)

Nothing to add: the Botble bridge signs your logged-in admins. Copy the bridge from the Botble connector panel (it arrives with OPSIQ_HOST, OPSIQ_SITE_KEY and OPSIQ_SITE_SECRET filled in), then put its one admin_embed line in Botble's admin Custom JS.
1

In Botble admin → Custom JS, add: <script async src="https://YOUR-BOTBLE-SITE/opsiq-botble-bridge.php?op=admin_embed"></script>

2

Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

public/opsiq-botble-bridge.php
<!-- Botble admin → Custom JS. The bridge signs the logged-in admin; nothing secret is in the page. -->
<script async src="https://YOUR-BOTBLE-SITE/opsiq-botble-bridge.php?op=admin_embed"></script>

PHP (no dependencies)

1

Save as opsiq-admin-chat.php. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

At the very top of every ADMIN page, before any output: require 'opsiq-admin-chat.php'; opsiq_admin_chat_refresh(); and before </body>: <?= opsiq_admin_chat_tag() ?> (it replaces the Option 3 loader).

3

Replace opsiq_admin_chat_user() with your signed-in staff member. Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

opsiq-admin-chat.php
<?php
/* opsiq-admin-chat.php — sign your logged-in staff into OpsIQ Admin Chat. */

// WHO IS SIGNED IN AS STAFF — replace the body. Return null for anyone who is not staff.
function opsiq_admin_chat_user(): ?array
{
    $u = $_SESSION['admin'] ?? null;    // e.g. ['id' => 3, 'email' => '…', 'username' => '…', 'name' => '…', 'role' => 'Owner']
    return is_array($u) && !empty($u['id']) && !empty($u['email']) ? $u : null;
}

// The admin token is base64url(payload) . '.' . hex HMAC — NOT a JWT.
function opsiq_admin_chat_token(array $u): string
{
    $secret = (string) (getenv('OPSIQ_SITE_SECRET') ?: 'opsiq_whsec_YOUR_SITE_SECRET');   // this site's secret; the environment wins when set
    if ($secret === '') return '';                           // fail closed: no Admin Chat
    $now = time();
    $payload = rtrim(strtr(base64_encode(json_encode([
        'site_key'      => 'YOUR_SITE_KEY',
        'iat'           => $now,
        'exp'           => $now + 3600,                      // at most 24 hours
        'authenticated' => true,
        'platform'      => 'php',
        'admin'         => [
            'id'       => (string) $u['id'],                 // REQUIRED
            'email'    => (string) $u['email'],              // REQUIRED
            'username' => (string) ($u['username'] ?? ''),
            'name'     => (string) ($u['name'] ?? ''),
            'role'     => (string) ($u['role'] ?? ''),
        ],
    ], JSON_UNESCAPED_SLASHES)), '+/', '-_'), '=');
    return $payload . '.' . hash_hmac('sha256', $payload, $secret);
}

// Call at the top of every admin page, before any output.
function opsiq_admin_chat_refresh(): void
{
    if (empty($_GET['opsiq_identity_refresh'])) return;
    header('Content-Type: application/json; charset=utf-8');
    header('Cache-Control: no-store');
    $u = opsiq_admin_chat_user();
    $t = $u ? opsiq_admin_chat_token($u) : '';
    if ($t === '') { http_response_code(401); echo json_encode(['success' => false, 'login_required' => true]); exit; }
    echo json_encode(['success' => true, 'role' => 'admin', 'identity_token' => $t]);
    exit;
}

// Print before </body> on admin pages. Prints nothing for anyone who is not staff.
function opsiq_admin_chat_tag(): string
{
    $u = opsiq_admin_chat_user();
    $t = $u ? opsiq_admin_chat_token($u) : '';
    if ($t === '') return '';
    $src = 'https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=YOUR_SITE_KEY&identity_token=' . rawurlencode($t);
    return '<script async src="' . htmlspecialchars($src, ENT_QUOTES) . '" data-opsiq-widget="admin-chat"></script>';
}

Laravel

1

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET=… in .env with 'opsiq' => ['site_secret' => env('OPSIQ_SITE_SECRET')] in config/services.php on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Save the class as app/Support/OpsiqAdminChat.php; adjust isStaff() to your admin guard or role. Add the refresh middleware from the bottom of the code to your admin routes.

3

In your admin Blade layout before </body>: {!! \App\Support\OpsiqAdminChat::tag() !!}. Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

app/Support/OpsiqAdminChat.php
<?php
// app/Support/OpsiqAdminChat.php — no packages needed.
namespace App\Support;

final class OpsiqAdminChat
{
    /** WHO IS STAFF — adjust to your admin guard, role or gate. */
    private static function staff()
    {
        $user = auth('web')->user();                    // or auth('admin')->user()
        return ($user && $user->can('access-admin')) ? $user : null;
    }

    /** The admin token is base64url(payload) . '.' . hex HMAC — NOT a JWT. */
    public static function token(): string
    {
        $user = self::staff();
        $secret = (string) (config('services.opsiq.site_secret') ?: 'opsiq_whsec_YOUR_SITE_SECRET');   // this site's secret; config wins when set
        if (!$user || $secret === '') return '';
        $now = time();
        $payload = rtrim(strtr(base64_encode(json_encode([
            'site_key'      => 'YOUR_SITE_KEY',
            'iat'           => $now,
            'exp'           => $now + 3600,
            'authenticated' => true,
            'platform'      => 'laravel',
            'admin'         => [
                'id'       => (string) $user->id,           // REQUIRED
                'email'    => (string) $user->email,        // REQUIRED
                'username' => (string) ($user->username ?? $user->email),
                'name'     => (string) $user->name,
                'role'     => 'Admin',
            ],
        ], JSON_UNESCAPED_SLASHES)), '+/', '-_'), '=');
        return $payload . '.' . hash_hmac('sha256', $payload, $secret);
    }

    /** For the admin Blade layout, before </body>. Prints nothing for non-staff. */
    public static function tag(): string
    {
        $t = self::token();
        if ($t === '') return '';
        return '<script async src="' . e('https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=YOUR_SITE_KEY&identity_token=' . rawurlencode($t)) . '" data-opsiq-widget="admin-chat"></script>';
    }
}

/* Refresh — Admin Chat asks ?opsiq_identity_refresh=1&role=admin on the admin page it is on.
 * app/Http/Middleware/OpsiqAdminChatRefresh.php, added to your admin route group:
 *
 *   public function handle($request, \Closure $next) {
 *       if (!$request->query('opsiq_identity_refresh')) return $next($request);
 *       $t = \App\Support\OpsiqAdminChat::token();
 *       return $t === ''
 *           ? response()->json(['success' => false, 'login_required' => true], 401)->header('Cache-Control', 'no-store')
 *           : response()->json(['success' => true, 'role' => 'admin', 'identity_token' => $t])->header('Cache-Control', 'no-store');
 *   }
 */

WordPress / WooCommerce

1

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, add define('OPSIQ_SITE_SECRET', '…'); to wp-config.php instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Paste into your theme's functions.php or a small plugin. It shows Admin Chat inside wp-admin to users who can manage_options; change the capability to suit your team.

3

Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

functions.php
/* functions.php or a small plugin — OpsIQ Admin Chat inside wp-admin. */

if (!defined('OPSIQ_SITE_SECRET')) define('OPSIQ_SITE_SECRET', 'opsiq_whsec_YOUR_SITE_SECRET');   // this site's secret; wp-config.php wins when set

function opsiq_admin_chat_token(): string {
    if (!is_user_logged_in() || !current_user_can('manage_options')) return '';     // who counts as staff
    if (!defined('OPSIQ_SITE_SECRET') || OPSIQ_SITE_SECRET === '') return '';
    $u   = wp_get_current_user();
    $now = time();
    // The admin token is base64url(payload) . '.' . hex HMAC — NOT a JWT.
    $payload = rtrim(strtr(base64_encode(wp_json_encode([
        'site_key'      => 'YOUR_SITE_KEY',
        'iat'           => $now,
        'exp'           => $now + 3600,
        'authenticated' => true,
        'platform'      => 'wordpress',
        'admin'         => [
            'id'       => (string) $u->ID,                   // REQUIRED
            'email'    => (string) $u->user_email,           // REQUIRED
            'username' => (string) $u->user_login,
            'name'     => (string) $u->display_name,
            'role'     => (string) (reset($u->roles) ?: 'administrator'),
        ],
    ])), '+/', '-_'), '=');
    return $payload . '.' . hash_hmac('sha256', $payload, OPSIQ_SITE_SECRET);
}

// Refresh: Admin Chat asks ?opsiq_identity_refresh=1&role=admin on the admin page it is on.
add_action('admin_init', function () {
    if (empty($_GET['opsiq_identity_refresh'])) return;
    nocache_headers();
    $t = opsiq_admin_chat_token();
    if ($t === '') wp_send_json(['success' => false, 'login_required' => true], 401);
    wp_send_json(['success' => true, 'role' => 'admin', 'identity_token' => $t]);
});

// The loader, on every wp-admin page, for staff only.
add_action('admin_footer', function () {
    $t = opsiq_admin_chat_token();
    if ($t === '') return;
    echo '<script async src="' . esc_url('https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=YOUR_SITE_KEY&identity_token=' . rawurlencode($t)) . '" data-opsiq-widget="admin-chat"></script>';
});

Node.js / Express

1

No packages needed. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

adminRouter.use(opsiqAdminChat) on your ADMIN routes, after your session middleware; adjust isStaff(). It answers the refresh and sets res.locals.opsiqAdminChatTag.

3

Print res.locals.opsiqAdminChatTag (unescaped) before </body> in your admin layout. Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

opsiq-admin-chat.js
// opsiq-admin-chat.js — no packages needed.
const crypto = require("crypto");

const isStaff = (user) => !!(user && user.isAdmin);        // WHO IS STAFF — adjust

// The admin token is base64url(payload) + "." + hex HMAC — NOT a JWT.
function opsiqAdminChatToken(user) {
  const secret = process.env.OPSIQ_SITE_SECRET || "opsiq_whsec_YOUR_SITE_SECRET";   // this site's secret; the environment wins when set
  if (!isStaff(user) || !secret) return "";
  const now = Math.floor(Date.now() / 1000);
  const payload = Buffer.from(JSON.stringify({
    site_key: "YOUR_SITE_KEY",
    iat: now,
    exp: now + 3600,                                        // at most 24 hours
    authenticated: true,
    platform: "node",
    admin: { id: String(user.id), email: user.email, username: user.username || user.email, name: user.name || "", role: user.role || "Admin" },  // id + email REQUIRED
  })).toString("base64url");
  return payload + "." + crypto.createHmac("sha256", secret).update(payload).digest("hex");
}

// adminRouter.use(opsiqAdminChat)
function opsiqAdminChat(req, res, next) {
  const token = opsiqAdminChatToken(req.user);
  if (req.query.opsiq_identity_refresh) {
    res.set("Cache-Control", "no-store");
    return token
      ? res.json({ success: true, role: "admin", identity_token: token })
      : res.status(401).json({ success: false, login_required: true });
  }
  res.locals.opsiqAdminChatTag = token
    ? '<script async src="' + ("https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=YOUR_SITE_KEY&identity_token=" + encodeURIComponent(token)).replace(/"/g, """) + '" data-opsiq-widget="admin-chat"></script>'
    : "";
  next();
}

module.exports = { opsiqAdminChat };

Python (Flask)

1

No packages beyond Flask and flask-login. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Call init_opsiq_admin_chat(app) where you create the app, and adjust is_staff().

3

In your admin base template before </body>: {{ opsiq_admin_chat_tag }}. Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

opsiq_admin_chat.py
# opsiq_admin_chat.py — Flask + flask-login, no other packages.
import base64, hashlib, hmac, json, os, time, urllib.parse
from flask import request, jsonify
from flask_login import current_user
from markupsafe import Markup, escape

def is_staff(user):                                           # WHO IS STAFF — adjust
    return user.is_authenticated and getattr(user, "is_admin", False)

def opsiq_admin_chat_token():
    secret = os.environ.get("OPSIQ_SITE_SECRET") or "opsiq_whsec_YOUR_SITE_SECRET"   # this site's secret; the environment wins when set
    if not secret or not is_staff(current_user):
        return ""
    now = int(time.time())
    # The admin token is base64url(payload) + "." + hex HMAC — NOT a JWT.
    payload = base64.urlsafe_b64encode(json.dumps({
        "site_key": "YOUR_SITE_KEY", "iat": now, "exp": now + 3600,
        "authenticated": True, "platform": "python",
        "admin": {"id": str(current_user.id), "email": current_user.email,           # REQUIRED
                  "username": getattr(current_user, "username", current_user.email),
                  "name": getattr(current_user, "name", ""), "role": "Admin"},
    }, separators=(",", ":")).encode()).decode().rstrip("=")
    return payload + "." + hmac.new(secret.encode(), payload.encode(), hashlib.sha256).hexdigest()

def init_opsiq_admin_chat(app):
    @app.before_request
    def _opsiq_admin_refresh():
        if request.args.get("opsiq_identity_refresh"):
            t = opsiq_admin_chat_token()
            if t:
                resp = jsonify({"success": True, "role": "admin", "identity_token": t})
            else:
                resp = jsonify({"success": False, "login_required": True})
                resp.status_code = 401
            resp.headers["Cache-Control"] = "no-store"
            return resp

    @app.context_processor
    def _opsiq_admin_tag():
        t = opsiq_admin_chat_token()
        if not t:
            return {"opsiq_admin_chat_tag": ""}
        src = "https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=YOUR_SITE_KEY&identity_token=" + urllib.parse.quote(t, safe="")
        return {"opsiq_admin_chat_tag": Markup('<script async src="%s" data-opsiq-widget="admin-chat"></script>' % escape(src))}

Django

1

No packages needed. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in settings.py (for example os.environ["OPSIQ_SITE_SECRET"]) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Add "yourapp.opsiq_admin_chat.OpsiqAdminChatMiddleware" to MIDDLEWARE (after AuthenticationMiddleware) and "yourapp.opsiq_admin_chat.opsiq_admin_chat" to TEMPLATES context_processors. Staff = user.is_staff.

3

In your admin base template before </body>: {{ opsiq_admin_chat_tag }}. Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

opsiq_admin_chat.py
# yourapp/opsiq_admin_chat.py — no packages needed.
import base64, hashlib, hmac, json, time, urllib.parse
from django.conf import settings
from django.http import JsonResponse
from django.utils.html import format_html

def opsiq_admin_chat_token(user):
    secret = getattr(settings, "OPSIQ_SITE_SECRET", "") or "opsiq_whsec_YOUR_SITE_SECRET"   # this site's secret; settings win when set
    if not secret or not user.is_authenticated or not user.is_staff:
        return ""
    now = int(time.time())
    # The admin token is base64url(payload) + "." + hex HMAC — NOT a JWT.
    payload = base64.urlsafe_b64encode(json.dumps({
        "site_key": "YOUR_SITE_KEY", "iat": now, "exp": now + 3600,
        "authenticated": True, "platform": "django",
        "admin": {"id": str(user.pk), "email": user.email, "username": user.get_username(),   # id + email REQUIRED
                  "name": user.get_full_name(), "role": "Superuser" if user.is_superuser else "Staff"},
    }, separators=(",", ":")).encode()).decode().rstrip("=")
    return payload + "." + hmac.new(secret.encode(), payload.encode(), hashlib.sha256).hexdigest()

class OpsiqAdminChatMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response
    def __call__(self, request):
        if request.GET.get("opsiq_identity_refresh"):
            t = opsiq_admin_chat_token(request.user)
            resp = (JsonResponse({"success": True, "role": "admin", "identity_token": t}) if t
                    else JsonResponse({"success": False, "login_required": True}, status=401))
            resp["Cache-Control"] = "no-store"
            return resp
        return self.get_response(request)

def opsiq_admin_chat(request):
    t = opsiq_admin_chat_token(request.user)
    if not t:
        return {"opsiq_admin_chat_tag": ""}
    src = "https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=YOUR_SITE_KEY&identity_token=" + urllib.parse.quote(t, safe="")
    return {"opsiq_admin_chat_tag": format_html('<script async src="{}" data-opsiq-widget="admin-chat"></script>', src)}

.NET / C#

1

No packages needed. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OpsIQ:SiteSecret (user-secrets, the OpsIQ__SiteSecret environment variable or Key Vault) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

In Program.cs after app.UseAuthentication(): app.Use(OpsiqAdminChat.Refresh); staff = users in the "Admin" role (adjust).

3

In your admin layout before </body>: @Html.Raw(OpsiqAdminChat.Tag(Context)). Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

OpsiqAdminChat.cs
// OpsiqAdminChat.cs — no packages needed.
using System.Net;
using System.Security.Claims;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;

public static class OpsiqAdminChat
{
    // The admin token is base64url(payload) + "." + hex HMAC — NOT a JWT.
    public static string Token(HttpContext ctx)
    {
        var secret = ctx.RequestServices.GetRequiredService<IConfiguration>()["OpsIQ:SiteSecret"];
        if (string.IsNullOrEmpty(secret)) secret = "opsiq_whsec_YOUR_SITE_SECRET";   // this site's secret; configuration wins when set
        if (string.IsNullOrEmpty(secret) || !ctx.User.IsInRole("Admin")) return "";      // WHO IS STAFF — adjust
        var now = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
        var json = JsonSerializer.Serialize(new Dictionary<string, object> {
            ["site_key"] = "YOUR_SITE_KEY", ["iat"] = now, ["exp"] = now + 3600,
            ["authenticated"] = true, ["platform"] = "dotnet",
            ["admin"] = new Dictionary<string, string> {
                ["id"] = ctx.User.FindFirstValue(ClaimTypes.NameIdentifier) ?? "",      // REQUIRED
                ["email"] = ctx.User.FindFirstValue(ClaimTypes.Email) ?? "",            // REQUIRED
                ["username"] = ctx.User.Identity?.Name ?? "", ["name"] = ctx.User.Identity?.Name ?? "", ["role"] = "Admin" },
        });
        var payload = Convert.ToBase64String(Encoding.UTF8.GetBytes(json)).TrimEnd('=').Replace('+', '-').Replace('/', '_');
        using var h = new HMACSHA256(Encoding.UTF8.GetBytes(secret));
        return payload + "." + Convert.ToHexString(h.ComputeHash(Encoding.UTF8.GetBytes(payload))).ToLowerInvariant();
    }

    // app.Use(OpsiqAdminChat.Refresh)
    public static async Task Refresh(HttpContext ctx, Func<Task> next)
    {
        if (string.IsNullOrEmpty(ctx.Request.Query["opsiq_identity_refresh"])) { await next(); return; }
        ctx.Response.Headers["Cache-Control"] = "no-store";
        var t = Token(ctx);
        if (t == "") { ctx.Response.StatusCode = 401; await ctx.Response.WriteAsJsonAsync(new { success = false, login_required = true }); return; }
        await ctx.Response.WriteAsJsonAsync(new { success = true, role = "admin", identity_token = t });
    }

    public static string Tag(HttpContext ctx)
    {
        var t = Token(ctx);
        if (t == "") return "";
        return "<script async src=\"" + WebUtility.HtmlEncode("https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=YOUR_SITE_KEY&identity_token=" + Uri.EscapeDataString(t)) + "\" data-opsiq-widget=\"admin-chat\"></script>";
    }
}

Ruby on Rails

1

No gems needed. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

include OpsiqAdminChat in your admin base controller; adjust opsiq_staff.

3

In your admin layout before </body>: <%= opsiq_admin_chat_tag %>. Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

app/controllers/concerns/opsiq_admin_chat.rb
# app/controllers/concerns/opsiq_admin_chat.rb — no gems needed.
require "base64"
require "cgi"
require "json"
require "openssl"

module OpsiqAdminChat
  extend ActiveSupport::Concern

  included do
    before_action :opsiq_admin_identity_refresh
    helper_method :opsiq_admin_chat_tag
  end

  private

  def opsiq_staff                                        # WHO IS STAFF — adjust
    current_user if respond_to?(:current_user, true) && current_user&.try(:admin?)
  end

  # The admin token is base64url(payload) + "." + hex HMAC — NOT a JWT.
  def opsiq_admin_chat_token
    secret = ENV["OPSIQ_SITE_SECRET"].presence || "opsiq_whsec_YOUR_SITE_SECRET"   # this site's secret; the environment wins when set
    staff = opsiq_staff
    return "" if secret.blank? || staff.nil?
    now = Time.now.to_i
    payload = Base64.urlsafe_encode64({
      site_key: "YOUR_SITE_KEY", iat: now, exp: now + 3600,
      authenticated: true, platform: "rails",
      admin: { id: staff.id.to_s, email: staff.email,              # REQUIRED
               username: staff.try(:username).to_s, name: staff.try(:name).to_s, role: "Admin" }
    }.to_json, padding: false)
    payload + "." + OpenSSL::HMAC.hexdigest("SHA256", secret, payload)
  end

  def opsiq_admin_identity_refresh
    return unless params[:opsiq_identity_refresh].present?
    response.headers["Cache-Control"] = "no-store"
    t = opsiq_admin_chat_token
    return render(json: { success: false, login_required: true }, status: :unauthorized) if t.blank?
    render json: { success: true, role: "admin", identity_token: t }
  end

  def opsiq_admin_chat_tag
    t = opsiq_admin_chat_token
    return "" if t.blank?
    helpers.tag.script(nil, async: true, src: "https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=YOUR_SITE_KEY&identity_token=#{CGI.escape(t)}", data: { opsiq_widget: "admin-chat" })
  end
end

Java (Spring Boot)

1

No libraries needed. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set opsiq.site.secret (for example from OPSIQ_SITE_SECRET) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Replace staff() with your admin lookup. The filter answers the refresh; @ControllerAdvice exposes opsiqAdminChatTag to views.

3

Admin Thymeleaf layout before </body>: <th:block th:utext="${opsiqAdminChatTag}"/>. Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

OpsiqAdminChat.java
// OpsiqAdminChat.java — no libraries needed.
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import java.io.IOException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.*;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.util.HtmlUtils;

@Component
@ControllerAdvice
public class OpsiqAdminChat implements Filter {
    @Value("${opsiq.site.secret:opsiq_whsec_YOUR_SITE_SECRET}")   // this site's secret; opsiq.site.secret wins when set
    private String secret;

    /** WHO IS STAFF — replace: id, email, username, name, role. Null for anyone else. */
    private Map<String, String> staff(HttpServletRequest req) {
        if (req.getUserPrincipal() == null || !req.isUserInRole("ADMIN")) return null;
        String n = req.getUserPrincipal().getName();
        return Map.of("id", n, "email", n, "username", n, "name", n, "role", "Admin");
    }

    // The admin token is base64url(payload) + "." + hex HMAC — NOT a JWT.
    String token(HttpServletRequest req) {
        Map<String, String> u = staff(req);
        if (u == null || secret.isEmpty()) return "";
        try {
            long now = System.currentTimeMillis() / 1000;
            Map<String, Object> claims = new LinkedHashMap<>();
            claims.put("site_key", "YOUR_SITE_KEY"); claims.put("iat", now); claims.put("exp", now + 3600);
            claims.put("authenticated", true); claims.put("platform", "java"); claims.put("admin", u);   // id + email REQUIRED
            String payload = Base64.getUrlEncoder().withoutPadding().encodeToString(new ObjectMapper().writeValueAsBytes(claims));
            Mac mac = Mac.getInstance("HmacSHA256");
            mac.init(new SecretKeySpec(secret.getBytes(StandardCharsets.UTF_8), "HmacSHA256"));
            return payload + "." + HexFormat.of().formatHex(mac.doFinal(payload.getBytes(StandardCharsets.UTF_8)));
        } catch (Exception e) { return ""; }
    }

    @Override // Admin Chat refreshing on the admin page it is on
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) request;
        if (req.getParameter("opsiq_identity_refresh") == null) { chain.doFilter(request, response); return; }
        HttpServletResponse res = (HttpServletResponse) response;
        res.setHeader("Cache-Control", "no-store");
        res.setContentType("application/json");
        String t = token(req);
        if (t.isEmpty()) { res.setStatus(401); res.getWriter().write("{\"success\":false,\"login_required\":true}"); return; }
        res.getWriter().write("{\"success\":true,\"role\":\"admin\",\"identity_token\":\"" + t + "\"}");
    }

    @ModelAttribute("opsiqAdminChatTag")
    public String tag(HttpServletRequest req) {
        String t = token(req);
        if (t.isEmpty()) return "";
        String src = "https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=YOUR_SITE_KEY&identity_token=" + URLEncoder.encode(t, StandardCharsets.UTF_8);
        return "<script async src=\"" + HtmlUtils.htmlEscape(src) + "\" data-opsiq-widget=\"admin-chat\"></script>";
    }
}

Go

1

No modules needed. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Replace staff() with your session lookup and wrap your admin router: OpsiqAdminChatRefresh(adminMux).

3

Pass OpsiqAdminChatTag(r) to your admin layout and print it before </body>. Each staff member needs an OpsIQ agent account with the same email (or username): that is how their own permissions apply.

opsiq_admin_chat.go
// opsiq_admin_chat.go — standard library only.
package main

import (
    "crypto/hmac"
    "crypto/sha256"
    "encoding/base64"
    "encoding/hex"
    "encoding/json"
    "html"
    "html/template"
    "net/http"
    "net/url"
    "os"
    "time"
)

type OpsiqStaff struct{ ID, Email, Username, Name, Role string }

// WHO IS STAFF — replace with your session lookup. Return nil for anyone who is not staff.
func staff(r *http.Request) *OpsiqStaff { return nil }

// The admin token is base64url(payload) + "." + hex HMAC — NOT a JWT.
func opsiqAdminChatToken(r *http.Request) string {
    u, secret := staff(r), os.Getenv("OPSIQ_SITE_SECRET")
    if secret == "" {
        secret = "opsiq_whsec_YOUR_SITE_SECRET" // this site's secret; the environment wins when set
    }
    if u == nil || secret == "" {
        return ""
    }
    now := time.Now().Unix()
    body, _ := json.Marshal(map[string]any{
        "site_key": "YOUR_SITE_KEY", "iat": now, "exp": now + 3600,
        "authenticated": true, "platform": "go",
        "admin": map[string]string{"id": u.ID, "email": u.Email, "username": u.Username, "name": u.Name, "role": u.Role}, // id + email REQUIRED
    })
    payload := base64.RawURLEncoding.EncodeToString(body)
    mac := hmac.New(sha256.New, []byte(secret))
    mac.Write([]byte(payload))
    return payload + "." + hex.EncodeToString(mac.Sum(nil))
}

// OpsiqAdminChatRefresh answers Admin Chat's ?opsiq_identity_refresh=1&role=admin.
func OpsiqAdminChatRefresh(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        if r.URL.Query().Get("opsiq_identity_refresh") == "" {
            next.ServeHTTP(w, r)
            return
        }
        w.Header().Set("Cache-Control", "no-store")
        w.Header().Set("Content-Type", "application/json")
        if t := opsiqAdminChatToken(r); t != "" {
            json.NewEncoder(w).Encode(map[string]any{"success": true, "role": "admin", "identity_token": t})
            return
        }
        w.WriteHeader(http.StatusUnauthorized)
        json.NewEncoder(w).Encode(map[string]any{"success": false, "login_required": true})
    })
}

// OpsiqAdminChatTag prints the loader for staff only.
func OpsiqAdminChatTag(r *http.Request) template.HTML {
    t := opsiqAdminChatToken(r)
    if t == "" {
        return ""
    }
    src := "https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=YOUR_SITE_KEY&identity_token=" + url.QueryEscape(t)
    return template.HTML(`<script async src="` + html.EscapeString(src) + `" data-opsiq-widget="admin-chat"></script>`)
}

پیاده سازی نقطه پایانی هویت در Laravel (یادداشت های سخت)

اگر پلت فرم شما Laravel (Botble، Bagisto، برنامه های سفارشی) و نقطه پایانی شما یک فایل مستقل است که چارچوب را برای خواندن مدیر ثبت نام باز می کند، سه ویژگی ساعت شما را نجات خواهند داد – هر کدام یک قبل از یادگیری یک شکست واقعی تولید کردند:

درخواست قبل از بوت استرپ را رد کرد

ارائه دهندگان خدمات شما ممکن است حل شوند request از ظرف در طول بوت. Laravel’s خود چرخه عمر، اولین درخواست ثبت شده را به داخل پیوند می دهد Kernel::handle() آینه این دستور: $app->instance('request', Request::capture()) پیش از قبل $kernel->bootstrap()یا شما می توانید «طبقه ی کارگر وجود ندارد».

پیشوند جلسه-کوکیHMAC-keyed

مدرن Laravel ارزش های کوکی را با یکHMACمحاسبه شده با کلید (CookieValuePrefix(یک دشت ساده) sha1(name."v2") هرگز نمی تواند با آن مطابقت داشته باشد. CookieValuePrefix::validate($name, $decrypted, $keys)با یک سقوط ساختاری (40Hex chars + | در موقعیت40به شما بگویید: یک جلسه طولانی تر از یک40chars (81= پیشوند هنوز متصل است و جلسه ای که فقط با آن بارگیری می شود _token در آن

جایی که ورود به خانه زندگی می کند

برچسب ها: Auth تمبر login_<guard>_<sha1(guard class)> برای گارد وب پیش فرض: 'login_web_' . sha1(Illuminate\Auth\SessionGuard::class)اسکن هر login_* کلید عددی به عنوان یک شکست برای نگهبانان سفارشی

Debug مانند پل

کشتی debug=1 حالت که نام شکست گام و استثنا را دارد - یک گیرنده کور همه چیز بدون تشخیص زنده را ایجاد کرد. پل بوتبل (از v1).0.7مرجع: نشانگرهای گام در کرنل /bind/bootstrap/decrypt/session/auth/db است.

Laravel · نقطه پایان هویت کامل (نسخه، دو ثابت را تنظیم کنید، انجام دهید)
<?php
/* identity endpoint · LARAVEL (Botble, Bagisto, any Laravel admin)
 * Drop this in your PUBLIC web root, e.g. /opsiq-identity.php
 * Answers: {"success":true,"authenticated":true,"admin":{...},"identity_token":"..."} */
define("OPSIQ_SITE_KEY", "SITE_KEY");
define("OPSIQ_SITE_SECRET", "opsiq_whsec_your_site_secret");   // Remote Sites → Codes

header("Content-Type: application/json");
$step = "boot";
try {
    require __DIR__ . "/../vendor/autoload.php";
    $app = require_once __DIR__ . "/../bootstrap/app.php";

    $step = "bind";
    // ORDER MATTERS: bind the request BEFORE bootstrapping, or providers that
    // resolve "request" during boot throw "Target class [request] does not exist".
    $request = Illuminate\Http\Request::capture();
    $app->instance("request", $request);

    $step = "bootstrap";
    $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
    $kernel->bootstrap();

    $step = "session";
    $app["session"]->driver()->setId($request->cookie(config("session.cookie")));
    $app["session"]->driver()->start();

    $step = "auth";
    $user = auth()->guard("web")->user();   // use YOUR admin guard name
    if (!$user) {
        echo json_encode(["success" => false, "authenticated" => false, "error" => "no admin session"]);
        exit;
    }

    $step = "sign";
    $admin = [
        "id"            => (string)$user->id,
        "name"          => (string)($user->name ?? $user->username),
        "username"      => (string)($user->username ?? $user->email),
        "email"         => (string)$user->email,
        "role"          => (string)optional($user->roles->first())->name,
        "authenticated" => true,
    ];
    $payload = json_encode([
        "site_key"      => OPSIQ_SITE_KEY,
        "iat"           => time(),
        "exp"           => time() + 6 * 3600,
        "authenticated" => true,          // TOP LEVEL — required
        "platform"      => "laravel",
        "admin"         => $admin,
    ], JSON_UNESCAPED_SLASHES);
    $p64   = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
    $token = $p64 . "." . hash_hmac("sha256", $p64, OPSIQ_SITE_SECRET);

    echo json_encode(["success" => true, "authenticated" => true,
                      "admin" => $admin, "identity_token" => $token]);
} catch (\Throwable $e) {
    // debug=1 names the failing STEP — never ship a blind catch-all
    $err = ($_GET["debug"] ?? "") === "1"
        ? get_class($e) . " at [" . $step . "]: " . $e->getMessage()
        : "identity unavailable";
    echo json_encode(["success" => false, "authenticated" => false, "error" => $err]);
}

همان نقطه پایانی در دیگر پشته ها

فقط "چه کسی وارد شده است؟" تغییر خط - بلوک ثبت نام در همه جا یکسان است.JavaScript.

WordPress · WHMCS• Symfony · PHP ساده – جایگزین کردن ظاهر، نگه داشتن علامت
<?php
/* The ONE helper every platform shares. Keep it verbatim. */
function opsiq_identity_token(array $admin, string $siteKey, string $secret, string $platform): string {
    $payload = json_encode([
        "site_key"      => $siteKey,
        "iat"           => time(),
        "exp"           => time() + 6 * 3600,
        "authenticated" => true,          // TOP LEVEL — OpsIQ refuses the token without it
        "platform"      => $platform,
        "admin"         => $admin + ["authenticated" => true],
    ], JSON_UNESCAPED_SLASHES);
    $p64 = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
    return $p64 . "." . hash_hmac("sha256", $p64, $secret);
}

/* ── WORDPRESS ─────────────────────────────────────────────────────────── */
require_once ABSPATH . "wp-load.php";
if (!current_user_can("manage_options")) { /* not an admin → refuse */ }
$u = wp_get_current_user();
$admin = ["id" => (string)$u->ID, "name" => $u->display_name,
          "username" => $u->user_login, "email" => $u->user_email,
          "role" => implode(",", $u->roles)];

/* ── WHMCS (inside an addon/hook, admin area) ──────────────────────────── */
$aid = (int)($_SESSION["adminid"] ?? 0);
if ($aid <= 0) { /* not an admin → refuse */ }
$row = Capsule::table("tbladmins")->where("id", $aid)->first();
$admin = ["id" => (string)$row->id, "name" => trim($row->firstname . " " . $row->lastname),
          "username" => $row->username, "email" => $row->email, "role" => "administrator"];

/* ── SYMFONY ───────────────────────────────────────────────────────────── */
$u = $security->getUser();                    // Symfony\Bundle\SecurityBundle\Security
if (!$u) { /* not an admin → refuse */ }
$admin = ["id" => (string)$u->getId(), "name" => $u->getName(),
          "username" => $u->getUserIdentifier(), "email" => $u->getEmail(),
          "role" => implode(",", $u->getRoles())];

/* ── PLAIN PHP / your own app ──────────────────────────────────────────── */
session_start();
if (empty($_SESSION["admin_id"])) { /* not an admin → refuse */ }
$admin = ["id" => (string)$_SESSION["admin_id"], "name" => $_SESSION["admin_name"] ?? "",
          "username" => $_SESSION["admin_username"] ?? "", "email" => $_SESSION["admin_email"] ?? "",
          "role" => $_SESSION["admin_role"] ?? ""];

/* ── then, on EVERY stack ──────────────────────────────────────────────── */
$token = opsiq_identity_token($admin, "SITE_KEY", "opsiq_whsec_your_site_secret", "wordpress");
echo json_encode(["success" => true, "authenticated" => true,
                  "admin" => $admin, "identity_token" => $token]);

وقتی کار نمی کند، تشخیص در این دستور

Widget هرگز ظاهر نمی شود، کنسول می گوید «نشانه هویت مدیر امضا شده لازم است»

نقطه پایانی شما هیچگاه برنگشته است identity_tokenباز کردن نقطه پایانیURLبه طور مستقیم در مرورگر مدیر ثبت شده با &debug=1 شما گام شکست خورده را خواهید دید. On Laravel این تقریبا همیشه مورد پیشوند درخواست یا کوکی است که در بالا قرار دارد.

تاریخ و مکالمات کار می کنند، اما هر نوبت چت می گوید "Cal login مورد نیاز"

تقسیم کلاسیک شما از دست دادن توکن TOP-LEVEL authenticated پرچم - نقطه پایانی ویجت توکن را می پذیرد، ویر مشترک پشت جریان چت آن را رد می کند. "authenticated" => true beside exp.

"admin not Supplyed inOpsIQ" (HTTP)401)

توکن تایید شده است، اما نام کاربری + ایمیل آن هیچ گونه مطابقت نداردOpsIQنماینده اضافه کردن عامل درOpsIQ →تیم، یا اضافه کردن ایمیل پلت فرم به لیست ایمیل های مطابقت آن نماینده زمانی که از آنها متفاوت استOpsIQایمیل

همه چیز403sاز طریق مرورگر اما با پیچ کار می کند

پیش پرواز CORS یکی از هدرهای درخواست شما را رد می کند. OPTIONS و منبع درخواست را انعکاس دهید یا به سادگی از هدرهای سفارشی اجتناب کنید – ویجت فقط به کوکی نیاز دارد.

دیروز کار کرد، امروز شکست خورد

علامت بزنید expتوکن ها به طور خودکار با طراحی کوتاه مدت هستند، بنابراین این معمولا به معنی نقطه پایانی است که از جلسه خارج شده است - چرخش کلیدی برنامه، تغییر مرحله ای یا یک تغییر دامنه کوکی.

💡
ویجت مدیریت تا زمانی که هویت حل شود پنهان می کند و هر تماس چت / ورودی / داده در کنار سرور اجرا می شود.OpsIQعامل بدون در نظر گرفتن هر چیزی که صفحه ادعا می کند، توکن UI را باز می کند؛ مجوز ها همیشه از آن آمده اند.OpsIQ.
توسعه دهنده

بازدید کننده هویت

هویت بازدیدکنندگان ناشناس را به مشتریان شناخته شده متصل می کند. OpsIQ لینک های مرور تاریخ، چت و بلیط به نمایه مشتری.

چگونه کار می کند
بازدید کننده هویتجریان: یک کاربر وارد سایت شما می شود، شما یک توکن هویت امضا شده و OpsIQ جلسات، چت ها و بلیط های خود را به یک پروفایل اختصاص دهید.ورود کاربر دردر سایت شماامضای توکنهویت_توکن (HMAC)یک پروفایلsessions+ چت+ بلیط
بازدید کننده هویت

دو سطح هویت و زمانی که هر کدام به اندازه کافی

سطح Level1نشانه های امضا نشده

شما به ویجت می گویید که بازدید کننده با یک ساده است.JavaScriptشی پر از ایمیل و شناسه مشتری در ورودی بازدید کننده است، بنابراین داشبورد شما نشان می دهد که ترافیک و جلسات امضا شده است.این یک HINT است: هر کسی می تواند آن را در مرورگر خود ویرایش کند، بنابراینOpsIQهرگز داده های حساب را در مورد قدرت آن منتشر نکنید.

سطح Level2– یک توکن هویت امضا شده

سرور شما یک توکن کوتاه مدت با وب سایت را به صورت مخفی ثبت می کند.OpsIQامضا را تأیید می کند و تنها پس از آن با فرد به عنوان یک مشتری ثابت رفتار می کند، این سطح است که پاسخ حساب در چت مشتری و نگاه های اتصال را باز می کند.استفاده از آن برای هر چیزی که غریبه نباید ببیند.

⚠️
سطح Level1راحتی صفحه نمایش است.2احراز هویت است، اگر یک سوال فقط می تواند برای دارنده حساب واقعی پاسخ داده شود، شما نیاز به سطح دارید.2.
💡
نیازی نیست که سطح بنویسید 2 نام بازی : Remote Sites → سایت شما → کد ها → C. امضا کنندگان کد ثبت نام و دستگیره تازه برای PHP را تولید می کنند WordPressLaravel، Node.jsپایتون، Django، .NET، Rails، Java و Go WHMCS قلاب و قلاب Botble پل کانکتور در حال حاضر مشتریان را امضا می کند. Identity می گوید که مشتری چه کسی است؛ سفارشات یا رزرو آنها از طریق یک اتصال به چت دسترسی دارند (با یک فایل پل تنها زمانی که پلت فرم هیچگاه ندارد) API).

سطح Level1نشانه های امضا نشده

قبل از اسکریپت ویجت یا شناسایی تماس بگیرید (بعد از آن برنامه شما می داند که در هر دو فرم چه کسی امضا شده است؛ استفاده هر کدام متناسب با صفحه شما.

JavaScript· دو فرم پشتیبانی شده
<!-- Form A: set the global before the loader -->
<script>
  window.OpsIQClient = {
    id:    "cust_1001",
    email: "[email protected]",
    name:  "Jane Smith",
    plan:  "pro"
  };
</script>
<script async src="https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY"></script>

<!-- Form B: identify later, e.g. after a client-side login -->
<script>
  window.opsiq.identify({
    id:    "cust_1001",
    email: "[email protected]",
    name:  "Jane Smith",
    plan:  "pro"
  });
</script>
⚠️
Only these forms are read: the window.OpsIQClient global, window.opsiqConfig.user, and window.opsiq.identify(). There is no OpsIQ.push(['identify', ...]) queue and no OpsIQClientSignature global — if you find either in an old note, it does nothing.

سطح Level2– توکن هویت امضا شده توسط سرور

دقیقا همان قرارداد توکن به عنوان ویجت مدیریت، با یک customer به جای یک admin یکی از آنها را بر روی سرور خود ثبت کنید و آن را به ویجت منتقل کنید، دو جزئیات تصمیم می گیرند که آیا آن را تایید می کند یا خیر و هر دو آسان برای اشتباه هستند:

HMAC رشته BASE64URL را پوشش می‌دهد، نه JSON

نشانه ثبت نام $payload64نه، $payloadثبت نام خامJSONیک توکن تولید کنید که درست به نظر می رسد و هر بار با عدم تطابق امضا رد می شود.

پایگاه 64url، Unplay

ترجمه +/ برای -_ و نوار را = padding. Plain Base64 برای زنده ماندن امروز اتفاق می افتد؛ Base64url قرارداد است و هر چیزی است که هر کدام از آن ها هستند.OpsIQکانکتور های معتبر و مرجع منتشر می شوند.

معتبر در سطح بالا

در کنار site_key, iat و expاین ادعای شما است که یک انسان واقعی وارد می شود وOpsIQاز توکن بدون آن امتناع کنید.

مشتری اجباری است

توکن حمل تنها یک ایمیل به عنوان یک امضا تأیید می شود و سپس در سکوت رها می شود.همیشه یک شناسه ارسال کنید.

کوتاه مدت را نگه دارید

چند دقیقه تا ساعت. توکن یک ادعای جلسه است، نه یک اعتبار برای ذخیره سازی.

PHP – نشانه هویت مشتری (این کد دقیق)
<?php
/* Server-signed customer identity. Runnable as-is: set the two constants. */
$siteKey = "YOUR_SITE_KEY";                        // Remote Sites -> Codes
$secret  = "opsiq_whsec_your_site_secret";         // Remote Sites -> Codes

$payload = json_encode([
    "site_key"      => $siteKey,
    "iat"           => time(),
    "exp"           => time() + 3600,
    "authenticated" => true,                       // TOP LEVEL - required
    "platform"      => "your-platform",
    "customer"      => [
        "id"            => (string)$user->id,      // REQUIRED
        "email"         => (string)$user->email,   // REQUIRED
        "name"          => (string)$user->name,
        "plan"          => (string)($user->plan ?? ""),
        "authenticated" => true,
    ],
], JSON_UNESCAPED_SLASHES);

/* base64url(payload) . "." . hex HMAC-SHA256 OF THAT STRING. */
$payload64 = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
$token     = $payload64 . "." . hash_hmac("sha256", $payload64, $secret);

/* Hand it to the widget either way: */
printf(
    '<script async src="https://YOUR-OPSIQ/widget.php?site_key=%s&identity_token=%s"></script>',
    rawurlencode($siteKey),
    rawurlencode($token)
);
// or, if the loader is already on the page:
// echo '<script>window.opsiqConfig = window.opsiqConfig || {}; '
//    . 'window.opsiqConfig.identityToken = ' . json_encode($token) . ';</script>';
🚫
ثبت نام بر روی سرور فقط یک توکن در مرورگرJavaScriptبه این معنی است که سایت را برای هر بازدید کننده مخفی کنید، که هر کسی توانایی شخصی سازی هر مشتری را دارد.

همان قرارداد، سه سطح

چت مشتری در سایت شما

موضوع مشتری، همانطور که گذشت identity_token به ویجت.php پوشش داده شده در بالا اختیاری: با اسنیپت A و کانکتور چت در حال حاضر خود را تأیید می کند (شماره رزرو یا سفارش با اثبات، یا یک کد ایمیل قبل از سفارش).

چت مدیریتی در پشت شما

موضوع مدیریت، که به تصویب رسیدopsiq/ جاسازی/admin_widget.php همان نشانه گذار، کلید موضوع مختلف را ببینید "هید اداری در backend شما".

پشتیبانی از پورتال لینک های عمیق

یک نوع سخت تر: همان ادعاهای به اضافه jti و تک-use: True، و a120زندگی دوم، زیرا توکن در یک مسیر حرکت می کندURLو باید یک بار خرج کنید، تنظیمات را انجام ندهید، پورتال پشتیبانی دارای یک قطعه آماده برای زبان شما است و پلت فرم آن را برای شما زمانی که منطقه حساب شما بر روی این سرور اجرا می شود، استخراج می کند.

اگر یک بازدید کننده کوکی ها را روشن کند چه؟+

آنها تا زمانی که دوباره شناسایی شوند ناشناس می شوند.OpsIQپیوند رکورد جدید ناشناس به پروفایل مشتری در لحظه ای که یک اشاره یا یک توکن وارد می شود.

چرا توکن من برای ورود بازدید کننده تایید می کند اما نه به دلیل سوالات حساب؟+

این سطح است1سطح /2تقسیم بندی: یک اشاره امضا نشده، ثبت نام بازدید کننده را پر می کند و هیچ چیز دیگری نیست.پاسخ های حساب نیاز به امضای تایید شده دارند.

توسعه دهنده

پورتال Sign-in: کد برای هر پلتفرم

ارسال مشتری که در حال حاضر به درخواست شما مستقیماً به پورتال پشتیبانی خود امضا شده است، بدون رمز عبور دوم، این صفحه توضیح می دهد که چگونه دست آف کار می کند، هر ادعا در توکن، تنظیمات و یک مسیر کامل برای هر پلت فرم.

چگونه کار می کند

1
پشتیبانی کلیک مشتری در برنامه شما

نقاط لینک در یک مسیر کوچک بر روی سرور شما، به عنوان مثال /support-portal. هرگز در یک لینک که در حال حاضر شامل یک توکن است: یک نشانه در یک صفحه نشت از طریق منبع صفحه، تاریخ مرورگر و هدر ارجاع.

2
چک های مسیر که در آن امضا شده اند

این مشتری را از جلسه خود می خواند. بازدید کننده ای که در آن ثبت نشده است، ابتدا به ورود شما ارسال شده و سپس به مسیر باز می گردد.

3
نشانه های یک بار

استاندارد HS256 JWT با این راز ثبت نام فضای کاری امضا کرد که تنها سرور شما آن را نگه می دارد 120 چند ثانیه و می توان یک بار استفاده کرد.

4
مسیر به پورتال هدایت می کند

به صفحه پورتال مشتری آمد از زمانی که پورتال برای یک درخواست داد (opsiq_portal_return, تنها در داخل آدرس پورتال خود پذیرفته شده است ، در غیر این صورت خانه پورتال دارای ارجاع دهنده-Policy: No-referrer و cache-Control : no-store می باشد.

5
پورتال ثابت می کند و مشتری را در داخل نشانه قرار می دهد.

امضا، کلید محل کار، انقضای و شناسه یک بار بررسی می شود. مشتری توسط ایمیل پیدا شده یا ایجاد شده است و درخواست های موجود آنها با آن ها مطابقت دارد.

نشانه، ادعایی

site_key

کلید کار فضای شما، توکنی که برای یک فضای کاری دیگر ساخته شده است، حتی زمانی که به درستی امضا شود، رد می شود.

iat / انقضای

در عرض چند ثانیه، توکن پورتال زندگی می کند 120 چند ثانیه: فقط باید یک مسیر را حفظ کرد.

معتبر: حقیقت

بیانیه برنامه شما که واقعا این شخص را در سطح بالا امضا کرده است.

jti + single_use: حقیقت واقعی

یک شناسه تصادفی و پرچم یک بار نمی تواند دوبار استفاده شود.

پلتفرم Platform

برچسب رایگان برای جایی که مشتری از آن آمده است (php، wordpress, whmcsنشان داده شده در پروفایل مشتری.

مشتری و مشتری

هر دو مورد نیاز است.د. شناسه مشتری خود برنامه شما است؛ ایمیل این است که چگونه پورتال مشتری را پیدا می کند و با درخواست های آنها مطابقت دارد.

مشتری/name / external_id

نام صفحه نمایش اختیاری و شناسه OpsIQ فروشگاه ها در برابر پلت فرم شما

راه اندازی

1
مسیر را کپی کنید

تنظیمات، پورتال پشتیبانی، ثبت نام بدون درز از برنامه شما را انتخاب کنید آنچه که برنامه شما اجرا می کند؛ کد زیر لیست آدرس پورتال و کلید workspace پر شده در، با یادداشت های شماره ای برای آن پلت فرم است.

2
راز در حال حاضر در کد است

مسیر کپی شده شامل راز ثبت نام این فضای کاری است، بنابراین به عنوان گذشته کار می کند OPSIQ_SITE_SECRET (یا تنظیمات چارچوب شما) بر روی سرور به جای آن: این مقدار برای اولین بار استفاده می شود.هرگز مسیر را در یک صفحه قرار ندهید JavaScriptیک برنامه تلفن همراه یا یک مخزن عمومی: هر کسی که این راز را نگه دارد می تواند به عنوان هر مشتری ثبت نام کند.

3
دکمه پشتیبانی خود را به مسیر متصل کنید

به عنوان مثال https://your-app.com/support-portal.

4
ثبت نام پورتال را در دکمه استفاده از برنامه خود قرار دهید

پورتال Studio، صفحه ثبت نام، از ورود وب سایت من، صفحه ورود شما استفاده کنید URL: آن را به همان مسیر تنظیم کنید. پورتال اضافه می کند opsiq_portal_return به خودی خود و مسیر مشتری را به آن صفحه باز می گرداند که در آن امضا شده است.

5
اختیاری: ثبت نام در همه جا

تنظیمات، پورتال پشتیبانی، ثبت نام در همه جا: امضای برنامه شما URLبنابراین ثبت نام از پورتال همچنین مشتری را از برنامه شما نشان می دهد.

6
آزمون تست

یک لینک تست امضا شده را در همان صفحه تنظیمات برای بررسی سمت پورتال به تنهایی، سپس مسیر خود را باز کنید در حالی که به برنامه شما امضا شده است.

WHMCS نیازی به کد نیست: WHMCS قلاب از سایت های راه دور در حال حاضر مشتریان را به پورتال نشان می دهد و آنها را به صفحه ای که در آن بودند، بازگرداند.
💡
راز ثبت نام برای شما پر شده است. در تنظیمات، پورتال پشتیبانی، ثبت نام بدون درز از برنامه شما، هر مثال در حال حاضر شامل راز خود این سایت است، بنابراین کد به عنوان گذشته کار می کند: هیچ چیز برای کپی یا پیکربندی نمونه ها در این صفحه نمایش وجود ندارد. opsiq_whsec_YOUR_SITE_SECRET در جای خود هر مثالی به نظر می رسد OPSIQ_SITE_SECRET (یا تنظیمات خود چارچوب شما، که در یادداشت های آن نام گذاری شده است) بر روی سرور اول و استفاده از آن هنگامی که تنظیم می شود، بنابراین شما می توانید هر زمان که میخواهید، به عنوان مثال برای چرخش آن بدون کد ویرایش آن را حرکت دهید JavaScriptو هرگز آن را به یک مخزن عمومی متعهد نکنید، زیرا هر کسی که این راز را در خود نگه دارد می تواند به عنوان یکی از مشتریان یا کارکنان شما ثبت نام کند. WHMCS و Botble هیچ کدام از این موارد را لازم نیست: WHMCS قلاب با راز پر شده وارد می شود و Botble پانل اتصال آن را به پل پر می کند.

مسیر های کامل، پلت فرم

OpsIQ server (self-hosted)

1

For a self-hosted OpsIQ: the route runs on your own OpsIQ server, so there is no secret to copy. OpsIQ reads this workspace's signing secret itself.

2

Save it as a page on that server, e.g. support-portal.php, and point your "Support" link at it.

3

Replace the body of $currentUser so it returns your signed-in customer (id, email, name), or null for a guest, and /login with your login page.

OpsIQ server (self-hosted)
/* OpsIQ server (self-hosted) — save as e.g. support-portal.php on your OpsIQ
 * server and link your "Support" button to it. OpsIQ reads the workspace's
 * signing secret itself, so there is nothing secret to copy. */

if (!function_exists('opsiq_portal_signed_url_for_site')) {
    require_once '/path/to/opsiq/opsiq/opsiq.portal_identity.php';
}

// 1. WHO IS SIGNED IN — replace the body. Return null for a guest.
$currentUser = static function (): ?array {
    $u = $_SESSION['user'] ?? null;
    return is_array($u) && !empty($u['id']) && !empty($u['email']) ? $u : null;
};
$user = $currentUser();
if (!$user) {
    header('Location: /login?return=' . urlencode($_SERVER['REQUEST_URI'] ?? '/'), true, 302);
    exit;
}

// 2. WHERE TO LAND — the portal page they came from, only if it is on the portal.
$portal = 'https://YOUR-OPSIQ/portal/your-workspace';
$back   = preg_replace('/#.*$/', '', (string)($_GET['opsiq_portal_return'] ?? ''));
$target = ($back === $portal || strpos($back, $portal . '/') === 0 || strpos($back, $portal . '?') === 0)
    ? $back : $portal;

// 3. MINT a one-time link (120 s) for this workspace.
$url = opsiq_portal_signed_url_for_site($target, 'YOUR_SITE_KEY', [
    'id'    => $user['id'],        // REQUIRED
    'email' => $user['email'],     // REQUIRED
    'name'  => $user['name'] ?? '',
], 120);
if (!$url) {
    http_response_code(503);       // fail closed: never send a customer to a guessed address
    exit('Support portal is not configured yet.');
}

header('Referrer-Policy: no-referrer');   // the token is in the URL
header('Cache-Control: no-store');
header('Location: ' . $url, true, 302);
exit;

PHP (no dependencies)

1

Save the snippet as a page in your app, e.g. support-portal.php.

2

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment (hosting panel, .env or SetEnv) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

3

Replace the body of $currentUser with your app's signed-in customer, and /login with your login page.

PHP (no dependencies)
/* support-portal.php — a redirect route in your own app.
 * Mint at CLICK time: a token baked into an href leaks through page source,
 * browser history and the Referer header. */

// 1. WHO IS SIGNED IN — replace the body with your app's own session. Return null for a guest.
$currentUser = static function (): ?array {
    $u = $_SESSION['user'] ?? null;            // e.g. ['id' => 7, 'email' => '…', 'name' => '…']
    return is_array($u) && !empty($u['id']) && !empty($u['email']) ? $u : null;
};
$user = $currentUser();
if (!$user) {                                  // a guest: sign in first, then come back here
    header('Location: /login?return=' . urlencode($_SERVER['REQUEST_URI'] ?? '/'), true, 302);
    exit;
}

// 2. THE SECRET — server-side only. Fail closed without it.
$secret = (string) (getenv('OPSIQ_SITE_SECRET') ?: 'opsiq_whsec_YOUR_SITE_SECRET');   // this site's secret; the environment wins when set
if ($secret === '') { http_response_code(503); exit('Support portal is not configured.'); }

// 3. WHERE TO LAND — the portal page they came from, only if it is on the portal.
$portal = 'https://YOUR-OPSIQ/portal/your-workspace';
$back   = preg_replace('/#.*$/', '', (string)($_GET['opsiq_portal_return'] ?? ''));
$target = ($back === $portal || strpos($back, $portal . '/') === 0 || strpos($back, $portal . '?') === 0)
    ? $back : $portal;

// 4. MINT the token (standard HS256 JWT).
$b64 = static function ($v) {
    return rtrim(strtr(base64_encode(json_encode($v, JSON_UNESCAPED_SLASHES)), '+/', '-_'), '=');
};
$now = time();
$signing = $b64(['alg' => 'HS256', 'typ' => 'JWT']) . '.' . $b64([
    'site_key'      => 'YOUR_SITE_KEY',
    'iat'           => $now,
    'exp'           => $now + 120,                // URL-borne tokens live ~2 minutes
    'authenticated' => true,
    'jti'           => bin2hex(random_bytes(16)),
    'single_use'    => true,                      // one-time link; replay is refused
    'platform'      => 'php',
    'customer'      => [
        'id'          => $user['id'],             // REQUIRED
        'email'       => $user['email'],          // REQUIRED
        'name'        => $user['name'] ?? '',
        'external_id' => (string) $user['id'],
    ],
]);
$token = $signing . '.' . rtrim(strtr(base64_encode(hash_hmac('sha256', $signing, $secret, true)), '+/', '-_'), '=');

// 5. GO. The default is https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
$url = $target . (strpos($target, '?') === false ? '?' : '&')
     . 'site_key=' . rawurlencode('YOUR_SITE_KEY') . '&identity_token=' . rawurlencode($token);
header('Referrer-Policy: no-referrer');       // the token is in the URL
header('Cache-Control: no-store');
header('Location: ' . $url, true, 302);
exit;

Laravel

1

Run: composer require firebase/php-jwt

2

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET=… in .env with 'opsiq' => ['site_secret' => env('OPSIQ_SITE_SECRET')] in config/services.php on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

3

Paste the route into routes/web.php. The auth middleware sends guests to your login and back.

Laravel
/* routes/web.php — composer require firebase/php-jwt
 * Link customers to  route('support.portal') */

Route::get('/support-portal', function (\Illuminate\Http\Request $request) {
    $user   = $request->user();                                   // guaranteed by ->middleware('auth')
    $secret = (string) (config('services.opsiq.site_secret') ?: 'opsiq_whsec_YOUR_SITE_SECRET');   // this site's secret; config wins when set
    abort_if($secret === '', 503, 'Support portal is not configured.');   // fail closed

    // Where to land: the portal page they came from, only if it is on the portal.
    $portal = 'https://YOUR-OPSIQ/portal/your-workspace';
    $back   = preg_replace('/#.*$/', '', (string) $request->query('opsiq_portal_return', ''));
    $target = ($back === $portal || str_starts_with($back, $portal . '/') || str_starts_with($back, $portal . '?'))
        ? $back : $portal;

    $now   = time();
    $token = \Firebase\JWT\JWT::encode([
        'site_key'      => 'YOUR_SITE_KEY',
        'iat'           => $now,
        'exp'           => $now + 120,
        'authenticated' => true,
        'jti'           => bin2hex(random_bytes(16)),
        'single_use'    => true,
        'platform'      => 'laravel',
        'customer'      => [
            'id'          => $user->id,          // REQUIRED
            'email'       => $user->email,       // REQUIRED
            'name'        => $user->name,
            'external_id' => (string) $user->id,
        ],
    ], $secret, 'HS256');

    // Default target: https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
    $url = $target . (str_contains($target, '?') ? '&' : '?')
         . 'site_key=' . rawurlencode('YOUR_SITE_KEY') . '&identity_token=' . rawurlencode($token);

    return redirect()->away($url)
        ->header('Referrer-Policy', 'no-referrer')
        ->header('Cache-Control', 'no-store');
})->middleware('auth')->name('support.portal');

WordPress

1

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, add define('OPSIQ_SITE_SECRET', '…'); to wp-config.php, above "That's all, stop editing", instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Paste the snippet into your theme's functions.php, or a small plugin (Code Snippets works).

3

Create an empty page with the slug support-portal and link your "Support" menu item to it. Guests are sent to wp-login and back.

WordPress
/* functions.php, or a small plugin. Create an empty page with the slug
 * "support-portal" and link customers to it. */

add_action('template_redirect', function () {
    if (!is_page('support-portal')) return;
    if (!is_user_logged_in()) { auth_redirect(); }                 // login, then back here

    $secret = defined('OPSIQ_SITE_SECRET') ? OPSIQ_SITE_SECRET : 'opsiq_whsec_YOUR_SITE_SECRET';   // this site's secret; wp-config.php wins when set
    if ($secret === '') wp_die('Support portal is not configured.', '', ['response' => 503]);   // fail closed

    // Where to land: the portal page they came from, only if it is on the portal.
    $portal = 'https://YOUR-OPSIQ/portal/your-workspace';
    $back   = preg_replace('/#.*$/', '', isset($_GET['opsiq_portal_return']) ? wp_unslash((string) $_GET['opsiq_portal_return']) : '');
    $target = ($back === $portal || strpos($back, $portal . '/') === 0 || strpos($back, $portal . '?') === 0)
        ? $back : $portal;

    $user = wp_get_current_user();
    $b64  = static function ($v) {
        return rtrim(strtr(base64_encode(wp_json_encode($v)), '+/', '-_'), '=');
    };
    $now     = time();
    $signing = $b64(['alg' => 'HS256', 'typ' => 'JWT']) . '.' . $b64([
        'site_key'      => 'YOUR_SITE_KEY',
        'iat'           => $now,
        'exp'           => $now + 120,
        'authenticated' => true,
        'jti'           => bin2hex(random_bytes(16)),
        'single_use'    => true,
        'platform'      => 'wordpress',
        'customer'      => [
            'id'          => $user->ID,              // REQUIRED
            'email'       => $user->user_email,      // REQUIRED
            'name'        => $user->display_name,
            'external_id' => (string) $user->ID,
        ],
    ]);
    $token = $signing . '.' . rtrim(strtr(base64_encode(hash_hmac('sha256', $signing, $secret, true)), '+/', '-_'), '=');

    // Default target: https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
    $url = $target . (strpos($target, '?') === false ? '?' : '&')
         . 'site_key=' . rawurlencode('YOUR_SITE_KEY') . '&identity_token=' . rawurlencode($token);
    nocache_headers();
    header('Cache-Control: no-store');
    header('Referrer-Policy: no-referrer');
    wp_redirect($url, 302);                                       // wp_redirect, not wp_safe_redirect: the portal is another host
    exit;
});

WHMCS

Already using the OpsIQ WHMCS hook from Sites (includes/hooks/opsiq_tracker.php)? It already signs your customers into the portal and brings them back to the page they were on, so you do not need this snippet. Just set Portal Studio → Sign-in page → Your login page URL to your WHMCS client area login. Use the code below only if you are not installing that hook.
1

Save part 1 as opsiq_support.php in your WHMCS root (next to clientarea.php).

2

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the hook, set $opsiq_site_secret = '…'; in configuration.php instead: that value is used first. Keep this file on the server and never commit it to a public repository.

3

Save part 2 as includes/hooks/opsiq_support_link.php to add Support to the client-area menu.

WHMCS
/* Two files you own — no OpsIQ module, nothing to keep updated.
 *
 * 1) Save this part as  opsiq_support.php  in your WHMCS root. */

require __DIR__ . '/init.php';

$ca = new WHMCS\ClientArea();
$ca->initPage();
$ca->requireLogin();                                         // login, then back here

$secret = '';
if (is_file(__DIR__ . '/configuration.php')) {
    include __DIR__ . '/configuration.php';                  // defines $opsiq_site_secret
    $secret = isset($opsiq_site_secret) ? (string) $opsiq_site_secret : 'opsiq_whsec_YOUR_SITE_SECRET';   // this site's secret; configuration.php wins when set
}
if ($secret === '') { http_response_code(503); exit('Support portal is not configured.'); }   // fail closed

// Where to land: the portal page they came from, only if it is on the portal.
$portal = 'https://YOUR-OPSIQ/portal/your-workspace';
$back   = preg_replace('/#.*$/', '', (string)($_GET['opsiq_portal_return'] ?? ''));
$target = ($back === $portal || strpos($back, $portal . '/') === 0 || strpos($back, $portal . '?') === 0)
    ? $back : $portal;

$uid    = (int) $ca->getUserID();
$client = localAPI('GetClientsDetails', ['clientid' => $uid]);

$b64 = static function ($v) {
    return rtrim(strtr(base64_encode(json_encode($v, JSON_UNESCAPED_SLASHES)), '+/', '-_'), '=');
};
$now     = time();
$signing = $b64(['alg' => 'HS256', 'typ' => 'JWT']) . '.' . $b64([
    'site_key'      => 'YOUR_SITE_KEY',
    'iat'           => $now,
    'exp'           => $now + 120,
    'authenticated' => true,
    'jti'           => bin2hex(random_bytes(16)),
    'single_use'    => true,
    'platform'      => 'whmcs',
    'customer'      => [
        'id'          => $uid,                       // REQUIRED
        'email'       => $client['email'] ?? '',     // REQUIRED
        'name'        => trim(($client['firstname'] ?? '') . ' ' . ($client['lastname'] ?? '')),
        'external_id' => (string) $uid,
    ],
]);
$token = $signing . '.' . rtrim(strtr(base64_encode(hash_hmac('sha256', $signing, $secret, true)), '+/', '-_'), '=');

// Default target: https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
$url = $target . (strpos($target, '?') === false ? '?' : '&')
     . 'site_key=' . rawurlencode('YOUR_SITE_KEY') . '&identity_token=' . rawurlencode($token);
header('Referrer-Policy: no-referrer');
header('Cache-Control: no-store');
header('Location: ' . $url, true, 302);
exit;

/* 2) And this part as  includes/hooks/opsiq_support_link.php  to put a
 *    Support entry in the client-area navbar:
 *
 *    add_hook('ClientAreaPrimaryNavbar', 1, function ($navbar) {
 *        $navbar->addChild('opsiqSupport', [
 *            'label' => 'Support',
 *            'uri'   => 'opsiq_support.php',
 *            'order' => 60,
 *        ]);
 *    });
 */

Node.js / Express

1

Run: npm i jsonwebtoken

2

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment (.env with dotenv, or your host's settings) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

3

Paste the route after your session / passport setup. Change /login if your login page lives elsewhere.

Node.js / Express
// npm i jsonwebtoken
const jwt = require("jsonwebtoken");
const crypto = require("crypto");

const PORTAL = "https://YOUR-OPSIQ/portal/your-workspace";
const onPortal = (u) => u === PORTAL || u.startsWith(PORTAL + "/") || u.startsWith(PORTAL + "?");

app.get("/support-portal", (req, res) => {
  const user = req.user;                                  // set by your session / passport
  if (!user) return res.redirect("/login?next=" + encodeURIComponent(req.originalUrl));

  const secret = process.env.OPSIQ_SITE_SECRET || "opsiq_whsec_YOUR_SITE_SECRET";   // this site's secret; the environment wins when set
  if (!secret) return res.status(503).send("Support portal is not configured.");   // fail closed

  // Where to land: the portal page they came from, only if it is on the portal.
  const back = String(req.query.opsiq_portal_return || "").replace(/#.*$/, "");
  const target = onPortal(back) ? back : PORTAL;

  const token = jwt.sign({
    site_key: "YOUR_SITE_KEY",
    authenticated: true,
    jti: crypto.randomBytes(16).toString("hex"),
    single_use: true,                                     // one-time link
    platform: "node",
    customer: {
      id: user.id,                                        // REQUIRED
      email: user.email,                                  // REQUIRED
      name: user.name,
      external_id: String(user.id),
    },
  }, secret, { algorithm: "HS256", expiresIn: 120 });     // sets iat + exp

  // Default target: https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
  const url = target + (target.includes("?") ? "&" : "?")
    + "site_key=" + encodeURIComponent("YOUR_SITE_KEY") + "&identity_token=" + encodeURIComponent(token);
  res.set("Referrer-Policy", "no-referrer").set("Cache-Control", "no-store").redirect(302, url);
});

Node.js (no dependencies)

1

No packages needed. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Replace currentUser() with your app's signed-in customer, then call supportPortal(req, res) for GET /support-portal in your server.

Node.js (no dependencies)
// No packages needed — Node's own crypto is enough.
const crypto = require("crypto");

const PORTAL = "https://YOUR-OPSIQ/portal/your-workspace";
const b64 = (obj) => Buffer.from(JSON.stringify(obj)).toString("base64url");

// 1. WHO IS SIGNED IN — replace with your app's session lookup. Return null for a guest.
function currentUser(req) {
  return req.user || null;                                // { id, email, name }
}

// GET /support-portal
function supportPortal(req, res) {
  const here = new URL(req.url, "http://local");
  const user = currentUser(req);
  if (!user) {                                            // a guest: sign in first, then come back
    res.writeHead(302, { Location: "/login?next=" + encodeURIComponent(req.url) });
    return res.end();
  }
  const secret = process.env.OPSIQ_SITE_SECRET || "opsiq_whsec_YOUR_SITE_SECRET";   // this site's secret; the environment wins when set
  if (!secret) { res.writeHead(503); return res.end("Support portal is not configured."); }

  // Where to land: the portal page they came from, only if it is on the portal.
  const back = (here.searchParams.get("opsiq_portal_return") || "").replace(/#.*$/, "");
  const target = (back === PORTAL || back.startsWith(PORTAL + "/") || back.startsWith(PORTAL + "?")) ? back : PORTAL;

  const now = Math.floor(Date.now() / 1000);
  const signing = b64({ alg: "HS256", typ: "JWT" }) + "." + b64({
    site_key: "YOUR_SITE_KEY",
    iat: now,
    exp: now + 120,
    authenticated: true,
    jti: crypto.randomBytes(16).toString("hex"),
    single_use: true,
    platform: "node",
    customer: { id: user.id, email: user.email, name: user.name, external_id: String(user.id) },
  });
  const token = signing + "." + crypto.createHmac("sha256", secret).update(signing).digest("base64url");

  // Default target: https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
  const url = target + (target.includes("?") ? "&" : "?")
    + "site_key=" + encodeURIComponent("YOUR_SITE_KEY") + "&identity_token=" + encodeURIComponent(token);
  res.writeHead(302, { Location: url, "Referrer-Policy": "no-referrer", "Cache-Control": "no-store" });
  res.end();
}

Python (Flask / FastAPI)

1

Run: pip install pyjwt (the Flask example also uses flask-login).

2

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

3

Paste into the module that creates your app. @login_required sends guests to your login view and back.

Python (Flask / FastAPI)
# pip install pyjwt flask-login
import os, secrets, time, urllib.parse
import jwt
from flask import request, redirect, abort
from flask_login import login_required, current_user

PORTAL = "https://YOUR-OPSIQ/portal/your-workspace"

def portal_link(user, back=""):
    secret = os.environ.get("OPSIQ_SITE_SECRET") or "opsiq_whsec_YOUR_SITE_SECRET"   # this site's secret; the environment wins when set
    if not secret:
        abort(503, "Support portal is not configured.")     # fail closed
    back = back.split("#", 1)[0]
    target = back if (back == PORTAL or back.startswith(PORTAL + "/") or back.startswith(PORTAL + "?")) else PORTAL
    now = int(time.time())
    token = jwt.encode({
        "site_key": "YOUR_SITE_KEY",
        "iat": now,
        "exp": now + 120,                                   # URL-borne: ~2 minutes
        "authenticated": True,
        "jti": secrets.token_hex(16),
        "single_use": True,                                 # one-time link
        "platform": "python",
        "customer": {
            "id": user.id,                                  # REQUIRED
            "email": user.email,                            # REQUIRED
            "name": getattr(user, "name", ""),
            "external_id": str(user.id),
        },
    }, secret, algorithm="HS256")
    # Default target: https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
    return (target + ("&" if "?" in target else "?")
            + "site_key=" + urllib.parse.quote("YOUR_SITE_KEY", safe="")
            + "&identity_token=" + urllib.parse.quote(token, safe=""))

@app.route("/support-portal")
@login_required
def support_portal():
    resp = redirect(portal_link(current_user, request.args.get("opsiq_portal_return", "")), code=302)
    resp.headers["Referrer-Policy"] = "no-referrer"
    resp.headers["Cache-Control"] = "no-store"
    return resp

Django

1

Run: pip install pyjwt

2

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in settings.py (for example os.environ["OPSIQ_SITE_SECRET"]) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

3

Paste the view into views.py and add path("support-portal/", views.support_portal) to urls.py. @login_required sends guests to LOGIN_URL and back.

Django
# pip install pyjwt   —   urls.py: path("support-portal/", views.support_portal)
import secrets, time, urllib.parse
import jwt
from django.conf import settings
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse, HttpResponseRedirect

PORTAL = "https://YOUR-OPSIQ/portal/your-workspace"

@login_required
def support_portal(request):
    secret = getattr(settings, "OPSIQ_SITE_SECRET", "") or "opsiq_whsec_YOUR_SITE_SECRET"   # this site's secret; settings win when set
    if not secret:                                       # fail closed
        return HttpResponse("Support portal is not configured.", status=503)

    # Where to land: the portal page they came from, only if it is on the portal.
    back = request.GET.get("opsiq_portal_return", "").split("#", 1)[0]
    target = back if (back == PORTAL or back.startswith(PORTAL + "/") or back.startswith(PORTAL + "?")) else PORTAL

    now = int(time.time())
    token = jwt.encode({
        "site_key": "YOUR_SITE_KEY",
        "iat": now,
        "exp": now + 120,
        "authenticated": True,
        "jti": secrets.token_hex(16),
        "single_use": True,
        "platform": "django",
        "customer": {
            "id": request.user.pk,                        # REQUIRED
            "email": request.user.email,                  # REQUIRED
            "name": request.user.get_full_name(),
            "external_id": str(request.user.pk),
        },
    }, secret, algorithm="HS256")

    # Default target: https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
    url = (target + ("&" if "?" in target else "?")
           + "site_key=" + urllib.parse.quote("YOUR_SITE_KEY", safe="")
           + "&identity_token=" + urllib.parse.quote(token, safe=""))
    resp = HttpResponseRedirect(url)
    resp["Referrer-Policy"] = "no-referrer"
    resp["Cache-Control"] = "no-store"
    return resp

.NET / C#

1

Run: dotnet add package System.IdentityModel.Tokens.Jwt

2

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OpsIQ:SiteSecret (user-secrets, the OpsIQ__SiteSecret environment variable or Key Vault) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

3

Paste into Program.cs after app.UseAuthentication(). RequireAuthorization() sends guests to your login and back.

.NET / C#
// dotnet add package System.IdentityModel.Tokens.Jwt   —   Program.cs
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using System.Text;
using Microsoft.IdentityModel.Tokens;

const string Portal = "https://YOUR-OPSIQ/portal/your-workspace";

app.MapGet("/support-portal", (HttpContext ctx, IConfiguration cfg) =>
{
    var secret = cfg["OpsIQ:SiteSecret"];
    if (string.IsNullOrEmpty(secret)) secret = "opsiq_whsec_YOUR_SITE_SECRET";   // this site's secret; configuration wins when set
    if (string.IsNullOrEmpty(secret))                     // fail closed
        return Results.StatusCode(503);

    var id    = ctx.User.FindFirstValue(ClaimTypes.NameIdentifier) ?? "";   // REQUIRED
    var email = ctx.User.FindFirstValue(ClaimTypes.Email) ?? "";            // REQUIRED
    var name  = ctx.User.Identity?.Name ?? "";

    // Where to land: the portal page they came from, only if it is on the portal.
    var back = (ctx.Request.Query["opsiq_portal_return"].ToString()).Split('#')[0];
    var target = (back == Portal || back.StartsWith(Portal + "/") || back.StartsWith(Portal + "?")) ? back : Portal;

    var key   = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secret));
    var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
    var now   = DateTimeOffset.UtcNow;
    var payload = new JwtPayload
    {
        { "site_key",      "YOUR_SITE_KEY" },
        { "iat",           now.ToUnixTimeSeconds() },
        { "exp",           now.AddSeconds(120).ToUnixTimeSeconds() },
        { "authenticated", true },
        { "jti",           Guid.NewGuid().ToString("N") },
        { "single_use",    true },
        { "platform",      "dotnet" },
        { "customer", new Dictionary<string, object>
            { { "id", id }, { "email", email }, { "name", name }, { "external_id", id } } },
    };
    var token = new JwtSecurityTokenHandler().WriteToken(new JwtSecurityToken(new JwtHeader(creds), payload));

    // Default target: https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
    var url = target + (target.Contains('?') ? "&" : "?")
        + "site_key=" + Uri.EscapeDataString("YOUR_SITE_KEY") + "&identity_token=" + Uri.EscapeDataString(token);
    ctx.Response.Headers["Referrer-Policy"] = "no-referrer";
    ctx.Response.Headers["Cache-Control"] = "no-store";
    return Results.Redirect(url);
}).RequireAuthorization();

Ruby on Rails

1

Add gem "jwt" to the Gemfile and run bundle install.

2

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment (or Rails credentials) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

3

Save as app/controllers/support_controller.rb and add get "/support-portal", to: "support#portal" to routes.rb. Devise's authenticate_user! sends guests to login and back.

Ruby on Rails
# Gemfile: gem "jwt"   —   routes.rb: get "/support-portal", to: "support#portal"
require "jwt"
require "securerandom"
require "cgi"

class SupportController < ApplicationController
  before_action :authenticate_user!                      # login, then back here

  PORTAL = "https://YOUR-OPSIQ/portal/your-workspace"

  def portal
    secret = ENV["OPSIQ_SITE_SECRET"].presence || "opsiq_whsec_YOUR_SITE_SECRET"   # this site's secret; the environment wins when set
    return head :service_unavailable if secret.blank?    # fail closed

    # Where to land: the portal page they came from, only if it is on the portal.
    back = params[:opsiq_portal_return].to_s.split("#").first.to_s
    target = (back == PORTAL || back.start_with?(PORTAL + "/", PORTAL + "?")) ? back : PORTAL

    now = Time.now.to_i
    token = JWT.encode({
      site_key:      "YOUR_SITE_KEY",
      iat:           now,
      exp:           now + 120,
      authenticated: true,
      jti:           SecureRandom.hex(16),
      single_use:    true,
      platform:      "rails",
      customer: {
        id:          current_user.id,                    # REQUIRED
        email:       current_user.email,                 # REQUIRED
        name:        current_user.try(:name).to_s,
        external_id: current_user.id.to_s
      }
    }, secret, "HS256")

    # Default target: https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
    url = target + (target.include?("?") ? "&" : "?") +
          "site_key=#{CGI.escape("YOUR_SITE_KEY")}&identity_token=#{CGI.escape(token)}"
    response.headers["Referrer-Policy"] = "no-referrer"
    response.headers["Cache-Control"] = "no-store"
    redirect_to url, allow_other_host: true
  end
end

Java (Spring Boot)

1

Add io.jsonwebtoken:jjwt-api, jjwt-impl and jjwt-jackson (0.12+).

2

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set opsiq.site.secret in application.properties (for example from OPSIQ_SITE_SECRET) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

3

Replace currentUser() with your user lookup. With Spring Security the route must be authenticated so guests go to login and back.

Java (Spring Boot)
// io.jsonwebtoken:jjwt-api / jjwt-impl / jjwt-jackson (0.12+)
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.security.Keys;
import jakarta.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.security.Principal;
import java.time.Instant;
import java.util.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.server.ResponseStatusException;
import org.springframework.web.servlet.view.RedirectView;

@Controller
public class SupportPortalController {
    private static final String PORTAL = "https://YOUR-OPSIQ/portal/your-workspace";

    @Value("${opsiq.site.secret:opsiq_whsec_YOUR_SITE_SECRET}")   // this site's secret; opsiq.site.secret wins when set
    private String secret;

    /** WHO IS SIGNED IN — replace with your own lookup: id, email, name. */
    private Map<String, Object> currentUser(Principal principal) {
        return Map.of("id", principal.getName(), "email", principal.getName(), "name", principal.getName());
    }

    @GetMapping("/support-portal")
    public RedirectView supportPortal(Principal principal, HttpServletResponse response,
                                      @RequestParam(name = "opsiq_portal_return", defaultValue = "") String back) {
        if (principal == null) return new RedirectView("/login");               // login, then back here
        if (secret.isEmpty()) throw new ResponseStatusException(HttpStatus.SERVICE_UNAVAILABLE);   // fail closed

        // Where to land: the portal page they came from, only if it is on the portal.
        back = back.split("#", 2)[0];
        String target = (back.equals(PORTAL) || back.startsWith(PORTAL + "/") || back.startsWith(PORTAL + "?")) ? back : PORTAL;

        Map<String, Object> user = currentUser(principal);
        Map<String, Object> customer = Map.of(
            "id",          user.get("id"),                 // REQUIRED
            "email",       user.get("email"),              // REQUIRED
            "name",        user.get("name"),
            "external_id", String.valueOf(user.get("id")));

        Instant now = Instant.now();
        String token = Jwts.builder()
            .claim("site_key", "YOUR_SITE_KEY")
            .claim("authenticated", true)
            .claim("single_use", true)                     // one-time link
            .claim("platform", "java")
            .claim("customer", customer)
            .id(UUID.randomUUID().toString())              // jti
            .issuedAt(Date.from(now))
            .expiration(Date.from(now.plusSeconds(120)))
            .signWith(Keys.hmacShaKeyFor(secret.getBytes(StandardCharsets.UTF_8)), Jwts.SIG.HS256)
            .compact();

        // Default target: https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
        String url = target + (target.contains("?") ? "&" : "?")
            + "site_key=" + URLEncoder.encode("YOUR_SITE_KEY", StandardCharsets.UTF_8)
            + "&identity_token=" + URLEncoder.encode(token, StandardCharsets.UTF_8);
        response.setHeader("Referrer-Policy", "no-referrer");
        response.setHeader("Cache-Control", "no-store");
        return new RedirectView(url);
    }
}

Go

1

Run: go get github.com/golang-jwt/jwt/v5

2

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

3

Replace currentUser() with your session lookup and register http.HandleFunc("/support-portal", supportPortal).

Go
// go get github.com/golang-jwt/jwt/v5
package main

import (
    "crypto/rand"
    "encoding/hex"
    "fmt"
    "net/http"
    "net/url"
    "os"
    "strings"
    "time"

    "github.com/golang-jwt/jwt/v5"
)

const portal = "https://YOUR-OPSIQ/portal/your-workspace"

type User struct{ ID, Email, Name string }

// WHO IS SIGNED IN — replace with your session lookup. Return nil for a guest.
func currentUser(r *http.Request) *User { return nil }

func supportPortal(w http.ResponseWriter, r *http.Request) {
    user := currentUser(r)
    if user == nil { // login, then back here
        http.Redirect(w, r, "/login?next="+url.QueryEscape(r.URL.RequestURI()), http.StatusFound)
        return
    }
    secret := os.Getenv("OPSIQ_SITE_SECRET")
    if secret == "" {
        secret = "opsiq_whsec_YOUR_SITE_SECRET" // this site's secret; the environment wins when set
    }
    if secret == "" { // fail closed
        http.Error(w, "Support portal is not configured.", http.StatusServiceUnavailable)
        return
    }

    // Where to land: the portal page they came from, only if it is on the portal.
    back := strings.SplitN(r.URL.Query().Get("opsiq_portal_return"), "#", 2)[0]
    target := portal
    if back == portal || strings.HasPrefix(back, portal+"/") || strings.HasPrefix(back, portal+"?") {
        target = back
    }

    jti := make([]byte, 16)
    rand.Read(jti)
    now := time.Now().Unix()
    token, err := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
        "site_key":      "YOUR_SITE_KEY",
        "iat":           now,
        "exp":           now + 120,
        "authenticated": true,
        "jti":           hex.EncodeToString(jti),
        "single_use":    true,
        "platform":      "go",
        "customer": map[string]any{
            "id":          user.ID,    // REQUIRED
            "email":       user.Email, // REQUIRED
            "name":        user.Name,
            "external_id": fmt.Sprint(user.ID),
        },
    }).SignedString([]byte(secret))
    if err != nil {
        http.Error(w, "sign failed", http.StatusInternalServerError)
        return
    }

    // Default target: https://YOUR-OPSIQ/portal/your-workspace?site_key=YOUR_SITE_KEY&identity_token=…
    sep := "?"
    if strings.Contains(target, "?") {
        sep = "&"
    }
    w.Header().Set("Referrer-Policy", "no-referrer")
    w.Header().Set("Cache-Control", "no-store")
    http.Redirect(w, r, target+sep+"site_key="+url.QueryEscape("YOUR_SITE_KEY")+"&identity_token="+url.QueryEscape(token), http.StatusFound)
}

وقتی چیزی اشتباه می کند

پورتال باز می شود، اما امضا شده است

کلید مخفی یا محل کار با این فضای کاری مطابقت ندارد، توکن قدیمی تر از آن است 120 ثانیه (ساعت سرور را چک کنید) یا همان لینک دوبار باز شد.یک پیوند آزمایشی امضا شده را تنظیم کنید: اگر این کار کند، ادعاهای توکن خود را با مثال مقایسه کنید.

همیشه در خانه پورتال فرود می آید

آدرس بازگشت در داخل آدرس پورتال شما نبود، بنابراین آن را با هدف مقایسه کنید URL نشان داده شده در تنظیمات

مهمان ها به جای ورود شما یک خطا می گیرند

تعویض جایگزین /login در مسیر با صفحه ورود واقعی خود، و اطمینان حاصل کنید که ورود شما به آدرس داده شده است.

این کار فقط برای برخی از مشتریان انجام می شود.

مشتری یا ایمیل برای آن ها خالی است.

توسعه دهنده

چت مشتری: شناسایی مشتریان

اختیاری. اکثر سایت ها به این نیاز ندارند: با قطعه چت ساده و یک اتصال، چت خود را تأیید می کند، با رزرو یا شماره سفارش به علاوه اثبات برای جستجوها و کد ایمیل قبل از سفارش اضافه کردن این زمانی که شما می خواهید مشتری که در حال حاضر در سایت خود به طور خودکار ثبت نام شده است، با حساب کامل آنها. WHMCS در حال حاضر آن را از طریق سایت های قلابی خود، سایت شما، کد ها، C همان کد را با کلید سایت شما پر شده است.

چگونه کار می کند

1
صفحه شما برچسب چت را چاپ می کند

برای یک مشتری امضا شده، ویجت URL حمل و نقلidentity_token* امضا شده بر روی سرور شما؛ برای یک مهمان، این برچسب ساده است.هیچ رازی در صفحه وجود ندارد: تنها نشانه ای که منقضی می شود.

2
چت نشان دهنده توکن

امضا، کلید کار و انقضای مشتری در هر درخواست چت شناخته شده است و کانکتور شما می تواند در مورد سفارشات خود، رزروها یا فاکتورها پاسخ دهد.

3
چت ها قبل از ساعت بیدار می شوند

این صفحه را با آن تماس می گیرد؟opsiq_identity_refresh=1&role= مشتری پاسخ های کد شما {'موفقیت\": trueidentity_token"در حالی که مشتری در آن امضا شده است یا 401 با موفقیت {" : کاذب'login_required"درست است، هنگامی که آنها نیستند، به همین دلیل است که گردانندگان تازه باید قبل از اینکه صفحه شما هر چیزی را چاپ کند، اجرا کنند.

چگونه آن را با توکن پورتال متفاوت است

زندگی

یک ساعت (در حال حاضر = iat + 3600به جای 120 چند ثانیه، زیرا هر درخواست چت را به جای یک مسیر هدایت می کند.

نه jti یا single_use

این نشانه برای هر پیام استفاده می شود تا زمانی که تازه جایگزین آن شود.

همه چیز دیگر

site_key, iat ، انقضای ، معتبر: واقعی ، پلت فرم و مشتری با یک شناسه و ایمیل مورد نیاز

💡
هویت می گوید که مشتری سفارش، رزرو یا فاکتورها از طریق یک اتصال به چت می رسند: یکی که تماس با پلت فرم شما است APIیا وقتی که پلتفرم شما هیچگاه ندارد APIیک کانکتور به علاوه فایل پل آن (سازنده اتصال یکی را می سازد)
💡
راز ثبت نام برای شما پر شده است. در سایت های از راه دور، سایت شما، کد ها، هر مثالی که قبلاً حاوی راز خود این سایت است، بنابراین کد به عنوان گذشته کار می کند: هیچ چیز برای کپی یا پیکربندی نمونه هایی در این صفحه وجود ندارد. opsiq_whsec_YOUR_SITE_SECRET در جای خود هر مثالی به نظر می رسد OPSIQ_SITE_SECRET (یا تنظیمات خود چارچوب شما، که در یادداشت های آن نام گذاری شده است) بر روی سرور اول و استفاده از آن هنگامی که تنظیم می شود، بنابراین شما می توانید هر زمان که میخواهید، به عنوان مثال برای چرخش آن بدون کد ویرایش آن را حرکت دهید JavaScriptو هرگز آن را به یک مخزن عمومی متعهد نکنید، زیرا هر کسی که این راز را در خود نگه دارد می تواند به عنوان یکی از مشتریان یا کارکنان شما ثبت نام کند. WHMCS و Botble هیچ کدام از این موارد را لازم نیست: WHMCS قلاب با راز پر شده وارد می شود و Botble پانل اتصال آن را به پل پر می کند.

کد کامل، پلت فرم

WHMCS

Nothing to add: the WHMCS hook in Option 1 already signs your signed-in clients into the chat, refreshes the token on long visits, and signs staff into Admin Chat. No connector is needed for this.
1

Install the Option 1 hook as includes/hooks/opsiq_tracker.php. Do not also paste the plain chat tag.

2

Optional: add the WHMCS connector under Connectors if you also want the chat to answer about invoices, services and tickets. Identity works without it.

includes/hooks/opsiq_tracker.php
/* WHMCS: no extra code. Option 1 (the All-in-One WHMCS Hook) signs the signed-in
 * client into Client Chat, answers ?opsiq_identity_refresh=1 and signs staff into
 * Admin Chat. No connector is needed for identity. */

Botble (connector bridge)

Nothing to add for bookings: the Botble connector takes bookings as a guest checkout and finds existing bookings by booking number and proof, so guests do not need to sign in. Admins are signed in through the bridge (op=admin_embed).
1

Install the Botble connector under Connectors, copy its bridge file from the connector panel and upload it to public/. The panel fills in OPSIQ_HOST, OPSIQ_SITE_KEY and OPSIQ_SITE_SECRET for you.

2

Botble has no API, so the bridge file is how the chat reads rooms and takes bookings. To also recognise a guest who is already signed in on the hotel site, use the Laravel option with your customer guard.

public/opsiq-botble-bridge.php
/* Botble: no extra code for bookings.
 * The connector books as a guest checkout and finds bookings by booking number + proof.
 * In public/opsiq-botble-bridge.php fill OPSIQ_HOST, OPSIQ_SITE_KEY and OPSIQ_SITE_SECRET.
 * Admins: op=admin_embed */

PHP (no dependencies)

1

Save as opsiq-chat.php. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

At the very top of every page (or your front controller), before any output: require 'opsiq-chat.php'; opsiq_chat_refresh();

3

Just before </body> on every page: <?= opsiq_chat_tag() ?> — it replaces the plain chat tag. Replace opsiq_chat_user() with your signed-in customer.

opsiq-chat.php
<?php
/* opsiq-chat.php — signed-in customers for OpsIQ Client Chat. */

// WHO IS SIGNED IN — replace the body with your app's session. Return null for a guest.
function opsiq_chat_user(): ?array
{
    $u = $_SESSION['user'] ?? null;               // e.g. ['id' => 7, 'email' => '…', 'name' => '…']
    return is_array($u) && !empty($u['id']) && !empty($u['email']) ? $u : null;
}

function opsiq_chat_token(array $u): string
{
    $secret = (string) (getenv('OPSIQ_SITE_SECRET') ?: 'opsiq_whsec_YOUR_SITE_SECRET');   // this site's secret; the environment wins when set
    if ($secret === '') return '';                           // fail closed: plain chat, no identity
    $b64 = static fn($v) => rtrim(strtr(base64_encode(json_encode($v, JSON_UNESCAPED_SLASHES)), '+/', '-_'), '=');
    $now = time();
    $signing = $b64(['alg' => 'HS256', 'typ' => 'JWT']) . '.' . $b64([
        'site_key'      => 'YOUR_SITE_KEY',
        'iat'           => $now,
        'exp'           => $now + 3600,                      // the widget refreshes before this
        'authenticated' => true,
        'platform'      => 'php',
        'customer'      => [
            'id'          => $u['id'],                       // REQUIRED
            'email'       => $u['email'],                    // REQUIRED
            'name'        => $u['name'] ?? '',
            'external_id' => (string) $u['id'],
        ],
    ]);
    return $signing . '.' . rtrim(strtr(base64_encode(hash_hmac('sha256', $signing, $secret, true)), '+/', '-_'), '=');
}

// Call at the top of every page, before any output.
function opsiq_chat_refresh(): void
{
    if (empty($_GET['opsiq_identity_refresh'])) return;
    header('Content-Type: application/json; charset=utf-8');
    header('Cache-Control: no-store');
    $u = opsiq_chat_user();
    $t = $u ? opsiq_chat_token($u) : '';
    if ($t === '') { http_response_code(401); echo json_encode(['success' => false, 'login_required' => true]); exit; }
    echo json_encode(['success' => true, 'role' => 'customer', 'identity_token' => $t]);
    exit;
}

// Print before </body> on every page, instead of the plain chat tag.
function opsiq_chat_tag(): string
{
    $src = 'https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY';
    $u = opsiq_chat_user();
    $t = $u ? opsiq_chat_token($u) : '';
    if ($t !== '') $src .= '&identity_token=' . rawurlencode($t);
    return '<script async src="' . htmlspecialchars($src, ENT_QUOTES) . '" data-opsiq-widget="client-chat"></script>';
}

Laravel

1

Run: composer require firebase/php-jwt. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET=… in .env with 'opsiq' => ['site_secret' => env('OPSIQ_SITE_SECRET')] in config/services.php on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Save the class as app/Support/OpsiqChat.php, and add the small OpsiqChatRefresh middleware from the bottom of the code to the web group, so the widget can refresh its token on any page.

3

In your main Blade layout, just before </body>: {!! \App\Support\OpsiqChat::tag() !!}

app/Support/OpsiqChat.php
<?php
// app/Support/OpsiqChat.php — composer require firebase/php-jwt
namespace App\Support;

use Firebase\JWT\JWT;

final class OpsiqChat
{
    public static function token(): string
    {
        $user = auth()->user();
        $secret = (string) (config('services.opsiq.site_secret') ?: 'opsiq_whsec_YOUR_SITE_SECRET');   // this site's secret; config wins when set
        if (!$user || $secret === '') return '';                 // guest, or not configured
        $now = time();
        return JWT::encode([
            'site_key'      => 'YOUR_SITE_KEY',
            'iat'           => $now,
            'exp'           => $now + 3600,
            'authenticated' => true,
            'platform'      => 'laravel',
            'customer'      => [
                'id'          => $user->id,                      // REQUIRED
                'email'       => $user->email,                   // REQUIRED
                'name'        => $user->name,
                'external_id' => (string) $user->id,
            ],
        ], $secret, 'HS256');
    }

    /** For Blade: {!! \App\Support\OpsiqChat::tag() !!} before </body>. */
    public static function tag(): string
    {
        $src = 'https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY';
        $t = self::token();
        if ($t !== '') $src .= '&identity_token=' . rawurlencode($t);
        return '<script async src="' . e($src) . '" data-opsiq-widget="client-chat"></script>';
    }
}

/* Refresh: the widget asks ?opsiq_identity_refresh=1 on the page it is on.
 * Laravel 11+ — bootstrap/app.php:
 *
 *   ->withMiddleware(function ($middleware) {
 *       $middleware->web(append: \App\Http\Middleware\OpsiqChatRefresh::class);
 *   })
 *
 * app/Http/Middleware/OpsiqChatRefresh.php:
 *
 *   public function handle($request, \Closure $next) {
 *       if (!$request->query('opsiq_identity_refresh')) return $next($request);
 *       $t = \App\Support\OpsiqChat::token();
 *       return $t === ''
 *           ? response()->json(['success' => false, 'login_required' => true], 401)->header('Cache-Control', 'no-store')
 *           : response()->json(['success' => true, 'role' => 'customer', 'identity_token' => $t])->header('Cache-Control', 'no-store');
 *   }
 */

WordPress / WooCommerce

1

This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, add define('OPSIQ_SITE_SECRET', '…'); to wp-config.php instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Paste into your theme's functions.php or a small plugin. It prints the chat itself, so remove the plain chat tag if you added one.

3

For WooCommerce orders in the chat, add the WooCommerce connector under Connectors.

functions.php
/* functions.php or a small plugin — OpsIQ Client Chat with signed-in customers. */

if (!defined('OPSIQ_SITE_SECRET')) define('OPSIQ_SITE_SECRET', 'opsiq_whsec_YOUR_SITE_SECRET');   // this site's secret; wp-config.php wins when set

function opsiq_chat_token(): string {
    if (!is_user_logged_in() || !defined('OPSIQ_SITE_SECRET') || OPSIQ_SITE_SECRET === '') return '';
    $u   = wp_get_current_user();
    $b64 = static fn($v) => rtrim(strtr(base64_encode(wp_json_encode($v)), '+/', '-_'), '=');
    $now = time();
    $signing = $b64(['alg' => 'HS256', 'typ' => 'JWT']) . '.' . $b64([
        'site_key'      => 'YOUR_SITE_KEY',
        'iat'           => $now,
        'exp'           => $now + 3600,
        'authenticated' => true,
        'platform'      => 'wordpress',
        'customer'      => [
            'id'          => $u->ID,                     // REQUIRED
            'email'       => $u->user_email,             // REQUIRED
            'name'        => $u->display_name,
            'external_id' => (string) $u->ID,
        ],
    ]);
    return $signing . '.' . rtrim(strtr(base64_encode(hash_hmac('sha256', $signing, OPSIQ_SITE_SECRET, true)), '+/', '-_'), '=');
}

// Refresh: the widget asks ?opsiq_identity_refresh=1 on the page it is on.
add_action('init', function () {
    if (empty($_GET['opsiq_identity_refresh'])) return;
    nocache_headers();
    $t = opsiq_chat_token();
    if ($t === '') wp_send_json(['success' => false, 'login_required' => true], 401);
    wp_send_json(['success' => true, 'role' => 'customer', 'identity_token' => $t]);
});

// The chat tag, on every front-end page.
add_action('wp_footer', function () {
    $src = 'https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY';
    $t = opsiq_chat_token();
    if ($t !== '') $src .= '&identity_token=' . rawurlencode($t);
    echo '<script async src="' . esc_url($src) . '" data-opsiq-widget="client-chat"></script>';
});

Node.js / Express

1

Run: npm i jsonwebtoken. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

app.use(opsiqChat) after your session / passport middleware. It answers the refresh and sets res.locals.opsiqChatTag.

3

Print res.locals.opsiqChatTag (unescaped) just before </body> in your layout, instead of the plain chat tag.

opsiq-chat.js
// opsiq-chat.js — npm i jsonwebtoken
const jwt = require("jsonwebtoken");

function opsiqChatToken(user) {
  const secret = process.env.OPSIQ_SITE_SECRET || "opsiq_whsec_YOUR_SITE_SECRET";   // this site's secret; the environment wins when set
  if (!user || !secret) return "";
  return jwt.sign({
    site_key: "YOUR_SITE_KEY",
    authenticated: true,
    platform: "node",
    customer: { id: user.id, email: user.email, name: user.name, external_id: String(user.id) },  // id + email REQUIRED
  }, secret, { algorithm: "HS256", expiresIn: 3600 });     // sets iat + exp
}

// app.use(opsiqChat) — after your session / passport middleware.
function opsiqChat(req, res, next) {
  const token = opsiqChatToken(req.user);
  if (req.query.opsiq_identity_refresh) {                  // the widget refreshing on this page
    res.set("Cache-Control", "no-store");
    return token
      ? res.json({ success: true, role: "customer", identity_token: token })
      : res.status(401).json({ success: false, login_required: true });
  }
  const src = "https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY" + (token ? "&identity_token=" + encodeURIComponent(token) : "");
  res.locals.opsiqChatTag = '<script async src="' + src.replace(/"/g, """) + '" data-opsiq-widget="client-chat"></script>';
  next();
}

module.exports = { opsiqChat };

Python (Flask)

1

Run: pip install pyjwt flask-login. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Call init_opsiq_chat(app) where you create the app. It answers the refresh and gives templates opsiq_chat_tag.

3

In your base template, just before </body>: {{ opsiq_chat_tag }}

opsiq_chat.py
# opsiq_chat.py — pip install pyjwt flask-login
import os, time, urllib.parse
import jwt
from flask import request, jsonify
from flask_login import current_user
from markupsafe import Markup, escape

def opsiq_chat_token():
    secret = os.environ.get("OPSIQ_SITE_SECRET") or "opsiq_whsec_YOUR_SITE_SECRET"   # this site's secret; the environment wins when set
    if not secret or not current_user.is_authenticated:
        return ""
    now = int(time.time())
    return jwt.encode({
        "site_key": "YOUR_SITE_KEY", "iat": now, "exp": now + 3600,
        "authenticated": True, "platform": "python",
        "customer": {"id": current_user.id, "email": current_user.email,       # REQUIRED
                     "name": getattr(current_user, "name", ""), "external_id": str(current_user.id)},
    }, secret, algorithm="HS256")

def init_opsiq_chat(app):
    @app.before_request
    def _opsiq_refresh():
        if request.args.get("opsiq_identity_refresh"):
            t = opsiq_chat_token()
            resp = jsonify({"success": True, "role": "customer", "identity_token": t}) if t \
                else (jsonify({"success": False, "login_required": True}), 401)
            if isinstance(resp, tuple):
                resp[0].headers["Cache-Control"] = "no-store"
            else:
                resp.headers["Cache-Control"] = "no-store"
            return resp

    @app.context_processor
    def _opsiq_tag():
        t = opsiq_chat_token()
        src = "https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY" + ("&identity_token=" + urllib.parse.quote(t, safe="") if t else "")
        return {"opsiq_chat_tag": Markup('<script async src="%s" data-opsiq-widget="client-chat"></script>' % escape(src))}

Django

1

Run: pip install pyjwt. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in settings.py (for example os.environ["OPSIQ_SITE_SECRET"]) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Add "yourapp.opsiq_chat.OpsiqChatMiddleware" to MIDDLEWARE (after AuthenticationMiddleware) and "yourapp.opsiq_chat.opsiq_chat" to TEMPLATES context_processors.

3

In your base template, just before </body>: {{ opsiq_chat_tag }}

opsiq_chat.py
# yourapp/opsiq_chat.py — pip install pyjwt
import time, urllib.parse
import jwt
from django.conf import settings
from django.http import JsonResponse
from django.utils.html import format_html

def opsiq_chat_token(user):
    secret = getattr(settings, "OPSIQ_SITE_SECRET", "") or "opsiq_whsec_YOUR_SITE_SECRET"   # this site's secret; settings win when set
    if not secret or not user.is_authenticated:
        return ""
    now = int(time.time())
    return jwt.encode({
        "site_key": "YOUR_SITE_KEY", "iat": now, "exp": now + 3600,
        "authenticated": True, "platform": "django",
        "customer": {"id": user.pk, "email": user.email,             # REQUIRED
                     "name": user.get_full_name(), "external_id": str(user.pk)},
    }, secret, algorithm="HS256")

class OpsiqChatMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response
    def __call__(self, request):
        if request.GET.get("opsiq_identity_refresh"):
            t = opsiq_chat_token(request.user)
            resp = (JsonResponse({"success": True, "role": "customer", "identity_token": t}) if t
                    else JsonResponse({"success": False, "login_required": True}, status=401))
            resp["Cache-Control"] = "no-store"
            return resp
        return self.get_response(request)

def opsiq_chat(request):
    t = opsiq_chat_token(request.user)
    src = "https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY" + ("&identity_token=" + urllib.parse.quote(t, safe="") if t else "")
    return {"opsiq_chat_tag": format_html('<script async src="{}" data-opsiq-widget="client-chat"></script>', src)}

.NET / C#

1

Run: dotnet add package System.IdentityModel.Tokens.Jwt. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OpsIQ:SiteSecret (user-secrets, the OpsIQ__SiteSecret environment variable or Key Vault) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

In Program.cs, after app.UseAuthentication(): app.Use(OpsiqChat.Refresh);

3

In _Layout.cshtml before </body>: @Html.Raw(OpsiqChat.Tag(Context))

OpsiqChat.cs
// OpsiqChat.cs — dotnet add package System.IdentityModel.Tokens.Jwt
using System.IdentityModel.Tokens.Jwt;
using System.Net;
using System.Security.Claims;
using System.Text;
using Microsoft.IdentityModel.Tokens;

public static class OpsiqChat
{
    public static string Token(HttpContext ctx)
    {
        var secret = ctx.RequestServices.GetRequiredService<IConfiguration>()["OpsIQ:SiteSecret"];
        if (string.IsNullOrEmpty(secret)) secret = "opsiq_whsec_YOUR_SITE_SECRET";   // this site's secret; configuration wins when set
        if (string.IsNullOrEmpty(secret) || ctx.User.Identity?.IsAuthenticated != true) return "";
        var id = ctx.User.FindFirstValue(ClaimTypes.NameIdentifier) ?? "";      // REQUIRED
        var email = ctx.User.FindFirstValue(ClaimTypes.Email) ?? "";            // REQUIRED
        var creds = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secret)), SecurityAlgorithms.HmacSha256);
        var now = DateTimeOffset.UtcNow;
        var payload = new JwtPayload {
            { "site_key", "YOUR_SITE_KEY" }, { "iat", now.ToUnixTimeSeconds() }, { "exp", now.AddSeconds(3600).ToUnixTimeSeconds() },
            { "authenticated", true }, { "platform", "dotnet" },
            { "customer", new Dictionary<string, object> { { "id", id }, { "email", email }, { "name", ctx.User.Identity?.Name ?? "" }, { "external_id", id } } },
        };
        return new JwtSecurityTokenHandler().WriteToken(new JwtSecurityToken(new JwtHeader(creds), payload));
    }

    // app.Use(OpsiqChat.Refresh) — the widget refreshing on the page it is on.
    public static async Task Refresh(HttpContext ctx, Func<Task> next)
    {
        if (string.IsNullOrEmpty(ctx.Request.Query["opsiq_identity_refresh"])) { await next(); return; }
        ctx.Response.Headers["Cache-Control"] = "no-store";
        var t = Token(ctx);
        if (t == "") { ctx.Response.StatusCode = 401; await ctx.Response.WriteAsJsonAsync(new { success = false, login_required = true }); return; }
        await ctx.Response.WriteAsJsonAsync(new { success = true, role = "customer", identity_token = t });
    }

    public static string Tag(HttpContext ctx)
    {
        var t = Token(ctx);
        var src = "https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY" + (t != "" ? "&identity_token=" + Uri.EscapeDataString(t) : "");
        return "<script async src=\"" + WebUtility.HtmlEncode(src) + "\" data-opsiq-widget=\"client-chat\"></script>";
    }
}

Ruby on Rails

1

Add gem "jwt" and run bundle install. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

include OpsiqChat in ApplicationController.

3

In app/views/layouts/application.html.erb before </body>: <%= opsiq_chat_tag %>

app/controllers/concerns/opsiq_chat.rb
# app/controllers/concerns/opsiq_chat.rb — Gemfile: gem "jwt"
require "jwt"
require "cgi"

module OpsiqChat
  extend ActiveSupport::Concern

  included do
    before_action :opsiq_identity_refresh
    helper_method :opsiq_chat_tag
  end

  private

  def opsiq_chat_token
    secret = ENV["OPSIQ_SITE_SECRET"].presence || "opsiq_whsec_YOUR_SITE_SECRET"   # this site's secret; the environment wins when set
    return "" if secret.blank? || !respond_to?(:current_user, true) || current_user.nil?
    now = Time.now.to_i
    JWT.encode({
      site_key: "YOUR_SITE_KEY", iat: now, exp: now + 3600,
      authenticated: true, platform: "rails",
      customer: { id: current_user.id, email: current_user.email,          # REQUIRED
                  name: current_user.try(:name).to_s, external_id: current_user.id.to_s }
    }, secret, "HS256")
  end

  def opsiq_identity_refresh
    return unless params[:opsiq_identity_refresh].present?
    response.headers["Cache-Control"] = "no-store"
    t = opsiq_chat_token
    return render(json: { success: false, login_required: true }, status: :unauthorized) if t.blank?
    render json: { success: true, role: "customer", identity_token: t }
  end

  def opsiq_chat_tag
    t = opsiq_chat_token
    src = "https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY" + (t.present? ? "&identity_token=#{CGI.escape(t)}" : "")
    helpers.tag.script(nil, async: true, src: src, data: { opsiq_widget: "client-chat" })
  end
end

Java (Spring Boot)

1

Add io.jsonwebtoken:jjwt-api, jjwt-impl and jjwt-jackson (0.12+). This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set opsiq.site.secret (for example from OPSIQ_SITE_SECRET) on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Replace currentUser() with your user lookup. The filter answers the refresh on every page; @ControllerAdvice exposes opsiqChatTag to views.

3

Thymeleaf layout before </body>: <th:block th:utext="${opsiqChatTag}"/>

OpsiqChat.java
// OpsiqChat.java — io.jsonwebtoken:jjwt-api / jjwt-impl / jjwt-jackson (0.12+)
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.security.Keys;
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import java.io.IOException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.security.Principal;
import java.time.Instant;
import java.util.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.util.HtmlUtils;

@Component
@ControllerAdvice
public class OpsiqChat implements Filter {
    @Value("${opsiq.site.secret:opsiq_whsec_YOUR_SITE_SECRET}")   // this site's secret; opsiq.site.secret wins when set
    private String secret;

    /** WHO IS SIGNED IN — replace with your lookup: id, email, name. Null for a guest. */
    private Map<String, Object> currentUser(Principal p) {
        return p == null ? null : Map.of("id", p.getName(), "email", p.getName(), "name", p.getName());
    }

    String token(HttpServletRequest req) {
        Map<String, Object> u = currentUser(req.getUserPrincipal());
        if (u == null || secret.isEmpty()) return "";
        Instant now = Instant.now();
        return Jwts.builder()
            .claim("site_key", "YOUR_SITE_KEY").claim("authenticated", true).claim("platform", "java")
            .claim("customer", Map.of("id", u.get("id"), "email", u.get("email"), "name", u.get("name"),
                                      "external_id", String.valueOf(u.get("id"))))          // id + email REQUIRED
            .issuedAt(Date.from(now)).expiration(Date.from(now.plusSeconds(3600)))
            .signWith(Keys.hmacShaKeyFor(secret.getBytes(StandardCharsets.UTF_8)), Jwts.SIG.HS256)
            .compact();
    }

    @Override // the widget refreshing on the page it is on
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) request;
        if (req.getParameter("opsiq_identity_refresh") == null) { chain.doFilter(request, response); return; }
        HttpServletResponse res = (HttpServletResponse) response;
        res.setHeader("Cache-Control", "no-store");
        res.setContentType("application/json");
        String t = token(req);
        if (t.isEmpty()) { res.setStatus(401); res.getWriter().write("{\"success\":false,\"login_required\":true}"); return; }
        res.getWriter().write("{\"success\":true,\"role\":\"customer\",\"identity_token\":\"" + t + "\"}");
    }

    @ModelAttribute("opsiqChatTag")
    public String tag(HttpServletRequest req) {
        String t = token(req);
        String src = "https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY" + (t.isEmpty() ? "" : "&identity_token=" + URLEncoder.encode(t, StandardCharsets.UTF_8));
        return "<script async src=\"" + HtmlUtils.htmlEscape(src) + "\" data-opsiq-widget=\"client-chat\"></script>";
    }
}

Go

1

Run: go get github.com/golang-jwt/jwt/v5. This site's signing secret is already filled in, so the code works as pasted. To keep it out of the file, set OPSIQ_SITE_SECRET in the environment on the server instead: that value is used first. Keep this file on the server and never commit it to a public repository.

2

Replace currentUser() with your session lookup, and wrap your router: http.ListenAndServe(addr, OpsiqChatRefresh(mux)).

3

Pass OpsiqChatTag(r) to your layout template and print it before </body>.

opsiq_chat.go
// opsiq_chat.go — go get github.com/golang-jwt/jwt/v5
package main

import (
    "encoding/json"
    "fmt"
    "html"
    "html/template"
    "net/http"
    "net/url"
    "os"
    "time"

    "github.com/golang-jwt/jwt/v5"
)

type OpsiqUser struct{ ID, Email, Name string }

// WHO IS SIGNED IN — replace with your session lookup. Return nil for a guest.
func currentUser(r *http.Request) *OpsiqUser { return nil }

func opsiqChatToken(r *http.Request) string {
    u, secret := currentUser(r), os.Getenv("OPSIQ_SITE_SECRET")
    if secret == "" {
        secret = "opsiq_whsec_YOUR_SITE_SECRET" // this site's secret; the environment wins when set
    }
    if u == nil || secret == "" {
        return ""
    }
    now := time.Now().Unix()
    t, err := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
        "site_key": "YOUR_SITE_KEY", "iat": now, "exp": now + 3600,
        "authenticated": true, "platform": "go",
        "customer": map[string]any{"id": u.ID, "email": u.Email, "name": u.Name, "external_id": fmt.Sprint(u.ID)}, // id + email REQUIRED
    }).SignedString([]byte(secret))
    if err != nil {
        return ""
    }
    return t
}

// OpsiqChatRefresh answers the widget's ?opsiq_identity_refresh=1 on any page.
func OpsiqChatRefresh(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        if r.URL.Query().Get("opsiq_identity_refresh") == "" {
            next.ServeHTTP(w, r)
            return
        }
        w.Header().Set("Cache-Control", "no-store")
        w.Header().Set("Content-Type", "application/json")
        if t := opsiqChatToken(r); t != "" {
            json.NewEncoder(w).Encode(map[string]any{"success": true, "role": "customer", "identity_token": t})
            return
        }
        w.WriteHeader(http.StatusUnauthorized)
        json.NewEncoder(w).Encode(map[string]any{"success": false, "login_required": true})
    })
}

// OpsiqChatTag is printed before </body> in your layout.
func OpsiqChatTag(r *http.Request) template.HTML {
    src := "https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY"
    if t := opsiqChatToken(r); t != "" {
        src += "&identity_token=" + url.QueryEscape(t)
    }
    return template.HTML(`<script async src="` + html.EscapeString(src) + `" data-opsiq-widget="client-chat"></script>`)
}

وقتی چیزی اشتباه می کند

چت با مشتری وارد به عنوان مهمان رفتار می کند

برچسب ها بدون چاپ شد identity_token (راز بر روی سرور گم شده است، بنابراین کد بسته نمی شود)، یا کلید کار فضای توکن یا راز مطابقت ندارد.

در ابتدا، یک مهمان بعد از حدود یک ساعت

دستگیره تازه وارد شده نیست: باید قبل از هر خروجی اجرا شود، در هر صفحه چت ظاهر می شود.

چت ساده دو بار نشان می دهد

برچسب چت ساده را از قالب خود حذف کنید: این کد خود چت را چاپ می کند.

توسعه دهنده

افزونه ها و SDKs

OpsIQ فراهم می کند SDK بسته ها و افزونه ها برای پلتفرم های مشترک

چگونه کار می کند
افزونه ها و SDKsچهار بسته: PHP SDK, Node.js SDK, WordPress افزونه و WHMCS ماژول، هر کدام با دستور نصب آن.PHPPHP PHP SDKآهنگساز نیاز دارد opsiq/sdkجی اسNode.jsSDKnpm در @opsiq/sdkوبWordPress افزونه پلاگین افزونه Plugنصب و اتصال One-Click & Connect.همانWHMCS ماژول ماژولAddon for Billing + Ticket رله
افزونه ها و SDKs
PHP PHP SDK

بسته آهنگساز: نسل هویت، عمل API کمک کننده ها، تایید امضای وب را فریب می دهند.

JavaScript SDK

در کنار مرورگر: ردیابی، هویت، رویدادهای سفارشی، کنترل چت.

WordPress افزونه پلاگین افزونه Plug

تزریق Widget، هویت از جلسات کاربر WP WooCommerce همگام سازی

WHMCS ماژول ماژول

ادغام کامل: ویجت، رله بلیط، هویت، مدیر AI.

Shopify افزونه Theme extension

برنامه با هویت مشتری خودکار جاسازی شده است.

PHP PHP SDK شروع سریع

PHP PHP SDK مثال مثال
composer require opsiq/sdk

use OpsIQ\SDK\Identity;
$token = Identity::createToken(
    siteKey: "site_abc123",
    secret:  "opsiq_whsec_your_secret",
    customer: ["id" => "cust_1001", "email" => "[email protected]", "name" => "Jane"]
);

// Call any catalog action over the action API
$ch = curl_init("https://your-opsiq.com/api/v1.php");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer opq_your_key",
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "action" => "crm.contacts.list",
        "status" => "lead",
        "limit"  => 25,
    ]),
]);
$contacts = json_decode(curl_exec($ch), true);
توسعه دهنده

بررسی Survey API, رویدادها و اتوماسیون بدون اتصال

استودیو Survey Studio برای استفاده از همان نوع General طراحی شده است. API executor داخلی، اتوبوس رویداد و عملیات وب را به عنوان باقی مانده از بقیه OpsIQ این به توسعه دهندگان اجازه می دهد تا بدون ایجاد یک اتصال بسته بندی شده پایان یابند.

⚠️
وضعیت اجرایی: کاتالوگ زنده در حال حاضر تنها platform.get.survey.config و platform.save.survey.config. اون surveys.* و feedback.* خانواده های زیر قرارداد هدف تایید شده و باید بازگردند unknown_action تا ثبت نام

خانواده های اقدام

انواع، قالب ها و راه اندازی سریع

surveys.types.*, surveys.templates.* و surveys.quick_launch.* لیست، پیش نمایش، فوری و معتبر شروع کنندگان کامل.

بررسی ها و نسخه ها

surveys.create|get|list|update|archive|duplicate به علاوه نسخه های تغییر ناپذیر، اعتبار و انتشار اقدامات.

استقرار و هدف گذاری

surveys.deployments.*, surveys.links.*, surveys.audiences.*, surveys.triggers.* و surveys.variables.*.

پاسخ ها و

surveys.invitations.*, surveys.campaigns.*, surveys.recipients.*, surveys.responses.*صادرات، قرمزکاری و تجزیه و تحلیل

Webhooks، واردات و بازخورد

surveys.webhooks.*, surveys.imports.*, feedback.items.*, feedback.analytics.*, feedback.sources.* و feedback.analysis.*.

جریان بدون درز

1
ایجاد و انتشار از طریق عمومی API

استفاده از نظرسنجی های تایپ شده. * اقدامات با یک کلید کار-pined. Writes اعلام اجازه، خطر، تأیید، هویت و رفتار خشک است.

2
دریافت رویداد کسب و کار خود

ارسال یک رویداد امضا شده به یک وب سایت فشرده، برای مثال لغو سفارش یا تکمیل مرحله ورود به صفحه نمایش. Replay محافظت از شناسه رویداد را رد می کند.

3
نقشه برداری آن در Actions & ماشه

انتخاب یک OpsIQ ژنرال عمومی API اقداماتی مانند صدور دعوت نظرسنجی یا آماده سازی کمپین، سپس زمینه هایی را از بار آزمایشی تایید شده نقشه برداری کنید.

4
اشتراک گذاری حوادث Survey Events

ارائه نظرسنجی کسب و کار مستند امن. * زیرمجموعه چرخه عمر به نقطه نهایی خود را با امضا، فیلتر، retry، log و مجوز پخش مجدد.

هدف رویداد Canonical

فهرست اشتراکی وضعیت انتشار پرسشنامه/انتشار، مخاطب و تصمیمات محرک، دعوت‌ها، بازنمایی/شروع/بخشی/بازگشت/تمام/تخلیص، ویرایش پاسخ، وضعیت کمپین و شکست‌های تحویل را پوشش می‌دهد.

یک کانکتور اختیاری است. آن را اضافه می کند کشف پلت فرم قابل استفاده مجدد، هویت تایید شده، حقایق، متغیرها و دریافت کننده enumeration عمومی. API علاوه بر اقدامات و محرک های وب سایت، مسیر یکپارچه سازی کامل برای توسعه دهندگانی است که به یک کانکتور بسته بندی شده نیاز ندارند.
توسعه دهنده

REST REST API

. اون OpsIQ باقیمانده API به شما اجازه می دهد که از طریق برنامه ریزی به تمام ویژگی های پلت فرم دسترسی داشته باشید.

چگونه کار می کند
REST REST APIیک ترمینال که نشان می دهد POST به OpsIQ API با یک کلید Bearer، لیست بلیط های باز و صفحه JSON پاسخ$ curl -X POST https://your-domain.com/api/v1.php \-H "Authorization: Bearer opq_..."200OK{ "data": [{ "id": 4192, "ticket_number": "T-4192","subject": "Card declined", "status": "open" },... more tickets ...], "page": 1, "per_page": 50, "has_more": true }
REST REST API

درخواست فرمت Request Format

ارسال کلید به عنوان Authorization: Bearer opq_... یا X-OpsIQ-Key: opq_...از یک سربرگ احراز هویت استفاده کنید، نه هر دو.

API فرمت درخواست
POST https://your-opsiq-domain.com/api/v1.php
Authorization: Bearer opq_your_api_key
# Alternative header: X-OpsIQ-Key: opq_your_api_key
Content-Type: application/json

{
  "action": "endpoint.name",
  "site_key": "site_abc123"
}

اقدامات مشترک

API بر اساس عمل است: یک action نام در بدن هر مدیر ثبت شده JSON عملیات دارای یک اقدام پایدار به نام POST است. {"action":"meta.actions"} (هیچ کلید لازم نیست) برای لیست معتبر، در هر نصب شده، قرارداد درخواست، متاداده خطر و دامنه. platform.routes.* پل فقط برای ادغام های قدیمی باقی مانده است.

crm.contacts.list

لیست تماس های CRM (scope crm. read) Params: q، وضعیت، منبع، برچسب، نمره سرب، محدودیت.

crm.contacts.upsert

حل و فصل یا ایجاد یک تماس (scope crm. Write) Params: ایمیل به علاوه زمینه ها، برچسب ها، یادداشت ها.

crm.deals.list

لیست معاملات CRM (scope crm. read) Params: وضعیت، مرحله_id، شرکت_id ، مالک_admin_id, خط لوله_id و Limit

crm.activities.record

ثبت یک فعالیت چرخه عمر / کسب و کار برای تماس (scope crm. Write) Param: ایمیل یا تماس_id، رویداد، ارزش، ارز.

crm.conversions.record

یک تبدیل (scope crm. Write) Params: تماس_id یا ایمیل، Conversion_type، Value، ارز

crm.events.list

جریان رویداد CRM (scope crm. read) را بررسی کنید: محدود کنید.

tickets.list

بلیط لیست (صفحات بلیط هایscope. read) Params: صفحه، هر صفحه، مرتب، سفارش، وضعیت، اولویت، بخش_id، اختصاص داده شده_admin_id, client_mail، جستجو.

tickets.get

یک بلیط و پیام های آن (مستقله های تلسکوپ. read) Params: Ticket_id یا Ticket_شماره شامل_messages، پیام ها / محدودیت است.

tickets.reply

یک پاسخ به بلیط (کلید نامه های کپسولی. Write Params: Ticket_id یا Ticket_ Number، Body، Author_type، Author-name داخلی) را ارسال کنید.

tickets.update

به روز رسانی بلیط (scope Ticket. Write) Params: Ticket_id یا Ticket_شماره، وضعیت، اولویت، موضوع، بخش_id، اختصاص داده شده_admin_id.

tickets.open

یک بلیط پشتیبانی (scope Ticket. Write) Params را باز کنید: مشتری_mail، مشتری_name، موضوع، بدن، اولویت.

tickets.bulk

اجرای یک عملیات صف بزرگ (کلید بلیط. Write) Params: عمل، شناسه ها

conversations.list

لیست چت مکالمات زنده (کلید گفتگو) Params: صفحه، هر صفحه، وضعیت، اختصاص داده شده_admin_id، client_mail، جستجو.

conversations.get

یک مکالمه و پیام های آن (کلید گفتگو) پارامز: گفتگو_id یا Thread_key شامل_messages است.

conversations.messages

تاریخچه پیام صفحه (مشارکت های تلسکوپ. read) Params: محاوره_id، صفحه، هر صفحه شامل_internal است.

conversations.send

ارسال یک پیام به مکالمه (کلماتوسکوپی. Write Params: Talk_id، پیام، فرستنده-type داخلی).

conversations.update

اشاره، وضعیت مجدد یا یک مکالمه (کلماتوسکوپی. Write) Params: گفتگو_id، وضعیت، اختصاص داده شده_admin_id و موضوع.

کانکتورها. list/get/ . test

ببینید که کدام کانکتورها نصب شده اند، چه کاری می توانند انجام دهند و آیا مدارک آن ( کانکتورهای تلسکوپ) کار می کنند.

automations.actions.list

اقدامات سازنده شما اجرا خواهد شد (تحریم هایوسکوپی).

automations.triggers.list

چه چیزی آتش می زند و در کدام شرایط (تحریم های آزمایشی).

automations.runs.list

تاریخ اعدام برای اشکال زدایی یک ادغام (تحریم هایوسکوپی. read) Params: وضعیت، Action_key

departments.list

بخش هایی که می توانید بلیط را به (بخش های آزمایشی) هدایت کنید.

notifications.list

اعلان ها برای یک اپراتور (یادداشت های تلسکوپ) Params: admin_id (نیازی به)، بدون خواندن و فقط.

analytics.export

بخش گزارش به عنوان CSV (تجزیه و تحلیل تلسکوپ.read) Params: بخش، preset، از، به بخش های تجزیه و تحلیل تماس.list برای ارزش های معتبر است.

سایت_intelligence. sites. list / . reports. list

سایت های نظارت شده و گزارش های SEO آنها (scope site_intelligence. read)

تجارت.محصولها

کاتالوگ فروشگاه شما، فیلترها (scope Trade. read) را شامل می شود: فعال، دسته بندی، جستجو. .get یک محصول را با انواع آن باز گرداند.

تجارت

سفارش فروشگاه (scope Trade. read) فیلترها: وضعیت، پرداخت_method، کانال، مشتری-mail. Fetch One توسط Fetch one by order_id یا مرجع ORD آن، با موارد خط. اداره پرداخت دروازه زنده هرگز بازگردانده نمی شود.

commerce.refunds.list

درخواست های بازپرداخت و دولت خود (تجارت آزمایشی)

commerce.quotes.create

قیمت یک آیتم برای مشتری (scope Trade. Write) منبع store یا یک اتصال، چیزی ایجاد نمی کند: هیچ سفارش و بدون پرداخت.

بلیط هاcsat.list / .get/.metrics

پاسخ های مشتری-satisfaction به عنوان داده (تأکیدهایوسکوپی. read) فیلتر با رتبه بندی، بلیط، نماینده یا دوره؛ .metrics همان اعدادی که داشبورد نشان می دهد را باز گرداند.

conversations.ratings.list

چت گفتگو بازدید کنندگان خود را با نظر رتبه بندی، آنچه باعث امتیاز و عامل اعتبار (گفت وگوی های تلسکوپ. read) شد.

knowledge.articles.list

صفحه از طریق مقالات مرکز کمک (scope کیلوبایت. read)

knowledge.articles.get

یک مقاله مرکز کمک توسط id (scope کیلوبایت. read Params: Article_id)

webhooks.events.list

هر رویداد که می توانید یک نقطه پایانی وب را با محموله آن در هر برنامه ای به اشتراک بگذارید، بنابراین قبل از خرید می توانید بر روی آن بسازید.

files.get

یک لینک کوتاه مدت برای دانلود برای پیوست (فایل هایscope. read) Params: مرجع، ttl.

security.check

بپرسید که آیا IP یا ایمیل در اینجا مسدود شده یا مشکوک است (امنیت تلسکوپ).IP فایروال، لیست اسپم بلیط و حکم امنیتی پنهان شده AI Params: ip ایمیل

security.report

گزارش سوء استفاده از سیستم شما مشاهده شده است (برنامه ریزی امنیتی) به عنوان یک رویداد امنیتی ثبت شده، که بلافاصله توسط AI امنیت طبقه بندی می شود و مدیران در حکم های پرخطر هشدار داده می شوند: ip ایمیل، مهربان، دلیل، منبع

امنیت. blocklist. add/ . list

مدیریت قوانین هرزنامه که خط لوله تیکت اعمال می‌کند (دایره‌ی security. write / security. read). همانند کنترل «محدود کردن فرستنده» در صفحهٔ تیکت‌ها ذخیره می‌شود. پارامترها: نوع (رسانهٔ الکترونیکی، دامنه، ip)، مقدار، دلیل، expires_hours.

💡
متا. actions همیشه معتبر است، هر اقدام در نصب شما با دامنه ای که هر یک نیاز دارد باز می گردد، بنابراین هرگز مجبور به حدس زدن یا کد سخت این لیست نخواهید شد.

Paging، فیلترینگ و مرتب کردن

هر اقدام لیست از همان پارامترهای استفاده می کند، بنابراین شما یک بار آنها را یاد می گیرید.

صفحه / Per_page

صفحه شروع در 1و اندازه صفحه 50 حداکثر 200 محدودیت و جبران نیز اگر شما آنها را ترجیح می دهید پذیرفته شده است.

سفارش /

زمینه برای مرتب کردن، و asc یا desc (default desc) هر عمل مجموعه ای از رشته های ثابت را می پذیرد؛ هر چیز دیگری به جای خطا نادیده گرفته می شود.

filters

ارسال فیلتر به عنوان یک شی یا عبور از فیلتر به صورت پارامتر سطح بالا. فیلترهای ناشناخته نادیده گرفته می شوند.

آنچه بازگشت

اقلام، صفحه، هر صفحه، شمارش، کل و دارای_بیشتر.برای درخواست صفحات تا زمانی که + بیشتر کاذب است، ادامه دهید.

درخواست لیست های تایپ شده، Paged, Filter, typeed list Request
POST /api/v1.php
Authorization: Bearer opq_your_api_key

{
  "action": "tickets.list",
  "status": "open",
  "priority": "urgent",
  "sort": "created_at",
  "order": "desc",
  "page": 1,
  "per_page": 50
}

خطای

هر شکستی به همان شکل برمی گردد، با یک ساختار پایدار code می توانید روی آن ها بایستید و با انسان سازگار نباشید. error متن، که ممکن است دوباره نوشته شود.

پاسخ خطا
{
  "success": false,
  "code": "missing_scope",
  "error": "API key missing required scope. Needed one of: tickets.read, admin",
  "request_id": "req_8f2c1a9d4b7e"
}
گم شدن_api_key/ نامعتبر_apy_key

هیچ کلید ارسال نشد، یا کلید اشتباه یا منقضی شده است. 401.

missing_scope

کلید معتبر است، اما فاقد دامنه ای است که این عمل نیاز دارد. 403.

Read_only_key/ Action_ Limit

کلید فقط خواندن است، یا این عمل در لیست اجازه آن نیست. 403.

unknown_action

هیچ چنین اقدامی نیست.Call meta.actions for the Current list. HTTP 400.

گم شدن_parameter / نامعتبر_paraمتر

یک پارامتر مورد نیاز غایب است یا ارزش آن پذیرفته نمی شود. 400.

not_found

این رکورد وجود ندارد، یا در فضای کاری نیست که این کلید می تواند ببیند. 404.

plan_feature_locked

برنامه شما شامل ویژگی این عمل نیست.بدن نام دارد feature, اون plan_name در زور و upgrade_urlتجدید نظر کمک نخواهد کرد؛ برنامه باید تغییر کند.402.

license_required

مجوز نصب فعال نیست، بنابراین هیچ عملی تا زمانی که بازسازی شود اجرا نخواهد شد.402.

selling_paused

به طور خاص: فروشگاه فروش را خاموش کرده است، بنابراین هیچ چیز نمی تواند نقل و یا دستور داده شود.400.

rate_limited

محدودیت ساعتی برای این کلید استفاده می شود. HTTP 429.

server_error

چیزی که در طرف ما شکست خورده است، درخواست_id این تلاش را مشخص می کند اگر شما نیاز به گزارش آن دارید. 500.

Retries امن

اگر یک بار بنویسید نمی توانید بگویید که آیا فرود آمد. idempotency_key تکرار همان تماس، نتیجه اصلی را به جای انجام کار دو بار برمی گرداند.

نوشته های Idempotent
{
  "action": "tickets.reply",
  "ticket_id": 4192,
  "body": "Thanks, that is now fixed.",
  "idempotency_key": "your-unique-id-for-this-attempt"
}
چقدر طول می کشد

یک کلید به خاطر دارد 24 ساعت ها در برابر همان عمل و API کلید

آنچه که شما برمی گردید

پاسخ اصلی، به علاوه idempotent_replay: درست است تا بتوانید بگویید که این یک بازی مجدد است.

شکست ها دوباره قابل امتحان باقی می مانند

فقط نوشتن موفق به یاد می آید اگر یک تماس شکست بخورد، ارسال دوباره آن با همان کلید باز می شود که این چیزی است که شما می خواهید.

خوانده شد

خواندن کلید را نادیده می گیرد. تکرار یک خواندن بی ضرر است.

تست بدون تغییر

افزودن dry_run: true برای هر نوشتن، کلید، دامنه ها و پارامترهای شما به طور طبیعی بررسی می شوند، سپس تماس قبل از ایجاد یا تغییر متوقف می شود.

اجرا خشک: تأیید اعتبار و شارژ با خیال راحت
{
  "action": "tickets.update",
  "ticket_id": 4192,
  "status": "closed",
  "dry_run": true
}

{
  "success": true,
  "dry_run": true,
  "would_execute": true,
  "message": "Authorised and validated. No write was performed because dry_run was set."
}
استفاده از خشک_run در حالی که شما در حال ساخت هستید، سریع ترین راه برای تأیید یک کلید دارای دامنه مناسب است و محموله شما به درستی شکل می گیرد بدون ایجاد داده های آزمایشی که باید تمیز کنید.

محدودیت های نرخ

محدودیت های Per-key Limit

محدودیت ساعتی قابل تنظیم در هر ساعت API کلید (default) 1000 درخواست در هر ساعت) آن را به صورت کلیدی در تنظیمات تنظیم کنید.API کلیدها

وقتی که گذشت

HTTP HTTP 429 با نرخ کد محدود، به علاوه یک بار پس از هدر به شما می گوید که چند ثانیه صبر کنید.این محدودیت در بالای ساعت بعد تنظیم شده است.

بدانید که کجا ایستاده اید

هر پاسخ دارای X-RateLimit-Limit، X-Remaining و X-NUify-Reset (یک بارتamp یونیکس) است که قبل از اینکه شما به جای انتظار رد شوید، باقی می ماند و کند.

توضیح دادن 429 از 401

A A A 429 صبر کنید و دوباره امتحان کنید. 401 به این معنی است که کلید خود اشتباه یا منقضی می شود، بنابراین بازآموزی تا زمانی که شما کلید را اصلاح کنید کمک نخواهد کرد.

محافظ ضد نیرو

تکرار تلاش های شکست خورده از یکIPکلید های معتبر هرگز به این سفر نمی کنند.

بهترین تمرین

بازگشت به زمانی که باقی می ماند پایین و افتخار دوباره - پس از یک بعد 429 به جای اینکه فوراً تمرین کنید.

نسخه ها و ثبات

نسخه فعلی

v1 هر پاسخ دارای X-OpsIQ-API دانلود موسیقی متن فیلمVersion and X-OpsIQ-API- آمارها به طوری که شما می توانید آنچه را که با آن صحبت می کنید، تایید کنید.

چگونه هشدار داده می شود

اگر یک نسخه بازنشسته شده باشد، پاسخ ها به دست آوردن مقیاس استاندارد و هدرهای غروب آفتاب و متا. actions گزارش می دهد که از بین رفته و غروب خورشید_at. بررسی کسانی که در نظارت شما هستند و هرگز تعجب نخواهید کرد.

آنچه تغییر نخواهد کرد

نام های عملی موجود، پارامترهای آنها و کدهای خطا آن ها ممکن است اقدامات جدید و زمینه های اختیاری جدید در هر زمان اضافه شوند، بنابراین فیلدهای را نادیده بگیرید که به جای شکست دادن بر روی آنها، تشخیص نمی دهید.

ادغام کامل، شروع به پایان

این کل حلقه است: پیدا کردن کار، خواندن آن، عمل بر روی آن و تایید آنچه شما انجام داده اید.

جریان کار کامل بلیط بر فراز API
# 1. Discover what this install offers and what each action needs.
POST /api/v1.php
{"action":"meta.actions"}

# 2. Find the urgent open tickets.
POST /api/v1.php
Authorization: Bearer opq_your_api_key
{"action":"tickets.list","status":"open","priority":"urgent","per_page":25}

# 3. Read one, including its conversation history.
{"action":"tickets.get","ticket_id":4192}

# 4. Reply, safely enough to retry if the network drops.
{"action":"tickets.reply","ticket_id":4192,
 "body":"We have issued the refund.","idempotency_key":"reply-4192-attempt-1"}

# 5. Close it.
{"action":"tickets.update","ticket_id":4192,"status":"closed"}

# 6. Page through anything larger: keep going until has_more is false.
{"action":"tickets.list","page":2,"per_page":50}
💡
همه چیز در بالا به همان شیوه برای مکالمات کار می کند: گفتگو، گفتگو، مذاکره و گفتگو.به روز کردن از الگوی یکسان، پارامترهای و شکل پاسخ پیروی کنید.

مثال های بیشتر کار

هر یک از این ها یک قطعه کامل و قابل اجرا از ادغام واقعی به جای یک تکه است.

صفحه از طریق هر رکورد، در سه زبان

قانون در همه جا یکسان است: تا زمانی که از صفحه بعدی درخواست کنید، به دنبال آن باشید. has_more دروغ است، هرگز کل را حدس نزنید.

صفحه از طریق هر بلیط باز
import requests

API  = "https://your-opsiq-domain.com/api/v1.php"
HEAD = {"Authorization": "Bearer opq_your_api_key"}

def every(action, **params):
    """Yield every record for a list action, one page at a time."""
    page = 1
    while True:
        r = requests.post(API, headers=HEAD,
                          json={"action": action, "page": page, "per_page": 200, **params},
                          timeout=30)
        r.raise_for_status()
        body = r.json()
        if not body.get("success"):
            raise RuntimeError(f"{body.get('code')}: {body.get('error')}")
        yield from body.get("items", [])
        if not body.get("has_more"):
            return
        page += 1

for ticket in every("tickets.list", status="open"):
    print(ticket["ticket_number"], ticket["subject"])
Node. js از طریق هر سرب
const API = "https://your-opsiq-domain.com/api/v1.php";
const HEAD = { Authorization: "Bearer opq_your_api_key", "Content-Type": "application/json" };

async function* every(action, params = {}) {
  for (let page = 1; ; page++) {
    const res  = await fetch(API, {
      method: "POST",
      headers: HEAD,
      body: JSON.stringify({ action, page, per_page: 200, ...params }),
    });
    const body = await res.json();
    if (!body.success) throw new Error(`${body.code}: ${body.error}`);
    yield* body.items ?? [];
    if (!body.has_more) return;
  }
}

for await (const contact of every("crm.contacts.list", { status: "lead" })) {
  console.log(contact.email);
}
PHP · صفحه از طریق هر بلیط باز
<?php
$api = "https://your-opsiq-domain.com/api/v1.php";

function opsiq(string $action, array $params = []): array {
    global $api;
    $ch = curl_init($api);
    curl_setopt_array($ch, [
        CURLOPT_POST           => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER     => [
            "Authorization: Bearer opq_your_api_key",
            "Content-Type: application/json",
        ],
        CURLOPT_POSTFIELDS => json_encode(["action" => $action] + $params),
        CURLOPT_TIMEOUT    => 30,
    ]);
    $body = json_decode((string)curl_exec($ch), true) ?: [];
    curl_close($ch);
    if (empty($body["success"])) {
        throw new RuntimeException(($body["code"] ?? "error") . ": " . ($body["error"] ?? "unknown"));
    }
    return $body;
}

$page = 1;
do {
    $res = opsiq("tickets.list", ["status" => "open", "page" => $page, "per_page" => 200]);
    foreach ($res["items"] as $t) {
        echo $t["ticket_number"], " ", $t["subject"], PHP_EOL;
    }
    $page++;
} while (!empty($res["has_more"]));

هر شکست را اداره کنیدAPIبازگشت می تواند

شعب codeهرگز در کلام errorاین بسته بندی کل قرارداد در یک تابع است.

پایتون · مشتری که هر کد خطا را به درستی مدیریت می کند
import time, requests

RETRYABLE = {"server_error", "handler_unavailable"}

def call(action, **params):
    for attempt in range(4):
        r = requests.post(API, headers=HEAD, json={"action": action, **params}, timeout=30)
        body = r.json()
        if body.get("success"):
            return body

        code = body.get("code")

        if code == "rate_limited":
            # Honour Retry-After rather than guessing.
            time.sleep(int(r.headers.get("Retry-After", 60)))
            continue

        if code in RETRYABLE:
            time.sleep(2 ** attempt)
            continue

        # Everything below is permanent: retrying cannot fix it.
        if code == "plan_feature_locked":
            raise RuntimeError(f"Plan {body['plan_name']} lacks {body['feature']}: {body['upgrade_url']}")
        if code in ("missing_scope", "read_only_key", "action_restricted"):
            raise RuntimeError(f"This API key cannot do that: {body['error']}")
        if code in ("invalid_api_key", "missing_api_key"):
            raise RuntimeError("The key is wrong or expired; retrying will not help.")
        raise RuntimeError(f"{code}: {body.get('error')} (request_id {body.get('request_id')})")

    raise RuntimeError("Gave up after repeated retries")

پاسخ دادن به نمره رضایت بد در ساعت

نمرات پایین را بخوانید، یک بلیط برای هر کدام باز کنید و هرگز دوبار در همان کار نکنید.

بستن حلقه در مشتریان ناراضی
# 1. Yesterday's detractors.
POST /api/v1.php
{"action":"tickets.csat.list","filters":{"max_rating":2},"days":1,"per_page":100}

# 2. For each one, open a follow-up ticket. The idempotency key is derived
#    from the response id, so re-running the job creates nothing twice.
POST /api/v1.php
{"action":"tickets.open",
 "customer_email":"[email protected]",
 "subject":"Following up on your feedback",
 "body":"We saw your rating and want to put it right.",
 "priority":"high",
 "idempotency_key":"csat-followup-8821"}

# 3. The same shape works for chat: conversations.ratings.list with
#    {"filters":{"max_stars":2},"days":1} returns the comment, what
#    prompted the rating and which agent it is credited to.

یک آیتم را بخوانید و در پاسخ بازرگان عمل کنید

امتناع از آن به شما می گوید که چه چیزی را جمع آوری کنید
POST /api/v1.php
{"action":"commerce.quotes.create","source":"whmcs","item_id":"47","quantity":1}

# The merchant needs more from the customer before it can price this:
{
  "success": false,
  "code": "quote_refused",
  "error": "We need the domain this hosting plan is for.",
  "actionable": true,
  "missing": ["domain"]
}

# Ask the customer for exactly what "missing" names, then quote again.
POST /api/v1.php
{"action":"commerce.quotes.create","source":"whmcs","item_id":"47",
 "fields":{"domain":"example.ng"}}

{
  "success": true,
  "source": "whmcs",
  "quote": {
    "quote_id": "…",
    "totals": { "total": { "amount_minor": 306027, "currency": "NGN" }, "currency": "NGN" },
    "expires_at": "2026-09-05T12:34:56+00:00"
  },
  "ordering": { "creates_order": false, "confirm_via_api": false }
}
⚠️
نشان دادن مشتری totals.total دقیقاً همان طور که برگشت. مقدار همیشه قیمت واحد را افزایش نمی دهد – هتلی که به مدت سه شب یک اتاق را نقل می کند – بنابراین رقمی که خودتان محاسبه می کنید، می تواند با آنچه که بازرگان در واقع مسئول آن است متفاوت باشد.

یک گیرنده وب سایت که برای اجرای در تولید امن است

بررسی، تکرار، پاسخ سریع، سپس انجام کار. تحویل دوباره امتحان، بنابراین همان رویداد می تواند بیش از یک بار وارد شود.

PHP · یک گیرنده وب سایت شبیه به تولید
<?php
// (verification exactly as in the Webhooks section, omitted here for brevity)

$event    = json_decode($raw, true);
$name     = $_SERVER["HTTP_X_OPSIQ_EVENT"] ?? ($event["event"] ?? "");
$delivery = $_SERVER["HTTP_X_OPSIQ_DELIVERY"] ?? "";

// 1. Already seen this delivery? Say OK and stop — do not redo the work.
if ($db->alreadyProcessed($delivery)) {
    http_response_code(200);
    exit(json_encode(["ok" => true, "duplicate" => true]));
}

// 2. Answer FAST. Anything slow belongs on your own queue: OpsIQ treats a
//    timeout as a failure and will retry the whole delivery.
$db->markProcessed($delivery);
$queue->push($name, $event);

http_response_code(200);
echo json_encode(["ok" => true]);

// 3. Your worker then routes on the event name.
//    conversation.rated        -> alert the team on a 1 or 2 star rating
//    ticket.created            -> mirror into your own helpdesk
//    crm.deal.won              -> post to #sales-alerts
//    commerce.payment.confirmed-> release the order in your fulfilment system

برنامه ها و حق

هر عمل متعلق به یک ویژگی محصول است و برنامه شما تصمیم می گیرد که چه ویژگی هایی دارید.اگر طرح شما شامل یک ویژگی نیست، پاسخ های عملی 402 پس از بررسی کلید، یک تماس گیرنده ی بی نظیر چیزی در مورد برنامه شما نمی آموزد و قبل از هر چیز دیگری ایجاد می شود، بنابراین یک متن مسدود شده هرگز نصفه ی آن را ننوشت.

یک اقدام برنامه ریزی شده
{
  "success": false,
  "code": "plan_feature_locked",
  "feature": "commerce",
  "plan_locked": true,
  "plan_name": "Growth",
  "upgrade_url": "https://…",
  "request_id": "req_8f2c1a9d4b7e"
}
چگونه به آن جدا از یک مشکل مجوز بگوییم

A A A403به این معنی که کلید بسیار باریک است - آن را با محدوده مناسب و کار می کند.402به این معنی است که ACCOUNT دارای ویژگی نیست - هیچ کلید نمی تواند آن را باز کند، برنامه باید تغییر کند.

دوباره امتحان نکنید402

این حالت گذرا نیست. Surface upgrade_url هر کس حساب را به جای حمایت و تلاش دوباره داشته باشد.

دامنه ی مدیریتی آن را دور نمی کند

محدوده ها بیان می کنند که نماینده اصلی چه چیزی را به اشتراک گذاشته اند؛ این طرح آنچه را که حساب خریداری کرده است، بیان می کند.یک کلید مدیریت-scope هنوز هم دریافت می کند402برای یک ویژگی، برنامه فاقد آن است.

قبل از کشتی پیدا کنید

. اون feature هر عمل نیاز در دایرکتوری اکشن زیر و در داخل آن منتشر می شود. meta.actionبنابراین شما می توانید زمان را به جای کشف آن در تولید بررسی کنید.

سریع ترین راه برای دیدن اینکه یک کلید دقیقاً کجاست meta.meاین برنامه را در زور گزارش می دهد، هر ویژگی ای که حمل می کند و هر عملی که این کلید نمی تواند با دلیل هر یک از آن ها تماس بگیرد.

متا. me – این کلید چه کاری می تواند انجام دهد
POST /api/v1.php
Authorization: Bearer opq_your_api_key

{"action":"meta.me"}

{
  "success": true,
  "key": { "name": "Reporting", "scopes": ["tickets.read"], "permissions_mode": "read_only" },
  "plan": { "name": "Growth", "features": { "ticket_system": true, "commerce": false } },
  "capabilities": {
    "available_action_count": 812,
    "blocked_actions": {
      "commerce.orders.list": "plan_locked:commerce",
      "tickets.reply":        "read_only"
    }
  }
}
ابتدا متا. me را تماس بگیرید زمانی که یک ادغام بین دو نصب متفاوت رفتار می کند، پاسخ می دهد: "چرا این کلید نمی تواند این کار را انجام دهد" در یک درخواست بدون هر کسی که مدیر را باز کند.

قیمت گذاری

commerce.quotes.create قیمت یک مورد برای یک مشتری، هیچ چیز ایجاد نمی کند – بدون سفارش، هیچ جلسه پرداخت، هیچ سهام نگهداری نشده – بنابراین تماس گرفتن در حالی که مشتری هنوز تصمیم می گیرد امن است.

نقل قول یک آیتم
POST /api/v1.php
Authorization: Bearer opq_your_api_key

# Your own Store
{"action":"commerce.quotes.create","source":"store","item_id":"12","quantity":2}

# A connected merchant platform, priced for a known customer
{"action":"commerce.quotes.create","source":"whmcs","item_id":"47",
 "fields":{"domain":"example.ng"},
 "customer":{"connector_customer_id":"1042"}}
کل برنده های تاجر

برای یک پلتفرم متصل، کل این تاجر از آن طرف می آید و هرگز در اینجا محاسبه نمی شود.تعداد همیشه قیمت واحد را ضرب نمی کند – هتلی که به مدت سه شب یک اتاق را نقل می کند – بنابراین تمام چیزی که داده اید را نشان می دهد نه تنها یک مورد که شما کار کرده اید.

نکاتی که به شما می گویند چه چیزی گم شده است

اگر بازرگان به مشتری بیشتر نیاز دارد، شما دریافت می کنید quote_refused با یک missing فهرست نام گذاری زمینه ها برای جمع آوری و کلمه خود بازرگان برای نشان دادن.

سفارش یک نیست.APIتماس تلفنی

یک نقل قول نشان می دهد که تایید در جایی اتفاق می افتد که مشتری – کارت امضا شده در چت یا پرداخت خود بازرگان – هرگز از طریق اینAPIپاسخ می گوید: ordering.

وقتی فروش متوقف می شود

اگر فروشگاه فروش را خاموش کرده است، پاسخ ها را نقل قول می کند selling_paused به جای قیمت گذاری چیزی که هیچ کس نمی تواند بخرد.

دیگر نقاط پایانی

تقریبا همه چیزهایی که شما نیاز دارید یکی برای پست است. /api/v1.phpاین ها استثنا هستند و هر کدام برای چه چیزی است.

/api/v1/openapi.php · /api/v1/postman.php · /api/docs/

قرارداد ماشین و مرجع انسانی که هیچ کلید لازم نیست، بنابراین شما می توانید قبل از داشتن یک مورد بررسی کنید.

/api/ai_stream.php

رویدادهای سرور برای چت زنده پاسخ می دهد به عنوان آنها تولید شده است. A جریان، نه یک جریان،JSONعمل

/api/writing.php

نقطه پایانی قدیمی AI-Write Endpoint writing.* اقدامات/api/v1.php,این جایی است که کار جدید باید برود.

/api/inbox_copilot.php

پیش نویس، بازنویسی و سه برابر برای یک صندوق ورودی بلیط که در مدیر خود جاسازی شده است.

/api/v1/si/…

اطلاعات سایت به عنوان یک REST کوچکAPI- سایت ها، خزیدن، مسائل، کلمات کلیدی، درآمد – برای خطوط لوله CI که می خواهند بعد از استقرار شروع به خزیدن کنند و نتیجه را بخوانند.

/api/connectors.php?slug=&token=

جایی که یک پلتفرم متصل به شما وب سایت خود را به شما وصل می کند، توکن زمانی که اتصال را فعال می کنید استخراج می شود.

/api/integrations/*.php

موتور ادغام: اجرا و تایید اقدامات، و مصرف فروش، هویت و رویدادهای سفر خود را استفاده می کند.APIسازنده Webhook

💡
این همه قوانین برنامه را به عنوان اقدامات اطاعت می کنند.یک ویژگی که طرح شما شامل پاسخ ها نیست402در این جا نیز، در همان شکل.

هر عمل، با دامنه ای که نیاز دارد

این لیست از کاتالوگ اجرا تولید می شود، بنابراین همیشه با نسخه ای که در آن هستید مطابقت دارد. meta.actions همان اطلاعات را به عنوان JSON.

2420 named actions: 804 reads, 1616 writes and 69 scopes. Every registered administrator JSON operation has a stable named action. OpenAPI: /api/v1/openapi.php. Postman: /api/v1/postman.php. Contract quality: declared_dynamic: 606; explicit: 63; route_inferred: 1633; source_inferred: 118.

administration (25)

administration.2fa.disable

Write. Scope: administration.write, admin. Contract: route_inferred. Admin 2fa Disable

administration.2fa.enable

Write. Scope: administration.write, admin. Contract: route_inferred. Admin 2fa Enable

administration.2fa.recovery.regenerate

Write. Scope: administration.write, admin. Contract: route_inferred. Admin 2fa Recovery Regenerate

administration.2fa.setup

Read. Scope: administration.read, admin. Contract: route_inferred. Admin 2fa Setup

administration.2fa.status

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin 2fa Status

administration.ai.train.from.reply

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Ai Train From Reply

administration.brain.cancel

Write. Scope: administration.write, admin. Contract: declared_dynamic. Admin Brain Cancel

administration.brain.view

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Brain View

administration.chat.access.check

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Chat Access Check

administration.chat.create.ticket.on.behalf

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Chat Create Ticket On Behalf

administration.chat.draft.ticket.from.thread

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Chat Draft Ticket From Thread

administration.conv.delete

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv Delete

administration.conv.get

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv Get

administration.conv.list

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv List

administration.conv.new

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv New

administration.conv.save

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv Save

administration.notification.prefs.get

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin Notification Prefs Get

administration.notification.prefs.save

Write. Scope: administration.write, admin. Contract: declared_dynamic. Admin Notification Prefs Save

administration.notifications.list

Read. Scope: administration.read, admin. Contract: route_inferred. Admin Notifications List

administration.notifications.mark.all.read

Write. Scope: administration.write, admin. Contract: declared_dynamic. Admin Notifications Mark All Read

administration.notifications.mark.read

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Notifications Mark Read

administration.notifications.pulse

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Notifications Pulse

administration.online.list

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin Online List

administration.presence.ping

Write. Scope: administration.write, admin. Contract: declared_dynamic. Admin Presence Ping

administration.realtime.token

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Realtime Token

تحلیل تحلیلی (43)

analytics.add.widget

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Add Widget

analytics.analytics.connectors.catalog

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Analytics Connectors Catalog

analytics.analytics.data

Read. Scope: analytics.read, admin. Contract: route_inferred. Analytics Data

analytics.analytics.export

Read. Scope: analytics.read, admin. Contract: route_inferred. Analytics Export

analytics.analytics.export.csv

Read. Scope: analytics.read, admin. Contract: route_inferred. Analytics Export Csv

analytics.analytics.import

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Import

analytics.analytics.report

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Report

analytics.analytics.segments.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Segments Delete

analytics.analytics.segments.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Analytics Segments List

analytics.analytics.segments.save

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Segments Save

analytics.analytics.status

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Analytics Status

analytics.clear.all

Write. Scope: analytics.write, admin. Contract: declared_dynamic. Replay Clear All

analytics.compute

Read. Scope: analytics.read, admin. Contract: route_inferred. Funnels Compute

analytics.create

Write. Scope: analytics.write, admin. Contract: route_inferred. Ab Test Create

analytics.create.route.dashboard.create

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Create

analytics.create.route.report.create

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Create

analytics.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Ab Test Delete

analytics.delete.route.dashboard.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Delete

analytics.delete.route.funnels.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Funnels Delete

analytics.delete.route.report.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Delete

analytics.events

Read. Scope: analytics.read, admin. Contract: route_inferred. Replay Events

analytics.export

Read. Scope: analytics.read, admin. Contract: source_inferred. Analytics Export

analytics.get

Read. Scope: analytics.read, admin. Contract: route_inferred. Dashboard Get

analytics.layout.save

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Layout Save

analytics.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Ab Test List

analytics.list.route.dashboard.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Dashboard List

analytics.list.route.funnels.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Funnels List

analytics.list.route.report.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Report List

analytics.remove.widget

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Remove Widget

analytics.rename

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Rename

analytics.results

Read. Scope: analytics.read, admin. Contract: route_inferred. Ab Test Results

analytics.save

Write. Scope: analytics.write, admin. Contract: route_inferred. Funnels Save

analytics.save.widgets

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Save Widgets

analytics.scheduled.list

Read. Scope: analytics.read, admin. Contract: explicit. List scheduled analytics reports for an operator Required fields: admin_id.

analytics.sections.list

Read. Scope: analytics.read, admin. Contract: explicit. List analytics report sections and date presets

analytics.send.now

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Send Now

analytics.sessions

Read. Scope: analytics.read, admin. Contract: route_inferred. Replay Sessions

analytics.step.visitors

Read. Scope: analytics.read, admin. Contract: route_inferred. Funnels Step Visitors

analytics.timeline

Read. Scope: analytics.read, admin. Contract: route_inferred. Replay Timeline

analytics.toggle.shared

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Toggle Shared

analytics.update

Write. Scope: analytics.write, admin. Contract: route_inferred. Ab Test Update

analytics.update.route.report.update

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Update

analytics.widget.data

Read. Scope: analytics.read, admin. Contract: route_inferred. Dashboard Widget Data

automations (6)

automations.actions.list

Read. Scope: automations.read, admin. Contract: explicit. List integration actions

automations.delete

Write. Scope: automations.write, admin. Contract: route_inferred. Workflow Delete

automations.list

Read. Scope: automations.read, admin. Contract: route_inferred. Workflow List

automations.runs.list

Read. Scope: automations.read, admin. Contract: explicit. List automation execution history

automations.save

Write. Scope: automations.write, admin. Contract: route_inferred. Workflow Save

automations.triggers.list

Read. Scope: automations.read, admin. Contract: explicit. List integration triggers

گفتگو (40)

chat.call.start

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Call Start

chat.cobrowse.send

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Cobrowse Send

chat.feedback

Read. Scope: chat.read, admin. Contract: route_inferred. Chat Feedback

chat.feedback.digest

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Feedback Digest

chat.form.delete

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Form Delete

chat.form.get

Read. Scope: chat.read, admin. Contract: route_inferred. Chat Form Get

chat.form.list

Read. Scope: chat.read, admin. Contract: declared_dynamic. Chat Form List

chat.form.save

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Form Save

chat.form.set.default

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Form Set Default

chat.meeting.decide

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Meeting Decide

chat.meeting.outcome.set

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Meeting Outcome Set

chat.meeting.type.delete

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Meeting Type Delete

chat.meeting.type.save

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Meeting Type Save

chat.meeting.types.list

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Meeting Types List

chat.meetings.list

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Meetings List

chat.online.admins

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Online Admins

chat.permissions.list

Write. Scope: admin. Contract: route_inferred. Chat Permissions List

chat.permissions.revoke

Write. Scope: admin. Contract: route_inferred. Chat Permissions Revoke

chat.permissions.save

Write. Scope: admin. Contract: route_inferred. Chat Permissions Save

chat.permissions.upload.avatar

Write. Scope: admin. Contract: route_inferred. Chat Permissions Upload Avatar

chat.reaction.toggle

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Reaction Toggle

chat.saved_replies.add

Write. Scope: chat.write, admin. Contract: source_inferred. Chat Saved Replies Add Retry-safe with idempotency_key.

chat.saved_replies.list

Read. Scope: chat.read, admin. Contract: explicit. List workspace and personal saved replies

chat.saved_replies.save

Write. Scope: chat.write, admin. Contract: source_inferred. Chat Saved Replies Save Retry-safe with idempotency_key.

chat.set.persona

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Set Persona

chat.snooze.clear

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Snooze Clear

chat.snooze.set

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Snooze Set

chat.transfer.thread

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Transfer Thread

chat.transfer.unread

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Transfer Unread

chat.typing.preview

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Typing Preview

chat.whisper.ai.summary

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Ai Summary

chat.whisper.controls

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Controls

chat.whisper.delete.room

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Delete Room

chat.whisper.list

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper List

chat.whisper.mentions

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Mentions

chat.whisper.rooms

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Rooms

chat.whisper.save.controls

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Save Controls

chat.whisper.send

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Send

chat.whisper.targets

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Targets

chat.whisper.unread

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Unread

تجارت تجاری (11)

commerce.analytics.snapshot

Read. Scope: commerce.read, analytics.read, admin. Contract: explicit. Read privacy-safe storefront analytics

commerce.orders.get

Read. Scope: commerce.read, admin. Contract: explicit. Get one Store order with its line items

commerce.orders.list

Read. Scope: commerce.read, admin. Contract: explicit. List Store orders in the bound workspace

commerce.pages.list

Read. Scope: commerce.read, admin. Contract: explicit. List storefront pages and promotional modals

commerce.products.get

Read. Scope: commerce.read, admin. Contract: explicit. Get one Store product with its variants Required fields: product_id.

commerce.products.list

Read. Scope: commerce.read, admin. Contract: explicit. List Store products in the bound workspace

commerce.quotes.create

Write. Scope: commerce.write, admin. Contract: explicit. Quote an item for a customer (creates nothing) Required fields: source, item_id. Retry-safe with idempotency_key.

commerce.readiness.get

Read. Scope: commerce.read, admin. Contract: explicit. Check demo readiness and merchant go-live readiness

commerce.refunds.list

Read. Scope: commerce.read, admin. Contract: explicit. List Store refund requests in the bound workspace

commerce.storefront.catalog.get

Read. Scope: commerce.read, admin. Contract: explicit. Discover Store themes, designs, blocks and promotional shells

commerce.storefront.get

Read. Scope: commerce.read, admin. Contract: explicit. Get the bound workspace storefront configuration

communications (21)

communications.auth.check

Read. Scope: admin. Contract: route_inferred. Email Auth Check

communications.campaign.delete

Write. Scope: communications.write, admin. Contract: route_inferred. Push Campaign Delete

communications.campaign.save

Write. Scope: communications.write, admin. Contract: route_inferred. Push Campaign Save

communications.campaign.send

Write. Scope: communications.write, admin. Contract: route_inferred. Push Campaign Send

communications.campaigns.list

Read. Scope: communications.read, admin. Contract: declared_dynamic. Push Campaigns List

communications.drafts.delete

Write. Scope: communications.write, admin. Contract: route_inferred. Email Drafts Delete

communications.drafts.list

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Drafts List

communications.drafts.save

Write. Scope: communications.write, admin. Contract: route_inferred. Email Drafts Save

communications.drafts.send

Write. Scope: communications.write, admin. Contract: route_inferred. Email Drafts Send

communications.mailboxes.delete

Write. Scope: communications.write, admin. Contract: route_inferred. Email Mailboxes Delete

communications.mailboxes.list

Read. Scope: communications.read, admin. Contract: route_inferred. Email Mailboxes List

communications.mailboxes.poll

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Mailboxes Poll

communications.mailboxes.save

Write. Scope: communications.write, admin. Contract: route_inferred. Email Mailboxes Save

communications.mailboxes.test

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Mailboxes Test

communications.pipe.regen.token

Write. Scope: communications.write, admin. Contract: declared_dynamic. Email Pipe Regen Token

communications.platform.list

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Platform List

communications.platform.send

Write. Scope: communications.write, admin. Contract: route_inferred. Email Platform Send

communications.settings.get

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Settings Get

communications.settings.save

Write. Scope: communications.write, admin. Contract: route_inferred. Email Settings Save

communications.settings.test

Read. Scope: communications.read, admin. Contract: route_inferred. Email Settings Test

communications.vapid.generate

Write. Scope: communications.write, admin. Contract: declared_dynamic. Push Vapid Generate

connector_builder (11)

connector_builder.export

Read. Scope: connector_builder.read, admin. Contract: explicit. Export a generated connector Required fields: slug.

connector_builder.generate

Write. Scope: connector_builder.write, admin. Contract: route_inferred. Generate a connector package Required fields: spec.

connector_builder.get

Read. Scope: connector_builder.read, admin. Contract: route_inferred. Load a Builder specification Required fields: slug.

connector_builder.import.curl

Write. Scope: connector_builder.write, admin. Contract: route_inferred. Import cURL into Connector Builder

connector_builder.import.openapi

Write. Scope: connector_builder.write, admin. Contract: route_inferred. Import OpenAPI into Connector Builder

connector_builder.import.postman

Write. Scope: connector_builder.write, admin. Contract: route_inferred. Import Postman into Connector Builder

connector_builder.list

Read. Scope: connector_builder.read, admin. Contract: declared_dynamic. List Builder connectors

connector_builder.profiles

Read. Scope: connector_builder.read, connectors.read, admin. Contract: source_inferred. List Connector Builder profiles and capability contracts

connector_builder.test

Write. Scope: connector_builder.write, admin. Contract: route_inferred. Run Builder conformance tests Required fields: slug.

connector_builder.update

Write. Scope: connector_builder.write, admin. Contract: route_inferred. Update a generated connector Required fields: slug, spec.

connector_builder.validate

Read. Scope: connector_builder.read, admin. Contract: route_inferred. Validate a Builder specification Required fields: spec.

connectors (51)

connectors.action

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Action

connectors.backfill

Write. Scope: connectors.write, admin. Contract: route_inferred. Start connector backfill Required fields: slug.

connectors.backfill.route.connectors.backfill

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Backfill

connectors.backfill.status

Read. Scope: connectors.read, admin. Contract: route_inferred. Read connector backfill status Required fields: slug.

connectors.backfill.status.route.connectors.backfill.status

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Backfill Status

connectors.builder.ai.actions

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Ai Actions

connectors.builder.ai.draft

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Ai Draft

connectors.builder.ai.handler

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Ai Handler

connectors.builder.ai.map

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Ai Map

connectors.builder.delete

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Delete

connectors.builder.dry.run

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Dry Run

connectors.builder.generate

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Generate

connectors.builder.import.curl

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Import Curl

connectors.builder.import.openapi

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Import Openapi

connectors.builder.import.postman

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Import Postman

connectors.builder.list

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connectors Builder List

connectors.builder.load

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Load

connectors.builder.marketplace.apply

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Marketplace Apply

connectors.builder.marketplace.link

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Marketplace Link

connectors.builder.marketplace.status

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connectors Builder Marketplace Status

connectors.builder.marketplace.submit

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Marketplace Submit

connectors.builder.schema

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connectors Builder Schema

connectors.builder.test

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Test

connectors.builder.test.action

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Test Action

connectors.builder.update

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Update

connectors.builder.validate

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Validate

connectors.contacts.import

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Contacts Import

connectors.contract

Read. Scope: connectors.read, connector_builder.read, admin. Contract: source_inferred. Read the canonical connector capability contract

connectors.customers.sync

Write. Scope: connectors.write, admin. Contract: route_inferred. Synchronize connector customers Required fields: slug.

connectors.disable

Write. Scope: connectors.write, admin. Contract: route_inferred. Disable a connector Required fields: slug.

connectors.disable.route.connectors.disable

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Disable

connectors.email.account.department

Read. Scope: connectors.read, admin. Contract: route_inferred. Connector Email Account Department

connectors.email.account.remove

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Email Account Remove

connectors.email.account.routing

Read. Scope: connectors.read, admin. Contract: route_inferred. Connector Email Account Routing

connectors.enable

Write. Scope: connectors.write, admin. Contract: route_inferred. Enable a connector Required fields: slug.

connectors.enable.route.connectors.enable

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Enable

connectors.get

Read. Scope: connectors.read, admin. Contract: source_inferred. Connectors Get

connectors.get.route.connectors.get

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Get

connectors.install

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Install

connectors.integrity.scan

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connector Integrity Scan

connectors.list

Read. Scope: connectors.read, admin. Contract: explicit. List installed connectors and capabilities

connectors.list.route.connectors.list

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connectors List

connectors.oauth.start

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Oauth Start

connectors.settings.get

Read. Scope: connectors.read, admin. Contract: route_inferred. Read connector settings Required fields: slug.

connectors.settings.save

Write. Scope: connectors.write, admin. Contract: route_inferred. Save connector settings Required fields: slug, settings.

connectors.shared.oauth.delete

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Shared Oauth Delete

connectors.sync.customers

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Sync Customers

connectors.test

Read. Scope: connectors.read, admin. Contract: source_inferred. Connectors Test

connectors.test.route.connectors.test

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Test

connectors.uninstall

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Uninstall

connectors.workflow.recipes

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Workflow Recipes

conversations (38)

conversations.ai.draft

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Ai Draft

conversations.ai.rewrite

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Ai Rewrite

conversations.archive

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Archive

conversations.assign

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Assign

conversations.assignees

Write. Scope: conversations.write, admin. Contract: declared_dynamic. Admin Client Chat Assignees

conversations.bulk

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Bulk

conversations.clear

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Clear

conversations.clear.all

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Clear All

conversations.customer.tickets

Write. Scope: conversations.write, admin. Contract: declared_dynamic. Admin Client Chat Customer Tickets

conversations.decline

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Decline

conversations.delete

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Delete

conversations.delete.last

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Delete Last

conversations.edit.last

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Edit Last

conversations.export

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Export

conversations.forget.visitor

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Forget Visitor

conversations.get

Read. Scope: conversations.read, admin. Contract: source_inferred. Conversations Get

conversations.history

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat History

conversations.list

Read. Scope: conversations.read, admin. Contract: source_inferred. Conversations List

conversations.messages

Read. Scope: conversations.read, admin. Contract: source_inferred. Conversations Messages

conversations.ratings.list

Read. Scope: conversations.read, admin. Contract: explicit. List rated Client Chat conversations

conversations.resolve

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Resolve

conversations.saved.replies

Write. Scope: conversations.write, admin. Contract: declared_dynamic. Admin Client Chat Saved Replies

conversations.saved.reply.add

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Add

conversations.saved.reply.ai.generate

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Ai Generate

conversations.saved.reply.delete

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Delete

conversations.saved.reply.save

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Save

conversations.send

Write. Scope: conversations.write, admin. Contract: source_inferred. Conversations Send Retry-safe with idempotency_key.

conversations.send.route.admin.client.chat.send

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Send

conversations.tags.set

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Tags Set

conversations.thread

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Thread

conversations.threads

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Threads

conversations.toggle

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Toggle

conversations.toggle.attachments

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Toggle Attachments

conversations.toggle.call.button

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Toggle Call Button

conversations.typing

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Typing

conversations.unarchive

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Unarchive

conversations.update

Write. Scope: conversations.write, admin. Contract: explicit. Update a conversation status, assignment or subject Retry-safe with idempotency_key.

conversations.upload

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Upload

crm (260)

crm.ab.results

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Ab Results

crm.access.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Access Set

crm.access_log.list

Read. Scope: admin. Contract: source_inferred. Crm Access Log List

crm.account.health

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Account Health

crm.account.health.board

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Account Health Board

crm.account.health.refresh

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Account Health Refresh

crm.account.plan.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Account Plan Get

crm.account.plan.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Account Plan Save

crm.account.plans.due

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Account Plans Due

crm.account.timeline

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Account Timeline

crm.activities.list

Read. Scope: crm.read. Contract: explicit. List CRM contact activities

crm.activities.record

Write. Scope: crm.write. Contract: explicit. Record a CRM contact activity Required fields: contact_id, activity_type. Retry-safe with idempotency_key.

crm.activity.feed

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Activity Feed

crm.agent.toggle

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Agent Toggle

crm.ai.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ai Policy Get

crm.ai.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ai Policy Save

crm.ai.policy.simulate

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ai Policy Simulate

crm.ai.trace

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Ai Trace

crm.approval.decide

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Decide

crm.approval.delegate.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Delegate Set

crm.approval.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Approval List

crm.approval.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Policy Get

crm.approval.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Policy Save

crm.approval.settings

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Settings

crm.approve.apply

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Approve Apply

crm.approve.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Approve List

crm.approve.reject

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Approve Reject

crm.approve.update

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Approve Update

crm.ask

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ask

crm.assign.owner

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Assign Owner

crm.assignment.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Assignment Get

crm.assignment.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Assignment Save

crm.attachment.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Attachment Delete

crm.attachment.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Attachment List

crm.attachment.upload

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Attachment Upload

crm.autobook.meeting

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Autobook Meeting

crm.autodeal.mode

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Autodeal Mode

crm.book.meeting

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Book Meeting

crm.booking.link.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Booking Link Save

crm.booking.links.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Booking Links List

crm.build.apply

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Build Apply

crm.build.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Build Get

crm.build.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Build List

crm.build.plan

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Build Plan

crm.build.rollback

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Build Rollback

crm.bulk

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Bulk

crm.bundle.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Bundle Set

crm.calendar.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Calendar Status

crm.capture.status

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Capture Status

crm.comm.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Comm Policy Get

crm.comm.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Comm Policy Save

crm.command.snapshot

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Command Snapshot

crm.companies.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Companies List

crm.company.hierarchy

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Company Hierarchy

crm.company.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Company Save

crm.company.set.parent

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Company Set Parent

crm.company.suggest.related

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Company Suggest Related

crm.connectors.catalog

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Connectors Catalog

crm.consent_log.list

Read. Scope: crm.read. Contract: source_inferred. Crm Consent Log List

crm.contact.churn

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Contact Churn

crm.contact.draft.email

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contact Draft Email

crm.contact.enrich

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contact Enrich

crm.contact.propose.email

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contact Propose Email

crm.contacts.detail

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Detail

crm.contacts.erase

Write. Scope: admin. Contract: source_inferred. Crm Contacts Erase Retry-safe with idempotency_key.

crm.contacts.export

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Export

crm.contacts.import.list

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Import List

crm.contacts.import.run

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Import Run Retry-safe with idempotency_key.

crm.contacts.list

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts List

crm.contacts.next_action

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Next Action

crm.contacts.open_chat

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Open Chat Retry-safe with idempotency_key.

crm.contacts.open_ticket

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Open Ticket Retry-safe with idempotency_key.

crm.contacts.resync

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Resync Retry-safe with idempotency_key.

crm.contacts.save

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Save Retry-safe with idempotency_key.

crm.contacts.send_email

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Send Email Retry-safe with idempotency_key.

crm.contacts.upsert

Write. Scope: crm.write. Contract: explicit. Crm Contacts Upsert Required fields: email. Retry-safe with idempotency_key.

crm.contract.amend

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Amend

crm.contract.price.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Price Set

crm.contract.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Save

crm.contract.usage

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Usage

crm.contracts.list

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contracts List

crm.conversation.intel

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Conversation Intel

crm.conversions.goals.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Conversions Goals Delete Retry-safe with idempotency_key.

crm.conversions.goals.list

Read. Scope: crm.read. Contract: source_inferred. Crm Conversions Goals List

crm.conversions.goals.save

Write. Scope: crm.write. Contract: source_inferred. Crm Conversions Goals Save Retry-safe with idempotency_key.

crm.conversions.list

Read. Scope: crm.read. Contract: source_inferred. Crm Conversions List

crm.conversions.record

Write. Scope: crm.write. Contract: source_inferred. Crm Conversions Record Retry-safe with idempotency_key.

crm.create.video.meeting

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Create Video Meeting

crm.customer.auto.sync

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Customer Auto Sync

crm.customer.auto.sync.status

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Customer Auto Sync Status

crm.customer.emails

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Customer Emails

crm.customer.payments

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Customer Payments

crm.data.steward.bulk.propose

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Data Steward Bulk Propose

crm.data.steward.inbox

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Data Steward Inbox

crm.data.steward.propose

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Data Steward Propose

crm.deal.advance

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Deal Advance

crm.deal.coach

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Deal Coach

crm.deal.coach.action

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Deal Coach Action

crm.deal.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Deal Get

crm.deal.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Deal Save

crm.deal.splits.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Deal Splits Get

crm.deal.splits.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Deal Splits Set

crm.deals.advance

Write. Scope: crm.write. Contract: explicit. Advance a CRM deal to another stage Required fields: deal_id, stage_id. Retry-safe with idempotency_key.

crm.deals.create

Write. Scope: crm.write. Contract: explicit. Create a CRM deal Required fields: title. Retry-safe with idempotency_key.

crm.deals.detail

Read. Scope: crm.read. Contract: explicit. Get one CRM deal Required fields: deal_id.

crm.deals.list

Read. Scope: crm.read. Contract: explicit. List CRM deals

crm.deals.list.route.crm.deals.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Deals List

crm.deals.update

Write. Scope: crm.write. Contract: explicit. Update a CRM deal Required fields: deal_id. Retry-safe with idempotency_key.

crm.detail

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Detail

crm.draft.outreach

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Draft Outreach

crm.enrich.account

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Enrich Account

crm.erase

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Erase

crm.events.catalog

Read. Scope: crm.read. Contract: explicit. List subscribable CRM domain events

crm.events.list

Read. Scope: crm.read. Contract: explicit. List durable CRM domain events

crm.export

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Export

crm.export.all

Read. Scope: crm.read, admin. Contract: route_inferred. Contact Export All

crm.field.add

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Add

crm.field.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Policy Get

crm.field.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Policy Save

crm.field.remove

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Remove

crm.fields.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Fields List

crm.forecast.board

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Forecast Board

crm.forecast.snapshot

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Forecast Snapshot

crm.form.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Form Save

crm.forms.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Forms List

crm.health.repair.catalog

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Health Repair Catalog

crm.health.smoke

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Health Smoke

crm.health.snapshot

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Health Snapshot

crm.home.persona.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Home Persona Set

crm.identity.rules.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Identity Rules Get

crm.identity.rules.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Identity Rules Save

crm.import.list

Read. Scope: crm.read, admin. Contract: route_inferred. Contact Import List

crm.import.run

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Import Run

crm.inbound.activity

Read. Scope: crm.read. Contract: source_inferred. Crm Inbound Activity

crm.inbound.endpoints.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Inbound Endpoints Delete Retry-safe with idempotency_key.

crm.inbound.endpoints.list

Read. Scope: crm.read. Contract: source_inferred. Crm Inbound Endpoints List

crm.inbound.endpoints.save

Write. Scope: crm.write. Contract: source_inferred. Crm Inbound Endpoints Save Retry-safe with idempotency_key.

crm.inbound.endpoints.test

Write. Scope: crm.write. Contract: source_inferred. Crm Inbound Endpoints Test Retry-safe with idempotency_key.

crm.leaderboard

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Leaderboard

crm.lifecycle.evaluate

Write. Scope: crm.write. Contract: source_inferred. Crm Lifecycle Evaluate Retry-safe with idempotency_key.

crm.lifecycle.rules.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Lifecycle Rules Delete Retry-safe with idempotency_key.

crm.lifecycle.rules.list

Read. Scope: crm.read. Contract: source_inferred. Crm Lifecycle Rules List

crm.lifecycle.rules.save

Write. Scope: crm.write. Contract: source_inferred. Crm Lifecycle Rules Save Retry-safe with idempotency_key.

crm.list

Read. Scope: crm.read, admin. Contract: route_inferred. Contacts List

crm.mailbox.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Mailbox Status

crm.meeting.book

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Book

crm.meeting.cancel

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Cancel

crm.meeting.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Meeting List

crm.meeting.reschedule.accept

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Reschedule Accept

crm.meeting.reschedule.reject

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Reschedule Reject

crm.merge

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Merge

crm.message.send

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Message Send

crm.messaging.provider.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Messaging Provider Delete

crm.messaging.provider.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Messaging Provider Save

crm.messaging.provider.test

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Messaging Provider Test

crm.messaging.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Messaging Status

crm.next.action

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Next Action

crm.object.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Object Save

crm.objects.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Objects List

crm.offline.pull

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Offline Pull

crm.offline.push

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Offline Push

crm.open.chat

Read. Scope: crm.read, admin. Contract: route_inferred. Contact Open Chat

crm.open.ticket

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Open Ticket

crm.outreach.campaigns.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Campaigns Delete Retry-safe with idempotency_key.

crm.outreach.campaigns.list

Read. Scope: crm.read. Contract: source_inferred. Crm Outreach Campaigns List

crm.outreach.campaigns.save

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Campaigns Save Retry-safe with idempotency_key.

crm.outreach.campaigns.send

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Campaigns Send Retry-safe with idempotency_key.

crm.outreach.send

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Send Retry-safe with idempotency_key.

crm.outreach.templates.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Templates Delete Retry-safe with idempotency_key.

crm.outreach.templates.list

Read. Scope: crm.read. Contract: source_inferred. Crm Outreach Templates List

crm.outreach.templates.preview

Read. Scope: crm.read. Contract: source_inferred. Crm Outreach Templates Preview

crm.outreach.templates.save

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Templates Save Retry-safe with idempotency_key.

crm.payments.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Payments Status

crm.pipeline.data

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Pipeline Data

crm.price.resolve

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Price Resolve

crm.pricebook.entry.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Pricebook Entry Set

crm.pricebook.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Pricebook Save

crm.pricebooks.list

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Pricebooks List

crm.privacy_settings.get

Read. Scope: crm.read. Contract: source_inferred. Crm Privacy Settings Get

crm.privacy_settings.save

Write. Scope: admin. Contract: source_inferred. Crm Privacy Settings Save Retry-safe with idempotency_key.

crm.product.archive

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Product Archive

crm.product.revenue

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Product Revenue

crm.product.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Product Save

crm.products.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Products List

crm.propose.meeting

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Propose Meeting

crm.propose.outreach

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Propose Outreach

crm.prospecting.dashboard

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Prospecting Dashboard

crm.prospecting.icp.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Prospecting Icp Save

crm.prospecting.import

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Prospecting Import

crm.prospecting.research

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Prospecting Research

crm.prospecting.score

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Prospecting Score

crm.prospecting.sequence

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Prospecting Sequence

crm.qualification.checklist.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Qualification Checklist Get

crm.qualification.checklist.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Qualification Checklist Save

crm.quota.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Quota Save

crm.quote.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Quote Get

crm.quote.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Quote Save

crm.quotes.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Quotes List

crm.record.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Delete

crm.record.fields.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Record Fields Get

crm.record.fields.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Fields Save

crm.record.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Record Get

crm.record.history

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Record History

crm.record.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Save

crm.record.share.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Share Set

crm.record.share.unset

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Share Unset

crm.record.shares

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Shares

crm.records.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Records List

crm.restore.email.consent

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Restore Email Consent

crm.resync.from.platform

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Resync From Platform

crm.retention.catalog

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Retention Catalog

crm.revert

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Revert

crm.runtime.policy.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Runtime Policy Get

crm.runtime.policy.remote.wipe

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Runtime Policy Remote Wipe

crm.runtime.policy.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Runtime Policy Save

crm.save

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Save

crm.scoring.rule.ai

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Scoring Rule Ai

crm.scoring.rule.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Scoring Rule Delete

crm.scoring.rule.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Scoring Rule List

crm.scoring.rule.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Scoring Rule Save

crm.segments.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Delete Retry-safe with idempotency_key.

crm.segments.list

Read. Scope: crm.read. Contract: source_inferred. Crm Segments List

crm.segments.members

Read. Scope: crm.read. Contract: source_inferred. Crm Segments Members

crm.segments.preview

Read. Scope: crm.read. Contract: source_inferred. Crm Segments Preview

crm.segments.save

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Save Retry-safe with idempotency_key.

crm.segments.suggestions.accept

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Suggestions Accept Retry-safe with idempotency_key.

crm.segments.suggestions.dismiss

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Suggestions Dismiss Retry-safe with idempotency_key.

crm.segments.suggestions.list

Read. Scope: crm.read. Contract: source_inferred. Crm Segments Suggestions List

crm.semantic.search

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Semantic Search

crm.send.email

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Send Email

crm.send.email.route.crm.send.email

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Send Email

crm.send.for.signature

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Send For Signature

crm.send.payment.link

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Send Payment Link

crm.sequence.action

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Sequence Action

crm.sequence.runs

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Sequence Runs

crm.setup.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Setup Status

crm.sharing.rules.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Sharing Rules Get

crm.sharing.rules.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Sharing Rules Save

crm.subject.registry

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Subject Registry

crm.subscriptions.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Subscriptions List

crm.subscriptions.rollup

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Subscriptions Rollup

crm.subscriptions.sync

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Subscriptions Sync

crm.task.create

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Task Create

crm.tasks.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Tasks List

crm.team.parent.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Team Parent Set

crm.team.rules.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Team Rules Set

crm.team.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Team Save

crm.teams.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Teams List

crm.territory.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Territory Set

crm.video.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Video Status

crm.views.delete

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Views Delete

crm.views.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Views List

crm.views.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Views Save

crm.webhooks.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Webhooks Delete Retry-safe with idempotency_key.

crm.webhooks.list

Read. Scope: crm.read. Contract: explicit. List CRM outbound webhook endpoints and recent deliveries

crm.webhooks.save

Write. Scope: crm.write. Contract: source_inferred. Crm Webhooks Save Retry-safe with idempotency_key.

crm.webhooks.test

Write. Scope: crm.write. Contract: source_inferred. Crm Webhooks Test Retry-safe with idempotency_key.

crm.workflows.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Workflows Delete Retry-safe with idempotency_key.

crm.workflows.list

Read. Scope: crm.read. Contract: source_inferred. Crm Workflows List

crm.workflows.save

Write. Scope: crm.write. Contract: source_inferred. Crm Workflows Save Retry-safe with idempotency_key.

مشتریان (44)

customers.analyze

Write. Scope: customers.write, journey.write, admin. Contract: route_inferred. Analyze a customer journey with AI Required fields: client_id.

customers.behaviour

Read. Scope: admin. Contract: route_inferred. Cdp Behaviour

customers.behaviour.analyze

Write. Scope: admin. Contract: route_inferred. Cdp Behaviour Analyze

customers.chat.embed.backfill

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Embed Backfill

customers.chat.embed.status

Read. Scope: customers.read, admin. Contract: declared_dynamic. Client Chat Embed Status

customers.chat.faq.ai.generate

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Ai Generate

customers.chat.faq.approve.all

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Approve All

customers.chat.faq.delete

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Delete

customers.chat.faq.delete.all

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Faq Delete All

customers.chat.faq.export

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Faq Export

customers.chat.faq.generate

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Generate

customers.chat.faq.import

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Import

customers.chat.faq.list

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq List

customers.chat.faq.save

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Save

customers.chat.faq.set.help

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Set Help

customers.chat.faq.set.help.all

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Set Help All

customers.chat.faq.status

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Status

customers.chat.grant.upload

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Grant Upload

customers.chat.help.set.slug

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Help Set Slug

customers.chat.knowledge.crawl.step

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Crawl Step

customers.chat.knowledge.delete

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Delete

customers.chat.knowledge.delete.all

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Delete All

customers.chat.knowledge.delete.duplicates

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Delete Duplicates

customers.chat.knowledge.duplicates

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Duplicates

customers.chat.knowledge.export.json

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Export Json

customers.chat.knowledge.import.json

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Import Json

customers.chat.knowledge.preview

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Preview

customers.chat.knowledge.recrawl

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Recrawl

customers.chat.knowledge.test.url

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Test Url

customers.chat.revoke.upload

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Revoke Upload

customers.chat.upload.agent.avatar

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Upload Agent Avatar

customers.chat.upload.ai.avatar

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Upload Ai Avatar

customers.chat.upload.icon

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Upload Icon

customers.client.analyze

Write. Scope: admin. Contract: route_inferred. Cdp Client Analyze

customers.client.delete

Write. Scope: admin. Contract: route_inferred. Cdp Client Delete

customers.client.export

Write. Scope: admin. Contract: route_inferred. Cdp Client Export

customers.client.journey

Read. Scope: admin. Contract: route_inferred. Cdp Client Journey

customers.client.prepare.outreach

Write. Scope: customers.write, admin. Contract: route_inferred. Cdp Client Prepare Outreach

customers.clients.list

Read. Scope: admin. Contract: route_inferred. Cdp Clients List

customers.detail

Read. Scope: customers.read, admin. Contract: route_inferred. Client Detail

customers.get

Read. Scope: customers.read, crm.read, admin. Contract: route_inferred. Get a customer profile Required fields: client_id.

customers.journey

Read. Scope: customers.read, journey.read, admin. Contract: route_inferred. Get a complete customer journey Required fields: client_id.

customers.list

Read. Scope: customers.read, crm.read, admin. Contract: route_inferred. List known customers

customers.outreach.prepare

Write. Scope: customers.write, crm.write, admin. Contract: route_inferred. Prepare CRM outreach for a customer Required fields: client_id.

departments (1)

departments.list

Read. Scope: departments.read, admin. Contract: source_inferred. Departments List

ایمیل (2)

email.template.send

Write. Scope: email.write, admin. Contract: source_inferred. Send one governed workspace email template Required fields: template, to. Retry-safe with idempotency_key.

email.templates.list

Read. Scope: email.read, admin. Contract: source_inferred. List email templates available to this workspace

engagement (163)

engagement.ab.autowinner

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ab Autowinner

engagement.ab.bandit

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ab Bandit

engagement.address.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Address Get

engagement.address.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Address Save

engagement.ai.agent

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Agent

engagement.ai.analyze

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Analyze

engagement.ai.compile.profile

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Compile Profile

engagement.ai.copy

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Copy

engagement.ai.critique

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Critique

engagement.ai.decide

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Decide

engagement.ai.design

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Design

engagement.ai.edit

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Edit

engagement.ai.generate

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Generate

engagement.ai.ideas

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Ideas

engagement.ai.image

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Image

engagement.ai.image.edit

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Image Edit

engagement.ai.localize

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Localize

engagement.ai.logo

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Logo

engagement.ai.media.jobs

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Media Jobs

engagement.ai.narrative

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Narrative

engagement.ai.responsive

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Responsive

engagement.ai.variants

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Variants

engagement.ai.video.start

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Video Start

engagement.ai.video.status

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Video Status

engagement.approval.decide

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Approval Decide

engagement.approval.request

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Approval Request

engagement.approvals.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Approvals List

engagement.asset.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Asset Delete

engagement.asset.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Asset Upload

engagement.assets.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Assets List

engagement.audience.materialize

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Audience Materialize

engagement.audience.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Audience Save

engagement.audience.test

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Audience Test

engagement.audit.export

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Audit Export

engagement.autoresponder.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Autoresponder Get

engagement.autoresponder.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Autoresponder Save

engagement.bank.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Bank Delete

engagement.bank.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Bank List

engagement.bank.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Bank Save

engagement.bank.used

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Bank Used

engagement.blackouts.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Blackouts Get

engagement.blackouts.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Blackouts Save

engagement.brand.kit.bootstrap

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Brand Kit Bootstrap

engagement.brand.kit.font.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Brand Kit Font Upload

engagement.brand.kit.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Brand Kit Get

engagement.brand.kit.get.route.survey.brand.kit.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Brand Kit Get

engagement.brand.kit.save

Write. Scope: engagement.write, admin. Contract: declared_dynamic. Promo Brand Kit Save

engagement.brand.kit.save.route.survey.brand.kit.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Brand Kit Save

engagement.campaign.archive

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Archive

engagement.campaign.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Delete

engagement.campaign.duplicate

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Duplicate

engagement.campaign.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Get

engagement.campaign.launch

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Campaign Launch

engagement.campaign.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign List

engagement.campaign.pause

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Pause

engagement.campaign.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Preview

engagement.campaign.publish

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Publish

engagement.campaign.rollback

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Rollback

engagement.campaign.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Save

engagement.campaign.save.route.survey.campaign.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Campaign Save

engagement.campaign.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Toggle

engagement.campaign.versions

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Versions

engagement.comment.add

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Comment Add

engagement.comments.add

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Comments Add

engagement.comments.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Comments Delete

engagement.comments.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Comments List

engagement.comments.list.route.survey.comments.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Comments List

engagement.comments.resolve

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Comments Resolve

engagement.connectors.catalog

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Connectors Catalog

engagement.coupon.providers

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Coupon Providers

engagement.coupons.clear

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Coupons Clear

engagement.coupons.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Coupons Stats

engagement.coupons.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Coupons Upload

engagement.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Announcement Delete

engagement.delete.route.tour.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Tour Delete

engagement.delivery.analytics

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Delivery Analytics

engagement.delivery.dashboard

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Delivery Dashboard

engagement.deployment.ab.promote

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Ab Promote

engagement.deployment.ab.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Ab Save

engagement.deployment.publish

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Publish

engagement.deployment.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Save

engagement.deployment.status

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Status

engagement.detail

Read. Scope: engagement.read, admin. Contract: route_inferred. Campaign Detail

engagement.digest.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Digest Save

engagement.feed.catalog

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Feed Catalog

engagement.feed.items

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Feed Items

engagement.geo.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Geo Preview

engagement.idle.cron.set

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Idle Cron Set

engagement.import.create

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Import Create

engagement.import.replay

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Import Replay

engagement.leads.export

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Leads Export

engagement.leads.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Leads List

engagement.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Announcements List

engagement.list.route.tours.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Tours List

engagement.module.set.ai.live

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Module Set Ai Live

engagement.module.set.custom.html

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Module Set Custom Html

engagement.module.set.enabled

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Module Set Enabled

engagement.module.status

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Module Status

engagement.onsite.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Onsite Preview

engagement.pause.all

Write. Scope: engagement.write, admin. Contract: declared_dynamic. Promo Pause All

engagement.presence

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Presence

engagement.preview.share

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Preview Share

engagement.push.draft

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Push Draft

engagement.recipients.issue

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Recipients Issue

engagement.recipients.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Recipients List

engagement.recipients.revoke

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Recipients Revoke

engagement.response.detail

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Response Detail

engagement.responses.browse

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Responses Browse

engagement.rule.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Rule Delete

engagement.rule.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Rule Save

engagement.rule.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Proactive Rule Stats

engagement.rule.test

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Rule Test

engagement.rule.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Rule Toggle

engagement.rules.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Proactive Rules List

engagement.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Announcement Save

engagement.save.route.tour.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Tour Save

engagement.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Stats

engagement.stats.route.tour.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Tour Stats

engagement.studio.a11y

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio A11y

engagement.studio.ai.generate

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Ai Generate

engagement.studio.ai.insights

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Ai Insights

engagement.studio.ai.target

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Ai Target

engagement.studio.archive

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Archive

engagement.studio.assets

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Studio Assets

engagement.studio.create

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Create

engagement.studio.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Delete

engagement.studio.duplicate

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Duplicate

engagement.studio.event

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Studio Event

engagement.studio.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Studio Get

engagement.studio.governance

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Governance

engagement.studio.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Studio List

engagement.studio.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Studio Preview

engagement.studio.preview.link

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Studio Preview Link

engagement.studio.publish

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Publish

engagement.studio.rename

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Rename

engagement.studio.revert

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Revert

engagement.studio.save.draft

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Save Draft

engagement.studio.save.targeting

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Save Targeting

engagement.studio.set.active

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Set Active

engagement.studio.set.status

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Set Status

engagement.studio.template.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Template Delete

engagement.studio.template.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Template Save

engagement.studio.tpl.preview

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Tpl Preview

engagement.studio.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Upload

engagement.studio.webhook

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Webhook

engagement.targeting.simulate

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Targeting Simulate

engagement.template.apply

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Template Apply

engagement.template.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Template List

engagement.template.save.custom

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Template Save Custom

engagement.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Announcement Toggle

engagement.toggle.route.tour.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Tour Toggle

engagement.trigger.set.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Trigger Set Save

engagement.variant.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Variant Delete

engagement.variant.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Variant List

engagement.variant.promote

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Variant Promote

engagement.variant.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Variant Save

engagement.version.compare

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Version Compare

engagement.version.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Version Get

engagement.version.label

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Version Label

engagement.webhook.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Delete

engagement.webhook.replay

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Replay

engagement.webhook.run

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Run

engagement.webhook.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Save

feedback (8)

feedback.analytics

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Analytics

feedback.detractors

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Detractors

feedback.get

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Get

feedback.ingest

Write. Scope: feedback.write, admin. Contract: explicit. Ingest a feedback record or external review

feedback.list

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback List

feedback.overview

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Overview

feedback.sources.list

Read. Scope: feedback.read, admin. Contract: explicit. List Voice of Customer feedback sources

feedback.update

Write. Scope: feedback.write, admin. Contract: source_inferred. Feedback Update Retry-safe with idempotency_key.

files (1)

files.get

Read. Scope: files.read, admin. Contract: source_inferred. Files Get

ساعت (48)

hr.agent.incident.close

Write. Scope: hr.write, admin. Contract: route_inferred. Close an agent incident — the same act that lifts the suspension it caused Required fields: incident_uuid, resolution.

hr.agent.step

Write. Scope: hr.write, admin. Contract: route_inferred. Run one agent step: gate verdict, execution and outcome reported separately Required fields: run_uuid, agent_key, tool_key, jurisdiction, purpose.

hr.agent.step.status

Read. Scope: hr.read, admin. Contract: route_inferred. What actually happened at a step (permitted, executed, proven, failed, compensated) Required fields: run_uuid, seq.

hr.agent.takeover

Write. Scope: hr.write, admin. Contract: route_inferred. A human takes an agent run; no further agent steps are accepted Required fields: run_uuid.

hr.agent.tool.grant

Write. Scope: hr.write, admin. Contract: route_inferred. Grant an agent a tool for one jurisdiction and purpose, up to a risk ceiling Required fields: agent_key, tool_key, jurisdiction, max_risk, purpose.

hr.agent.tools

Read. Scope: hr.read, admin. Contract: declared_dynamic. List the registered typed tools an agent may use, and open agent incidents

hr.ai.corrections

Write. Scope: hr.write, admin. Contract: declared_dynamic. Bundle recent reviewer corrections into a dataset; it is pending privacy review and trains nothing

hr.ai.quality.overview

Read. Scope: hr.read, admin. Contract: declared_dynamic. The AI quality board: sampled defect rate, override pressure per workflow, coaching reception

hr.booking.slots_reconcile

Write. Scope: hr.write, admin. Contract: declared_dynamic. Release booking slots whose claim never became a booked meeting

hr.connectors.certify

Write. Scope: hr.write, admin. Contract: route_inferred. Certify an HR connector (scope sandbox|production; production demands provider-side proof under dual control) Required fields: connector_class, connector_key, scope, evidence, submitted_by.

hr.connectors.health

Read. Scope: hr.read, admin. Contract: route_inferred. One connector account's health: certification level and scope, last reconciliation verdict, failures and webhook backlog Required fields: account_uuid.

hr.decisions.appeals

Write. Scope: hr.write, admin. Contract: route_inferred. File an appeal against an AI decision on a person's behalf; it must be heard by an independent human Required fields: decision_uuid, subject_type, subject_id, grounds.

hr.decisions.explanation

Read. Scope: hr.read, admin. Contract: route_inferred. Plain-language explanation of one AI decision: what was looked at, which policy, and how to appeal Required fields: decision_uuid, audience.

hr.employee.provision

Write. Scope: hr.write, admin. Contract: route_inferred. Provision seatless employee access and send the invitation Required fields: person_uuid.

hr.employee.restore

Write. Scope: hr.write, admin. Contract: route_inferred. Lift an employee access suspension (written reason required) and provision again Required fields: person_uuid, reason.

hr.experience.metrics

Read. Scope: hr.read, admin. Contract: route_inferred. Measured persona experience metrics (self-service rate, decision cycle, coaching usefulness, quality) from live journeys

hr.global.readiness

Read. Scope: hr.read, admin. Contract: declared_dynamic. The whole launch picture: 15-gate leadership score, release readiness checks and jurisdiction coverage

hr.identity.facets

Read. Scope: hr.read, admin. Contract: route_inferred. List a person's identity facets and open conflicts Required fields: person_uuid.

hr.identity.link

Write. Scope: hr.write, admin. Contract: route_inferred. Link an identity facet to a person Required fields: person_uuid, facet_type, facet_key.

hr.interview.room.connect

Write. Scope: hr.write, admin. Contract: route_inferred. Connect the AI to interview media; refuses unless media really reaches the worker Required fields: media_uuid.

hr.interview.room.consent

Write. Scope: hr.write, admin. Contract: route_inferred. Record or withdraw consent for ONE interview purpose (recording, biometric_liveness, transcription) Required fields: media_uuid, purpose, state.

hr.interview.room.pause

Write. Scope: hr.write, admin. Contract: route_inferred. Pause a live interview Required fields: media_uuid.

hr.interview.room.provision

Write. Scope: hr.write, admin. Contract: route_inferred. Provision an interview room (a place to meet — NOT AI participation) Required fields: session_uuid, transport, accommodation_route.

hr.interview.room.state

Read. Scope: hr.read, admin. Contract: route_inferred. Read an interview room, including whether the AI is actually participating Required fields: media_uuid.

hr.interview.room.takeover

Write. Scope: hr.write, admin. Contract: route_inferred. A human takes the interview; the AI cannot speak in it again Required fields: media_uuid, reason.

hr.jurisdiction.capabilities

Read. Scope: hr.read, admin. Contract: route_inferred. What this product may do in one country, per feature, with the law behind each answer Required fields: code.

hr.jurisdiction.change.raise

Write. Scope: hr.write, admin. Contract: route_inferred. Report a change in the law; a high or critical one suspends every lane in that jurisdiction at once Required fields: pack_key, summary, severity.

hr.jurisdiction.coverage

Read. Scope: hr.read, admin. Contract: declared_dynamic. Computed coverage for every market: released pack, named counsel owner, cited sources, passing tests

hr.jurisdiction.explain

Read. Scope: hr.read, admin. Contract: route_inferred. Why an action about one person is allowed, reduced or blocked, with the rule and citation Required fields: person_uuid, feature.

hr.jurisdiction.pack.release

Write. Scope: hr.write, admin. Contract: route_inferred. Put a drafted policy pack into effect; refused without a named counsel owner and a cited law Required fields: release_uuid.

hr.learning.overview

Read. Scope: hr.read, admin. Contract: declared_dynamic. Read courses, paths and enrolments

hr.leave.overview

Read. Scope: hr.read, admin. Contract: declared_dynamic. Read leave types and requests

hr.lifecycle.lanes

Read. Scope: hr.read, admin. Contract: declared_dynamic. Every lifecycle lane with its mode, KPIs and whether a live tool path really exists behind it

hr.marketplace.overview

Read. Scope: hr.read, admin. Contract: declared_dynamic. Read HR connector accounts, conflicts and deliveries

hr.org.tree

Read. Scope: hr.read, admin. Contract: declared_dynamic. Read the organisation tree

hr.people.create

Write. Scope: hr.write, admin. Contract: route_inferred. Create an HR person Required fields: display_name.

hr.people.get

Read. Scope: hr.read, admin. Contract: route_inferred. Get one HR person Required fields: person_uuid.

hr.people.list

Read. Scope: hr.read, admin. Contract: declared_dynamic. List HR people

hr.people.update

Write. Scope: hr.write, admin. Contract: route_inferred. Update an HR person Required fields: person_uuid, display_name, primary_email.

hr.postings.list

Read. Scope: hr.read, admin. Contract: declared_dynamic. List job postings

hr.readiness.read

Read. Scope: hr.read, admin. Contract: declared_dynamic. Run the HR release readiness report

hr.release.verify

Write. Scope: hr.write, admin. Contract: declared_dynamic. Run the four HR release gates (schema, manifest, probe, readiness)

hr.requisitions.create

Write. Scope: hr.write, admin. Contract: route_inferred. Create a requisition Required fields: title, openings, justification.

hr.requisitions.list

Read. Scope: hr.read, admin. Contract: declared_dynamic. List requisitions

hr.thread.delete

Write. Scope: hr.write, admin. Contract: route_inferred. Delete a workforce conversation; refused while it is under legal hold Required fields: thread_uuid, reason.

hr.thread.legal_hold

Write. Scope: hr.write, admin. Contract: route_inferred. Place or lift a legal hold on a workforce conversation Required fields: thread_uuid, on, reason.

hr.thread.retention

Write. Scope: hr.write, admin. Contract: route_inferred. Set a conversation's retention class (standard|extended|permanent) Required fields: thread_uuid, retention_class.

hr.threads.retention_sweep

Write. Scope: hr.write, admin. Contract: declared_dynamic. Run the conversation retention sweep; legal holds are never swept

intent (6)

intent.clear

Write. Scope: intent.write, admin. Contract: declared_dynamic. Intent Clear

intent.funnel

Read. Scope: intent.read, analytics.read, admin. Contract: route_inferred. Read the intent funnel

intent.funnel.aggregate

Read. Scope: intent.read, admin. Contract: route_inferred. Intent Funnel Aggregate

intent.funnel.route.intent.funnel

Read. Scope: intent.read, admin. Contract: route_inferred. Intent Funnel

intent.summary

Read. Scope: intent.read, analytics.read, admin. Contract: route_inferred. Read intent summaries

intent.summary.route.intent.summary

Read. Scope: intent.read, admin. Contract: route_inferred. Intent Summary

کیلوبایت (6)

kb.faq.delete

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Delete Retry-safe with idempotency_key.

kb.faq.generate

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Generate Retry-safe with idempotency_key.

kb.faq.import

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Import Retry-safe with idempotency_key.

kb.faq.list

Read. Scope: kb.read, read, admin. Contract: source_inferred. Kb Faq List

kb.faq.save

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Save Retry-safe with idempotency_key.

kb.faq.set_status

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Set Status Retry-safe with idempotency_key.

knowledge (78)

knowledge.analytics.get

Read. Scope: kb.read, admin. Contract: route_inferred. Help Analytics Get

knowledge.analytics.toggle

Write. Scope: kb.write, admin. Contract: route_inferred. Help Analytics Toggle

knowledge.article.ai.refine

Read. Scope: kb.read, admin. Contract: route_inferred. Help Article Ai Refine

knowledge.article.class.bulk

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Class Bulk

knowledge.article.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Delete

knowledge.article.publish

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Publish

knowledge.article.save

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Save

knowledge.article.set.category

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Set Category

knowledge.article.set.public

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Set Public

knowledge.articles.ai.generate

Write. Scope: kb.write, admin. Contract: route_inferred. Help Articles Ai Generate

knowledge.articles.bulk.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Articles Bulk Delete

knowledge.articles.count

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Articles Count

knowledge.articles.get

Read. Scope: kb.read, admin. Contract: explicit. Get one Help Center article Required fields: article_id.

knowledge.articles.ids

Write. Scope: kb.write, admin. Contract: route_inferred. Help Articles Ids

knowledge.articles.list

Read. Scope: kb.read, admin. Contract: route_inferred. Help Articles List

knowledge.articles.set.public.all

Write. Scope: kb.write, admin. Contract: route_inferred. Help Articles Set Public All

knowledge.categories.ai.merge

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Categories Ai Merge

knowledge.categories.bulk.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Categories Bulk Delete

knowledge.categories.list

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Categories List

knowledge.categories.merge.dupes

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Categories Merge Dupes

knowledge.category.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Category Delete

knowledge.category.get

Read. Scope: kb.read, admin. Contract: route_inferred. Help Category Get

knowledge.category.save

Write. Scope: kb.write, admin. Contract: route_inferred. Help Category Save

knowledge.center.article.image.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Article Image Upload

knowledge.center.favicon.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Favicon Upload

knowledge.center.hero.dark.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Hero Dark Upload

knowledge.center.hero.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Hero Upload

knowledge.center.logo.dark.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Logo Dark Upload

knowledge.center.logo.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Logo Upload

knowledge.center.og.image.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Og Image Upload

knowledge.center.settings.get

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Center Settings Get

knowledge.center.settings.save

Write. Scope: kb.write, admin. Contract: route_inferred. Help Center Settings Save

knowledge.center.subhero.dark.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Subhero Dark Upload

knowledge.center.subhero.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Subhero Upload

knowledge.center.translate.estimate

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Translate Estimate

knowledge.center.translate.run

Write. Scope: kb.write, admin. Contract: route_inferred. Help Center Translate Run

knowledge.center.translate.status

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Center Translate Status

knowledge.center.translate.stop

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Translate Stop

knowledge.center.widget.hero.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Widget Hero Upload

knowledge.center.widget.icon.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Widget Icon Upload

knowledge.comments.deliver.notifications

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Comments Deliver Notifications

knowledge.comments.moderate

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Comments Moderate

knowledge.comments.moderation.list

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Comments Moderation List

knowledge.import.batches

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Batches

knowledge.import.connectors

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Import Connectors

knowledge.import.csv.preview

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Import Csv Preview

knowledge.import.preview

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Preview

knowledge.import.resync

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Resync

knowledge.import.run

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Run

knowledge.import.undo

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Undo

knowledge.insights.generate

Write. Scope: kb.write, admin. Contract: route_inferred. Help Insights Generate

knowledge.insights.get

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Insights Get

knowledge.mark.reviewed

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Mark Reviewed

knowledge.missed.dismiss

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Missed Dismiss

knowledge.missed.draft.article

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Missed Draft Article

knowledge.missed.list

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Missed List

knowledge.missed.mark.published

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Missed Mark Published

knowledge.missed.refresh

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Missed Refresh

knowledge.organize.descriptions

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Organize Descriptions

knowledge.organize.status

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Organize Status

knowledge.organize.step

Write. Scope: kb.write, admin. Contract: route_inferred. Help Organize Step

knowledge.publish

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Publish

knowledge.reformat.revert

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Reformat Revert

knowledge.reformat.status

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Reformat Status

knowledge.reformat.step

Write. Scope: kb.write, admin. Contract: route_inferred. Help Reformat Step

knowledge.review.queue

Read. Scope: kb.read, admin. Contract: declared_dynamic. Kb Review Queue

knowledge.search.gaps

Read. Scope: kb.read, admin. Contract: declared_dynamic. Kb Search Gaps

knowledge.set.featured

Write. Scope: kb.write, admin. Contract: route_inferred. Help Set Featured

knowledge.set.visibility

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Set Visibility

knowledge.subdomain.allocate

Write. Scope: kb.write, admin. Contract: route_inferred. Help Subdomain Allocate

knowledge.subdomain.check

Read. Scope: kb.read, admin. Contract: route_inferred. Help Subdomain Check

knowledge.subdomain.release

Write. Scope: kb.write, admin. Contract: route_inferred. Help Subdomain Release

knowledge.taxonomy.organize

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Taxonomy Organize

knowledge.taxonomy.status

Read. Scope: kb.read, admin. Contract: declared_dynamic. Kb Taxonomy Status

knowledge.taxonomy.step

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Taxonomy Step

knowledge.widget.categories

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Widget Categories

knowledge.widget.publish

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Widget Publish

knowledge.widget.targets

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Widget Targets

leads (6)

leads.delete

Write. Scope: leads.write, crm.write, admin. Contract: route_inferred. Delete a lead Required fields: lead_id.

leads.delete.route.lead.delete

Write. Scope: leads.write, admin. Contract: route_inferred. Lead Delete

leads.list

Read. Scope: leads.read, crm.read, admin. Contract: route_inferred. List leads

leads.stats

Read. Scope: leads.read, analytics.read, admin. Contract: declared_dynamic. Get lead statistics

leads.stats.route.leads.stats

Read. Scope: leads.read, admin. Contract: declared_dynamic. Leads Stats

leads.update

Write. Scope: leads.write, crm.write, admin. Contract: route_inferred. Update a lead Required fields: lead_id, status.

متا meta (4)

meta.action

Read. Scope: none. Contract: explicit. Get one General API action contract Required fields: name.

meta.actions

Read. Scope: none. Contract: explicit. List the complete General API contract

meta.me

Read. Scope: none. Contract: explicit. Describe the authenticated API key and active workspace

meta.scopes

Read. Scope: none. Contract: explicit. List API scopes and the actions protected by each scope

notifications (1)

notifications.list

Read. Scope: notifications.read, admin. Contract: source_inferred. Notifications List

پلتفرم Platform (926)

platform.add.announcement

Write. Scope: platform.write, admin. Contract: declared_dynamic. Add Announcement

platform.add.kb.article

Write. Scope: platform.write, admin. Contract: route_inferred. Add Kb Article

platform.add.todo.item

Write. Scope: platform.write, admin. Contract: route_inferred. Add Todo Item

platform.ai.action.lookup

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Action Lookup

platform.ai.anomaly.detect

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Anomaly Detect

platform.ai.brain.add

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Add

platform.ai.brain.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Delete

platform.ai.brain.edit

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Edit

platform.ai.brain.list

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain List

platform.ai.brain.pin

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Pin

platform.ai.brain.status

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Status

platform.ai.chat

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Chat

platform.ai.confidence.stats

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Confidence Stats

platform.ai.context.lookup

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Context Lookup

platform.ai.daily.brief

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Daily Brief

platform.ai.daily.brief.check

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Daily Brief Check

platform.ai.daily.brief.dismiss

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Daily Brief Dismiss

platform.ai.daily.brief.fetch

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Daily Brief Fetch

platform.ai.eval.control.summary

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Control Summary

platform.ai.eval.feedback.queue

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Feedback Queue

platform.ai.eval.kb.gap.queue

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Kb Gap Queue

platform.ai.eval.load

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Load

platform.ai.eval.replay.history

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Eval Replay History

platform.ai.eval.run

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Eval Run

platform.ai.eval.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Eval Save

platform.ai.eval.score.answer

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Score Answer

platform.ai.eval.simulate

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Eval Simulate

platform.ai.feedback.analysis

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Feedback Analysis

platform.ai.feedback.stats

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Feedback Stats

platform.ai.history.archive

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Archive

platform.ai.history.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Clear All

platform.ai.history.delete

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Delete

platform.ai.history.export.csv

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Export Csv

platform.ai.history.get

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Get

platform.ai.history.list

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History List

platform.ai.history.stats

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Stats

platform.ai.insight.clear

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Insight Clear

platform.ai.insight.history

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Insight History

platform.ai.insight.report.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Insight Report Delete

platform.ai.insight.report.get

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Insight Report Get

platform.ai.instructions.compress

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Compress

platform.ai.instructions.connector.templates

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Instructions Connector Templates

platform.ai.instructions.example

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Instructions Example

platform.ai.instructions.load

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Load

platform.ai.instructions.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Instructions Preview

platform.ai.instructions.reset

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Reset

platform.ai.instructions.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Save

platform.ai.page.insights

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Page Insights

platform.ai.popup.regen

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Popup Regen

platform.ai.quality.view

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Quality View

platform.ai.reasoning.chain.get

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Reasoning Chain Get

platform.ai.score.lead

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Score Lead

platform.ai.smart.alerts

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Smart Alerts

platform.ai.spoke

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Spoke

platform.ai.triage.accuracy

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Triage Accuracy

platform.ai.whmcs.chat

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Whmcs Chat

platform.ai.writing

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Writing

platform.api.keys.catalog

Read. Scope: admin. Contract: declared_dynamic. Api Keys Catalog

platform.api.keys.create

Write. Scope: admin. Contract: route_inferred. Api Keys Create

platform.api.keys.delete

Write. Scope: admin. Contract: route_inferred. Api Keys Delete

platform.api.keys.list

Read. Scope: admin. Contract: declared_dynamic. Api Keys List

platform.api.keys.revoke

Write. Scope: admin. Contract: route_inferred. Api Keys Revoke

platform.api.keys.update

Write. Scope: admin. Contract: route_inferred. Api Keys Update

platform.audit.export

Read. Scope: admin. Contract: route_inferred. Audit Export

platform.blocked

Write. Scope: platform.write, admin. Contract: route_inferred. Blocked

platform.campaigns

Read. Scope: platform.read, admin. Contract: declared_dynamic. Campaigns

platform.chart.browsers

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Browsers

platform.chart.countries

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Countries

platform.chart.devices

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Devices

platform.chart.hourly

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Hourly

platform.chart.new.returning

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart New Returning

platform.chart.os

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Os

platform.chart.sources

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Sources

platform.chart.visitors

Read. Scope: platform.read, admin. Contract: route_inferred. Chart Visitors

platform.chatbot.flow.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Delete

platform.chatbot.flow.get

Read. Scope: platform.read, admin. Contract: route_inferred. Chatbot Flow Get

platform.chatbot.flow.save

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Save

platform.chatbot.flow.stats

Read. Scope: platform.read, admin. Contract: route_inferred. Chatbot Flow Stats

platform.chatbot.flow.test.advance

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Test Advance

platform.chatbot.flow.test.start

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Test Start

platform.chatbot.flow.toggle

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Toggle

platform.chatbot.flows.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chatbot Flows List

platform.chatbot.node.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Node Delete

platform.chatbot.node.save

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Node Save

platform.chatbot.nodes.list

Read. Scope: platform.read, admin. Contract: route_inferred. Chatbot Nodes List

platform.clear.admin.chat.history

Write. Scope: platform.write, admin. Contract: declared_dynamic. Clear Admin Chat History

platform.command.center.view

Read. Scope: platform.read, admin. Contract: declared_dynamic. Command Center View

platform.commerce.actf.execute

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Actf Execute

platform.commerce.actf.policy.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Actf Policy Save

platform.commerce.actf.review

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Actf Review

platform.commerce.actf.simulate

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Actf Simulate

platform.commerce.analytics.report

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Analytics Report

platform.commerce.analytics.report.email

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Analytics Report Email

platform.commerce.autonomy.issue

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Autonomy Issue

platform.commerce.autonomy.status

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Autonomy Status

platform.commerce.collections.delete

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Collections Delete

platform.commerce.collections.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Collections Save

platform.commerce.customer.block

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Customer Block

platform.commerce.customer.credit.add

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Customer Credit Add

platform.commerce.customer.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Customer Save

platform.commerce.customers.list

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Customers List

platform.commerce.digital.codes.import

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Digital Codes Import

platform.commerce.digital.config.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Digital Config Save

platform.commerce.digital.file.upload

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Digital File Upload

platform.commerce.fulfilment.transition

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Fulfilment Transition

platform.commerce.intelligence.economics.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Intelligence Economics Save

platform.commerce.intelligence.market.price.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Intelligence Market Price Save

platform.commerce.intelligence.market.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Intelligence Market Save

platform.commerce.kit.apply

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Kit Apply

platform.commerce.kit.preview

Read. Scope: commerce.read, admin. Contract: route_inferred. Commerce Kit Preview

platform.commerce.kits.list

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Kits List

platform.commerce.launch.readiness

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Launch Readiness

platform.commerce.menu.ai.build

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Menu Ai Build

platform.commerce.menus.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Menus Save

platform.commerce.merchandising.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Merchandising Save

platform.commerce.midmarket.operations

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Midmarket Operations

platform.commerce.onboarding.ai.draft

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Onboarding Ai Draft

platform.commerce.onboarding.apply

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Onboarding Apply

platform.commerce.option.sets.generate

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Option Sets Generate

platform.commerce.option.sets.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Option Sets Save

platform.commerce.option.templates

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Option Templates

platform.commerce.order.refundable

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Order Refundable

platform.commerce.order.ship

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Order Ship

platform.commerce.order.shipments

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Order Shipments

platform.commerce.orders.list

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Orders List

platform.commerce.orders.transition

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Orders Transition

platform.commerce.page.ai.draft

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Page Ai Draft

platform.commerce.page.ai.refine

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Page Ai Refine

platform.commerce.page.render

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Page Render

platform.commerce.pages.delete

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Pages Delete

platform.commerce.pages.list

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Pages List

platform.commerce.pages.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Pages Save

platform.commerce.price.advice

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Price Advice

platform.commerce.products.ai.copy

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Products Ai Copy

platform.commerce.products.bulk

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Products Bulk

platform.commerce.products.catalog.meta

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Products Catalog Meta

platform.commerce.products.delete

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Products Delete

platform.commerce.products.duplicate

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Products Duplicate

platform.commerce.products.export.csv

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Products Export Csv

platform.commerce.products.image.alt.ai

Read. Scope: commerce.read, admin. Contract: route_inferred. Commerce Products Image Alt Ai

platform.commerce.products.image.delete

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Products Image Delete

platform.commerce.products.image.update

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Products Image Update

platform.commerce.products.image.upload

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Products Image Upload

platform.commerce.products.images.list

Read. Scope: commerce.read, admin. Contract: route_inferred. Commerce Products Images List

platform.commerce.products.images.reorder

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Products Images Reorder

platform.commerce.products.import.csv

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Products Import Csv

platform.commerce.products.list

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Products List

platform.commerce.products.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Products Save

platform.commerce.refunds.complete.manual

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Refunds Complete Manual

platform.commerce.refunds.request

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Refunds Request

platform.commerce.returns.transition

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Returns Transition

platform.commerce.size.charts.delete

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Size Charts Delete

platform.commerce.size.charts.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Size Charts Save

platform.commerce.store.maturity

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Store Maturity

platform.commerce.storefront.brand.import

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Storefront Brand Import

platform.commerce.storefront.domain.remove

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Storefront Domain Remove

platform.commerce.storefront.domain.set

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Storefront Domain Set

platform.commerce.storefront.logo.upload

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Storefront Logo Upload

platform.commerce.storefront.page.ai.seo

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Storefront Page Ai Seo

platform.commerce.storefront.slug.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Storefront Slug Save

platform.commerce.supply.chain

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Supply Chain

platform.commerce.variants.delete

Write. Scope: commerce.write, admin. Contract: route_inferred. Commerce Variants Delete

platform.commerce.variants.save

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Variants Save

platform.commerce.wallet.topup.refund

Write. Scope: commerce.write, admin. Contract: declared_dynamic. Commerce Wallet Topup Refund

platform.commerce.wallet.topups.list

Read. Scope: commerce.read, admin. Contract: declared_dynamic. Commerce Wallet Topups List

platform.complete.todo.item

Write. Scope: platform.write, admin. Contract: route_inferred. Complete Todo Item

platform.consent.log.list

Read. Scope: platform.read, admin. Contract: route_inferred. Consent Log List

platform.countries

Read. Scope: platform.read, admin. Contract: declared_dynamic. Countries

platform.country.detail

Read. Scope: platform.read, admin. Contract: route_inferred. Country Detail

platform.custom.code.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Approve

platform.custom.code.disable

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Disable

platform.custom.code.reject

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Reject

platform.custom.code.rollback

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Rollback

platform.custom.code.status

Read. Scope: platform.read, admin. Contract: route_inferred. Custom Code Status

platform.delete.todo.item

Write. Scope: platform.write, admin. Contract: route_inferred. Delete Todo Item

platform.devices

Read. Scope: platform.read, admin. Contract: declared_dynamic. Devices

platform.diag.check.resolutions

Read. Scope: platform.read, admin. Contract: declared_dynamic. Diag Check Resolutions

platform.diag.dismiss

Write. Scope: platform.write, admin. Contract: route_inferred. Diag Dismiss

platform.diag.event.taxonomy

Read. Scope: platform.read, admin. Contract: declared_dynamic. Diag Event Taxonomy

platform.diag.identity.restitch

Write. Scope: admin. Contract: declared_dynamic. Diag Identity Restitch

platform.diag.recheck

Write. Scope: platform.write, admin. Contract: route_inferred. Diag Recheck

platform.diag.recheck.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Diag Recheck All

platform.diag.report

Write. Scope: platform.write, admin. Contract: route_inferred. Diag Report

platform.diag.unmute

Write. Scope: platform.write, admin. Contract: route_inferred. Diag Unmute

platform.dismiss.credit.alert

Write. Scope: admin. Contract: route_inferred. Dismiss Credit Alert

platform.domain.knowledge.ai.generate

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Ai Generate

platform.domain.knowledge.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Delete

platform.domain.knowledge.list

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge List

platform.domain.knowledge.save

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Save

platform.domain.knowledge.toggle

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Toggle

platform.domain.verify.add

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Verify Add

platform.domain.verify.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Domain Verify List

platform.domain.verify.recheck

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Verify Recheck

platform.domain.verify.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Verify Remove

platform.dynamic.action.dispatch

Write. Scope: platform.write, admin. Contract: route_inferred. Dynamic Action Dispatch

platform.events.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Events Clear All

platform.events.list

Read. Scope: platform.read, admin. Contract: route_inferred. Events List

platform.experiment.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Experiment Delete

platform.experiment.results

Read. Scope: platform.read, admin. Contract: route_inferred. Experiment Results

platform.experiment.save

Write. Scope: platform.write, admin. Contract: route_inferred. Experiment Save

platform.experiments.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Experiments Clear All

platform.experiments.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Experiments List

platform.failed.logins.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Failed Logins Clear All

platform.failed.logins.clear.history

Write. Scope: platform.write, admin. Contract: declared_dynamic. Failed Logins Clear History

platform.failed.logins.journey

Write. Scope: platform.write, admin. Contract: route_inferred. Failed Logins Journey

platform.failed.logins.list

Write. Scope: platform.write, admin. Contract: declared_dynamic. Failed Logins List

platform.failed.logins.unblock

Write. Scope: platform.write, admin. Contract: route_inferred. Failed Logins Unblock

platform.feedback.analysis.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Analysis Get

platform.feedback.analysis.run

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Analysis Run

platform.feedback.analytics.all

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics All

platform.feedback.analytics.detractors

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Detractors

platform.feedback.analytics.metrics

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Metrics

platform.feedback.analytics.overview

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Overview

platform.feedback.analytics.segments

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Segments

platform.feedback.analytics.sentiment

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Sentiment

platform.feedback.analytics.themes

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Themes

platform.feedback.analytics.trends

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Trends

platform.feedback.assignees.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Assignees List

platform.feedback.event.outbox.drain

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Event Outbox Drain

platform.feedback.exports.create

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Exports Create

platform.feedback.exports.get

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Exports Get

platform.feedback.external.review.ingest

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback External Review Ingest

platform.feedback.ingest.create

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Ingest Create

platform.feedback.items.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Assign

platform.feedback.items.evidence

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Items Evidence

platform.feedback.items.follow.up.complete

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Follow Up Complete

platform.feedback.items.follow.up.set

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Follow Up Set Required fields: bool.

platform.feedback.items.get

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Items Get

platform.feedback.items.list

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Items List

platform.feedback.items.mark.read

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Mark Read

platform.feedback.items.notes.add

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Notes Add

platform.feedback.items.set.priority

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Set Priority

platform.feedback.items.set.status

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Set Status

platform.feedback.items.tags.add

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Tags Add

platform.feedback.items.tags.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Tags Remove

platform.feedback.list

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback List

platform.feedback.reconciliation

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reconciliation

platform.feedback.reports.delete

Write. Scope: platform.write, admin. Contract: declared_dynamic. Feedback Reports Delete

platform.feedback.reports.email

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reports Email

platform.feedback.reports.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reports Get

platform.feedback.reports.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reports List

platform.feedback.satisfaction.advice.last

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Satisfaction Advice Last

platform.feedback.satisfaction.advise

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Satisfaction Advise

platform.feedback.satisfaction.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Satisfaction Overview

platform.feedback.sources.health

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Sources Health

platform.feedback.sources.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Sources List

platform.feedback.sources.rebuild

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Sources Rebuild

platform.feedback.sources.replay

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Sources Replay

platform.feedback.stats

Write. Scope: platform.write, admin. Contract: declared_dynamic. Feedback Stats

platform.fx.refresh.now

Write. Scope: platform.write, admin. Contract: declared_dynamic. Fx Refresh Now

platform.geoip.autodetect

Read. Scope: platform.read, admin. Contract: declared_dynamic. Geoip Autodetect

platform.get.admin.chat.history

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Admin Chat History

platform.get.ai.snapshot

Write. Scope: platform.write, admin. Contract: route_inferred. Get Ai Snapshot

platform.get.campaign.groups

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Campaign Groups

platform.get.client.chat.knowledge.overview

Write. Scope: platform.write, admin. Contract: declared_dynamic. Get Client Chat Knowledge Overview

platform.get.kb.categories

Read. Scope: platform.read, admin. Contract: route_inferred. Get Kb Categories

platform.get.live.health.snapshot

Read. Scope: platform.read, admin. Contract: route_inferred. Get Live Health Snapshot

platform.get.pwa.chat.prefs

Write. Scope: platform.write, admin. Contract: declared_dynamic. Get Pwa Chat Prefs

platform.get.servers

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Servers

platform.get.survey.config

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Survey Config

platform.get.ticket.options

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Ticket Options

platform.get.ticket.thread

Read. Scope: platform.read, admin. Contract: route_inferred. Get Ticket Thread

platform.get.todo.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Todo List

platform.get.widget.advanced

Read. Scope: platform.read, admin. Contract: route_inferred. Get Widget Advanced

platform.governance.summary

Read. Scope: platform.read, admin. Contract: route_inferred. Governance Summary

platform.groups.create

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Create

platform.groups.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Delete

platform.groups.list

Write. Scope: platform.write, admin. Contract: route_inferred. Groups List

platform.groups.rename

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Rename

platform.groups.set.primary

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Set Primary

platform.hc.preview.mint

Read. Scope: platform.read, admin. Contract: route_inferred. Hc Preview Mint

platform.hc.template.apply

Write. Scope: platform.write, admin. Contract: route_inferred. Hc Template Apply

platform.hc.template.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Hc Template Delete

platform.hc.template.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Hc Template Preview

platform.hc.template.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hc Template Save

platform.hc.templates.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hc Templates List

platform.hc.translation.review.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hc Translation Review Get

platform.hc.translation.review.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hc Translation Review List

platform.hc.translation.review.revert

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hc Translation Review Revert

platform.hc.translation.review.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hc Translation Review Save

platform.heatmap

Read. Scope: platform.read, admin. Contract: route_inferred. Heatmap

platform.hr.access.grant.manual

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Access Grant Manual

platform.hr.access.policy.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Access Policy List

platform.hr.access.policy.set

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Access Policy Set

platform.hr.access.request

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Access Request

platform.hr.access.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Access Revoke

platform.hr.accommodation.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Accommodation List

platform.hr.accommodation.resolve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Accommodation Resolve

platform.hr.agent.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Agent Assign

platform.hr.agent.compensation.retry

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Agent Compensation Retry

platform.hr.agent.compensation.sweep

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Agent Compensation Sweep

platform.hr.agent.compensations

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Agent Compensations

platform.hr.agent.incident.close

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Agent Incident Close

platform.hr.agent.register

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Agent Register

platform.hr.agent.step

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Agent Step

platform.hr.agent.step.status

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Agent Step Status

platform.hr.agent.tool.auth

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Agent Tool Auth

platform.hr.agent.tool.grant

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Agent Tool Grant

platform.hr.agent.tools

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Agent Tools

platform.hr.ai.act.build

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Ai Act Build

platform.hr.ai.act.export

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Ai Act Export

platform.hr.ai.act.fria.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Ai Act Fria Record

platform.hr.ai.act.notice.publish

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Ai Act Notice Publish

platform.hr.ai.act.overseer.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Ai Act Overseer Assign

platform.hr.ai.act.overseer.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Ai Act Overseer Revoke

platform.hr.ai.act.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Ai Act Overview

platform.hr.ai.metering.export

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Ai Metering Export

platform.hr.ai.metering.overview

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Ai Metering Overview

platform.hr.ai.metering.settings.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Ai Metering Settings Save

platform.hr.ai.status

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Ai Status

platform.hr.analytics.ask

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Analytics Ask

platform.hr.analytics.snapshot

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Analytics Snapshot

platform.hr.app.move

Write. Scope: platform.write, admin. Contract: route_inferred. Hr App Move

platform.hr.appeal.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Appeal List

platform.hr.appeal.resolve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Appeal Resolve

platform.hr.application.history

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Application History

platform.hr.application.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Application List

platform.hr.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Assign

platform.hr.auto.offer.run

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Auto Offer Run

platform.hr.autonomy.lane.demote

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Autonomy Lane Demote

platform.hr.autonomy.lane.install

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Autonomy Lane Install

platform.hr.autonomy.lane.promote

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Autonomy Lane Promote

platform.hr.autonomy.lane.review

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Autonomy Lane Review

platform.hr.autonomy.lane.shadow

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Autonomy Lane Shadow

platform.hr.autonomy.lanes

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Autonomy Lanes

platform.hr.autonomy.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Autonomy Overview

platform.hr.availability.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Availability Save

platform.hr.band.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Band Approve

platform.hr.band.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Band List

platform.hr.band.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Band Save

platform.hr.benchmarks.contribute.now

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Benchmarks Contribute Now

platform.hr.benchmarks.opt.in

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Benchmarks Opt In

platform.hr.benchmarks.opt.out

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Benchmarks Opt Out

platform.hr.benchmarks.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Benchmarks Overview

platform.hr.benefit.enroll

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Benefit Enroll

platform.hr.benefit.plan.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Benefit Plan Save

platform.hr.bias.audit.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Bias Audit List

platform.hr.bias.audit.run

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Bias Audit Run

platform.hr.booking.link.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Booking Link Save

platform.hr.booking.slots.reconcile

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Booking Slots Reconcile

platform.hr.breaker.reset

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Breaker Reset

platform.hr.broadcast.audience.options

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Broadcast Audience Options

platform.hr.broadcast.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Broadcast List

platform.hr.broadcast.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Broadcast Preview

platform.hr.broadcast.send

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Broadcast Send

platform.hr.budget.set

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Budget Set

platform.hr.calibration.close

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Calibration Close

platform.hr.calibration.move

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Calibration Move

platform.hr.calibration.open

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Calibration Open

platform.hr.capabilities.get

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Capabilities Get

platform.hr.capability.set

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Capability Set

platform.hr.capability.trail

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Capability Trail

platform.hr.cards.refresh

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Cards Refresh

platform.hr.case.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Case Assign

platform.hr.case.attachment.add

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Case Attachment Add

platform.hr.case.attachment.list

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Case Attachment List

platform.hr.case.categories

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Case Categories

platform.hr.case.event.add

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Case Event Add

platform.hr.case.get

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Case Get

platform.hr.case.grant.access

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Case Grant Access

platform.hr.case.intake.mailbox

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Case Intake Mailbox

platform.hr.case.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Case List

platform.hr.case.open

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Case Open

platform.hr.case.route

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Case Route

platform.hr.case.thread

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Case Thread

platform.hr.case.tighten

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Case Tighten

platform.hr.certification.define

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Certification Define

platform.hr.certification.list

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Certification List

platform.hr.certification.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Certification Record

platform.hr.certification.state

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Certification State

platform.hr.certification.types

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Certification Types

platform.hr.check.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Check List

platform.hr.check.manual.result

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Check Manual Result

platform.hr.check.order

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Check Order

platform.hr.check.requery

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Check Requery

platform.hr.check.void

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Check Void

platform.hr.checkin.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Checkin Record

platform.hr.coach.feedback

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Coach Feedback

platform.hr.coach.me

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Coach Me

platform.hr.coach.receive

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Coach Receive

platform.hr.comp.change.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Comp Change Approve

platform.hr.comp.change.request

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Comp Change Request

platform.hr.compliance.build

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Compliance Build

platform.hr.compliance.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Compliance List

platform.hr.connector.cert.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Connector Cert Revoke

platform.hr.connector.cert.submissions

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Connector Cert Submissions

platform.hr.connector.cert.submit

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Connector Cert Submit

platform.hr.connector.certify

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Connector Certify

platform.hr.connector.health

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Connector Health

platform.hr.connector.options

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Connector Options

platform.hr.connector.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Connector Revoke

platform.hr.contract.list

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Contract List

platform.hr.copilot.apply

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Copilot Apply

platform.hr.copilot.plan

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Copilot Plan

platform.hr.copilot.recipes

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Copilot Recipes

platform.hr.copilot.reject

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Copilot Reject

platform.hr.correction.dataset.build

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Correction Dataset Build

platform.hr.correction.datasets

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Correction Datasets

platform.hr.correction.privacy.review

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Correction Privacy Review

platform.hr.course.enroll

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Course Enroll

platform.hr.course.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Course Save

platform.hr.course.skills.tag

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Course Skills Tag

platform.hr.decision.appeal.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Decision Appeal Assign

platform.hr.decision.appeal.file

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Decision Appeal File

platform.hr.decision.appeal.resolve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Decision Appeal Resolve

platform.hr.decision.appeals.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Decision Appeals List

platform.hr.decision.explanation

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Decision Explanation

platform.hr.decisions.recent

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Decisions Recent

platform.hr.directory.visibility.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Directory Visibility Get

platform.hr.directory.visibility.set

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Directory Visibility Set

platform.hr.discipline.decide

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Discipline Decide

platform.hr.discipline.propose

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Discipline Propose

platform.hr.document.access.log

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Document Access Log

platform.hr.document.deletion.request

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Document Deletion Request

platform.hr.document.hold

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Document Hold

platform.hr.document.intake

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Document Intake

platform.hr.document.list

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Document List

platform.hr.document.requirement.add

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Document Requirement Add

platform.hr.document.requirement.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Document Requirement Remove

platform.hr.document.review.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Document Review Approve

platform.hr.document.reviews

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Document Reviews

platform.hr.dsr.list

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Dsr List

platform.hr.dsr.transition

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Dsr Transition

platform.hr.email.intake.log

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Email Intake Log

platform.hr.employee.access.events

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Employee Access Events

platform.hr.employee.provision

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Employee Provision

platform.hr.employee.restore

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Employee Restore

platform.hr.employee.suspend

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Employee Suspend

platform.hr.employment.activate

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Employment Activate

platform.hr.employment.end

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Employment End

platform.hr.enterprise.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Enterprise Approve

platform.hr.equipment.delivered

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Equipment Delivered

platform.hr.equipment.request

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Equipment Request

platform.hr.equipment.returned

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Equipment Returned

platform.hr.escrow.resolve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Escrow Resolve

platform.hr.evidence.a11y.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Evidence A11y Record

platform.hr.evidence.attest

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Evidence Attest

platform.hr.evidence.dr.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Evidence Dr Record

platform.hr.evidence.ledgers

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Evidence Ledgers

platform.hr.evidence.load.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Evidence Load Record

platform.hr.evidence.owner.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Evidence Owner Assign

platform.hr.expense.confirm

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Expense Confirm

platform.hr.expense.decide

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Expense Decide

platform.hr.expense.handoff

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Expense Handoff

platform.hr.expense.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Expense Overview

platform.hr.expense.policy.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Expense Policy Save

platform.hr.experience.metrics

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Experience Metrics

platform.hr.expiry.run

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Expiry Run

platform.hr.fairness.cohort.define

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Fairness Cohort Define

platform.hr.fairness.cohorts

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Fairness Cohorts

platform.hr.fairness.evaluate

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Fairness Evaluate

platform.hr.faq.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Faq Delete

platform.hr.faq.draft

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Faq Draft

platform.hr.faq.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Faq List

platform.hr.faq.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Faq Save

platform.hr.faq.state

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Faq State

platform.hr.feedback.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Feedback List

platform.hr.feedback.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Feedback Record

platform.hr.flag.set

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Flag Set

platform.hr.flags.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Flags Get

platform.hr.frontline.overview

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Frontline Overview

platform.hr.gig.decide

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Gig Decide

platform.hr.gig.post

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Gig Post

platform.hr.global.readiness

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Global Readiness

platform.hr.goal.create

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Goal Create

platform.hr.goal.draft

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Goal Draft

platform.hr.goal.update

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Goal Update

platform.hr.grievance.file

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Grievance File

platform.hr.grievance.outcome

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Grievance Outcome

platform.hr.headcount.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Headcount Approve

platform.hr.headcount.draft

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Headcount Draft

platform.hr.headcount.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Headcount List

platform.hr.hire

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Hire

platform.hr.hiring.decide

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Hiring Decide

platform.hr.holiday.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Holiday Save

platform.hr.identity.admin.options

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Identity Admin Options

platform.hr.identity.conflict.resolve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Identity Conflict Resolve

platform.hr.identity.coverage.plan

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Identity Coverage Plan

platform.hr.identity.facets

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Identity Facets

platform.hr.identity.history

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Identity History

platform.hr.identity.link

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Identity Link

platform.hr.identity.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Identity Revoke

platform.hr.identity.verification.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Identity Verification Record

platform.hr.incident.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Incident List

platform.hr.incident.open

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Incident Open

platform.hr.incident.step

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Incident Step

platform.hr.interview.recording.start

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Interview Recording Start

platform.hr.interview.recording.upload

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Interview Recording Upload

platform.hr.interview.review

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Interview Review

platform.hr.interview.room.answer

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Interview Room Answer

platform.hr.interview.room.ask

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Interview Room Ask

platform.hr.interview.room.connect

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Interview Room Connect

platform.hr.interview.room.consent

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Interview Room Consent

platform.hr.interview.room.end

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Interview Room End

platform.hr.interview.room.leave

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Interview Room Leave

platform.hr.interview.room.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Interview Room List

platform.hr.interview.room.observe

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Interview Room Observe

platform.hr.interview.room.pause

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Interview Room Pause

platform.hr.interview.room.provision

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Interview Room Provision

platform.hr.interview.room.reconnect

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Interview Room Reconnect

platform.hr.interview.room.resume

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Interview Room Resume

platform.hr.interview.room.state

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Interview Room State

platform.hr.interview.room.takeover

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Interview Room Takeover

platform.hr.interview.schedule

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Interview Schedule

platform.hr.interview.transcript.correct

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Interview Transcript Correct

platform.hr.investigation.close

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Investigation Close

platform.hr.investigation.finding

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Investigation Finding

platform.hr.investigation.hold

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Investigation Hold

platform.hr.investigation.open

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Investigation Open

platform.hr.investigation.triage

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Investigation Triage

platform.hr.iplan.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Iplan Approve

platform.hr.iplan.create

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Iplan Create

platform.hr.iplan.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Iplan List

platform.hr.iscore.human

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Iscore Human

platform.hr.iscore.run

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Iscore Run

platform.hr.isession.attach.meeting

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Isession Attach Meeting

platform.hr.isession.control

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Isession Control

platform.hr.isession.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Isession List

platform.hr.isession.liveness

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Isession Liveness

platform.hr.isession.schedule

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Isession Schedule

platform.hr.job.arch.analyse

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Job Arch Analyse

platform.hr.job.arch.apply

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Job Arch Apply

platform.hr.job.arch.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Job Arch Approve

platform.hr.job.arch.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Job Arch Overview

platform.hr.job.arch.propose

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Job Arch Propose

platform.hr.job.arch.reject

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Job Arch Reject

platform.hr.job.family.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Job Family Save

platform.hr.job.level.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Job Level Save

platform.hr.job.profile.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Job Profile Save

platform.hr.job.version.draft.ai

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Job Version Draft Ai

platform.hr.job.version.publish

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Job Version Publish

platform.hr.job.version.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Job Version Save

platform.hr.job.versions

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Job Versions

platform.hr.jurisdiction.capabilities

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Jurisdiction Capabilities

platform.hr.jurisdiction.case.run

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Jurisdiction Case Run

platform.hr.jurisdiction.case.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Jurisdiction Case Save

platform.hr.jurisdiction.change.assess

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Jurisdiction Change Assess

platform.hr.jurisdiction.change.close

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Jurisdiction Change Close

platform.hr.jurisdiction.change.raise

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Jurisdiction Change Raise

platform.hr.jurisdiction.coverage

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Jurisdiction Coverage

platform.hr.jurisdiction.explain

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Jurisdiction Explain

platform.hr.jurisdiction.overlay.list

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Jurisdiction Overlay List

platform.hr.jurisdiction.overlay.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Jurisdiction Overlay Save

platform.hr.jurisdiction.pack.draft

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Jurisdiction Pack Draft

platform.hr.jurisdiction.pack.release

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Jurisdiction Pack Release

platform.hr.jurisdiction.pack.withdraw

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Jurisdiction Pack Withdraw

platform.hr.jurisdiction.release.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Jurisdiction Release List

platform.hr.jurisdiction.rule.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Jurisdiction Rule Save

platform.hr.jurisdiction.source.declare

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Jurisdiction Source Declare

platform.hr.jurisdiction.transfer.declare

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Jurisdiction Transfer Declare

platform.hr.kill.flip

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Kill Flip

platform.hr.kill.toggle

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Kill Toggle

platform.hr.kiosk.register

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Kiosk Register

platform.hr.kiosk.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Kiosk Revoke

platform.hr.knowledge.pack.install

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Knowledge Pack Install

platform.hr.knowledge.pack.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Knowledge Pack Remove

platform.hr.knowledge.packs

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Knowledge Packs

platform.hr.leadership.score

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Leadership Score

platform.hr.learning.assign.mandatory

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Learning Assign Mandatory

platform.hr.learning.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Learning Overview

platform.hr.leave.decide

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Leave Decide

platform.hr.leave.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Leave Overview

platform.hr.leave.policy.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Leave Policy Save

platform.hr.leave.type.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Leave Type Save

platform.hr.letter.issue

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Letter Issue

platform.hr.letter.kinds

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Letter Kinds

platform.hr.letter.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Letter Preview

platform.hr.listening.close

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Listening Close

platform.hr.listening.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Listening Overview

platform.hr.listening.run.due

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Listening Run Due

platform.hr.listening.schedule.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Listening Schedule Save

platform.hr.listening.schedule.state

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Listening Schedule State

platform.hr.loop.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Loop Approve

platform.hr.loop.correct

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Loop Correct

platform.hr.loop.evaluate

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Loop Evaluate

platform.hr.loop.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Loop Overview

platform.hr.loop.propose

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Loop Propose

platform.hr.loop.release

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Loop Release

platform.hr.loop.rollback

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Loop Rollback

platform.hr.loop.snapshot

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Loop Snapshot

platform.hr.marketplace.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Marketplace Overview

platform.hr.meeting.book

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Meeting Book

platform.hr.meeting.cancel

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Meeting Cancel

platform.hr.meeting.propose

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Meeting Propose

platform.hr.meeting.reschedule

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Meeting Reschedule

platform.hr.meetings.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Meetings Overview

platform.hr.meetings.reconcile

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Meetings Reconcile

platform.hr.mentor.propose

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Mentor Propose

platform.hr.module.toggle

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Module Toggle

platform.hr.new.hire.checkin.state

Read. Scope: platform.read, admin. Contract: route_inferred. Hr New Hire Checkin State

platform.hr.offer.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Offer Approve

platform.hr.offer.draft

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Offer Draft

platform.hr.offer.esign.confirm

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Offer Esign Confirm

platform.hr.offer.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Offer List

platform.hr.offer.send

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Offer Send

platform.hr.offer.withdraw

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Offer Withdraw

platform.hr.onboarding.checkins.book

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Onboarding Checkins Book

platform.hr.onboarding.draft.tasks

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Onboarding Draft Tasks

platform.hr.onboarding.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Onboarding Overview

platform.hr.onboarding.plan.buddy

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Onboarding Plan Buddy

platform.hr.onboarding.plan.close

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Onboarding Plan Close

platform.hr.onboarding.plan.create

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Onboarding Plan Create

platform.hr.onboarding.task.block

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Onboarding Task Block

platform.hr.onboarding.task.done

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Onboarding Task Done

platform.hr.onboarding.task.skip

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Onboarding Task Skip

platform.hr.onboarding.task.unblock

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Onboarding Task Unblock

platform.hr.onboarding.task.verify

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Onboarding Task Verify

platform.hr.onboarding.template.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Onboarding Template Save

platform.hr.one.on.one.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr One On One List

platform.hr.one.on.one.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr One On One Record

platform.hr.opportunity.decide

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Opportunity Decide

platform.hr.opportunity.post

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Opportunity Post

platform.hr.org.chart

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Org Chart

platform.hr.org.legal.entities

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Org Legal Entities

platform.hr.org.legal.entity.create

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Org Legal Entity Create

platform.hr.org.location.create

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Org Location Create

platform.hr.org.locations

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Org Locations

platform.hr.org.map.overview

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Org Map Overview

platform.hr.org.map.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Org Map Remove

platform.hr.org.map.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Org Map Save

platform.hr.org.tree

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Org Tree

platform.hr.org.unit.create

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Org Unit Create

platform.hr.org.unit.move

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Org Unit Move

platform.hr.override.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Override Record

platform.hr.overtime.decide

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Overtime Decide

platform.hr.path.enroll

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Path Enroll

platform.hr.path.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Path Save

platform.hr.pay.equity.overview

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Pay Equity Overview

platform.hr.pay.gap.evaluate

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Pay Gap Evaluate

platform.hr.payroll.import

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Payroll Import

platform.hr.payroll.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Payroll Overview

platform.hr.payroll.provider.exceptions

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Payroll Provider Exceptions

platform.hr.payroll.reconcile

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Payroll Reconcile

platform.hr.payslips.issue

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Payslips Issue

platform.hr.people.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr People List

platform.hr.perf.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Perf Overview

platform.hr.person.create

Write. Scope: platform.write, admin. Contract: route_inferred. Create an HR person Required fields: display_name.

platform.hr.person.get

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Person Get

platform.hr.person.identifier.add

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Person Identifier Add

platform.hr.person.identifier.read

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Person Identifier Read

platform.hr.person.identifiers

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Person Identifiers

platform.hr.person.update

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Person Update

platform.hr.pilot.outcome.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Pilot Outcome Record

platform.hr.pipeline

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Pipeline

platform.hr.policy.activate

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Policy Activate

platform.hr.policy.compile

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Policy Compile

platform.hr.pool.create

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Pool Create

platform.hr.pool.member.add

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Pool Member Add

platform.hr.pool.member.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Pool Member Remove

platform.hr.pool.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Pool Overview

platform.hr.portal.address

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Portal Address

platform.hr.portal.slug.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Portal Slug Save

platform.hr.position.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Position Assign

platform.hr.position.create

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Position Create

platform.hr.position.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Position Overview

platform.hr.position.profile.set

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Position Profile Set

platform.hr.position.reports.to

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Position Reports To

platform.hr.position.state

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Position State

platform.hr.position.vacate

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Position Vacate

platform.hr.posting.close

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Posting Close

platform.hr.posting.create

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Posting Create

platform.hr.posting.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Posting List

platform.hr.posting.publish

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Posting Publish

platform.hr.probation.open

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Probation Open

platform.hr.probation.review

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Probation Review

platform.hr.profile.address.format

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Profile Address Format

platform.hr.profile.address.write

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Profile Address Write

platform.hr.profile.decide

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Profile Decide

platform.hr.profile.ownership.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Profile Ownership Get

platform.hr.profile.ownership.set

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Profile Ownership Set

platform.hr.profile.pending

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Profile Pending

platform.hr.profile.photo.clear

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Profile Photo Clear

platform.hr.profile.photo.set

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Profile Photo Set

platform.hr.profile.reveal

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Profile Reveal

platform.hr.profile.section.end

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Profile Section End

platform.hr.profile.section.write

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Profile Section Write

platform.hr.profile.sections

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Profile Sections

platform.hr.pulse.close

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Pulse Close

platform.hr.pulse.issue

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Pulse Issue

platform.hr.pulse.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Pulse List

platform.hr.pulse.open

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Pulse Open

platform.hr.pulse.results

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Pulse Results

platform.hr.quality.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Quality Overview

platform.hr.quality.sample.draw

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Quality Sample Draw

platform.hr.quality.samples

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Quality Samples

platform.hr.quality.verdict

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Quality Verdict

platform.hr.queue.agent.add

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Queue Agent Add

platform.hr.queue.agent.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Queue Agent Remove

platform.hr.queue.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Queue Save

platform.hr.readiness.report

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Readiness Report

platform.hr.recognise

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Recognise

platform.hr.relations.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Relations Overview

platform.hr.release.gates

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Release Gates

platform.hr.release.verify

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Release Verify

platform.hr.req.create

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Req Create

platform.hr.req.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Req List

platform.hr.req.reject

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Req Reject

platform.hr.req.transition

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Req Transition

platform.hr.review.cycle.open

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Review Cycle Open

platform.hr.review.include

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Review Include

platform.hr.review.respond

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Review Respond

platform.hr.review.template.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Review Template Save

platform.hr.rubric.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Rubric Approve

platform.hr.rubric.create

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Rubric Create

platform.hr.rubric.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Rubric List

platform.hr.run.replay

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Run Replay

platform.hr.run.start

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Run Start

platform.hr.run.step

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Run Step

platform.hr.run.takeover

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Run Takeover

platform.hr.scenario.run

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Scenario Run

platform.hr.schedule.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Schedule Save

platform.hr.screening.correct

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Screening Correct

platform.hr.screening.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Screening List

platform.hr.screening.review

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Screening Review

platform.hr.screening.run

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Screening Run

platform.hr.screening.verify

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Screening Verify

platform.hr.security.assurance.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Security Assurance Record

platform.hr.service.item.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Service Item Save

platform.hr.servicedesk.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Servicedesk Overview

platform.hr.shadow.compare

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Shadow Compare

platform.hr.shift.add

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Shift Add

platform.hr.shift.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Shift Assign

platform.hr.signature.cancel

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Signature Cancel

platform.hr.signature.confirm

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Signature Confirm

platform.hr.signature.list

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Signature List

platform.hr.signature.request

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Signature Request

platform.hr.signin.design.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Signin Design Get

platform.hr.signin.design.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Signin Design Save

platform.hr.skill.challenge.resolve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Skill Challenge Resolve

platform.hr.skills.infer.sweep

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Skills Infer Sweep

platform.hr.skills.infer.text

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Skills Infer Text

platform.hr.skills.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Skills Overview

platform.hr.skills.taxonomy.adopt

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Skills Taxonomy Adopt

platform.hr.status

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Status

platform.hr.succession.nominate

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Succession Nominate

platform.hr.succession.open

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Succession Open

platform.hr.succession.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Succession Overview

platform.hr.swap.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Swap Approve

platform.hr.swap.decline

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Swap Decline

platform.hr.sync.conflict.resolve

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Sync Conflict Resolve

platform.hr.talent.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Talent Overview

platform.hr.thread.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Thread Delete

platform.hr.thread.dm

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Thread Dm

platform.hr.thread.legal.hold

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Thread Legal Hold

platform.hr.thread.outreach

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Thread Outreach

platform.hr.thread.post

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Thread Post

platform.hr.thread.read

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Thread Read

platform.hr.thread.retention

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Thread Retention

platform.hr.thread.search

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Thread Search

platform.hr.threads.inbox

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Threads Inbox

platform.hr.threads.retention.sweep

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hr Threads Retention Sweep

platform.hr.time.decide

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Time Decide

platform.hr.time.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Time Overview

platform.hr.title.history

Read. Scope: platform.read, admin. Contract: route_inferred. Hr Title History

platform.hr.title.record

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Title Record

platform.hr.training.requirement.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Training Requirement Save

platform.hr.truth.register

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Truth Register

platform.hr.turnover.run

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Turnover Run

platform.hr.verifier.verdict

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Verifier Verdict

platform.hr.wb.grant

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Wb Grant

platform.hr.wb.identity

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Wb Identity

platform.hr.wb.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Wb List

platform.hr.wb.read

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Wb Read

platform.hr.wb.state

Write. Scope: platform.write, admin. Contract: route_inferred. Hr Wb State

platform.hr.workforce.dashboard

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hr Workforce Dashboard

platform.inbound.activity.feed

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Activity Feed

platform.inbound.endpoints.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Endpoints Delete

platform.inbound.endpoints.list

Write. Scope: admin. Contract: route_inferred. Inbound Endpoints List

platform.inbound.endpoints.save

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Endpoints Save

platform.inbound.endpoints.test

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Endpoints Test

platform.interrupted

Read. Scope: platform.read, admin. Contract: declared_dynamic. Interrupted

platform.ip.classify

Read. Scope: platform.read, admin. Contract: route_inferred. Ip Classify

platform.js.errors.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Js Errors Clear All

platform.js.errors.list

Read. Scope: platform.read, admin. Contract: route_inferred. Js Errors List

platform.js.issue.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Js Issue Assign

platform.js.issue.update

Write. Scope: platform.write, admin. Contract: route_inferred. Js Issue Update

platform.js.sourcemap.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Js Sourcemap Delete

platform.js.sourcemap.upload

Write. Scope: platform.write, admin. Contract: route_inferred. Js Sourcemap Upload

platform.js.sourcemaps.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Js Sourcemaps List

platform.leads

Read. Scope: platform.read, admin. Contract: route_inferred. Leads

platform.license.delete

Write. Scope: admin. Contract: declared_dynamic. License Delete

platform.license.diagnostics

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Diagnostics

platform.license.force.check

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Force Check

platform.license.preflight

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Preflight

platform.license.save

Write. Scope: admin. Contract: route_inferred. License Save

platform.license.status

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Status

platform.license.verify.now

Write. Scope: platform.write, admin. Contract: declared_dynamic. License Verify Now

platform.lifecycle.evaluate

Read. Scope: platform.read, admin. Contract: route_inferred. Lifecycle Evaluate

platform.lifecycle.rule.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Lifecycle Rule Delete

platform.lifecycle.rule.list

Read. Scope: platform.read, admin. Contract: route_inferred. Lifecycle Rule List

platform.lifecycle.rule.save

Write. Scope: platform.write, admin. Contract: route_inferred. Lifecycle Rule Save

platform.list.assignable.sites

Read. Scope: platform.read, admin. Contract: declared_dynamic. List Assignable Sites

platform.list.network.issues

Read. Scope: platform.read, admin. Contract: declared_dynamic. List Network Issues

platform.lookup.client.full

Read. Scope: platform.read, admin. Contract: route_inferred. Lookup Client Full

platform.mark.feedback.read

Write. Scope: platform.write, admin. Contract: route_inferred. Mark Feedback Read

platform.marketplace.local.install

Write. Scope: platform.write, admin. Contract: route_inferred. Marketplace Local Install

platform.marketplace.local.uninstall

Write. Scope: platform.write, admin. Contract: route_inferred. Marketplace Local Uninstall

platform.marketplace.session.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Marketplace Session Get

platform.marketplace.session.set

Write. Scope: platform.write, admin. Contract: route_inferred. Marketplace Session Set

platform.media.ready

Read. Scope: platform.read, admin. Contract: route_inferred. Media Ready

platform.message.contact.locale

Write. Scope: platform.write, admin. Contract: route_inferred. Message Contact Locale

platform.message.outbound.convert

Write. Scope: platform.write, admin. Contract: route_inferred. Message Outbound Convert

platform.message.translate

Write. Scope: platform.write, admin. Contract: route_inferred. Message Translate

platform.message.translation.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Message Translation Delete

platform.message.translation.save

Write. Scope: platform.write, admin. Contract: route_inferred. Message Translation Save

platform.meta.channels.disconnect

Write. Scope: platform.write, admin. Contract: declared_dynamic. Meta Channels Disconnect

platform.meta.channels.switch.page

Write. Scope: platform.write, admin. Contract: route_inferred. Meta Channels Switch Page

platform.observe

Read. Scope: platform.read, admin. Contract: declared_dynamic. Observe

platform.onboarding.action

Read. Scope: platform.read, admin. Contract: declared_dynamic. Onboarding Action

platform.onboarding.readiness

Read. Scope: platform.read, admin. Contract: declared_dynamic. Onboarding Readiness

platform.open.network.issue

Read. Scope: platform.read, admin. Contract: declared_dynamic. Open Network Issue

platform.open.ticket

Read. Scope: platform.read, admin. Contract: route_inferred. Open Ticket

platform.operator.text.translate

Write. Scope: platform.write, admin. Contract: route_inferred. Operator Text Translate

platform.opsiq.backup.export

Read. Scope: platform.read, admin. Contract: declared_dynamic. Download a full backup in one request (retired)

platform.opsiq.backup.import

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Import

platform.opsiq.backup.import.start

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Import Start

platform.opsiq.backup.job.start

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Job Start

platform.opsiq.backup.job.status

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Job Status

platform.outreach.campaign.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Campaign Delete

platform.outreach.campaign.list

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Campaign List

platform.outreach.campaign.save

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Campaign Save

platform.outreach.campaign.send

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Campaign Send

platform.outreach.compose.send

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Compose Send

platform.outreach.draft.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Draft Delete

platform.outreach.draft.list

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Draft List

platform.outreach.draft.save

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Draft Save

platform.outreach.messages.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Messages Delete

platform.outreach.replies.list

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Replies List

platform.outreach.reply.ai

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Ai

platform.outreach.reply.mark

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Mark

platform.outreach.reply.pref

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Pref

platform.outreach.reply.send

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Send

platform.outreach.reply.thread

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Thread

platform.outreach.send.detail

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Send Detail

platform.outreach.send.retry

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Send Retry

platform.outreach.sends.list

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Sends List

platform.outreach.template.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Template Delete

platform.outreach.template.list

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Template List

platform.outreach.template.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Template Preview

platform.outreach.template.save

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Template Save

platform.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Overview

platform.overview.hub.view

Read. Scope: platform.read, admin. Contract: route_inferred. Overview Hub View

platform.overview.intelligence.graph

Read. Scope: platform.read, admin. Contract: declared_dynamic. Overview Intelligence Graph

platform.pages

Read. Scope: platform.read, admin. Contract: route_inferred. Pages

platform.paths.data

Read. Scope: platform.read, admin. Contract: route_inferred. Paths Data

platform.pause

Read. Scope: platform.read, admin. Contract: declared_dynamic. Pause

platform.profile.change.password

Write. Scope: platform.write, admin. Contract: declared_dynamic. Profile Change Password

platform.profile.get

Read. Scope: platform.read, admin. Contract: route_inferred. Profile Get

platform.profile.reward.claim

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Reward Claim

platform.profile.reward.claim.cancel

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Reward Claim Cancel

platform.profile.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Profile Save

platform.profile.session.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Session Revoke

platform.profile.sessions.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Profile Sessions List

platform.profile.sessions.revoke.others

Write. Scope: platform.write, admin. Contract: declared_dynamic. Profile Sessions Revoke Others

platform.profile.team.dispute.file

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Team Dispute File

platform.purge

Write. Scope: admin. Contract: route_inferred. Purge

platform.purge.all

Write. Scope: admin. Contract: route_inferred. Purge All

platform.realtime

Read. Scope: platform.read, admin. Contract: route_inferred. Realtime

platform.realtime.test

Write. Scope: platform.write, admin. Contract: route_inferred. Realtime Test

platform.resume

Read. Scope: platform.read, admin. Contract: declared_dynamic. Resume

platform.retention.data

Read. Scope: platform.read, admin. Contract: route_inferred. Retention Data

platform.routes.list

Read. Scope: admin. Contract: source_inferred. List every registered OpsIQ operation

platform.routes.read

Read. Scope: admin. Contract: explicit. Execute a registered read operation Required fields: route.

platform.routes.write

Write. Scope: admin. Contract: explicit. Execute a registered write operation Required fields: route, idempotency_key. Retry-safe with idempotency_key.

platform.run.ai.analysis

Write. Scope: platform.write, admin. Contract: route_inferred. Run Ai Analysis

platform.save.admin.chat.history

Write. Scope: platform.write, admin. Contract: route_inferred. Save Admin Chat History

platform.save.pwa.chat.prefs

Write. Scope: platform.write, admin. Contract: declared_dynamic. Save Pwa Chat Prefs

platform.save.survey.config

Write. Scope: platform.write, admin. Contract: route_inferred. Save Survey Config

platform.save.widget.advanced

Write. Scope: platform.write, admin. Contract: declared_dynamic. Save Widget Advanced

platform.scim.token.issue

Read. Scope: platform.read, admin. Contract: route_inferred. Scim Token Issue

platform.scim.token.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Scim Token List

platform.scim.token.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Scim Token Revoke

platform.segment.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Delete

platform.segment.list

Read. Scope: platform.read, admin. Contract: route_inferred. Segment List

platform.segment.members

Read. Scope: platform.read, admin. Contract: route_inferred. Segment Members

platform.segment.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Segment Preview

platform.segment.save

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Save

platform.segment.suggestion.accept

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Suggestion Accept

platform.segment.suggestion.dismiss

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Suggestion Dismiss

platform.segment.suggestion.list

Read. Scope: platform.read, admin. Contract: route_inferred. Segment Suggestion List

platform.send.campaign

Write. Scope: platform.write, admin. Contract: route_inferred. Send Campaign

platform.send.client.email

Write. Scope: platform.write, admin. Contract: route_inferred. Send Client Email

platform.send.ticket.reply

Write. Scope: platform.write, admin. Contract: route_inferred. Send Ticket Reply

platform.service.studio.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Service Studio Get

platform.set.active.site

Write. Scope: platform.write, admin. Contract: route_inferred. Set Active Site

platform.silence

Read. Scope: platform.read, admin. Contract: declared_dynamic. Silence

platform.site.set.group

Write. Scope: platform.write, admin. Contract: route_inferred. Site Set Group

platform.sites.add

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Add

platform.sites.edit

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Edit

platform.sites.list

Write. Scope: platform.write, admin. Contract: route_inferred. Sites List

platform.sites.picker

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Picker

platform.sites.regenerate.secret

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Regenerate Secret

platform.sites.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Remove

platform.stats

Read. Scope: platform.read, admin. Contract: declared_dynamic. Stats

platform.stepup.verify

Write. Scope: platform.write, admin. Contract: declared_dynamic. Stepup Verify

platform.submit.agent.ai.feedback

Write. Scope: platform.write, admin. Contract: route_inferred. Submit Agent Ai Feedback

platform.submit.triage.feedback

Write. Scope: platform.write, admin. Contract: route_inferred. Submit Triage Feedback

platform.takeover

Read. Scope: platform.read, admin. Contract: declared_dynamic. Takeover

platform.terminate

Read. Scope: platform.read, admin. Contract: route_inferred. Terminate

platform.test.geoip

Read. Scope: platform.read, admin. Contract: route_inferred. Test Geoip

platform.top.pages

Read. Scope: platform.read, admin. Contract: route_inferred. Top Pages

platform.train.client.chat.knowledge

Write. Scope: platform.write, admin. Contract: route_inferred. Train Client Chat Knowledge

platform.triggers

Read. Scope: platform.read, admin. Contract: declared_dynamic. Triggers

platform.trust.evidence.report

Write. Scope: platform.write, admin. Contract: declared_dynamic. Trust Evidence Report

platform.turn.pool.add

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Add

platform.turn.pool.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Turn Pool List

platform.turn.pool.pick.test

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Pick Test

platform.turn.pool.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Remove

platform.turn.pool.update

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Update

platform.update.lead.status

Write. Scope: platform.write, admin. Contract: route_inferred. Update Lead Status

platform.wa.embedded.signup.exchange

Write. Scope: platform.write, admin. Contract: route_inferred. Wa Embedded Signup Exchange

platform.warehouse.export.run

Read. Scope: platform.read, admin. Contract: declared_dynamic. Warehouse Export Run

platform.warehouse.exports.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Warehouse Exports List

platform.webhook.deliveries.list

Read. Scope: platform.read, admin. Contract: route_inferred. Webhook Deliveries List

platform.webhook.endpoint.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Endpoint Delete

platform.webhook.endpoint.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Webhook Endpoint List

platform.webhook.endpoint.save

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Endpoint Save

platform.webhook.endpoint.test

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Endpoint Test

platform.webhook.redeliver

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Redeliver

platform.weekly.digest.view

Read. Scope: platform.read, admin. Contract: route_inferred. Weekly Digest View

platform.whmcs.op.dispatch

Read. Scope: platform.read, admin. Contract: declared_dynamic. Whmcs Op Dispatch

platform.workspace.custom.domain.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Workspace Custom Domain Remove

platform.workspace.custom.domain.set

Write. Scope: platform.write, admin. Contract: route_inferred. Workspace Custom Domain Set

platform.writing.json.knowledge.clear

Write. Scope: platform.write, admin. Contract: declared_dynamic. Writing Json Knowledge Clear

platform.writing.json.knowledge.count

Read. Scope: platform.read, admin. Contract: declared_dynamic. Writing Json Knowledge Count

platform.writing.json.knowledge.import

Write. Scope: platform.write, admin. Contract: route_inferred. Writing Json Knowledge Import

portal_studio (169)

portal_studio.accessibility.evidence.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Accessibility Evidence Save

portal_studio.add

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Domain Add

portal_studio.allocate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Subdomain Allocate

portal_studio.analytics.breakdown

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Analytics Breakdown

portal_studio.analytics.load

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Analytics Load

portal_studio.apply.kit

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Apply Kit

portal_studio.apply.theme

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Apply Theme

portal_studio.approval

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Design Approval

portal_studio.approve

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Approve

portal_studio.ask

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Ask

portal_studio.audience.delete

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Audience Delete

portal_studio.audience.explain

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Audience Explain

portal_studio.audience.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Audience List

portal_studio.audience.preview

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Audience Preview

portal_studio.audience.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Audience Save

portal_studio.brand.generate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Brand Generate

portal_studio.brand.import

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Brand Import

portal_studio.cancel.schedule

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Design Cancel Schedule

portal_studio.certify

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Certify

portal_studio.check

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Host Check

portal_studio.check.route.portal.subdomain.check

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Subdomain Check

portal_studio.comment.add

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Comment Add

portal_studio.comment.resolve

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Comment Resolve

portal_studio.component.package.inspect

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Component Package Inspect

portal_studio.component.package.install

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Component Package Install

portal_studio.component.validate

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Component Validate

portal_studio.config

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Handoff Config

portal_studio.data.resolve

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Data Resolve

portal_studio.delete.theme

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Delete Theme

portal_studio.developer.contract

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Developer Contract

portal_studio.discovery.preview

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Discovery Preview

portal_studio.discovery.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Discovery Save

portal_studio.document.load

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Load

portal_studio.document.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Save

portal_studio.experiment.control

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Experiment Control

portal_studio.experiment.results

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Experiment Results

portal_studio.experiment.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Experiment Save

portal_studio.experiments.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Experiments List

portal_studio.form.archive

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Form Archive

portal_studio.form.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Form Catalog

portal_studio.form.create

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Create

portal_studio.form.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Delete

portal_studio.form.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Duplicate

portal_studio.form.evaluate

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Form Evaluate

portal_studio.form.group.apply

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Group Apply

portal_studio.form.group.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Group Delete

portal_studio.form.group.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Group Save

portal_studio.form.publish

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Publish

portal_studio.form.restore

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Form Restore

portal_studio.form.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Save

portal_studio.form.template

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Template

portal_studio.form.test

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Form Test

portal_studio.form.version.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Version Restore

portal_studio.history

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Design History

portal_studio.identity.discover

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Identity Discover

portal_studio.identity.load

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Identity Load

portal_studio.identity.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Identity Save

portal_studio.integration.activate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Activate

portal_studio.integration.install

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Install

portal_studio.integration.kill.switch

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Kill Switch

portal_studio.integration.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Integration List

portal_studio.integration.policy

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Integration Policy

portal_studio.integration.policy.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Integration Policy Save

portal_studio.integration.preflight

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Preflight

portal_studio.integration.revise

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Revise

portal_studio.integration.rollback

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Rollback

portal_studio.integration.transition

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Transition

portal_studio.journey.archive

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Archive

portal_studio.journey.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Journey Catalog

portal_studio.journey.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Delete

portal_studio.journey.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Duplicate

portal_studio.journey.evaluate

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Journey Evaluate

portal_studio.journey.instantiate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Instantiate

portal_studio.journey.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Restore

portal_studio.journey.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Save

portal_studio.kb.category.delete

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Category Delete

portal_studio.kb.category.reorder

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Category Reorder

portal_studio.kb.category.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Kb Category Save

portal_studio.kb.governance

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Governance

portal_studio.kb.governance.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Kb Governance Save

portal_studio.kb.languages

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Languages

portal_studio.kb.languages.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Languages Save

portal_studio.kb.parity

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Parity

portal_studio.kb.search.tuning

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Search Tuning

portal_studio.kb.search.tuning.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Search Tuning Save

portal_studio.kb.tree

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Tree

portal_studio.knowledge.summary

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Knowledge Summary

portal_studio.list

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Domain List

portal_studio.load

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Analytics Load

portal_studio.load.route.portal.design.load

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Design Load

portal_studio.load.route.portal.form.load

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Form Load

portal_studio.lock

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Lock

portal_studio.migration.apply

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Apply

portal_studio.migration.approve

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Approve

portal_studio.migration.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Migration List

portal_studio.migration.reconcile

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Reconcile

portal_studio.migration.report

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Migration Report

portal_studio.migration.rollback

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Rollback

portal_studio.migration.rollout

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Rollout

portal_studio.migration.start

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Start

portal_studio.node.add

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Add

portal_studio.node.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Delete

portal_studio.node.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Duplicate

portal_studio.node.move

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Move

portal_studio.node.update

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Update

portal_studio.operations.control

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Operations Control

portal_studio.operations.feed

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Operations Feed

portal_studio.operations.record

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Operations Record

portal_studio.operations.summary

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Operations Summary

portal_studio.org.context

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Org Context

portal_studio.org.member.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Org Member Save

portal_studio.org.members

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Org Members

portal_studio.org.requests

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Org Requests

portal_studio.page.archive

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Archive

portal_studio.page.create

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Create

portal_studio.page.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Delete

portal_studio.page.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Duplicate

portal_studio.page.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Restore

portal_studio.page.update

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Update

portal_studio.parity.accept

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Accept

portal_studio.parity.capture

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Capture

portal_studio.parity.compare

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Compare

portal_studio.parity.create

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Create

portal_studio.parity.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Parity List

portal_studio.personalization.delete

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Personalization Delete

portal_studio.personalization.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Personalization List

portal_studio.personalization.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Personalization Save

portal_studio.presence

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Presence

portal_studio.preview

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Preview

portal_studio.preview.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Preview Catalog

portal_studio.publish

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Publish

portal_studio.quality

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Quality

portal_studio.redirect.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Redirect Delete

portal_studio.redirect.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Redirect Save

portal_studio.release.diff

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Release Diff

portal_studio.release.evidence

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Design Release Evidence

portal_studio.release.history

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Release History

portal_studio.release.publish

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Publish

portal_studio.release.rollback

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Rollback

portal_studio.release.schedule

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Schedule

portal_studio.remove

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Domain Remove

portal_studio.request.changes

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Request Changes

portal_studio.restore.field

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Restore Field

portal_studio.restore.published

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Restore Published

portal_studio.revert

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Design Revert

portal_studio.review

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Review

portal_studio.review.link

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Review Link

portal_studio.rollback

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Rollback

portal_studio.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Save

portal_studio.save.route.portal.form.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Form Save

portal_studio.save.theme

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Save Theme

portal_studio.saved.section.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Saved Section Delete

portal_studio.saved.section.instantiate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Saved Section Instantiate

portal_studio.saved.section.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Saved Section Save

portal_studio.schedule

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Design Schedule

portal_studio.schedule.cancel

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Schedule Cancel

portal_studio.scim.config

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Scim Config

portal_studio.service.archive

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Archive

portal_studio.service.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Service Catalog

portal_studio.service.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Duplicate

portal_studio.service.reorder

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Reorder

portal_studio.service.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Restore

portal_studio.service.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Save

portal_studio.service.template

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Template

portal_studio.sign.in.flow.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Sign In Flow Save

portal_studio.signin.methods

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Signin Methods

portal_studio.test.link

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Handoff Test Link

portal_studio.unlock

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Unlock

portal_studio.upload

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Image Upload

sales (14)

sales.ai.insight

Write. Scope: sales.write, admin. Contract: route_inferred. Sales Ai Insight

sales.analyze

Write. Scope: sales.write, analytics.write, admin. Contract: route_inferred. Analyze sales with AI

sales.chart

Write. Scope: sales.write, admin. Contract: route_inferred. Sales Chart

sales.compare

Read. Scope: sales.read, analytics.read, admin. Contract: route_inferred. Compare sales periods

sales.compare.route.sales.compare

Read. Scope: sales.read, admin. Contract: route_inferred. Sales Compare

sales.goal.delete

Write. Scope: sales.write, admin. Contract: route_inferred. Conversion Goal Delete

sales.goal.list

Read. Scope: sales.read, admin. Contract: route_inferred. Conversion Goal List

sales.goal.save

Write. Scope: sales.write, admin. Contract: route_inferred. Conversion Goal Save

sales.list

Read. Scope: sales.read, analytics.read, admin. Contract: route_inferred. List sales and conversions

sales.list.route.conversion.list

Read. Scope: sales.read, admin. Contract: route_inferred. Conversion List

sales.record

Write. Scope: sales.write, admin. Contract: route_inferred. Conversion Record

sales.stats

Read. Scope: sales.read, analytics.read, admin. Contract: declared_dynamic. Read sales statistics

sales.stats.route.sales.stats

Read. Scope: sales.read, admin. Contract: declared_dynamic. Sales Stats

sales.table

Read. Scope: sales.read, admin. Contract: route_inferred. Sales Table

امنیت امنیتی (21)

security.ai.analyze

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Analyze

security.ai.ask

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Ask

security.ai.briefs

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Ai Briefs

security.ai.chain.explain

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Chain Explain

security.ai.incident.action

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Incident Action

security.ai.incidents

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Incidents

security.ai.js.triage

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Js Triage

security.ai.policies

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Ai Policies

security.ai.policy.action

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Policy Action

security.ai.verdicts

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Verdicts

security.blocklist.add

Write. Scope: security.write, admin. Contract: source_inferred. Add a spam rule (email, domain or IP) to the ticket blocklist Required fields: kind, value. Retry-safe with idempotency_key.

security.blocklist.list

Read. Scope: security.read, admin. Contract: explicit. List the current ticket spam rules

security.chain.reanchor

Write. Scope: security.write, admin. Contract: declared_dynamic. Security Chain Reanchor

security.check

Read. Scope: security.read, admin. Contract: source_inferred. Check an IP or email against the platform blocklists and Security AI verdicts

security.ip

Write. Scope: security.write, admin. Contract: route_inferred. Block Ip

security.ip.route.unblock.ip

Write. Scope: security.write, admin. Contract: route_inferred. Unblock Ip

security.list

Write. Scope: security.write, admin. Contract: route_inferred. Access Log List

security.overview.chains

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Overview Chains

security.overview.data

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Overview Data

security.report

Write. Scope: security.write, admin. Contract: source_inferred. Report abuse a connector observed (spam, login attack, scan, fraud) Retry-safe with idempotency_key.

security.visitor

Write. Scope: security.write, admin. Contract: route_inferred. Block Visitor

sessions (5)

sessions.detail

Read. Scope: sessions.read, admin. Contract: route_inferred. Session Detail

sessions.get

Read. Scope: sessions.read, analytics.read, admin. Contract: route_inferred. Get a session journey Required fields: session_id.

sessions.list

Read. Scope: sessions.read, analytics.read, admin. Contract: route_inferred. List sessions

sessions.merged

Read. Scope: sessions.read, admin. Contract: route_inferred. Sessions Merged

sessions.table

Read. Scope: sessions.read, admin. Contract: route_inferred. Sessions Table

settings (11)

settings.ai.eval.watchtower.config

Write. Scope: settings.write, admin. Contract: declared_dynamic. Ai Eval Watchtower Config

settings.get.client.chat.settings

Read. Scope: settings.read, admin. Contract: route_inferred. Get Client Chat Settings

settings.get.settings

Read. Scope: settings.read, admin. Contract: route_inferred. Get Settings

settings.opsiq.branding.clear

Write. Scope: admin. Contract: route_inferred. Opsiq Branding Clear

settings.opsiq.branding.upload

Write. Scope: admin. Contract: route_inferred. Opsiq Branding Upload

settings.privacy.settings.get

Read. Scope: settings.read, admin. Contract: declared_dynamic. Privacy Settings Get

settings.privacy.settings.save

Write. Scope: settings.write, admin. Contract: route_inferred. Privacy Settings Save

settings.save.ai.settings

Write. Scope: settings.write, admin. Contract: route_inferred. Save Ai Settings

settings.save.chat.widget.settings

Write. Scope: settings.write, admin. Contract: declared_dynamic. Save Chat Widget Settings

settings.save.client.chat.settings

Write. Scope: settings.write, admin. Contract: route_inferred. Save Client Chat Settings

settings.save.settings

Write. Scope: settings.write, admin. Contract: route_inferred. Save Settings

site_intelligence (221)

site_intelligence.action.audit.chain

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Audit Chain

site_intelligence.action.execute

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Execute

site_intelligence.action.preview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Preview

site_intelligence.action.token

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Token

site_intelligence.agent.auto.bg

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Auto Bg

site_intelligence.agent.auto.bg.stop

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Auto Bg Stop

site_intelligence.agent.auto.step

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Auto Step

site_intelligence.agent.chat

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Chat

site_intelligence.agent.conn.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Delete

site_intelligence.agent.conn.get

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Get

site_intelligence.agent.conn.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Save

site_intelligence.agent.conn.test

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Test

site_intelligence.agent.coverage

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Coverage

site_intelligence.agent.events

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Events

site_intelligence.agent.hosted.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Apply

site_intelligence.agent.hosted.finalize

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Finalize

site_intelligence.agent.hosted.live.set

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Live Set

site_intelligence.agent.hosted.preview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Preview

site_intelligence.agent.hosted.rollback

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Rollback

site_intelligence.agent.hosted.start

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Start

site_intelligence.agent.hosted.verify

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Verify

site_intelligence.agent.run.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Delete

site_intelligence.agent.run.finalize

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Finalize

site_intelligence.agent.run.rollback

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Rollback

site_intelligence.agent.run.start

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Start

site_intelligence.agent.run.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Status

site_intelligence.agent.run.verify

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Verify

site_intelligence.agent.runs.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Runs List

site_intelligence.agent.set.mode

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Set Mode

site_intelligence.agent.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Status

site_intelligence.agent.step.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Step Apply

site_intelligence.agent.step.skip

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Step Skip

site_intelligence.agent.turn.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Turn Status

site_intelligence.ai.activity

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Ai Activity

site_intelligence.ai.alert.enrich

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Alert Enrich

site_intelligence.ai.alerts

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Alerts

site_intelligence.ai.analyst

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst

site_intelligence.ai.analyst.ask

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst Ask

site_intelligence.ai.analyst.email

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst Email

site_intelligence.ai.analyst.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst Run

site_intelligence.ai.badges

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Badges

site_intelligence.ai.badges.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Ai Badges Portfolio

site_intelligence.ai.badges.preview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Badges Preview

site_intelligence.ai.bl.plan

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Bl Plan

site_intelligence.ai.bl.plan.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Bl Plan Run

site_intelligence.ai.brief

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Brief

site_intelligence.ai.brief.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Brief Run

site_intelligence.ai.comp.analyse

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Comp Analyse

site_intelligence.ai.comp.analyse.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Comp Analyse Run

site_intelligence.ai.content.get

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content Get

site_intelligence.ai.content.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content List

site_intelligence.ai.content.publish

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content Publish

site_intelligence.ai.content.write

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content Write

site_intelligence.ai.daily.digest

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Daily Digest

site_intelligence.ai.discover

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Discover

site_intelligence.ai.fix.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Apply

site_intelligence.ai.fix.apply.bulk

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Apply Bulk

site_intelligence.ai.fix.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Dismiss

site_intelligence.ai.fix.dismiss.bulk

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Dismiss Bulk

site_intelligence.ai.fix.generate

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Generate

site_intelligence.ai.fix.generate.all

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Generate All

site_intelligence.ai.fix.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix List

site_intelligence.ai.kw.coach

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Kw Coach

site_intelligence.ai.kw.coach.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Kw Coach Run

site_intelligence.ai.overview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Overview

site_intelligence.ai.page.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Page Audit

site_intelligence.ai.page.audit.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Page Audit Run

site_intelligence.ai.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Ai Portfolio

site_intelligence.ai.portfolio.history

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Ai Portfolio History

site_intelligence.ai.portfolio.run

Write. Scope: site_intelligence.write, admin. Contract: declared_dynamic. Si Ai Portfolio Run

site_intelligence.ai.probe

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Probe

site_intelligence.ai.prompt.add

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompt Add

site_intelligence.ai.prompt.history

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompt History

site_intelligence.ai.prompt.remove

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompt Remove

site_intelligence.ai.prompts

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompts

site_intelligence.ai.readiness

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Readiness

site_intelligence.ai.ready

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Ready

site_intelligence.alert.resolve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Alert Resolve

site_intelligence.alerts

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Alerts

site_intelligence.alerts.list

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. List Site Intelligence alerts

site_intelligence.alerts.resolve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Resolve a Site Intelligence alert Required fields: alert_id.

site_intelligence.analyze

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Analyze

site_intelligence.ask

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ask

site_intelligence.audit.hint

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Audit Hint

site_intelligence.backlink.disavow

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Backlink Disavow

site_intelligence.backlinks

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Backlinks

site_intelligence.backlinks.list

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. List backlinks

site_intelligence.backlinks.refresh

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Backlinks Refresh

site_intelligence.billing.overview

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Billing Overview

site_intelligence.brand.get

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Brand Get

site_intelligence.brand.radar

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Brand Radar

site_intelligence.brand.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Brand Save

site_intelligence.cannibalisation

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Cannibalisation

site_intelligence.compare

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Compare

site_intelligence.competitor.add

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Competitor Add

site_intelligence.competitor.refresh

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Competitor Refresh

site_intelligence.competitor.remove

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Competitor Remove

site_intelligence.competitors

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Competitors

site_intelligence.competitors.list

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. List competitors

site_intelligence.content.brief

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Content Brief

site_intelligence.content.decay

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Content Decay

site_intelligence.content.draft

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Content Draft

site_intelligence.crawl.budget

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Crawl Budget

site_intelligence.crawl.list

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Crawl List

site_intelligence.crawl.status

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Crawl Status

site_intelligence.crawls.list

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. List Site Intelligence crawls

site_intelligence.crawls.status

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Get crawl status

site_intelligence.dashboard

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Read the Site Intelligence dashboard

site_intelligence.dashboard.route.si.dashboard

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Dashboard

site_intelligence.dashboard.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Dashboard Save

site_intelligence.diag.backfill

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Backfill

site_intelligence.diag.compare

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Compare

site_intelligence.diag.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Diag Portfolio

site_intelligence.diag.recs.regen

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Recs Regen

site_intelligence.diag.thresholds

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds

site_intelligence.diag.thresholds.eval

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds Eval

site_intelligence.diag.thresholds.history

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds History

site_intelligence.diag.thresholds.profile

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds Profile

site_intelligence.diag.thresholds.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds Save

site_intelligence.diagnostics

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diagnostics

site_intelligence.exec.report

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Exec Report

site_intelligence.export

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Export

site_intelligence.ga4.connect

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Connect

site_intelligence.ga4.list.properties

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 List Properties

site_intelligence.ga4.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Map

site_intelligence.ga4.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Status

site_intelligence.ga4.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Sync

site_intelligence.gbp

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp

site_intelligence.gbp.draft.approve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Draft Approve

site_intelligence.gbp.draft.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Draft Dismiss

site_intelligence.gbp.draft.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Draft Sync

site_intelligence.gbp.drafts

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Drafts

site_intelligence.gbp.locations

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Gbp Locations

site_intelligence.gbp.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Map

site_intelligence.gbp.post.draft

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Post Draft

site_intelligence.gbp.post.publish

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Post Publish

site_intelligence.gbp.qa

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa

site_intelligence.gbp.qa.approve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa Approve

site_intelligence.gbp.qa.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa Dismiss

site_intelligence.gbp.qa.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa Sync

site_intelligence.gbp.site.prefs

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Site Prefs

site_intelligence.gbp.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Sync

site_intelligence.google.truth.schedule.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Google Truth Schedule Save

site_intelligence.growth

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Growth

site_intelligence.gsc.connect

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Connect

site_intelligence.gsc.list.properties

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc List Properties

site_intelligence.gsc.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Map

site_intelligence.gsc.opportunities

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Opportunities

site_intelligence.gsc.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Status

site_intelligence.gsc.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Sync

site_intelligence.image.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Image Audit

site_intelligence.internal.links

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Internal Links

site_intelligence.issue.history

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Issue History

site_intelligence.issues

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Issues

site_intelligence.issues.list

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. List Site Intelligence issues

site_intelligence.keyword.add

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Keyword Add

site_intelligence.keyword.remove

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Keyword Remove

site_intelligence.keyword.research

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Keyword Research

site_intelligence.keywords

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Keywords

site_intelligence.keywords.list

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. List tracked keywords

site_intelligence.local

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Local

site_intelligence.local.grid

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Local Grid

site_intelligence.local.grid.scan

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Local Grid Scan

site_intelligence.log.ingest

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Log Ingest

site_intelligence.log.summary

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Log Summary

site_intelligence.metadata.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Metadata Audit

site_intelligence.overview

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Overview

site_intelligence.page

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Page

site_intelligence.page.experience

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Page Experience

site_intelligence.page.optimize

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Page Optimize

site_intelligence.pages

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Pages

site_intelligence.pages.list

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. List Site Intelligence pages

site_intelligence.pagespeed.bridge.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Pagespeed Bridge Status

site_intelligence.portfolio.export

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Portfolio Export

site_intelligence.provider.health

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Provider Health

site_intelligence.rank.check

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Rank Check

site_intelligence.rec.action

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Rec Action

site_intelligence.recommendations

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Recommendations

site_intelligence.redirect.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Redirect Audit

site_intelligence.report

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Report

site_intelligence.report.generate

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Report Generate

site_intelligence.reports

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Reports

site_intelligence.reports.list

Read. Scope: site_intelligence.read, admin. Contract: source_inferred. Site Intelligence Reports List

site_intelligence.reset.google.oauth

Write. Scope: site_intelligence.write, admin. Contract: declared_dynamic. Si Reset Google Oauth

site_intelligence.revenue

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Revenue

site_intelligence.revenue.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Revenue Portfolio

site_intelligence.save.shared.google.oauth

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Save Shared Google Oauth

site_intelligence.scan.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Start a Site Intelligence analysis

site_intelligence.schedule.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedule Delete

site_intelligence.schedule.run.now

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedule Run Now

site_intelligence.schedule.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedule Save

site_intelligence.schedules.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedules List

site_intelligence.schema.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schema Audit

site_intelligence.server.engineer

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Server Engineer

site_intelligence.settings.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Settings Save

site_intelligence.sites.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List Site Intelligence monitored sites

site_intelligence.speed

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed

site_intelligence.speed.progress

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed Progress

site_intelligence.speed.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed Run

site_intelligence.speed.v2

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2

site_intelligence.speed.v2.build.task

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Build Task

site_intelligence.speed.v2.collect

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Collect

site_intelligence.speed.v2.read

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Read

site_intelligence.speed.v2.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Run

site_intelligence.start.crawl

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Start Crawl

site_intelligence.task.approve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Approve

site_intelligence.task.assign

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Assign

site_intelligence.task.bulk.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Apply

site_intelligence.task.bulk.assign

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Assign

site_intelligence.task.bulk.deadline

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Deadline

site_intelligence.task.bulk.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Dismiss

site_intelligence.task.deadline

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Deadline

site_intelligence.task.note

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Note

site_intelligence.task.proof

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Proof

site_intelligence.task.reject

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Reject

site_intelligence.task.review

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Review

site_intelligence.topical.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Topical Map

site_intelligence.webhook.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Webhook Delete

site_intelligence.webhook.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Webhook Save

site_intelligence.webhooks.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Webhooks List

site_intelligence.workflow

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Workflow

وضعیت (6)

status.component.save

Write. Scope: status.write, admin. Contract: declared_dynamic. Status Component Save

status.components.save

Write. Scope: status.write, admin. Contract: explicit. Create or update a public status component Required fields: name. Retry-safe with idempotency_key.

status.incident.create

Write. Scope: status.write, admin. Contract: declared_dynamic. Status Incident Create

status.incident.resolve

Read. Scope: status.read, admin. Contract: route_inferred. Status Incident Resolve

status.incidents.create

Write. Scope: status.write, admin. Contract: explicit. Create a status-page incident Required fields: title. Retry-safe with idempotency_key.

status.incidents.resolve

Write. Scope: status.write, admin. Contract: source_inferred. Status Incidents Resolve Retry-safe with idempotency_key.

نظرسنجی ها (22)

surveys.analytics.get

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Analytics Get

surveys.audiences.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey audiences

surveys.audiences.materialize

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Audiences Materialize Retry-safe with idempotency_key.

surveys.campaigns.create

Write. Scope: surveys.write, admin. Contract: explicit. Create or update a survey campaign Required fields: deployment_id. Retry-safe with idempotency_key.

surveys.campaigns.launch

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Campaigns Launch Retry-safe with idempotency_key.

surveys.campaigns.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey campaigns

surveys.deployments.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey deployments

surveys.deployments.set_status

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Deployments Set Status Retry-safe with idempotency_key.

surveys.get

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Get

surveys.imports.create

Write. Scope: surveys.write, admin. Contract: explicit. Create and run a survey import Required fields: kind. Retry-safe with idempotency_key.

surveys.imports.process

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Imports Process Retry-safe with idempotency_key.

surveys.invitations.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey invitations

surveys.links.create

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Links Create Retry-safe with idempotency_key.

surveys.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey definitions

surveys.responses.get

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Responses Get

surveys.responses.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey responses

surveys.triggers.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey trigger sets

surveys.types.list

Read. Scope: surveys.read, admin. Contract: explicit. List supported question types and Studio templates

surveys.versions.list

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Versions List

surveys.webhooks.delete

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Webhooks Delete Retry-safe with idempotency_key.

surveys.webhooks.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey webhook subscriptions

surveys.webhooks.save

Write. Scope: surveys.write, admin. Contract: explicit. Create or update a survey webhook subscription Required fields: url. Retry-safe with idempotency_key.

تیم تیمی (63)

team.delete

Write. Scope: team.write, admin. Contract: route_inferred. Admin Users Delete

team.delete.route.departments.delete

Write. Scope: team.write, admin. Contract: route_inferred. Departments Delete

team.list

Read. Scope: team.read, admin. Contract: route_inferred. Admin Users List

team.list.route.departments.list

Read. Scope: team.read, admin. Contract: declared_dynamic. Departments List

team.perf.activity

Write. Scope: admin. Contract: route_inferred. Team Perf Activity

team.perf.ai.compare

Write. Scope: admin. Contract: route_inferred. Team Perf Ai Compare

team.perf.ai.review

Write. Scope: admin. Contract: route_inferred. Team Perf Ai Review

team.perf.availability

Write. Scope: admin. Contract: route_inferred. Team Perf Availability

team.perf.award.finalize

Write. Scope: admin. Contract: route_inferred. Team Perf Award Finalize

team.perf.award.history

Read. Scope: team.read, admin. Contract: route_inferred. Team Perf Award History

team.perf.award.void

Write. Scope: admin. Contract: route_inferred. Team Perf Award Void

team.perf.claim.pay

Write. Scope: admin. Contract: route_inferred. Team Perf Claim Pay

team.perf.claim.recover

Write. Scope: admin. Contract: route_inferred. Team Perf Claim Recover

team.perf.claim.reject

Write. Scope: admin. Contract: route_inferred. Team Perf Claim Reject

team.perf.clear

Write. Scope: admin. Contract: route_inferred. Team Perf Clear

team.perf.coaching.action.item.add

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Action Item Add

team.perf.coaching.action.item.complete

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Action Item Complete

team.perf.coaching.evidence.pin

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Evidence Pin

team.perf.coaching.evidence.unpin

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Evidence Unpin

team.perf.coaching.session

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Session

team.perf.coaching.session.create

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Session Create

team.perf.coaching.session.update

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Session Update

team.perf.coaching.sessions

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Sessions

team.perf.coaching.status

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Status

team.perf.data

Write. Scope: admin. Contract: route_inferred. Team Perf Data

team.perf.heatmap

Write. Scope: admin. Contract: route_inferred. Team Perf Heatmap

team.perf.history

Write. Scope: admin. Contract: route_inferred. Team Perf History

team.perf.pay.all.claims

Write. Scope: admin. Contract: route_inferred. Team Perf Pay All Claims

team.perf.qa.calibration.record

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Calibration Record

team.perf.qa.dispute.resolve

Write. Scope: admin. Contract: route_inferred. Team Perf Qa Dispute Resolve

team.perf.qa.disputes

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Disputes

team.perf.qa.evaluation.submit

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Evaluation Submit

team.perf.qa.overview

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Overview

team.perf.qa.scorecard.publish

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Scorecard Publish

team.perf.qa.scorecard.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Scorecard Save

team.perf.quest.record

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quest Record

team.perf.quest.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quest Save

team.perf.quest.status

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quest Status

team.perf.quests

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quests

team.perf.recognition

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Recognition

team.perf.recognition.settings.save

Write. Scope: admin. Contract: route_inferred. Team Perf Recognition Settings Save

team.perf.recognition.streak.history

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Recognition Streak History

team.perf.recognition.streaks.record

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Recognition Streaks Record

team.perf.reward.budget.authorize

Write. Scope: admin. Contract: route_inferred. Team Perf Reward Budget Authorize

team.perf.reward.claims

Write. Scope: admin. Contract: route_inferred. Team Perf Reward Claims

team.perf.reward.pay

Write. Scope: admin. Contract: route_inferred. Team Perf Reward Pay

team.perf.reward.payouts

Write. Scope: admin. Contract: route_inferred. Team Perf Reward Payouts

team.perf.reward.period.finalize

Write. Scope: admin. Contract: route_inferred. Team Perf Reward Period Finalize

team.perf.reward.period.history

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period History

team.perf.reward.period.preview

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period Preview

team.perf.reward.period.reverse

Write. Scope: admin. Contract: route_inferred. Team Perf Reward Period Reverse

team.perf.reward.period.void

Write. Scope: admin. Contract: route_inferred. Team Perf Reward Period Void

team.perf.reward.save

Write. Scope: admin. Contract: route_inferred. Team Perf Reward Save

team.perf.reward.state

Write. Scope: admin. Contract: route_inferred. Team Perf Reward State

team.perf.trends

Write. Scope: admin. Contract: route_inferred. Team Perf Trends

team.perf.v2.data

Write. Scope: admin. Contract: route_inferred. Team Perf V2 Data

team.perf.v2.export

Write. Scope: admin. Contract: route_inferred. Team Perf V2 Export

team.perf.v2.live

Write. Scope: admin. Contract: route_inferred. Team Perf V2 Live

team.perf.v2.reward.sheet

Write. Scope: admin. Contract: route_inferred. Team Perf V2 Reward Sheet

team.perf.v2.settings

Write. Scope: admin. Contract: route_inferred. Team Perf V2 Settings

team.perf.v2.settings.save

Write. Scope: admin. Contract: route_inferred. Team Perf V2 Settings Save

team.save

Write. Scope: team.write, admin. Contract: route_inferred. Admin Users Save

team.save.route.departments.save

Write. Scope: team.write, admin. Contract: route_inferred. Departments Save

بلیط‌ها (77)

tickets.ai.summary

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Ai Summary

tickets.analytics

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Analytics

tickets.approval.decide

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Approval Decide

tickets.approval.request

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Approval Request

tickets.approvals.pending

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Approvals Pending

tickets.assignment.rule.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Assignment Rule Delete

tickets.assignment.rule.list

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Assignment Rule List

tickets.assignment.rule.save

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Ticket Assignment Rule Save

tickets.assignment_rules.delete

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Assignment Rules Delete Retry-safe with idempotency_key.

tickets.assignment_rules.save

Write. Scope: tickets.write, admin. Contract: explicit. Create or update a ticket assignment rule Required fields: name. Retry-safe with idempotency_key.

tickets.bulk

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Bulk Retry-safe with idempotency_key.

tickets.bulk.route.tickets.bulk

Write. Scope: tickets.write, admin. Contract: route_inferred. Tickets Bulk

tickets.calendar.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Sla Calendar Delete

tickets.calendar.save

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Sla Calendar Save

tickets.claim

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Claim

tickets.csat.get

Read. Scope: tickets.read, admin. Contract: explicit. Get the CSAT response for one ticket Required fields: ticket_id.

tickets.csat.list

Read. Scope: tickets.read, admin. Contract: explicit. List ticket CSAT responses in the bound workspace

tickets.csat.metrics

Read. Scope: tickets.read, admin. Contract: explicit. CSAT metrics for a period (the tickets dashboard numbers)

tickets.embed.load

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Embed Load

tickets.embed.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Embed Save

tickets.embed.secret

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Embed Secret

tickets.field.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Field Save

tickets.follower.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Follower Add

tickets.follower.remove

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Follower Remove

tickets.get

Read. Scope: tickets.read, admin. Contract: source_inferred. Tickets Get

tickets.kb.deflection

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Kb Deflection

tickets.kb.draft

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Kb Draft

tickets.kb.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Kb Save

tickets.kb.version.restore

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Kb Version Restore

tickets.kb.versions

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Kb Versions

tickets.link.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Link Add

tickets.link.remove

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Link Remove

tickets.list

Read. Scope: tickets.read, admin. Contract: source_inferred. Tickets List

tickets.open

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Open Retry-safe with idempotency_key.

tickets.open_guest

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Open Guest Retry-safe with idempotency_key.

tickets.ops.summary

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Ops Summary

tickets.policy.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Sla Policy Delete

tickets.policy.save

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Sla Policy Save

tickets.presence.leave

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Presence Leave

tickets.presence.ping

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Presence Ping

tickets.quick.replies

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Ticket Quick Replies

tickets.quick.reply.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Quick Reply Save

tickets.relations.get

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Relations Get

tickets.reply

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Reply Retry-safe with idempotency_key.

tickets.reply.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Delete

tickets.reply.edit

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Edit

tickets.reply.outbound.convert

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Outbound Convert

tickets.reply.translate

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Translate

tickets.reply.translation.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Translation Delete

tickets.reply.translation.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Translation Save

tickets.rule.compose

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Rule Compose

tickets.side.ai.draft

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Ai Draft

tickets.side.assign.department

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Assign Department

tickets.side.create

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Create

tickets.side.list

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Side List

tickets.side.mention

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Side Mention

tickets.side.recipients

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Side Recipients

tickets.side.reply

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Reply

tickets.sla.delete

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Sla Delete Retry-safe with idempotency_key.

tickets.sla.save

Write. Scope: tickets.write, admin. Contract: explicit. Create or update an SLA policy Required fields: name. Retry-safe with idempotency_key.

tickets.split

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Split

tickets.split.candidates

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Split Candidates

tickets.tag.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Tag Add

tickets.tag.list

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Tag List

tickets.tag.remove

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Tag Remove

tickets.tags.add

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Tags Add Retry-safe with idempotency_key.

tickets.tags.list

Read. Scope: tickets.read, admin. Contract: source_inferred. Tickets Tags List

tickets.tags.remove

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Tags Remove Retry-safe with idempotency_key.

tickets.update

Write. Scope: tickets.write, admin. Contract: source_inferred. Update a ticket status, priority, subject, department or assignment Retry-safe with idempotency_key.

tickets.view.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket View Delete

tickets.view.list

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket View List

tickets.view.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket View Save

tickets.views.delete

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Views Delete Retry-safe with idempotency_key.

tickets.views.save

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Views Save Retry-safe with idempotency_key.

tickets.worklog.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Worklog Add

tickets.worklog.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Worklog Delete

tickets.worklog.list

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Worklog List

todos (1)

todos.add

Write. Scope: todos.write, admin. Contract: source_inferred. Todos Add Retry-safe with idempotency_key.

visitors (3)

visitors.block

Write. Scope: visitors.write, security.write, admin. Contract: route_inferred. Block a visitor Required fields: visitor_id.

visitors.list

Read. Scope: visitors.read, analytics.read, admin. Contract: route_inferred. List visitors

visitors.table

Read. Scope: visitors.read, admin. Contract: route_inferred. Visitors Table

وب سایتhooks (1)

webhooks.events.list

Read. Scope: webhooks.read, crm.read, admin. Contract: explicit. List outbound webhook events and their payloads

نوشتن (6)

writing.analyze

Write. Scope: writing. Contract: source_inferred. Writing Analyze Retry-safe with idempotency_key.

writing.compose

Write. Scope: writing. Contract: source_inferred. Writing Compose Retry-safe with idempotency_key.

writing.reply

Write. Scope: writing. Contract: source_inferred. Writing Reply Retry-safe with idempotency_key.

writing.rewrite

Write. Scope: writing. Contract: source_inferred. Writing Rewrite Retry-safe with idempotency_key.

writing.summarize

Write. Scope: writing. Contract: source_inferred. Writing Summarize Retry-safe with idempotency_key.

writing.translate

Write. Scope: writing. Contract: source_inferred. Writing Translate Retry-safe with idempotency_key.

OpenAPI و Postman در دسترس هستند؟+

دانلود بازی The Built OpenAPI 3.0 سند در /api/v1/openapi.php, مجموعه پست های تولید شده در حال حاضر /api/v1/postman.php, و توسعه دهنده انسانی-خواننده در حال حاضر /api/docs/.

چگونه با بیش از یک فضای کاری کار کنیم؟+

ارسال سایت_key در بدن درخواست برای انتخاب یک فضای کاری.یک کلید صادر شده برای یک فضای کار به آن باقی می ماند؛ کلید با چارچوب مدیریت می تواند هر فضای کاری را که مجاز است ببیند، انتخاب کند و از هیچ چیز خودداری کند.

کدام اقدامات می تواند یک تماس کلیدی خواندنی باشد؟+

هر اقدام مشخص شده به عنوان یک خواندن. تنظیم حالت مجوز در کلید خواندن_تنها و هر نوشتن با Read_ Only_key رد می شود، بنابراین یکپارچگی گزارش نمی تواند حتی با اشتباه تغییر کند.

چرا برای چیزی که در مدیر می بینم، پیدا نکردم؟+

کلید به یک فضای کاری محدود می شود. رکوردها در دیگر فضاهای کار، به جای یک خطای مجوز، به طور کامل پیدا نمی شوند، بنابراین رکوردها به جای خطا اجازه، بازنمی گردند. API هیچگاه تایید نمی کند که آیا چیزی در جای دیگری وجود دارد یا نه.

توسعه دهنده

امنیت امنیتی API

یک قرارداد امنیتی برای هر اتصال و ادغام: بپرسید OpsIQ آنچه در مورد یک چیز می داند IP یا فرستنده، و تغذیه سوء استفاده سیستم خود را ببینید.

OpsIQ از خود دفاع می کند: IP مهاجمان فایروال، خط لوله بلیط اسپم را فیلتر می کند و AI امنیتی مجرمان را طبقه بندی می کند، و قوانین بلوکی را پیشنهاد می دهد. API این اطلاعات را به سیستم های دیگر خود باز می کند.یک پلت فرم صورتحساب، یک پورتال مشتری یا یک برنامه سفارشی می تواند بازدید کننده را قبل از اعتماد به آن بررسی کند و گزارش دهد که چه چیزی مشاهده شده است تا کل نصب از هر سطح یاد بگیرد.

آنچه می توانید انجام دهید

چک کردن قبل از اعتماد

امنیت.check پاسخ با دولت فایروال، هر قانون اسپم مطابق با فرستنده و حکم هوش مصنوعی کش شده برای IP یک تماس، یک نظر منسجم.

گزارش آنچه را که دیده اید

امنیت.report مشاهده را به عنوان یک رویداد امنیتی ثبت می کند، AI امنیتی طبقه بندی شده است IP بلافاصله، و به مدیران هشدار می دهد که وقتی حکم به خطر بالا باز می گردد، گزارش های تکراری دقیقاً مانند حملات OpsIQ مستقیم می بیند.

قوانین اسپم مشترک

امنیت. blocklist. add و Security. blockلیست. list همان قوانین اسپم را که صفحه بلیط ها استفاده می کند، خوانده و بنویسند، بنابراین یک فرستنده مسدود شده در یک سیستم در همه جا مسدود شده است.

گزارش سوء استفاده از یک کانکتور
POST /api/v1.php
Authorization: Bearer opq_your_api_key
Content-Type: application/json

{
  "action": "security.report",
  "ip": "203.0.113.7",
  "kind": "spam",
  "reason": "Sent 40 junk tickets in 10 minutes",
  "source": "whmcs:example.com"
}

محدوده ها و ایمنی

security.read

برای امنیت. check و Security. blocklist. list مورد نیاز است تا یک ادغام گزارش را ارائه دهد.

security.write

نیاز به امنیت. report و امنیت. blocklist. add.

هیچ چیز در سکوت نابود نمی شود

یک فرستنده مسدود شده هنوز در Spam می رود که بلیط را می توان بخواند و بازسازی کرد.

این پلتفرم از خود محافظت می کند

خود سرور IP آدرس ها هرگز نمی توانند مسدود، مسدود شده یا گزارش شوند. API بنابراین یک ادغام پیکربندی نشده نمی تواند پلت فرم را پایین بیاورد.

💡
مینت یک کلید در زیر ادغام، سپسAPI کلیدها، و به آن فقط محدوده امنیتی که نیاز دارد را بدهید. قرارداد درخواست کامل برای هر عمل در meta.actions و OpenAPI سند است.
آیا کانکتورهای موجود من به طور خودکار از این استفاده می کنند؟+

همگام سازی بیرونی در حال حاضر اتوماتیک است: هنگامی که شما یک را مسدود می کنید IP به سیستم عامل های متصل از طریق همگام سازی امنیتی کانکتور گفته می شود. API نیمه ورودی است. کانکتور یا کد سفارشی خود را در این چهار عمل با یک کلید حمل دامنه امنیتی قرار دهید.

قوانین اسپم کجا زندگی می کنند؟+

یک فروشگاه: کنترل فرستنده صفحه بلیط، اسپم AI در تنظیمات و این API همه چیز در برابر همان لیست کار می کند، بنابراین دقیقا یک مکان برای نگاه کردن وجود دارد.

توسعه دهنده

حوادث API

ارسال رویدادهای سفارشی از سرور یا وب سایت خود را به OpsIQ برای تجزیه و تحلیل، آزمایش ها، محرک های CRM و شرایط وب تکان دهنده.

چگونه کار می کند
حوادث APIیک مسیر () فراخوانی برای ارسال یک رویداد ثبت شده سفارشی OpsIQ که اهداف تبدیل، بخش ها و محرک ها را تغذیه می کند.OpsIQ<demo_booked", {ارزش: 0برنامه: "pro"});اهداف تبدیلبخش هامحرک ها و وب سایت های اینترنتی( Browser)OpsIQ ریدایرکت) یا سمت سرور POST /v1/events
حوادث API

حوادث جانبی مرورگر

دانلود بازی Browser
window.OpsIQ = window.OpsIQ || [];
window.OpsIQ.push(["track", "button_clicked", {
  button: "signup",
  page: "/pricing",
  variant: "green"
}]);

حوادث Server-side Events

علاوه بر سرور، فعالیت ها و تبدیلها را در برابر یک تماس از طریق عمل ثبت می کند. API استفاده کنید crm.activities.record برای فعالیت های تجاری / اقتصادی و crm.conversions.record برای تبدیل وجود دارد. events.send اقدام؛ گیرنده رویداد CRM ورودی در زندگی می کند /v1/inbound.php?t=<token> برای سیستم های شخص ثالث که حوادث را در آن ها به اجرا می گذارند.

فعالیت های سمت سرور (action) API)
POST /api/v1.php
Authorization: Bearer opq_your_key
Content-Type: application/json

{
  "action": "crm.activities.record",
  "site_key": "site_abc123",
  "email": "[email protected]",
  "event": "subscription.upgraded",
  "value": 50,
  "currency": "USD"
}

نام گذاری کنوانسیون

نام بازی : Dot Notation

«نظم و کامل» نه «سفارش کامل»

گذشته تنش

دکمه ها. Clicked” نه “دکمه ها”.

خاص باشید

"pricing. plan_select" نه "user_action".

توسعه دهنده

چگونه داده ها از طریق OpsIQ

درک جریان داده ها به شما کمک می کند تا یکپارچگی را خنثی کرده و عملکرد را بهینه سازی کنید.

چگونه کار می کند
چگونه داده ها جریان می یابدداده ها از ویجت جریان می یابد و به آن متصل هستند OpsIQ هسته (CDP، نمودار هویت، مغز AI، تجزیه و تحلیل، CRM) سپس از طریق webhooks و REST API.ابزارکو beaconOpsIQ هسته اصلیCDP · گراف هویتمغز AIتجزیه و تحلیل CRMWebhooksREST REST API
جریان داده ها

جریان داده های ورودی

1
نشانگر Widget

. اون JavaScript ابزارک نمایش صفحات، کلیک‌ها و پیام‌های گپ را به ‌فرستد /beacon.php.

2
Event Eation

رویدادهای ذخیره شده در opsiq_events با site_key، نوع رویداد، مشتری و خواص.

3
جلسه مقدماتی

گروه های سازنده جلسه به جلسات (از طریق cron) مراجعه می کنند.

4
وضوح هویت

هنگامی که شناسایی شده، سوابق ناشناس با پروفایل مشتری مرتبط است.

5
همگام سازی

کانکتورها داده ها را از سیستم عامل های خارجی و ذخیره در حافظه اتصال می گیرند.

6
AI

AI زمینه را از: تاریخ بازدید کننده، نمایه مشتری، داده های اتصال، KB و سریع جمع آوری می کند.

جریان داده های خارجی

1
آتش سوزی های Event Fire

آتش سوزی های رویداد داخلی (ککت.ک. ساخته شده، چت. message، سفارش. completed)

2
صف شغلی

رویداد در صف شغلی async قرار دارد.

3
Webhook

نشانه های ناخرسند و به تمام نقاط انتهایی مشترک ارسال می شود.

4
بازگشت به شکست

تحویل های شکست خورده با بازگشت نمایی دوباره مورد توجه قرار گرفتند.

تنظیمات Settings

تنظیمات مرجع

تنظیمات مرکز کنترل برای یک فضای کاری است که همه چیز زیر به فضای کاری که در آن هستید، می رسد، بنابراین یک حساب می تواند چندین مارک را با هویت های مختلف، رفتار چت و قوانین حفظ اجرا کند.

یافتن یک محیط

حدود شش صد کنترل فردی در تنظیمات وجود دارد که در طول یازده برگه تحت چهار منو پخش می شوند و انتظار نمی رود برای آنها مرور کنید.

تنظیمات جستجو (Ctrl + K)

Ctrl + K یا Cmd+K در یک مک، هر نقطه در صفحه تنظیمات. Type در کلمات ساده و مطبوعات وارد می شوند تا مستقیما به کنترل برسند.جستجو تایپ های کوچک را تحمل می کند و کلمات مرتبط را درک می کند، بنابراین برنامه نویس Cron را پیدا می کند تا کنترل های ردیابی را پیدا کند.این تنها نشان می دهد که نقش شما می تواند باز شود.

فضای کاری و برنامه

عمومی و مجوز

پشتیبانی از هوش مصنوعی و مشتری

دستیار مدیریت AI، Client Chat، OpsIQ نوشتن و پشتیبانی پورتال

داده ها و حکومت

پیگیری و حریم خصوصی، مجوز ها و امنیت

سیستم

راه اندازی Cron (تنها میزبان خود) و منطقه خطر.

پس انداز

هر برگه به تنهایی با دکمه Save خود ذخیره می کند. Client Chat و Client Chat OpsIQ نوشتن آنها را به صفحه نمایش ذخیره قبل از تعویض زبانه؛ تغییرات در سراسر انجام نمی شود.

لینک های عمیق

زبانه فعال در آدرس صفحه نوشته شده است، بنابراین یک برگه می تواند نشانه گذاری یا ارسال به یک همکار.

عمومی: هویت کسب و کار

مهم ترین کارت در صفحه است. AI این مقادیر را بر روی هر پاسخ، گزارش و خلاصه روزانه می خواند.

نام تجاری

استفاده در گزارش های AI، خلاصه روزانه و کلمه مشتری رو به رشد است.

صنعت تجارت

تحلیل های هوش مصنوعی، رتبه بندی سرب، خلاصه ها و پیش بینی های نظرسنجی را انتخاب کنید از میزبانی وب، تجارت الکترونیک، SaaS، املاک، آژانس، مشاوره، مراقبت های بهداشتی، آموزش، امور مالی یا کسب و کار عمومی.

سیستم زبان

زبان نشان داده شده به هر کسی که خود را انتخاب نکرده است، هر نماینده می تواند آن را در نمایه خود باطل کند.

استفاده از زبان مرورگر

صفحه ی ثبت نام را در زبان خود بازدید کننده نشان می دهد، هنگامی که کسی یک زبان را انتخاب کند، انتخاب آنها برنده است و این هرگز آن را نادیده نمی گیرد.

سیستم Timezone

منطقه ای که کل سیستم در آن اجرا می شود: تاریخ، گزارش ها، برنامه ها و پس زمینه cron.استفاده از محدوده زمانی عملیاتی خود را نه مشتریان شما.

عمومی: GeoIP و ردیابی

مسیر پایگاه داده GeoIP2 Path

مسیر کامل به GeoLite2-City.mmdb cPanel Plesk، DirectAdminways، Docker و Plain Linux یا ویندوز. GeoLite2-ASN.mmdb را در همان پوشه برای ارائه دهنده اینترنت بازدید کننده اضافه کنید.

منبع: Geo Source Mode

GeoLite2 تنها با GeoLlite 2 Cloudflare بازگشت، یا Cloudflare فقط.Cloudflare حالت ها نیاز به سایت دارند تا از طریق آن استفاده شود.Cloudflare با هدرهای مکان بازدید کننده که برای جزئیات شهر و منطقه فعال شده اند.

زمان جلسه (بازدید)

عدم فعالیت قبل از جلسه بازدید کننده به پایان رسید. 14400 که چهار ساعت است.

Live Refresh Interval (بازدید کنندگان)

چگونه اغلب تغذیه زنده تازه می شود 30 ثانیه

Threshold فعال (min)

چه مدت یک بازدید کننده پس از آخرین بار صفحه خود زندگی می کند. 2 دقیقه ها این کاهش تغذیه زنده است، نه طول جلسه.

داده های بازگشتی (روز)

حذف سوابق جمع آوری شده و تولید شده در این سن: تجزیه و تحلیل، چت، بلیط ها، بازخورد، معاملات، تلهومتر AI، ورود به ادغام و فعالیت CRM. 0 همه چیز را برای همیشه نگه می دارد، محتوای مجاز و دریافت رضایت هرگز حذف نمی شود.

هنگامی که یک چت حذف می شود

انتخاب کنید که چه مقدار از یک مکالمه حذف شده در رکورد باقی می ماند: رکورد کامل، رکورد بدون گفتگو و یا نمره تنها. Deleting همیشه چت را از صندوق ورودی و تاریخ بازدید کننده پنهان می کند.

ردیابی ترافیک ربات

به عنوان بازدید کنندگان شمارش می شود؛ آن را در نظر گرفتن بازدید کننده حساب و هر گزارش تحریف.

بررسی بازخورد Popup

ویجت بازخورد در سراسر سایت را به بازدید کنندگان نشان می دهد. جدا از نظرسنجی چت تحت مشتری چت، جریان پشتیبانی.

ویژگی های AI

سوئیچ های کارشناسی ارشد برای هر سطح AI. همه به طور پیش فرض به روی و صرفه جویی در هر فضای کاری.

AI Triage در بلیط

هر بلیط را با دسته بندی، اولویت و احساسات طبقه بندی کنید و خلاصه ای از رشته در بالای بلیط بنویسید.

AI Triage به طور خلاصه

برچسب های سه گانه و خلاصه را در یک ابزار نشان می دهد زمانی که یک نماینده در لیست بلیط قرار دارد.

گیرنده

اضافه کردن پیش نویس پاسخ AI، Warmer، Shorter، دکمه های رسمی تر و Apologetic تحت جعبه پاسخ بلیط.هیچ چیز بدون عامل ارسال نمی کند.

پرسش OpsIQ Copilot

راهنمای شناور صفحه آگاه در هر صفحه مدیریت می داند که کدام مشتری، فاکتور یا بلیط باز است.

صبح کوتاه

در اولین روز باز، خلبان بلیط های فوری، پاسخ های بیش از حد و انتظار چت ارائه می دهد یکشنبه تولید یک هفته در بررسی.

عمومی: پول، نام تجاری، پشتیبان گیری

OpsIQ پایه واحد پولی

هر پولی که در کل مدیر قرار دارد به این ارز برای نمایش تبدیل می شود.در حالی که کانکتورها پول منبع خود را ذخیره می کنند؛ آن را در هر اتصال تنظیم کنید.

نرخ های FX Auto-sync

هر شش ساعت از یک خوراک عمومی آزاد بدون هیچ API کلید: شما می توانید نرخ های دستی را اضافه کنید که فید را کنار بگذارید، ارزهای بدون نرخ دستی غیرفعال نمی شوند.

ویژگی های تجاری و Billing

کشتی ها خاموش می شوند. تبدیل آن به صفحه فروش و تبدیل، کارت های درآمد داشبورد و خوراک Live Intelligence با آن، هر سطح قیمت پنهان است و صفحه فروش منو را ترک می کند.

واژگان تجاری

آموزش OpsIQ کلمه شما: آیا شما تجدید می کنید، کلمه برای تمدید، آنچه که می فروشید و چه خریداران نامیده می شود.

برندسازی و Logos

دو بار آپلود، یکی برای پس زمینه های نور (admin sidebar) و یکی برای تاریکی (صفحه نشانه ای) PNG، JPG، WebP یا SVG تا 3 MB.

مدیر اطلاعات سایت، اجازه می دهد خصوصی SSH اهداف

Auto-Implement SEO عامل اتصال بیش از حد SSH آدرس های خصوصی، حلقه و رزرو شده به طور پیش فرض به عنوان یک معیار ضد-SSRF مسدود می شوند.تنها بر روی نصب های خود میزبان که باید به سرور محلی دسترسی داشته باشند، فعال هستند.

OpsIQ پشتیبان گیری / Restore

صادرات هر محیط و OpsIQ جدول مالک به علاوه فایل های آپلود شده OpsIQ پیکربندی و سوابق تنها؛ آن را هرگز مشتریان، فاکتورها، بلیط ها، خدمات، دامنه ها، سفارشات یا معاملات لمس نمی کند.

⚠️
قبل از استفاده از هر چیزی در منطقه خطر، پشتیبان گیری را به طور کلی و اقدامات حذف شده در منطقه خطرناک زندگی می کنند، بنابراین آسان است که بدون داشتن اولین صادرات، به دکمه حذف دسترسی پیدا کنید.
تنظیمات Settings

تنظیمات: امنیت

محافظت از admin Sign-in، حساب های کارکنان شما و داده ها OpsIQ جمع آوری مشتری نشانه برای پورتال پشتیبانی به طور جداگانه پیکربندی می شود.

حمایت از ثبت نام

گوگل GooglereCAPTCHA

ربات ها و وسایل معتبر را در admin Sign-in متوقف کنید. v3 (غیر قابل مشاهده، گل زده) یا v2 (checkbox)، نمره آستانه v3 را تنظیم کرده و سایت و کلیدهای مخفی را عرضه کنید.این کلیدها توسط فرم درخواست پورتال پشتیبانی استفاده می شوند.

شکست در -Login Auto-Lockout

یک آدرس را پس از تعدادی شکست در پنجره مسدود کنید، برای چند ساعت می توانید پیام قفل شده را سفارشی کرده و یک حواس پرتی کوچک در انتظار نمایش دهید.

سخت وارد شدن

سیاست رمز عبور با حداقل طول، رد کردن کلمات عبور یافت شده در نقض شناخته شده، قفل حساب در برابر مواد منفجره، دو عامل اجباری برای هر مدیر، بازگشت به رمز عبور قبل از اقدامات خطرناک و هشدار های جدید امضا کننده دستگاه.

ثبت نام در (OIDC)

ثبت نام کارکنان از طریق ارائه دهنده هویت شما نیاز به صادر کننده دارد. URL, شناسه مشتری و دامنه های ارتقاء خودرو، یک در هر خط ، کاربران را به طور خودکار در اولین نشانه ایجاد کنید.

ثبت نام (A)SAML 2.0)

ارائه دهندگانی که صحبت می کنند SAML. OpsIQ عرضه پاسخ ACS URL و شناسه موجودی SP؛ شما ID IdP را ارائه می دهید، امضا URL, ثبت نام اختیاری URL X.509 امضا گواهی نامه ایمیل و فیلدهای ویژگی نام فقط برای نام های غیر استاندارد مورد نیاز است.

تأمین SCIM

ایجاد، به روز رسانی و غیرفعال کردن OpsIQ حساب ها OpsIQ منابع SCIM پایگاه پایه URL شما در اینجا توکن های برچسب زده شده را تولید می کنید تا بدون شکستن بقیه، یکی از آنها باطل شود.

تهدید، مسدود کردن و جمع آوری

لیستی از Outbound Egress Allow-list

محدودیت هایی که میزبان خارجی این کانکتور های فضایی هستند ممکن است تماس بگیرند. SSH کنترل هدف در کل

تهدید Scoring و Auto-Block

یک بازدید کننده را هنگامی که امتیاز تهدید آنها از آستانه شما عبور می کند، مسدود کنید. 0 آن را غیر فعال کنید، یک هفته قبل از انتخاب یک شماره، صفحه ی بررسی امنیتی را تماشا کنید.

صفحه پیام Block Page

پیام یک بازدید کننده مسدود شده، به عنوان متن ساده یا سفارشی خود را می بیند. HTML صفحه نمایش بلوک

وب سایت های اصلی از بازدید کنندگان واقعی

اندازه گیری LCP، INP و CLS از جلسات واقعی.

معرفی مجدد بازی Batched, Retry-safe Events Delivery

صف رویداد سفارشی در مرورگر و تحویل در دسته با retries، کاهش از دست دادن در اتصالات تلفن همراه ضعیف.

امضای Bacons

ویجت واقعی یک توکن رمزنگاری چرخشی را حمل می کند، بنابراین داده های ردیابی جعلی را می توان به طور پیش فرض رد کرد؛ تغییراتی که چگونه معتبر هستند، بنابراین ابتدا آزمایش کنید.

هشدار امنیتی

به طور پیش فرض، تشخیص و مسدود کردن بدون در نظر گرفتن این کارت کنترل می کند که آیا شما گفته شده اید یا خیر و اینکه هوش مصنوعی چقدر کمک می کند.

هشدار امنیتی

استاد برای این کارت

آستانه موج شکست خورده

چند علامت شکست خورده در یک دوره کوتاه به عنوان موجی که ارزش هشدار دارد.

IP شهرت هوش

اضافه کردن یک امتیاز تهدید برای بازدید کنندگان ظاهر شده در فیدهای عمومی سوء استفاده.

ساعت سایت

زمان و زمان TLS بررسی های اکتشافی، هشدار قبل از یک وقفه گواهی.

تحلیلگر امنیت هوش مصنوعی و خلاصه های حادثه AI

یک حکم قابل توضیح را به فعالیت مشکوک اضافه می کند و حملات مربوط به گروه ها به یک حادثه قابل خواندن به جای جریان حوادث.

سیاست خودکار خلبان

اعمال به خودی خود، تبدیل آنچه که از یک حادثه به یک قانون پیشنهادی یا کاربردی یاد می گیرد، تا زمانی که پیشنهادات آن را بررسی کرده اید و با آنها موافقت کنید.

امنیت روزانه هضم و مشاور وضعیت هفتگی

یک بار دیگر روزانه در صفحه بررسی امنیت و چک لیست سخت هفتگی که نشان می دهد چه چیزی محافظت شده است و هنوز باز است.

طرح های خودکار-expirele

یک قانون بلوک پیشنهادی که شما هرگز به جای جمع آوری آن روی منقضی نشدید.

دانلود بازی DOM Session Replay

قابلیت DOM Session Replay

جلسات بازدید کننده رکورد برای پخش.هنگامی که از کتابخانه بازی هرگز بارگذاری نمی شود، بنابراین هیچ هزینه ای برای ترک آن وجود ندارد. ضبط نمونه و حریم خصوصی است و در صفحه نمایش جلسه تحت Analytics مشاهده می شود.

نرخ نمونه، حداکثر ثبت، حفظ

چه تعداد جلسات ضبط می شود، چه مدت یک ضبط منفرد ممکن است اجرا شود و چند روز ضبط شده نگه داشته شود.

⚠️
ضبط مجدد جلسات افراد واقعی با استفاده از سایت شما را ثبت می کند. نرخ نمونه و حفظ آن را پایین نگه دارید زیرا هنوز به سوال شما پاسخ می دهد و آن را در اطلاع حریم خصوصی خود فاش می کند .
تنظیمات Settings

تنظیمات: ردیابی و حریم خصوصی

چه چیزی OpsIQ ممکن است جمع آوری شود و چه مدت هر نوع رکورد زنده بماند.

انحصاری

Excl IPs محدوده های CIDR

آدرس ها هرگز ردیابی نمی شوند، یک در هر خط، آدرس های دقیق یا محدوده CIDR. تمیزترین راه برای حفظ تیم خود از تجزیه و تحلیل شما، زیرا همه را در این آدرس به جای مدیران امضا شده پوشش می دهد.

Excl URL مسیرها

الگوهای صفحه هرگز ردیابی نشد، یک در هر خط، کارت های وحشی با یک خطر. /admin/* کل دفتر را از ورود بازدید کننده خارج کنید.

سیاست های بازگشتی داده ها

خرید خودکار در سیستم های زیر سیستم در روز جدا از تنظیمات کلی داده ها در کل و از پاکسازی منطقه خطر.

ورود به سیستم عامل AI

اعتماد به نفس برگزاری پیش نمایش های کوتاه مدت پرسش و پاسخ 90 این بیشترین متن مشتری را دارد، بنابراین ابتدا آن را در هنگام سفت کردن حریم خصوصی کوتاه کنید.

استفاده از وقایع AI

توکن Per-call برای گزارش هزینه ها محاسبه می شود. 90 شماره ها فقط، محتوای پیام نیست.

عملیات حسابرسی

عملیات آشکار و امنیتی شکست خورده 365 این را طولانی تر نگه دارید؛ آن نشانه های شماست.

تشخیص

سوابق سلامت سیستم 30 روزها

سوالات پاسخ داده نشده

خوشه های سوالاتی که AI نمی تواند پاسخ دهد. 90 روزهایی که از طریق آنها در مورد پرسش هایی که هوش مصنوعی قبل از منقضی شدن آن را از دست داده است، کار کنید.

Watchdogs و صادرات

هشدارهای متریک Anomaly

مقایسه روزانه دیروز در برابر خط اخیر، هشدار زمانی که یک متریک بیش از آستانه شما حرکت می کند. 35 درصد به طور پیش فرض.

صادرات انبار

شب از جلسات، بازدید کنندگان، صفحات و جداول مربوط برای پشته BI خود را در قالبی که انتخاب می کنید، به طور پیش فرض برای چند روز نگه داشته شده است.

تنظیمات Settings

تنظیمات: Admin AI Assistant

دستیار شناور کارکنان شما در داخل مدیر استفاده می کند، با دسترسی خواندن به مشتریان، فاکتورها، بلیط ها، سرورهای و لاگون های مختلف از مشتری که در زیر چت مشتری قرار دارند.

قابلیت Enable OpsIQ AI Widget

دکمه دستیار را در هر صفحه ی مدیریتی نشان می دهد. Off آن را برای همه پنهان می کند.

طرح و رفتار

موقعیت گوشه، عرض پانل ()320 برای 600 px، حداکثر ارتفاع (حداکثر)400 برای 900 px، شعاع گوشه (0برای 24• اندازه فونت و یک شیشه یخ زده در پشت پانل.

معرفی Quick Chips

دکمه های میانبر یک کلیک در زیر سر، سریعترین راه برای اکثر کارکنان است.

نشان دادن مدل Info

نشان می دهد که کدام مدل پاسخ داده شده و چقدر طول کشید.در حالی که هزینه تنظیم، سر و صدا برای استفاده روزمره است.

دروازه دسترسی Per-admin

فقط دستیار را به یک مدیر امضا شده نشان می دهد که هر دو نام کاربری و ایمیل با هم مطابقت دارند. OpsIQ نماینده ای که به این فضای کاری اختصاص داده شده است، صاحبان همیشه از دکمه دسترسی من قبل از فعال کردن استفاده می کنند یا شما می توانید تیم خود را قفل کنید.

شخص

نام نمایش، تگ سر و یک پیام خوش آمدید سفارشی نشان داده شده در زمانی که پانل باز می شود.

تراشه های سریع-Action

برچسب و ماشه اصلی را برای هر میانبر، اضافه کردن خود یا تنظیم مجدد به پیش فرض ها. The برچسب چیزی است که کارکنان می بینند، سریع چیزی است كه AI دریافت می کند.

رنگ ها و شکل

شکل چیپ (pill، گرد، مربع)، رنگ های تراشه، تم کارت و فرم پرتاب کننده (در سراسر، quircle، مربع) با پیش نمایش زنده.

حافظه مکالمه

دستیار به یاد می آورد هر فرد تاریخ در سراسر جلسات مرورگر، تا 120 پیام ها، ذخیره شده در پایگاه داده خود را روشن آن برای شروع تازه است.

تنظیمات Settings

تنظیمات: Client Chat

ویجت چت مشتریان خود را استفاده می کند و بزرگترین منطقه تنظیمات. شش زیر-tab، با سوئیچ کارشناسی ارشد و ذخیره به بالای زبانه.

کار از طریق زیر-tab به منظور نصب جدید: هویت و کپی، ظاهر، رفتار، جریان پشتیبانی، آموزش دانش پیشرفته زیرساخت است و می تواند صبر کند.

هویت و کپی

هویت برند

نام Widget، Tagline، نام AI، نام مورد استفاده برای سیستم و اطلاع رسانی های بی وقفه و نحوه ظاهر شدن نام عامل، منبع نام بین نام واقعی، یک نام سفارشی یا برچسب تیم تصمیم می گیرد.

سلام در چت

دو سلام، یکی برای همه بازدید کنندگان و یکی برای بازدیدکنندگان شناسایی شده است.یک سوال شروع به گفتگو بیشتر از یک جمله می کند.

پاپ آپ چایسر

پیام شناور قبل از اینکه چت باز شود، با نام خود، اندازه فونت و رنگ ها. AI می تواند تیزرها را بنویسد، با کنترل برای چه تعداد تولید، چقدر برای هر بازدید و شکاف بین آنها نشان دهد.

دانلود زیرنویس فارسی فیلم The Plains and Handoff

تمام اسکریپت: درخواست یک نام و ایمیل، تأیید، درخواست یک انسان، هیچ عامل در دسترس نیست، بلیط ایجاد شده یا لغو شده، در انتظار حدود دو دوجین خط فردی در پانل های مزاحم.

وضعیت و یادداشت های Idle

سه پیام قابل مشاهده مشتری: نماینده چت را بسته، بازدید کننده آرام رفته و دست های نمایندگی به AI باز می گردد.

آهنگساز و پیشنهادات

دارنده ورودی، برچسب دکمه صحبت به یک انسان و سوالات پیشنهادی باز کردن پیشنهاد شده است.سه پیشنهاد خوب بلیط های بیشتری نسبت به صفحه مقالات را خراب می کند.

دانلود بازی اندروید، Icon و Avatars

آیکون Launcher، یک نماد متفاوت اختیاری در هنگام باز، اندازه پرتاب کننده و تصاویر برای عامل انسانی و AI.

ظاهر ظاهری

موضوع و Glass

حالت تم، یک پیش نویس رنگ برتر، شدت و ابهام، به علاوه عینک برای انیمیشن ها، خطوط جدا کننده، پنهان کردن ردیف وضعیت، مخفی کردن کارت جعبه پیام و پنهان کردن دکمه نزدیک با preset؛ آن را ده ها رنگ در یک بار تنظیم می کند.

رنگ های اصلی

Launcher، header، پانل، لینک ها، دکمه ها، اعلان های سیستم و آهنگساز کمک می کند که هر کدام با یک شروع و پایان رنگ برای گرادیان ها هستند. گزینه شیشه ای به طور پیش فرض این را نادیده می گیرد و انتهای شفاف را نگه می دارد.

پانل، حباب ها و چیپ ها

حدود سی نفر از انتخاب کنندگان پوشش پانل، مرز، متن، منطقه ورودی و هر نوع حباب (بازدید کننده، AI، نماینده، تایپ، سیستم) به علاوه تراشه های پیشنهادی و حالت شناور خود را تنها باز این برای تطبیق دقیق نام تجاری و بررسی کنتراست در متن حباب.

شکل و شکل

عرض پانل و ارتفاع، شعاع گوشه، اندازه فونت، شکل صفحه نمایش، سبک حباب و اینکه آیا آواتار نشان می دهد.

رفتار رفتاری

پاسخ های AI به طور خودکار

سوئیچ کارشناسی ارشد برای پاسخ های AI، خاموش به این معنی است که هر پیام منتظر یک انسان است.

پیگیری های انسانی و متن دوگانه طبیعی

یک پیگیری ملایم هنگامی که بازدید کننده آرام می شود و پیام کوتاه اختیاری دوم، روشی که فرد یکی از آن ها را ارسال می کند. با حداکثر دنبال در هر سکوت، تاخیر اول، چند بعدی، پنجره حضور و حداکثر پنجره توالی محدود می شود.

تایپ نامه پاسخ می دهد و سرعت پاسخ

چه پاسخ هایی کلمه را با کلمه تایپ کنید و چه سریع دستیار پاسخ می دهد، از پیش تعیین شده یا حداقل و حداکثر تاخیر در ثانیه.یک تأخیر کوچک به عنوان انسان بیشتر از یک پاسخ فوری خوانده می شود.

ترجمه زنده Live Translation

هر نماینده در زبان خود می نویسد و می نویسد، در حالی که بازدید کننده آنها را بخواند.

دست به AI پس از عامل بیکار

دقیقه های عدم فعالیت عامل قبل از اینکه AI مکالمه را از سر بگیرد.

باز کردن خودکار گپ

دوم قبل از اینکه ویجت خود را باز کند.0هرگز باز نمی شود. مزاحم در تلفن همراه؛ ترک در0مگر اینکه آزمایش شود.

پاسخ های هوشمند

برنامه ریزی برای پاسخ های یک طرفه، عمق تفکر، مدل جداگانه اختیاری برای پاسخ عامل، نشان دادن استدلال به بازدید کنندگان، تحمل از دست دادن، حافظه طولانی مدت و محدود کردن دستیار به کسب و کار خود را تنها، قیمت در ارز بازدید کننده، و چگونه لینک ها ظاهر می شود.

صرفه جویی در هزینه

دانش جستجو برای سلام مانند hi و Thanks، و طولانی ترین پاسخ را در توکن ها به دست می آورد. Trims بدون تغییر کیفیت پاسخ در سوالات واقعی هزینه دارد.

زبان های زبان

کدام زبان از ویجت پشتیبانی می کند و چگونه آن را برای بازدید کننده انتخاب می کند.

پاسخ حساب مشتری

پاسخ از حساب مشتری امضا شده، به صورت اختیاری زندگی را بررسی کرد و تنها در صورت نیاز به خواندن فقط در همه موارد بارگذاری می شود؛ هزینه های بار – زمانی که لازم است به طور قابل توجهی کاهش یابد.

بازپرداخت

درخواست بازپرداخت کمک شده که در آن دستیار جزئیات و دست ها را به یک فرد جمع آوری می کند، هرگز خود بازپرداخت را تکمیل نمی کند.

گفتگو و Widget

ادامه یک چت در سراسر سایت های متصل خود، پنجره کشیدن، درخواست مهمان برای ایمیل و اجازه دادن به تیم شما تبدیل به یک چت به یک بلیط.

ویژگی های Widget

Emoji Picker، پیوست با یک حالت تنها جایگزین اختیاری، درک تصویر AI، آیکون های خط، میکروفون، دکمه Talk-to-agent، صداهای بازدید کننده، پیش نمایش دلبستگی، دکمه صدا و انزوای جلسه است. هوش مصنوعی چیزی است که به یک بازدیدکننده اجازه می دهد تا یک خطا را بچسبد و پاسخ مفیدی دریافت کند.

صندوق پستی مدیریت، اعلان ها و خوش آمدید Popup

بازدید کننده از پاپ آپ استقبال می کند، به علاوه هشدار های آژانس شما: صداهای صندوق پستی، اعلان های دسکتاپ، صداها زمزمه می شود، چه زمزمه های خصوصی بوق و فاصله نظرسنجی جعبه ای.

پشتیبانی از Flow

دست انسان

چگونه درخواست برای یک فرد اختصاص داده شده است، ثانیه ای که نماینده باید پاسخ دهد، چه کاهش چت را به AI باز می گرداند و آیا هوش مصنوعی زمانی که زمان انقضا منقضی می شود، این را قبل از زندگی یا بازدید کننده ای که خواستار یک انسان است به سادگی منتظر بماند.

ساعات کاری

زمان های باز، منطقه زمانی و پیام ساعت بسته در خارج از این ساعات AI یک برنامه جداگانه را از ساعت های کسب و کار بلیط زیر ارائه نمی دهد. OpsIQ نوشتن

پاسخ ها وقتی که AI خاموش می شود

اولین پاسخ به یک پیام جدید، پاسخی که کسی در حال حاضر صف کشیده است و چه مدت قبل از تکرار آن.

فرم آفلاین

به جای چت یک فرم تماس را نشان می دهد.

بلیط نگاه و اطلاع رسانی های وزارت

آگاهی از بلیط AI، بنابراین یک بازدید کننده که شماره بلیت را نقل می کند وضعیت واقعی خود را دریافت می کند و کدام بخش های هوش مصنوعی ممکن است به پنل داخلی هدایت شوند، گیرندگان واقعی برای هر بخش را نشان می دهد، همان روشی را حل می کند که نایفر آنها را حل کرده است، بنابراین شما می توانید قبل از مشتری ببینید که یک بخش هشدار نمی دهد.

کمک به مرکز در ویجت چت

اجازه دهید بازدید کنندگان مقالات منتشر شده بدون ترک چت را انتخاب کنید که نقطه ورود به نظر می رسد، برچسب نوار پایین و آیکون، و آیا برای ارائه یک لینک به مرکز کمک کامل.

رتبه بندی گفتگو

رتبه بندی ستاره زمانی که یک عامل چت را بسته، هنگامی که یک دست آف به پایان می رسد و یا پس از یک دوره غیر فعال شما تنظیم شده است.یک یا دو محرک را انتخاب کنید، نه همه آنها.

بررسی پست-Chat Survey

یک نظرسنجی کوتاه که بازدید کننده چت را با سوال شما، تاخیر، زمان بندی و کلاه در هر بازدید بسته می کند، بازدیدکنندگان همچنین می توانند ایمیل ارسال کنند یا متن رونویسی را دانلود کنند؛ سه مورد پاسخ نمی دهند.

پست ایمیل Post-Chat Email Survey

یک نظرسنجی پیگیری توسط ایمیل پس از پایان مکالمه، اختیاری در زبان بازدید کننده چت شده با کنترل تاخیر، موضوع، درونگرا، سوال، هر دو برچسب دکمه و خط تشکر.

پاسخ بازخورد

انگشت ها را بالا و شست بر روی هر پاسخ AI، تغذیه داشبورد های کیفیت.

آرشیو گفتگو

پس از روز، ماشین پس از چند دقیقه سکوت و حذف مکالمات بایگانی شده بعد از روزها.یک مکان سوم در کنار عمومی و ردیابی تنظیم می شود.

آموزش دانش

آنچه که دستیار در واقع می داند، هیچ چیز دیگری در چت مشتری به اندازه کافی مهم نیست.

آموزش دانش سایت

سایت خود را به طوری که دستیار می تواند از آن پاسخ دهد تا ده لینک شروع، یک صفحه محدود، عمق لینک و پوشه های تک. URL می تواند قبل از پرداخت کامل خزیدن، حساب و مسیر مدیریت تست شود.

خانه های

کلید و مدل API که صفحات را به معنای جستجوپذیر تبدیل می‌کند، نه تطابق کلمه کلیدی.

سازمان دهی دانش AI

یک کلیک و AI هر سوال و صفحه خزنده را می خواند و آنها را به دسته بندی ها تقسیم می کند.

پرسش های متداول، پاسخ های شفاف

جفت های پرسش و پاسخ به عنوان بالاترین منبع اولویت، هر کدام با وضعیت، وزن و دسته بندی درمان می شوند. JSON و AI می تواند آنها را از شرح کسب و کار شما بنویسد، زمانی که دستیار چیزی اشتباه می کند، یک سوال بپرسید: آن را خارج صفحات خزیدن، بنابراین تعمیر فوری است.

پیشرفته

عملکرد و محدودیت

فاصله پردازش، محدودیت نرخ پیام و پنجره، حداکثر اندازه دلبستگی، تلاش های پیوست در هر پنجره و اجازه پسوند فایل است. فهرست تمدید یک کنترل امنیتی است؛ آن را محکم نگه دارید.

تحویل در زمان واقعی

ارسال پیام فوری و وضعیت به جای نظرسنجی، از طریق Pusher، Ably یا Firebase با فاصله گرده افشانی پایین برای اکثر سایت ها خوب است.

اطلاعیه‌های فشار

هشدار دستگاه برای عوامل از طریق Pusher Beam یا OneSignal با یک علاقه به دستگاه.

فشار وب) VAPID (

مرورگر با استفاده از کلیدهای تولید شده خود بدون ارائه دهنده شخص ثالث، در اینجا نه در منطقه خطر، فشار می آورد.

صدا، ویدئو و صفحه مشترک

TURN اعتبار نامه بنابراین تماس از طریق شبکه های محدود، با استفاده از Cloudflare یا Twilio اعتبار و یا TURN خود را URL نام کاربری و اعتبار.

ورودی Workflow

تنظیمات محل کار Agent به جای تنظیمات بازدید کننده: SLA اول در دقیقه، چشم انداز صف، میانبر صفحه کلید و پالت فرمان، جستجوی درون تعاملی و بلیط مشتری در بازرس.

کانال های پیام رسانی

WhatsApp، SMS، Facebook Messenger، اینستاگرام، تلگرام، پیام های مستقیم X و LINE، هر کدام با سوئیچ خودکار AI خود، به علاوه یک تغییر سیاست برای اقدامات هوش مصنوعی در کانال ها، یک پاسخ دادن به دستور و قالب بازگشت مجدد واتساپ، هر کانال در همان جعبه به عنوان چت وب فرود می آید.

یک Widget Preview زنده در پایین به روز رسانی های زبانه به عنوان ویرایش شما استفاده از آن به جای بارگیری مجدد وب سایت خود را برای بررسی تغییر.
تنظیمات Settings

تنظیمات: Templates

هر ایمیلOpsIQارسال، و یک طراحی که همه آنها را تنظیم می کند.نوشتن هر پیام و نوشتن قالب های خود را برای هر چیزیOpsIQدر حال حاضر ارسال نمی کند.

یک طراحی، بسیاری از پیام ها

. اون قالب ایمیل جهانی بسته بندی: آرم شما، هدر، کارت، تایپوگرافی و پابر، با یک وسط خالی.OpsIQارسال در آن وسط قرار داده شده است. Edit thelayper یک بار و هر ایمیل تغییر همراه - بلیط پاسخ می دهد، فروش فروشگاه، رمز عبور تنظیم مجدد، یادآوری رزرو، نامه های PeopleOS و هر چیزی که شما خودتان بنویسید.

هیچ راهی برای ارسال یک ایمیل از آن وجود ندارد.OpsIQبدون این بسته بندی، آن را در یک نقطه هر پیام از طریق اعمال می شود، بنابراین یک پیام اضافه شده بعدا نمی تواند آن را از دست بدهد.

ویرایش یک پیام

1
تنظیمات باز، سپس Templates

پیام ها توسط آنچه که هستند دسته بندی می شوند: بلیط و پورتال، فروشگاه، علامت گذاری و امنیت حساب، رزروها، مکالمات و اعلان ها، گزارش ها، نامه های PeopleOS و خود شما.

2
دانلود آهنگ جدید The One You Want

شما موضوع را دریافت می کنید، یک ویرایشگر متن غنی با یکHTMLمشاهده کنید که می توانید به زندگی خود تغییر دهید و پیش نمایش ایمیل نهایی دقیقا همان طور که دریافت کننده آن را دریافت می کند - بسته بندی شما شامل.

3
استفاده از تراشه های متغیر

تراشه های بالای ویرایشگر حقایق تغییر هستند: شماره بلیط، مرجع سفارش، زمان رزرو یک کلیک برای رها کردن آن در جایی که مکان نما است.

4
ذخیره سازی Save

فقط این پیام نوشته شده است، یک فیلد خالی را رها کنید و آن را در کلمه سازی داخلی نگه می دارد؛ قرص روی ردیف به شما می گوید که کدام حالت در آن قرار دارد.

💡
متغیری که استفاده نمی کنید زمانی که ایمیل ارسال می شود حذف می شود و بنابراین خط است که در آن قرار دارد، به همین دلیل رزرو بدون شماره تلفن هرگز “Phone” را ارسال نمی کند: هیچ چیز پس از آن.

قالب خود را بنویسید

استفاده از این برای یک پیامOpsIQدر حال حاضر ارسال نمی کند: یک اعلان تحویل، یادآوری تجدید، بسته خوش آمدید، کلید مجوز، همه چیز را دریافت می کند - سردبیر، پیش نمایش، قوانین برنامه و طراحی جهانی شما - و سیستم خود آن را از طریق پیام داخلی ارسال می کند.API.

1
Press Add Template

دکمه در بالای صفحه Templates قرار دارد و دوباره در کنار “تو قالب های خود” قرار می گیرد.

2
نام آن

نام به مرجعی تبدیل می شود که سیستم شما در زیر زمین به عنوان نوع شما ارسال می کند – برای مثال x_ سفارشی_delivery_booked پس از آن نمی تواند تغییر کند، زیرا چیزی که قبلاً توسط آن ارسال خواهد شد.

3
بگو چه می شود و چه زمانی فرستاده می شود.

این دو خط چیزی هستند که شما و همکارانتان در صفحه ی الگو ها در سال از آن زمان خوانده اید.آنها به اندازه سی ثانیه ارزش دارند.

4
فهرست قطعاتی که تغییر می کنند

به عنوان مثال، Comma-separated: نام، هنگامی که ردیابی_link می شود، هر کدام تبدیل به یک لینک می شوند.{{variable}}شما می توانید به موضوع یا پیام وارد شوید و سیستم شما آن را در زمان ارسال پر می کند.

5
موضوع و پیام را بنویسید

جملات ساده خوب هستند - تقسیم خط تبدیل به پاراگراف تنها؛ لوگو، هدر و پادار از قالب جهانی آمده است.

6
سپس آن را باز کنید.

این در زیر " قالب های خود" با ویرایشگر کامل و پیش نمایش زنده، همان طور که هر پیام داخلی.

⚠️
Write the message, not the whole page. A template that carries its own <html> document is refused, because a whole document would slip past the wrapper and your email would go out with none of your branding on it.

ارسال قالب خود

دو تماس در مورد محصولAPIفراخوان گیرنده و متغیرهای را تأمین می کند - هرگز کلمه پردازی و هرگز طراحی نمی شود، بنابراین ادغام نه می تواند ایمیل های بدون مارک از طریق فضای کاری شما ارسال کند و نه به آرامی آنچه که شما به مشتریان خود می گویید تغییر دهد.

فهرست قالب ها و متغیرهایی که هر یک می گیرد
POST /api/v1.php
Authorization: Bearer YOUR_API_KEY

{ "action": "email.templates.list", "mine": true }
ارسال آن
POST /api/v1.php
Authorization: Bearer YOUR_API_KEY

{
  "action": "email.template.send",
  "template": "x_custom_delivery_booked",
  "to": "[email protected]",
  "to_name": "Ada Obi",
  "variables": {
    "name": "Ada",
    "when": "Thursday 11 September, 14:00",
    "tracking_link": "https://track.example.com/AB12"
  }
}
💡
نام های متغیر بدون بریس در براکت هاAPIایمیل.templates.list آنها را دقیقاً به شکلی که در آن عبور می کنید، باز گرداند.

قالب ها و برنامه شما

پیامی که شما برای آن خدمات ندارید

اقامت با یک لینک "برنامه های ببینید" و هیچ ویرایشگری فهرست شده است، بنابراین شما می توانید ببینید که چه چیزیOpsIQارسال می کند و چه چیزی آن را باز می کند.

قالب های خود را

انتخاب یک قالب متعلق به زمانی است که شما آن را ایجاد می کنید یا آن را در هر برنامه ای بگذارید.یک فضای کاری بدون آن سرویس آن را ذکر کرده اما نمی تواند ویرایش کند و یا ارسال کند.

ثبت نام، امنیت، اعلان ها و آزمون ایمیل

هرگز برنامه ریزی نشده است که قادر به اصلاح کلمه رمز عبور مجدد مدیران خود نباشد، نوع اشتباه قفل خواهد بود.

سوالات

آیا می توانم طراحی را فقط برای یک پیام تغییر دهم؟+

نه و عمدا طراحی بسته بندی است و به اشتراک گذاشته شده است، که چیزی است که هر ایمیل را به طور قابل تشخیص خود نگه می دارد. آنچه در ازای آن کلمه، پانل حقایق و هر دکمه ای که شما در داخل پیام اضافه می کنید.

چه اتفاقی برای کلمه من می افتد اگر من تنظیم مجدد را فشار دهم؟+

Reset فقط در قالب جهانی ظاهر می شود و جایگزین آنچه که در ویرایشگر با طراحی داخلی است، هیچ چیز نوشته نمی شود تا زمانی که شما ذخیره کنید، بنابراین شما می توانید گفتگو را برای تغییر ذهن خود ببندید.

یکی از قالب هایم را به اشتباه حذف کردم.+

حذف کردن دو کلیک را دقیقا به همین دلیل می برد – اولین اسلحه ای که آن را می گیرد و به شما می گوید چه چیزی کار را متوقف خواهد کرد، اگر قبلا رفته است، دوباره با همان نام ایجاد کنید و همان مرجع برگردد؛ تنها کلمه باید مجددا تایپ شود.

آیا یک کانکتور یا اضافه کردن می تواند قالب های خود را به ارمغان بیاورد؟+

بله، یک بسته یک پست الکترونیکی را حمل می کند.jsonدر دایرکتوری خود، و پیام های آن تحت "دلوپر قالب" با همان ویرایشگر، پیش نمایش، بسته بندی و دروازه طرح ظاهر می شود. ویرایش کلمات شما متعلق به فضای کاری شماست و زنده ماندن در بروزرسانی بسته است.

تنظیمات Settings

تنظیمات: OpsIQ نوشتن

بلیط ها در نوشتن پاسخ داده شده اند: پاسخ های خودکار، سیستم بلیت بومی، افزایش ساعات کاری، مسیریابی و ایمیل های مشتری.

خودکار-reply

نمایش Show OpsIQ نوشتن دکمه ها

دکمه های کمک کننده نوشتن را برای عوامل خود در مدیر اضافه کنید.

امکان بلیط خودکار

بلیط های جدید را دنبال کنید و پاسخ دهید و بعد از یک تاخیر به آنها پاسخ دهید.با آن شروع کنید و پیش نویس ها را برای یک هفته بررسی کنید. Refunds، کنسل کردن و تغییرات دسترسی همیشه باید به فرد دست پیدا کنند.

بخش های خودکار

کدام بخش ها به صورت خودکار ممکن است پاسخ دهند، هر چیزی که ذکر نشده برای یک انسان باقی مانده است، که پیش فرض ایمن است.

برنامه تأخیر پاسخ (minutes)

چه مدت قبل از ارسال پاسخ خودکار صبر کنید، یک پاسخ فوری به عنوان یک ربات خوانده می شود؛ چند دقیقه ای به عنوان تیم سریع خوانده می شوند.

مکس هوش مصنوعی در هر بلیط توسط بخش

یک کلاه تک نفره، برای مثال بیلینگ 1 حمایت و پشتیبانی 3بدون یک کلاه، یک نخ گیج شده می تواند حلقه بزند.

پاسخ به طول، وضعیت و هویت

حداکثر توکن های نوشتن، وضعیت بلیط پس از پاسخ و بعد از تشدید تنش ها و اینکه مدیر پاسخ های خودکار را به طور واضحی به نام حساب کاربری نسبت می دهد، بنابراین کارکنان می توانند پاسخ AI را از انسان ها بگویند.

عملیات بلیط بومی

سیستم بلیط بومی

سیستم بلیط ساخته شده در OpsIQ برای نصب بدون کمک خارجی.

لوله های ورودی ایمیل به بلیط های بومی

ایمیل ورودی را به بلیط تبدیل می کند. OpsIQ منبع نهایی URL توکن، مسیر اسکریپت و باینری PHP هر چیزی که بتواند به آن نقطه انتهایی ارسال کند می تواند بلیط ایجاد کند، بنابراین راز توکن را حفظ کنید.

پاسخ ها و تاخیرها و debounce

این که آیا AI همچنان به عنوان مکالمه پاسخ می دهد و اینکه آیا یک پنجره آرام را انتظار دارد، بنابراین سه پیام سریع به یک پاسخ در نظر گرفته شده است.در این صورت پنجره ساکت بهترین تنظیمات برای ایجاد پاسخ های خودکار است.

پشتیبانی عمومی پورتال

صفحه مشتری که هر کسی می تواند یک بلیط را بالا ببرد و آن را با یک خط خوش آمدید اختیاری ردیابی کند، آدرس آن و نگاه در برگه پورتال پشتیبانی پیکربندی شده است.

شماره بلیط

چند نامه تصادفی در شماره های بلیط تولید شده ظاهر می شود.

ایمیل مشتریان به زبان خودشان

ایمیل های بلیط از زبان مشتری پیروی می کنند. ایمیل کارکنان هرگز زبان را تغییر نمی دهد: اعلان ها، هشدار بخش، خلاصه و گزارش های برنامه ریزی شده در زبان سیستم شما باقی می مانند.

تایید و تأیید

تأیید ثابت در بلیط های جدید، به علاوه پیام های تاییدی که یک بلیت باز می شود، هنگامی که بازخورد باقی مانده و زمانی که یک بلیط بسته است، هر کدام با پیش نمایش زنده وجود دارد.همچنین یک قالب ایمیل جهانی و پیوند پشت دکمه بلیط خود را مشاهده کنید.

غربالگری اسپم AI

بلیط های ارسال شده از فرستنده های ناشناخته و می تواند به صورت اختیاری اسپم مشکوک را به خود منتقل کند، حرکت خودکار را تا زمانی که قضاوت آن را تماشا کرده اید، ترک کنید.

بلیط های خالی خودکار

یک بلیط را بعد از چند روز آرام ببندید و به مشتری بگویید که چگونه بازگشایی شود.

ساعات کاری (SLA calendar)

Timezone، باز کردن و بستن زمان، روزهای کاری و تعطیلات برای تایمر های اول و حل و فصل.یک برنامه جداگانه از ساعات کار تحت چت مشتری است.

بلیط های جدید Auto-assign

مأموریت خودکار، اختیاری فقط به عوامل که آنلاین هستند، با مهارت های عامل و حساسیت بازی برای مسیریابی مبتنی بر مهارت.

پیشنهاد بلیط های تکراری

نقاط زمانی که مشتری یک بلیط نزدیک به یک بلیط را باز می کند، با حساسیت قابل تنظیم بازی.

بررسی رضایت پس از نزدیک

ایمیل یک روز پس از بسته شدن، نتایج در صفحه CSAT ظاهر می شوند.

بخش را با ایمیل تقویت کنید

ایمیل های بخش زمانی که یک بلیط جدید می رسد. Recipients اعضای آن بخش هستند، نه آدرس صندوق پستی دپارتمان، که بلیط آدرس ورودی است.

آنچه AI ممکن است بخواند

دسترسی به داده های AI client

یک سوئیچ کارشناسی ارشد به علاوه مجوز خواندن فردی برای خلاصه پروفایل مشتری، فاکتورها، معاملات، تعادل اعتباری، محصولات و خدمات، دامنه ها، سرورهای مرتبط و یک مرور کلی حساب سطح بالا شروع با خلاصه نمایه و اضافه کردن دسته ها به عنوان پاسخ نیاز دارند.

افزایش و دانش

قابلیت AI Ticket

بلیط را به یک بخش بهتر قبل از پاسخ دادن منتقل می کنید، ادارات مجاز، تاخیر چک را انتخاب می کنید و می توانید دستورالعمل های هشدار تشدید خود را بنویسید.در این صورت تیم شما می تواند ببیند که چرا یک بلیط نقل مکان کرده است.

دانش آموزان

این که آیا پاسخ ها از زبان مشتری استفاده می کنند، چه آنها بر روی لینک های خزنده و پرسش های سوال برانگیز، چه AI تصویر را بخواند یا PDF وابستگی ها، حالت پاسخ دانش، چه وارداتی JSON دانش مورد استفاده قرار می گیرد و اینکه آیا لینک های منبع ممکن است ظاهر شوند یا از پیوندهای خزیدن شده و FAQ ها استفاده کنند، یا AI حدس می زند.

توقف خودکار پس از پاسخ انسانی

هنگامی که کارکنان پاسخ می دهند، AI متوقف می شود پاسخ دادن به این بلیط بدون آن AI می تواند بر روی نماینده خود صحبت کند.

بلیط و دستورالعمل ایمیل

دستورالعمل های متن آزاد که لحن و محتوای را برای هر پاسخ شکل می دهند، با یک مثال کار قابل بارگذاری، در مورد آنچه AI هرگز نباید انجام دهد، مشخص کنید.

واردات JSON دانش دانش

آپلود یا چسباندن JSON فایل دانش برای دستیار نوشتن

استودیو دکمه Studio

یک طراح کامل برای دکمه مشتری: سبک صفحه نمایش، اندازه، برچسب، نماد، شکل، حداقل عرض، سبک پس زمینه با رنگ های اولیه و ثانویه، زاویه گرادی، شعاع گوشه، تایپوگرافی، padding، انیمیشن بیکار، حرکت شناور و رنگ تمرکز، و حلقه متمرکز، به علاوه یک رسم سفارشی، زاویه شیب دار، شعاع سمت، شعاع زاویه، شعاع دایره، لبه، تایپوگرافی ، تایپوگرافی، فونت، فلش، انیمیشن، انیمیشن های بیهوده، انیمیشن و رنگ ها، حرکت و رنگ، و رنگ های فوکوس، و صدا، و انگشتر تمرکز، حلقه تمرکز، CSS جعبه برای هر چیزی که کنترل ها پوشش نمی دهند.

تنظیمات Settings

تنظیمات: پشتیبانی پورتال

سایت مشتری که در آن مردم بلیط ها را بالا و پیگیری می کنند و مقالات کمک شما را می خوانند، این برگه کنترل می کند که چگونه به دست آمده است و چگونه مشتریان وارد می شوند؛ طراحی بصری آن در استودیو پورتال پشتیبانی انجام می شود.

پورتال یا بلیط جاسازی شده: کدام یک را می خواهم؟

این دو محصول مختلف هستند و افراد به طور مداوم آنها را ترکیب می کنند. آنها مشکلات مختلف را حل می کنند و دویدن هر دو با هم طبیعی است.

پشتیبانی از پورتال Studio: جایی که شما مشتریان را به آن ارسال می کنید

استودیو طراحی یک سایت پشتیبانی کامل OpsIQ میزبان برای شمااین آدرس وب خود یا دامنه خود را دارد و کل تجربه خدمات خود را حمل می کند: کمک به مقالات با جستجو، فرم درخواست، تاریخ بلیط، امضا مشتری و دستیار انتخاب یک الگو، کار از طریق تم، ناوبری، پیکربندی، دانش، مارک، فروش، فروش ، سفارش، فرم و معاون. CSS پیش نمایش در اندازه های دسکتاپ، تبلت و تلفن، سپس منتشر می شود.

استفاده از آن در زمانی که شما می خواهید یک مقصد نام تجاری را به هر مشتری اشاره کنید و ترجیح می دهید که در وب سایت خود منطقه پشتیبانی ایجاد یا نگهداری نکنید.

بلیط جاسازی شده: بلیط در داخل سایت خود

اين ضمیمه تنها تجربه بلیط در یک صفحه از وب سایت خودمشتریان باز، پیگیری و پاسخ به درخواست های پشتیبانی بدون اینکه هرگز صفحات خود را ترک کنند، و هدر، ناوبری و طراحی شما دقیقا همان طور که هستند باقی می مانند. Set، ظاهر و قوانین دسترسی در سازنده ویجت، پیش نمایش نتیجه، سپس قطعه جاسازی شده را به صفحه خود کپی کنید.

استفاده از آن در زمانی که شما در حال حاضر یک وب سایت یا برنامه با طراحی خود دارید و می خواهید پشتیبانی از آن به جای تحویل مشتری به آدرس دیگری وارد شود.

نسخه کوتاه

استودیو ساخت جایی که مشتریان را به آن می فرستید. اين يه بليط مياره در جایی که مشتریان شما قبلاًبسیاری از کسب و کارها هر دو را اجرا می کنند، ویجت بلیط را در منطقه حساب خود برای درخواست های داخل متن جاسازی می کنند در حالی که پورتال میزبان را به عنوان مقصد کامل خدمات با مقالات و جستجو نگه می دارند.

آدرس و دسترسی

حالت دسترسی

این که آیا پورتال برای هر کسی باز است یا محدود به مشتریان امضا شده است. پورتال های باز بلیط بیشتری دریافت می کنند و اسپم بیشتری دارند.

انتخاب های چیدمان

این که آیا پورتال و مرکز کمک یک قهرمان را به اشتراک می گذارند یا از دو نفر استفاده می کنند، کدام مسیر ناوبری و پابر روی هر دو سطح ظاهر می شوند و برچسب بخش ناوبری.

آدرس پورتال

مشتریان آدرس استفاده می کنند، یک نام را انتخاب کنید و OpsIQ نشان می دهد پورتال و تطبیق آدرس های مرکز کمک، تغییر آن بعدا لینک هایی که قبلا ارسال کرده اید را تجزیه می کند.

دامنه خود شما

پورتال را از یک دامنه که خود دارید، مانند support. yourdomain. com خدمت می کند.

بلیط های جاسازی شده Portal

سوئیچ ها بر روی ویجت کشویی که در بالا توضیح داده شده است، باز می کند سازنده جاسازی جایی که شما طرح، ظاهر و قوانین دسترسی را انتخاب کنید، پیش نمایش نتیجه و کپی قطعه برای صفحه خود را.این پورتال میزبانی نیست: استودیو طراحی پورتال میزبان، این بلیط ها را در داخل سایت خود قرار می دهد هر دو می تواند در یک بار باشد.

چگونه مشتریان وارد می شوند

این گزینه ها مشتریان شما هستند. Staff Sign-in تحت تنظیمات، امنیت پیکربندی شده است.

روش های ثبت نام-in

کدام گزینه ها در صفحه ی امضا ظاهر می شوند. Connector و ایمیل امضا به طور خودکار کار می کنند.

نشانه اجتماعی

ارائه دهندگان حساب مصرف کننده، هر کدام نیاز به شناسه مشتری و راز دارند، با آدرس هدایت شده ای که توسط آدرس ریدایرکت ارائه می شود. OpsIQ ثبت نام با این ارائه دهنده.

ورود تک‌بار) OIDC (

ثبت نام مشتری از طریق یک ارائه دهنده هویت، با موضوع URL شناسه مشتری، راز و یک لیست دامنه ایمیل مجاز.

مشتری مشتری SAML 2.0

. اون SAML معادل. OpsIQ پاسخ ACS را ارائه می دهد.URLو شناسۀ موجودیت SP؛ شما شناسه‌ی موجودیت IdP، ورود و خروج را فراهم می‌کنید URLs, X 509 نامهای گواهی‌نامه و خصیصۀ گزینشی.SAML در روشهای ورود را روشن کنید وگرنه ظاهر نخواهد شد.

ثبت نام بی درز از برنامه شما

یک لینک عمیق امضا شده به طوری که مشتری در حال حاضر به سرزمین های درخواست خود را در پورتال بدون ثبت نام دوباره امضا کرده است. OpsIQ خرید سریال The Sign Secret, Portal URL و کلید محل کار، یک مسیر کامل برای زبان شما (PHP، Laravel، WordPress, WHMCS, Node.jsFlask، Django، .NET، Rails، Java، Go و نصب خود میزبان OpsIQ خود سرور، یادداشت های تنظیم گام به مرحله و ژنراتور برای یک لینک تست امضا شده استفاده از ژنراتور قبل از نوشتن هر کد.

چگونه مسیر کار می کند

مشتری شما بر روی یک لینک پشتیبانی که در مسیر اشاره می کند کلیک می کند.این مسیر مشتری را به برنامه شما امضا می کند (یک مهمان به ورود و عقب ارسال شده است)، راز سرور خود را می خواند، نشانه های یک بار است که در دو دقیقه منقضی می شود و با هیچ هدر و بدون فروشگاه به پورتال هدایت می شود تا توکن کش یا نشت نکند.

امضای خود پورتال در دکمه

در Portal Studio، صفحه Sign-in، از ورود وب سایت من استفاده کنید و صفحه ورود خود را تنظیم کنید URL در همان مسیر، پورتال اضافه می کند opsiq_portal_return (صفحه مشتری در آن بود)؛ مسیر فقط زمانی که داخل آدرس پورتال شما قرار دارد و مشتری را به آنجا بازگرداند، امضا شده است.

WHMCS

هیچ چیز برای نوشتن: WHMCS قلاب از سایت های راه دور در حال حاضر مشتریان را به پورتال علامت گذاری کرده و آدرس بازگشتی شما را اداره می کند URL به سوی شما WHMCS ورود به منطقه مشتری

ثبت نام در همه جا

ثبت نام از پورتال همچنین مشتری را از برنامه شما نشان می دهد.

حمایت و پیشگیری

درخواست فیلدهای فرم

که زمینه های ساختاری فرم درخواست جمع آوری می کند، هر فیلد اضافی ارسال را از دست می دهد، بنابراین فقط برای آنچه شما نیاز به سه برابر دارید سوال کنید.

اسپم و محافظت از سوء استفاده

یک Honeypot و نرخ محدود کردن همیشه از فرم عمومی محافظت می کند.در بالا شما می توانید آدرس های ایمیل قابل استفاده را مسدود کنید، دامنه های مسدود شده خود را اضافه کنید و با استفاده از Google reCAPTCHA یا Google reMarkettCHA یک CAPTCHA اضافه کنید. Cloudflare reCAPTCHA استفاده از کلید در حال حاضر تحت تنظیمات، امنیت؛ کلید های گیتی وارد اینجا.

تحلیل پورتال Portal Analysis

خلاصه ای از فعالیت پورتال در طول سی روز گذشته

تنظیمات Settings

تنظیمات: مجوزهای، مجوز، Cron و منطقه خطر

گروه سیستم، به علاوه کنترل دسترسی تیم که تصمیم می گیرد چه کسی می تواند ببیند کدام برگه تنظیمات را مشاهده کند.

دسترسی تیم و مجوز

مجوز های Per-admin

هر مدیر مجموعه ای صریح از مجوزهای پوشش دسترسی به جعبه چت را دریافت می کند که بخش های تنظیمات آنها ممکن است ویرایش کنند و هر کسی با نقش مدیر کامل همیشه دارای مجوز است.

مجوز

گواهینامه فعلی خود را نشان می دهد، آنچه که شما را به و وضعیت آن است.

راه اندازی Cron

نصب خود میزبان فقط در On OpsIQ کارهای برنامه ریزی شده را برای شما اجرا کنید و زبانه پنهان است.یک خط crontab هر وظیفه برنامه ریزی: بلیط خودکار، مسیریابی افزایش یافته، تجدید نظر در نرخ تبادل، نظرسنجی صندوق پستی و همگام سازی اتصال.

1
کپی کردن خط

این برگه نشان می دهد خط دقیق crontab برای سرور شما با باینری PHP صحیح که قبلا انتخاب شده است.

2
اضافه کردن آن به crontab

Run crontab – به عنوان کاربر که PHP را اجرا می کند و یک خط واحد را در آن قرار می دهد. cPanel به جای آن از ابزار Cron Jobs استفاده کنید.

3
بررسی

در عرض یک دقیقه کاشی های ضربان قلب روشن می شوند، از دویدن استفاده کنید تا بلافاصله تست کنید نه اینکه منتظر بمانید.

پانل ضربان قلب آخرین اجرا، مدت و آنچه که برای هر دو خط خودکار و نظرسنجی ایمیل و اتصال پردازش شده است را نشان می دهد. هشدار می دهد که آخرین اجرای از دکمه وب دستی به جای یک سرور واقعی cron و زمانی که ضربان قلب رفته است.

منطقه خطر

حذف تمام داده های ردیابی

همه چیز را OpsIQ جمع آوری و یا تولید.شما آنچه را که باید شامل و تایپ عبارت تایید دقیقاً تنظیمات و پیکربندی سایت، آدرس های مسدود شده، همه چیز تیم خود نوشته است (پایه دانش، FAQ، ترجمه ها، طرح های پورتال، تعاریف عمل) و دریافت رضایت همگی حفظ می شوند.

دانلود بازی Purge Data قدیمی تر از

همان رکورد محدود به رکوردهای قدیمی تر از 30, 60, 90 یا 180 روزها یا یک سال برای حفظ اتوماتیک، از ارزش های نگهداری در حالت عمومی و ردیابی استفاده می کنند و اجازه می دهند کار برنامه ریزی شده آن را انجام دهد.

🚫
صادرات پشتیبان از تنظیمات، عمومی قبل از استفاده از هر چیزی در منطقه خطر نمی تواند انجام شود.
تنظیمات Settings

مدیریت تیم شما

دعوت اعضای تیم و اختصاص دادن نقش برای کنترل کسانی که می توانند به چه چیزی دسترسی داشته باشند.

تیم تیمی
تیم و بخشصفحه نمایش تیم: یک جدول از مدیران با تماس، نشان نقش (Owner، Full Admin، Agent) و بخش هایی که هر کدام می توانند به آن دسترسی داشته باشند.تیم و بخشفضای کاریتیم و بخش+ Save Administratorارتباط بانقشDEPARTATIONS:آقا[email protected]آدا |مالکهمه چیزکیلومتر[email protected]دانلود بازی Kojo Mensahمدیریت کاملهمه چیز.آر تی[email protected]ریتا تاتنمایندهلایحه[email protected]نمایندهپشتیبانی1TEAMدعوت و مدیریت مدیران2ROLESمالک · Full Admin · Agent3SCOPEDدسترسی به Per-department
صفحه نمایش واقعی تیم: هر مدیر با تماس، نقش و بخش هایی که می توانند به آن دسترسی پیدا کنند، نمایندگان پر شده، صاحبان کامل هستند.

نقش ها

مالک

دسترسی کامل از جمله مجوز، صورتحساب و منطقه خطر.یک در هر نصب

مدیریت کامل

دسترسی کامل به جز مجوز و منطقه خطر می تواند مدیران را مدیریت کند.

نماینده

محدود به بخش های اختصاص داده شده، بلیط ها، چت و تجزیه و تحلیل فقط.

عضویت در اعضای تیم

1
به تیم بروید

به تیم در نوار کناری بروید.

2
Click Request

ایمیل اعضای تیم را وارد کنید.

3
نقش آفرینی

مالک، Full Admin یا Agent را انتخاب کنید.

4
بخش های مرجع

برای نمایندگان، بخش های قابل دسترس را انتخاب کنید.

5
ارسال دعوت نامه

آنها یک ایمیل با یک لینک تنظیم دریافت می کنند.

تنظیمات Settings

عملکرد تیم

چگونه تیم پشتیبانی شما در حال انجام است. Access توسط مجوز، نه با نقش: اجازه بازدید باز می کند صفحه، مجوز مدیریت قفل اهداف، QA و خواندن همکار شناسایی شده است، و مجوز مالی پاداش چیزی است که زبانه پاداش را اضافه می کند.یک مدیر می تواند بدون تبدیل شدن به یک مدیر کامل داده شود.

عملکرد تیم
عملکرد تیمصفحه نمایش عملکرد تیم: عوامل رتبه بندی شده توسط یک نوار امتیاز کامپوزیت، CSAT و تعادل پاداش با دکمه پرداخت در هر ردیف.عملکرد تیمفضای کاریعملکرد تیممامورامتیازCSATتعادل.آر تیریتا تات4.8$42پرداخت حقوقسم بواتنگ4.5$28پرداخت حقوقکیلومتردانلود بازی Kojo Mensah4.2$15پرداخت حقوق:آقاآدا |4.9$51پرداخت حقوق1SCOREDعملکرد کامپوزیت2CSAT & LOADرتبه بندی + Volume3REWARDSتوازن های کارگزار پرداخت
صفحه نمایش واقعی عملکرد تیم: هر نماینده در حجم و CSAT با تعادل پاداشی که می توانید به صورت متوالی پرداخت کنید، امتیاز گرفت.

چگونه صفحه سازماندهی می شود

عملکرد تیم پنج زبانه است که هر کدام به یک سوال متفاوت پاسخ می دهند و آنها با اینکه معمولاً به شما نیاز دارند، دستور داده می شوند.

01 مرکز فرماندهی

حالت صف زنده، نتایج مشتری در برابر اهداف شما، چگونگی صرف ظرفیت، موقعیت های نیاز به تصمیم و شاخص تنظیم شواهد برای هر تیمی.

02 هم تیمی ها

برد، به رسمیت شناختن (بیشتر بهبود و رگه)، ماموریت ها و کنترل انتخاب برای کسانی که ممکن است رتبه بندی را ببینید.

03 کیفیت کیفیت

کارت های امتیاز، ارزیابی ثبت شده، توافق بررسی فرصت اصلاح شده، حرکت بازبینی و اختلافات شواهد.

04 پاداش

ارزش توکن، ادعاهای پرداخت و تخصیص دوره مدیریت شده: ثبت سقف بودجه، بررسی پیش نمایش، نهایی.

05 تاریخ تاریخ

چگونه فضای کاری در طول زمان حرکت کرده است: معیارهای روند با یک نمودار و یک جدول 28 پوشش روزانه نقشه گرما نشان می دهد که تیم در واقع کار می کند، هر کارت خود را پنهان می کند تا زمانی که تاریخ کافی برای رسم آن وجود داشته باشد.

Unscored صفر نیست

یک تیم بدون حجم کافی مدیریت شده – یا ابعادی که شواهد حمل می کند تا کمتر از نیمی از وزن پیکربندی شده را اضافه می کند – به عنوان Unscored نشان داده می شود، نمره و گروه خالی هستند و تجزیه و تحلیل آنها عمدی است: ارائه اندازه گیری غایب به عنوان یک صفر کسی را در پایین رتبه بندی برای داشتن آستانه های هفته ای آرام قرار می دهد.

دو آستانه ی شواهد، شغل های مختلفی را انجام می دهند و ارزش جدا کردن آن ها را دارند.حداقل کاری که فرد به طور کامل انجام می دهد، این است که حداقل امتیازها بر نمره تاثیر نمی گذارد: جایزه تصمیم می گیرد و واجد شرایط بودن پاداش می شود.بنابراین یک شریک تیم می تواند به طور کاملی به ثمر برساند و هنوز هم برای آن دوره قابل قبول باشد زیرا تعداد کمی از مشتریان آنها را ارزیابی می کنند.

💡
هر رقم به فضای کاری که مشاهده می کنید و محدوده زمانی که انتخاب می کنید، دامنه دارد.یک تیم کار در دو فضای کاری جداگانه دارای یک رکورد مستقل در هر کدام از استثنائات است که ارزش دانستن آن را دارند: یک گروه سایت یک فضای کاری است، بنابراین دامنه های عضو آن با هم اندازه گیری می شوند؛ و همه آنها به طور عمدی همه چیز را در یک بار مشاهده می کنند.

شاخص عملکرد

ترکیبی از پنج بعد، هر یک در برابر هدفی که به جای همکاران تعیین می کنید اندازه گیری می شود، سپس به سمت وسط کشیده می شوند، زمانی که شواهد پشت آن نازک است.توجه داشته باشید: تنظیم تغییر شکل را به سمت طرف مقابل حرکت می دهد.70 بنابراین یک امتیاز عالی نازک پایین کشیده شده و نمره ضعیف نازک در هفته اول بد در چهار مکالمه نیز حکم حل نشده است، زیرا شواهد ارقام تنظیم شده را بر روی عدد خام جمع آوری می کند.

کیفیت

رضایت مشتری از بازخورد تایید شده توسط QA کارت امتیاز نتایج که در آن وجود دارد و تحت کنترل است.

مسئولیت پذیری

اولین بار در P50 و P90 درصد از افراد، علیه اهداف شما.

قطعنامه

زمان حل و فصل یک لمسی

SLA

در برابر SLA که پیکربندی کرده اید، به علاوه در معرض خطر و حساب های نقض شده قرار بگیرید.

انتقام

نرخ های باز و انتقال - کار که بازگشت.

💡
وزن قابل تنظیم و نسبی است؛ آنها مجبور نیستند به طور کامل 100 شواهد از دست رفته فقط می توانند شاخص را کاهش دهند، هرگز آن را بالا نبرند – وزن کامل پیکربندی شده در مخرج باقی مانده است.

ظرفیت و زمان مولد

زمان تولید، حل هر ساعت تولیدی و سهم آنلاین پنجره به طور عمدی گزارش نشده است: آن نیاز به ساعت های برنامه ریزی شده به عنوان یک مخرج دارد.OpsIQ هیچ منبع تغییر و تحولی ندارد، و یک مخرج جایگزین می تواند حدس بزند که با استفاده از یک نشانه درصد در دسترس نیست.

⚠️
گزارش فقط می گوید که چگونه زمان صرف شد، هرگز چقدر خرج نشد و هیچ وقت بودجه، دروازه ها یا اندازه پرداخت را در دست نمی گیرد.یک شریک با هیچ مدرک زمانی به عنوان خوانده نشده است، هرگز به عنوان صفر.

تضمین کیفیت

کارت امتیاز، بررسی کنندگان روبی است که به مکالمات واقعی در برابر.تنها یک نسخه منتشر شده می تواند ارزیابی دریافت کند و انتشار نسخه جدید هرگز آنچه را که قبلا به ثمر رسیده بود بازنویسی نمی کند. A Review شواهدی درباره یک مکالمه است نه یک حکم بر روی شخص.

توافقنامه بازنگری

گزارش شده به عنوان یک آمار شانس اصلاح شده (Cohen’s and Fleiss' kappa)، نه یک درصد توافق نامه خام.100% در حالی که هیچ اطلاعاتی را حمل نمی کند.

دانلود بازی Rere

این که آیا یک بررسی به طور سیستماتیک سخت تر یا نرم تر از همکاران خود در همان مکالمه است - مقایسه با بقیه پانل، نه روند در طول زمان نیاز به تعامل بررسی شده مستقل بیش از یک بار.

اختلاف

یک شریک می تواند به طور رسمی در مورد شواهد ثبت شده در مورد آنها بحث کند.یک اختلاف باز، نهایی شدن پاداش را تا زمانی که حل شود، مسدود می کند.

خود-review

Reified. Amate نمی تواند ارزیابی خود را ارائه دهد.

⚠️
ارزیابی های کارشناسی ارشد AI نمی تواند بر پرداخت تاثیر بگذارد تا زمانی که کالیبراسیون منتشر شود نشان دهد مدل با بررسی کنندگان انسانی به اندازه کافی موافق است، اندازه گیری شده توسط کاپا در برابر یک نمونه حداقل. دروازه باز به این معنی است که مدل با افراد نزدیک به اندازه ای موافقت می کند - هرگز به این معنا نیست که مدل درست است.

تشخیص

رتبه بندی به تنهایی حالت های شکست را مستند کرده است: بازی متریک، فرسودگی و فریب عمومی هر کسی که آخرین باشد.سه جایگزین در کنار آن نشسته اند.

بهبود بیشتر

اندازه گیری شده در برابر سابقه قبلی یک تیم، هرگز علیه همکاران، با کاهش سن، بنابراین یک مخرج کوچک نمی تواند برنده شود.

نوارها

دوره های شکستی با یک نوار ثابت و اعلام شده ملاقات می کنند - متوسط رتبه بندی، حجم مدیریت، شمارش رتبه ها و نرخ منفی بازخورد، همه ارقام مطلق می توانند به طور همزمان خط را نگه دارند، بنابراین هیچ رتبه ای ایجاد نمی کند و همکار دارای یک ماه استثنایی نمی تواند شما را بشکند.

رتبه بندی Opt-in

به طور پیش فرض، یک هم تیمی همیشه شاخص خود را می بیند؛ آیا آنها می بینند که همکاران یک تصمیم فضایی هستند یا نه اینکه باندهای ۱۰۰٪ را می توان به جای موقعیت های مطلق منتشر کرد.

💡
شناسایی هرگز به پول دست نمی دهد، یک خط نمی تواند یک پرداخت یا شکستن یکی را تامین کند و بهبود بخش جایزه نیست.

ماموریت ها

هدف تیم به سمت کار می کند، در برابر یک نوار ثابت اندازه گیری شده است نه علیه یکدیگر - بنابراین همه می توانند همان تلاش را در همان دوره روشن کنند.

محدوده و کادر

فردی یا تیم؛ یک خاموش، تکرار پذیر و فصلی با پنجره ای روشن.

معیارهای

مکالمات انجام شده، رتبه بندی دریافت شده، روزهای فعال، متوسط امتیاز یا نرخ بازخورد منفی.همه مطلق - هیچ متریک که ارزش آن بستگی به آنچه همکاران انجام داده اند.

کیفیت نگهبان

در هر تلاش با هدف حجم مورد نیاز است، به شماره ضربه بزنید در حالی که کیفیت زیر کف قرار می گیرد تا ماموریت را به جای تکمیل آن نگه دارد و به عنوان بی نظیر نشان داده شده است نه ناتمام.

محدودیت های تکراری

یک کلاه هرپردازش، که توسط آهسته ترین معیار هدایت می شود، به علاوه خنک کننده اختیاری قبل از تکرار می تواند شمارش کند.

ماموریت های تیمی

پیشرفت مشترک بدون هیچ گونه تخصیص تیمی منتشر شده است، بنابراین یک تلاش تیمی نمی تواند به یک قهرمان تبدیل شود.

جلسات مربیگری

یک جلسه مربیگری یک رکورد است، نه یک چت.یک مربی، یک همکلاسی که مربی شده است، یک زمان برنامه ریزی شده، نقاط گفتگو توافق شده و خلاصه ای که پس از آن نوشته شده است. چت واقعی، بلیط ها و ارزیابی QA به عنوان شواهد به آن متصل می شوند، بنابراین مکالمه برای کار است که در واقع به جای به یاد آوردن یک تصور اتفاق افتاده است.

نکات گفتاری

قبل از جلسه توافق شده است، بنابراین تیم به یک سورپرایز نمی رود.

شواهد دقیق

چت ها، بلیط ها و ارزیابی های QA متصل به جلسه.یک پین یک مرجع - یک نوع و یک شناسه - نه یک کپی، بنابراین همیشه در رکورد زنده اشاره می کند.OpsIQ قبل از پذیرش آن، این کار را تایید نمی کند.

Action Cases

هر یک با صاحب و تاریخ مقرر، یک آیتم از تاریخ خود به عنوان بیش از حد نشان داده می شود - یک حالت مشتق شده، نه وضعیتی که کسی باید به خاطر داشته باشد.

یادداشت خصوصی

یادداشت شخصی مربی: تیم مربی هرگز نمی تواند آن را بخواند – نه به عنوان یک عامل، نه به مثابه مدیر، نه آن طور که مالک آن چک قبل از هر مجوز دیگر اجرا می شود و نمی تواند بیش از حد خسته شود.

چه کسی می تواند یک جلسه را ببیند

مربی، هم تیمی و هر کسی که دارای مجوز عملکرد تیم مدیریت است، هیچ کس دیگر از جمله سایر هم تیمی ها در همان بخش.

حسابرسی

هر خلق، به روز رسانی، پین، بدون ریشه و تکمیل با آنچه تغییر کرده است ثبت می شود.

💡
مربیگری عمدا از امتیاز دادن جدا شده و از پول است.یک جلسه شاخص کسی را تغییر نمی دهد، پاداشی به دست نمی آورد و در صندوق رهبری ظاهر نمی شود.

پاداش ها و جوایز

فعالیت ثبت شده به توکن ها با ارزش نقدی که تنظیم می کنید تبدیل می شود. مسیر پرداخت عمدا آهسته است و هر مرحله ضبط می شود .

1
تعیین ارزش توکن

چند توکن برابر با مقدار پول و هر فعالیت ارزش دارد.

2
سقف بودجه

برای یک دوره تقویم بسته، مدیر کامل می گوید که حداکثر توکن هایی که ممکن است پرداخت کند. پس انداز فرم تنظیمات بودجه ای را ثبت نمی کند و نمی تواند سقفی را تغییر دهد که قبلاً مجاز به آن شده اند.

3
دانلود بازی The Preview

دستورالعمل ها، رزرو و دلیل اینکه هر کسی در این مرحله تردید ندارد.

4
فینال

تخصیص به طور دائمی با شواهد پشت آن ثبت می شود.یک دوره که هیچ چیز را اختصاص داده است نمی تواند خالی و دوباره اجرا شود، یکی که توکن های صادر شده باید اول معکوس شوند:OpsIQ یک ورودی جبران کننده را در برابر هر کیف پول می نویسد و هرگز اصل را حذف نمی کند، بنابراین دفتر مرکزی هنوز نشان می دهد که چه اتفاقی افتاده است و تنها پس از آن دوره منتشر شده است.بازگشت امتناع می کند اگر کسی قبلا بیش از مقدار بازیابی پول نقد کرده باشد، و نام هایی که و تا چه حد هستند.

⚠️
واجد شرایط بودن نیاز به بازخورد مشتری تایید شده دارد. امتیازات کیفیت AI ممکن است این قضاوت را تکمیل کند اما هرگز جایگزین آن نشود و یک شریک تیم نشان داده شده به عنوان Unscored واجد شرایط نیست.25% بالاتر از سهم مورد انتظار آنها در این دوره، بنابراین یک ماه بسیار پر حجم نمی تواند کل بودجه را جذب کند.
💡
مالک حساب هیچ بخشی از جوایز یا پاداش های توکنی را بدون تغییر نمی گیرد: آنها سقف بودجه و نهایی کردن هر تخصیص، و هیچ کس بالاتر از آنها وجود دارد تا آنچه که به خود پرداخت می کنند را تایید کند، کار خود را اندازه گیری، امتیاز و رتبه بندی در هیئت مدیره دقیقا مانند هر شخص دیگری.

هر کس دیگری به طور پیش فرض شرکت می کند، رهبری تیم و مالکان شرکت شامل آن است که کسی را بیرون بگذارد، آنها را در تیم و وزارت باز کرده و بخش Takes را در گزینه جوایز و پاداش ها تغییر دهد.کار آنها هنوز به ثمر رسیده و نشان داده شده است؛ آنها متوقف کردن نامزد بودن از آن نقطه، و هیچ چیز در حال حاضر نهایی شده است لمس شده است.

⚠️
هیچ کس پول را برای خود تایید نمی کند، زیرا افرادی که می توانند شرکت کنند نیز کسانی هستند که می تواند پرداخت ها را تأیید کنند.OpsIQ امتناع از پرداخت و یا اعتبار به کیف پول خود، پرداخت ادعای خود را، نهایی کردن یک دوره که در آن شما پرداخت خواهد شد، و پایان دادن به یک جایزه شما برنده می شود. یکی دیگر از مدیران کامل یا مالک باید آن را انجام دهد.

چه کسی می تواند ببیند و چه کند

مشاهده عملکرد تیم

هیئت مدیره، حالت زنده، ظرفیت و مرور کیفیت برای فضای کاری.

مدیریت عملکرد تیم

هدف ها و امتیاز، صادرات، کارت های نمره QA و ارزیابی، مربیگری، ماموریت ها و خواندن که حمل اطلاعات همکار-شناس مانند تاریخ هر اداری و تاریخ جایزه.

تیم View به پرداخت مالی

تعادل، ارزش های نقدی، یادداشت ها و مراجعات پرداخت - جدا از شواهد عملکردی به دلیل آن است که حقوق و دستمزد.

مدیر کامل فقط

هر جهش پولی: پرداخت پاداش، پرداخت یا رد یک ادعا، نوشتن بودجه، نهایی کردن، تخلیه و یا برگشت تخصیص، و تنظیم نرخ توکن به پول نقد نمی تواند با اعطای مجوز.

استفاده از آن نسبتا

شاخص عملکرد، شواهد مدیریتی است، نه یک تصمیم اشتغال خودکار.باز کردن مکالمات منبع پشت یک شماره قبل از عمل بر روی آن و وزن پیچیدگی مورد، برنامه ها، مرخصی و نیازهای دسترسی به آن.یک هفته دشوار هیچ چیز مانند یک الگوی پایدار نیست.

تنظیمات Settings

سایت های شما (workspaces)

سایت ها (workspaces) به شما اجازه می دهد چندین وب سایت را از یک وب سایت مدیریت کنید OpsIQ نصب هر کدام دارای ردیابی خود، AI، کانکتورها و دسترسی به تیم است.

سایت های
سایت های شماصفحه نمایش سایت: لیستی از فضاهای کاری، هر کدام با دامنه، نوع، اتصال، نشان وضعیت و یک دکمه باز، به علاوه Add-new. site.سایت های شمافضای کاریسایت های شمااضافه کردن سایت جدیدSshop.acme.comتجارت الکترونیک · Shopify اتصال کانکتورفعال Activeباز OpenHhost.acme.comمیزبانی · WHMCS اتصال کانکتورفعال Activeباز OpenBblog.acme.comمحتوا · هیچ اتصالیراه اندازیباز Open1MULTI-SITEیک فضای کاری در هر سایت2ISOLATEDداده ها هرگز مخلوط نمی شوند3PER-SITEتنظیمات و کانکتور های خود
صفحه نمایش سایت های واقعی: هر سایت فضای کاری جدا شده خود ( دامنه، کانکتور و تنظیمات) است که از یک لیست اضافه شده و باز می شود.

ایجاد یک سایت

1
به سایت های متصل بروید

به سایت های متصل بروید.

2
اضافه کردن یک سایت جدید

نام، دامنه و شرح را وارد کنید.

3
کپی کردن کلید سایت

هر سایت یک کلید منحصر به فرد (site_xxx) برای قطعه ویجت می گیرد.

4
مستقل

هر سایت دارای AI، کانکتورها و تنظیمات خود است.

چند سایت می توانم داشته باشم؟+

بستگی به برنامه مجوز شما دارد.

تنظیمات Settings

مجوز و برنامه

شما خودتان OpsIQ قابلیت های مجوز، محدودیت سایت و تعادل اعتبار AI را کنترل می کند.

مجوز
مرکز مجوزمرکز مجوز OpsIQ: نقشه، نشان وضعیت فعال، کلید مجوز مخفی شده، یک سنجنده اعتبار هوش مصنوعی و دکمه Force-remote-check.مرکز مجوزفضای کاریOpsIQ مرکز مجوزبرنامه Planکسب و کاروضعیتفعال Activeکلید کلیدیOPSIQ-••••-••••-2F9CAI اعتبار$68 چپ چپبررسی از راه دور1PLAN & STATUSفعال، در یک نگاه2KEYHMAC-cached به صورت محلی3CREDITSتعادل و محدودیت های AI
مرکز مجوز واقعی: برنامه شما و وضعیت فعال، کلید پنهان، تعادل اعتبار AI-اعتباری شما و یک نیروی تک کلیک دوباره متحد می شود.
مجوز کلید

ورود به تنظیمات > مجوز OpsIQ سرور مجوز

مجوز ضربان قلب / اعتبار

OpsIQ به طور معمول رزرو مجوز محلی امضا شده و اعتبار تازه سازی آن را در صورت لزوم بخوانید.استفاده از کنترل از راه دور نیرو زمانی که شما نیاز به یک نتیجه فوری دارید؛ تشخیص ها شناسایی می شوند DNS HTTPS یا مشکلات زمان سرور

برنامه Plan

قابلیت دسترسی و محدودیت را مشخص می کند.

محدودیت سایت

حداکثر تعداد فضاهای کاری

AI اعتبار

اگر از AI مدیریت شده استفاده کنید، تعادل اعتباری شما در اینجا نشان داده می شود.

اعتبار

قبل از انقضای برای جلوگیری از وقفه خدمات تجدید نظر کنید.

چه اتفاقی می افتد وقتی که مجوز من به پایان برسد؟+

ردیابی، بلیط ها و CRM همچنان مکث می کنند تا داده های تمدید شده حفظ شوند.

تنظیمات Settings

پروفایل، رمز عبور و احراز هویت دو عاملی

هر مدیر می تواند هویت خود، ترجیحات کاری، رمز عبور و احراز هویت دو عاملی را حفظ کند.

صفحه نمایش محصول
مشخصات من My profileصفحه پروفایل جزئیات شخصی، زبان / منطقه زمان، آواتار / قانون، رمز عبور و احراز هویت دو عاملی را جدا می کند.مشخصات من My profileفضای کاریپروفایلکاملTIMEZONEاروپا/ آتن۲فاقابلیت هایدانلود بازی LiveSPACEنام و ایمیلهویت شخصیویرایش Editزبان و منطقه زمانیتاریخ ها و رابطویرایش Editآواتار و امضایپاسخ ها و حضور تیمویرایش EditPassword و 2FAمحافظت از حسابامن و ایمن1UPDATE PROFILEهویت و محلی2SECURE LOGINPassword و 2FA3SAVEدرخواست برای این مدیر
صفحه پروفایل جزئیات شخصی، زبان / منطقه زمان، آواتار / قانون، رمز عبور و احراز هویت دو عاملی را جدا می کند.

تنظیمات پروفایل متعلق به مدیر امضا شده است و نام تجاری فضای کاری را تغییر نمی دهد.از یک رمز عبور منحصر به فرد استفاده کنید و احراز هویت دو عاملی را فعال کنید.تغییر ایمیل یا تنظیم تأییدیه ممکن است نیاز به تجدید نظر مجدد یا نشانه تازه داشته باشد.

تنظیمات Settings

ترجیحات اعلان

کنترل ترجیحات اطلاع رسانی که رویدادهای عملیاتی به یک مدیر در محصول یا ایمیل می رسند.

صفحه نمایش محصول
ترجیحات اعلانصفحه اعلان ارائه می دهد در هر-event in-app و ایمیل انتخاب علاوه بر یک لیست اطلاع رسانی اخیر.ترجیحات اعلانفضای کاریIN-APPروشن| EMAانتخاب انتخابیUNREAD4دانلود بازی LiveSPACEبلیط اختصاص داده شدهدر داخل و ایمیلروشنمشتری پاسخ داددر برنامهروشنخطر SLAدر داخل و ایمیلروشنتایید AIدر داخل و ایمیلروشن1CHOOSE EVENTSفقط سیگنال های مفید2CHOOSE CHANNELدر برنامه یا ایمیل3بازبینیاعلان های اخیر
صفحه اعلان ارائه می دهد در هر-event in-app و ایمیل انتخاب علاوه بر یک لیست اطلاع رسانی اخیر.

اولویت بندی بلیط، پاسخ مشتری، هشدار SLA، چت دست و تأیید AI را پوشش می دهد.سی سیگنال های عملیاتی فوری را در جایی فعال کنید؛ خاموش کردن ایمیل لزوماً اعلان داخل برنامه را خاموش نمی کند.

تنظیمات Settings

امنیت نمای کلی

بررسی امنیت اولین صفحه برای ارزیابی بلوک ها، حملات ورود، جلسات تهدید، روند امنیتی و یکپارچگی رویداد است.

صفحه نمایش محصول
امنیت نمای کلیبررسی امنیت کارت های خطر فعلی را ترکیب می کند، یک 14- روند روز، لیست مهاجم، تغذیه رویداد و وضعیت یکپارچگی.امنیت نمای کلیفضای کاریACTIVE BLOCKS18FAILED LOGINS42HIGH THREAT3دانلود بازی LiveSPACEمسدود کردن خودکار7کل روز و منبعروندآخرین مهاجمانIP کشور و دلیلبازبینی شده دررویدادهای امنیتیریسک و نتیجه عملتغذیه Feedهش-chain یکپارچگیزنجیره رویداد آشکارمعتبر1READ HEADLINEنوردهی فعلی2OPEN EVIDENCEحمله کنندگان و حوادث3عملبلوک، بررسی، صادرات
بررسی امنیت کارت های خطر فعلی را ترکیب می کند، یک 14- روند روز، لیست مهاجم، تغذیه رویداد و وضعیت یکپارچگی.

از کارت های عنوان برای سه گانه استفاده کنید، سپس حسابرسی مربوطه را باز کنید، ورودهای شکست خورده، مسدود شده IPs یا JavaScript صفحه خطا برای کار در سطح رکورد 14 روند روز مفیدتر از یک موج منفرد است. جلسات با تهدید بالا باید در برابر بازدید کننده، درخواست و شواهد تأییدیه قبل از استفاده از بلوک دائمی مورد بررسی قرار گیرد.

تنظیمات Settings

ثبت نام حسابرسی آشکار

سوابق ثبت شده حسابرسی که چه زمانی، چه زمانی برای چه چیزی، در چه سطح خطر و چه موفق باشد.

صفحه نمایش محصول
حسابرسی فعالیتصفحه حسابرسی فعالیت های قابل جستجو دستکاری را با عمل، بازیگر، خطر، هدف و نتیجه فراهم می کند.حسابرسی فعالیتفضای کاریبازیگران18.2kHIGH RISK21INTEGRITYمعتبردانلود بازی LiveSPACEقابلیت فعال سازی[email protected] · _ShopifyموفقیتAPI کلید لغو شده[email protected] · کلید 19موفقیتتنظیمات تغییر کرد[email protected]· AIموفقیتامتناع از[email protected] · صادراتبلوک1FILTERاقدام، ریسک و بازیگر2بازرسيهدف و نتیجه3EXPORTCSV یا JSON
صفحه حسابرسی فعالیت های قابل جستجو دستکاری را با عمل، بازیگر، خطر، هدف و نتیجه فراهم می کند.

فیلتر از طریق عمل، ریسک و بازیگر؛ صادرات CSV یا JSON برای یک تحقیق، زنجیره هش به شناسایی ردیف های حسابرسی از دست رفته یا تغییر یافته کمک می کند، اما جایگزین پشتیبان گیری محافظت شده و دسترسی پایگاه داده محدود نمی شود. صادرات حسابرسی را حساس می دانند زیرا ممکن است کاربران، سوابق و اقدامات امنیتی را شناسایی کنند.

عملیات

تشخیص

تشخیص ها به طور زیر سیستم به نتایج سلامت ساده انگلیسی و اقدامات مستقیم بعدی تبدیل می شوند.

صفحه نمایش محصول
تشخیصتشخیص گروه های بهداشتی چک برای ویجت، AI، بلیط ها، ادغام، اطلاعات سایت، وظایف پس زمینه، اتوماسیون CRM، مجوز و ذخیره سازی.تشخیصفضای کاریبهشت13WARNING2شکست خورد1دانلود بازی LiveSPACEابزارکBeacon و chat Endpointسالموظایف پس زمینهضربان قلب دیرهشدارایمیلتست های خارج شده شکست خوردندشکست خوردهاتصال‌دهنده‌ها (Connectors)ثبت نام و رویداد مصرفسالم1REFRESHبررسی های فعلی2OPEN WARNINGشواهد خواندن3FIX AND RETESTبهبود
تشخیص گروه های بهداشتی چک برای ویجت، AI، بلیط ها، ادغام، اطلاعات سایت، وظایف پس زمینه، اتوماسیون CRM، مجوز و ذخیره سازی.

صفحه سرعت سایت، رتبه / کلید واژه / داده های محلی، AI و دروازه عمل، بلیط ها، خزنده / فریبنده، ادغام / مصرف، وظایف پس زمینه، اتوماسیون CRM، مجوز، ویجت و خدمات محصول مرتبط را به طور عمدی گزارش می دهد عوامل قابل خواندن به جای افشای اسرار خام.

پس از تغییر، نوسازی و تایید زیر سیستم آسیب دیده سالم می شود.یک صفحه تشخیص سبز ضروری است اما برای راه اندازی کافی نیست؛ لیست پیش از پرتاب نیز تکمیل کنید.

تنظیمات Settings

امنیت و دسترسی

OpsIQ شامل لایه های امنیتی متعدد برای محافظت از مدیریت، داده ها و API دسترسی

چگونه کار می کند
امنیت و دسترسییک سپر امنیتی در کنار کنترل های فعال: دو عامل، OIDC SSO, SCIM 2.0 OAuth2 PKCE، CSRF / CSP IP دیوار آتش، محدودیت های نرخ و یک راز.دو عامل (TOTP)SSO OIDCSCIM 2.0OAuth2 PKCECSRF + CSPIP دیواره آتشمحدودیت های نرخاسرار
امنیت امنیتی

ویژگی های امنیتی

احراز هویت Admin Authentication

ایمیل / رمز عبور با اختیاری 2FA

قفل ورودی

قفل موقت پس از تلاش های بسیار شکست خورده

IP مسدود کردن بلوک ها

بلوک Block IPs یا CIDR از دسترسی به سایت های ردیابی شده است.

امتیاز تهدید

امتیازات تهدید مبتنی بر رفتار، بازدید کنندگان با تهدیدات بالا می توانند به صورت خودکار مسدود شوند.

اجرای HTTPS

برای تمام اتصالات مورد نیاز است. HTTP به HTTPS هدایت می کند.

دانلود بازی HSTS Heads

عملیات انتقال پایدار از حملات کاهش یافته جلوگیری می کند.

حفاظت از CSRF

تمام فرم های مدیریتی شامل توکن های CSRF هستند.

حفاظت از XSS

تمام ورودی کاربر فرار می کند. CSP هدرها اجرای اسکریپت را محدود می کنند.

محافظت از SSRF

وب سایت های خارجی را مسدود می کند خصوصی / داخلی IP آدرس ها

تنظیمات توصیه شده

1
۲- قابلیت

برای همه حساب های مدیریتی

2
پسوردهای قوی

حداقل 12 شخصیت ها، مخلوط

3
حساب های نقد

دسترسی به اعضای تیم سابق را حذف کنید.

4
دانلود بازی های شکست خورده Monitor Failure logins

هفته را برای الگوهای مشکوک بررسی کنید.

5
به روز رسانی Keep update

به روز رسانی را بلافاصله برای پچ های امنیتی اعمال کنید.

تنظیمات Settings

نقش ها و اجازه ها

کنترل دسترسی مبتنی بر نقش به شما اجازه می دهد تا آنچه را که هر عضو تیم می تواند انجام دهد، کنترل کنید.

نقش ها و اجازه ها
نقش ها و اجازه هایک ماتریس نقش آفرینی: مالک همه چیز دارد؛ Full Admin فاقد لایحه و منطقه خطر است؛ نماینده تنها بلیط های دامنه دار دارد.نقش ها و اجازه هافضای کاریمشخصاتحسابخطربلیطمالکمدیریت کاملنمایندهscoped13 ROLESمالک · Full Admin · Agent2GRANULARPer-page + Per-department3DEFAULT-DENYمسیر های فراموش شده مسدود شده
ماتریس نقش در یک نگاه: مالک همه چیز را می گیرد، کامل مدیریت همه چیز اما صورتحساب و منطقه خطر، نماینده تنها بلیط های دامنه خود را.

نقش های پیش فرض

مالک

همه چیز از جمله مجوز، منطقه خطر و مدیریت نصب.

مدیریت کامل

همه چیز به جز مجوز و منطقه خطر می تواند تیم را مدیریت کند.

نماینده

در پاسخ به بلیط ها و چت های اختصاص داده شده، تجزیه و تحلیل را مشاهده کنید بدون تنظیمات، تیم یا دسترسی امنیتی.

آیا می توانم نقش های سفارشی ایجاد کنم؟+

نه در حال حاضر، سه نقش داخلی به علاوه تخصیص بخش، کنترل دانه را می دهد.

تنظیمات Settings

مسدود شده IPs

مدیریت مدیریت IP آدرس ها از دسترسی به سایت های ردیابی شده شما مسدود شده اند.

مسدود شده IPs
مسدود شده IPsمسدود شده-IPs صفحه نمایش: Block-an IP/CIDR در کنار یک جدول آدرس مسدود شده با هر ورودی، تاریخ، دلیل و دکمه Unblock قرار می گیرد.مسدود شده IPsفضای کاریبلاک کردن یک IP CIDR203.0.113.0/24دلیل (اختیاری)بلوک Blockآدرس های مسدود شده203.0.113.9یون جون 12 · نیروی خشنبلوک های Unblock45.12.0.0/16یون جون 10 اسپم اسپمبلوک های Unblock102.89.6.2یون جون 9 · سوء استفادهبلوک های Unblock1بلوکIP دامنه CIDR2LISTچه کسی و چه زمانی با دلیل3UNBLOCKیک کلیک
بلوک واقعی IPs صفحه نمایش: یک تک را مسدود کنید IPیا یک محدوده CIDR، و مدیریت لیست، هر کدام با تاریخ، دلیل و یک بلوک بدون کلیک.

چگونه بلوک کنیم

1
به امنیت بروید > Blocked IPs

2
اضافه کردن a IP دامنه CIDR

مثال: 203.0.113.42 یا 203.0.113.0/24

3
اضافه کردن یک دلیل

مستند چرا: اسپم، سوء استفاده، خرد کردن و غیره

آیا مسدود کردن بر کاربران قانونی تاثیر می گذارد؟+

اگر مشتریان یک شرکت را به اشتراک بگذارند IP یا VPN، مسدود کردن آن IP همه را در آن مسدود کنید.از بلوک های باریک استفاده کنید.

تنظیمات Settings

شکست در ورود

تمام تلاش های ناموفق برای ورود به شما OpsIQ مدیر

شکست در ورود
شکست در ورودصفحه نمایش شکست خورده: یک جدول از حساب ها /IPs با شمارش شکست، زمان تلاش گذشته و دکمه Block در هر ردیف.شکست در ورودفضای کاریتلاش های شکست خورده ورودACCOUNT IPشکست خوردآخرينAction[email protected] · _41.62.10.472 میلیونبلوک Block[email protected] · _102.89.6.2318ام پیشبلوک Blockناشناخته · 45.12.9.71226ام پیشبلوک Block[email protected] · _88.21.4.921h پیش از اینبلوک Block1WATCHتلاش های شکست خورده ورود2COUNTSحساب / IP3عملبلوک از ردیف
صفحه اصلی ثبت نام شکست خورده: هر حساب /IP با شمارش شکست و آخرین تلاش، یک منبع brute-force را مستقیما از ردیف مسدود کنید.

هر ورودی چه چیزی را نشان می دهد

تاریخ / زمان

وقتی که این تلاش اتفاق افتاد.

ایمیل

آدرس ایمیل استفاده شده است.

IP آدرس Address

منبع تلاش

کشور

موقعیت جغرافیایی

دلیل

رمز عبور اشتباه، قفل شده یا پیدا نشده است.

نشانه های هشدار دهنده

بسیاری از تلاش ها، همان ایمیل

حدس زدن رمز عبور 2FA امکان پذیر است.

بسیاری از تلاش ها، ایمیل های مختلف

حمله خودکار IP.

کشورهای غیر عادی

اگر تیم شما محلی باشد، تلاش های خارجی احتمالا حمله می کنند.

تنظیمات Settings

تحلیلگر امنیتی AI

یک لایه تحلیلگر انتخاب شده بر روی صفحات امنیتی: حکم ها، خلاصه های حادثه، هضم روزانه، بررسی وضعیت هفتگی، درخواست امنیت و 0- سیاست های بلوکی شکسته هرگز در مسیر درخواست بازدید کننده اجرا نمی شود.

هر صفحه امنیتی آنچه اتفاق افتاده است را ثبت می کند، اما خواندن آن هنوز هم قضاوت می کند. تحلیلگر امنیت AI اضافه می کند که قضاوت در محل، و تقریبا هیچ چیز ساخته شده است: هرگز در مسیر ورود یا خروج قرار نمی گیرد، قوانین تعیین کننده موارد آشکار را بدون تماس AI حل می کنند، حکم ها ذخیره می شوند و بهترین خروجی تحلیلگران یک قاعده تعیین کننده است که برای همیشه توکن های صفر را اجرا می کند تنظیمات Settings→امنیت امنیتیهمه چیز به طور پیش فرض خاموش می شود.

آنچه اضافه می کند

تراشه های Verdict + توضیح

مسدود شده IPs و ردیف های ورود شکست خورده یک تراشه خوش خیم / مشکوک / خصمانه با نمره اعتماد به نفس را نشان می دهد.توضیح باز می کند استدلال، حقایق استفاده شده، و یک کلیک بلوک / اقدامات آزادی پنهان است. 24h پس دوباره یک نگاه کنید.IPآزاد است.

خلاصه داستان : The Incident

رویدادهای مرتبط به یک حادثه (موجین) URL اسکن، انفجار خودکار-block با یک جدول زمانی ساده انگلیسی و یک گام بعدی توصیه می شود. حمله های مداوم به همان حادثه.

هضم روزانه

یک بار در روز: دیروز در مقابل پایه، بلوک ها، حوادث و تنها کاری که باید انجام دهید. روزهای آرام یک همه چیز را با توکن های صفر مشخص می کنند.

بررسی وضعیت هفتگی

چک لیست سخت روز دوشنبه (2 شکاف هایFA، قفل آستانه در برابر حجم حمله واقعی، هشدار خاموش) با شدت، تلاش و تعمیر دقیق هر مورد.

امنیت را بپرسید

یک جعبه سوال در امنیت بررسی می کند که پاسخ از حالت امنیتی زنده شما، سوالات سرور عمیق به چت مهندس مدیر داده می شود نه حدس زدن.

طرح های سیاست + autopilot

تحلیلگر قوانین بلوک بتن را به عنوان کارت های Approve / Dismiss پیشنهاد می کند؛ قوانین تایید شده با یک ضد ضربه زنده اجرا می شوند. خلبان خودکار تنها امن ترین قوانین را به طور خودکار تأیید می کند.

تنظیمات Settings

تحلیلگر امنیت هوش مصنوعی (امنیت_ای فعال)

Master Switch، تراشه های رای گیری، توضیح و Ask Security را فعال می کند.فقط مبهم است IPs به مدل، دسته بندی شده در یک تماس.

خلاصه داستان : امنیت_ای_incidents

خوشه ها به حوادث می پردازند و هر داستان جدید را می نویسند.در cron امنیتی ساعت موجود است.

هضم روزانه (امنیت_ای_دigest)

یک بار امنیتی در روز روی زنگ و روزهای آرام، هیچ هزینه ای ندارد.

بررسی وضعیت هفتگی (امنیت_ای_posture)

چک لیست روز دوشنبه در مورد بررسی.این چک لیست به طور کامل تعیین کننده است.

خلبان خودکار سیاست (امنیت_ای-جادو اتوماتیک)

اجازه دهید تحلیلگر امن ترین طرح های خود را بدون توجه فعال کند: بلوک های زمان محدود برگشت پذیر تنها، تک IPs و یا گسترده تر از /24, هرگز به اشتراک گذاشته نشده / موبایل/خصوصی، 10 در هر ساعت، همیشه قابل حسابرسی و غیر قابل قبول است.

💡
هر تماس با کلاه ماهانه خود در AI Config برچسب گذاری شده است→Guardrail های هزینه (نشانه های 300k) اگر کلاه ضربه بزند، ویژگی هایی که برای تعیین کننده نوشته ها، مسدود کردن، قفل و هشدارها هرگز به این بودجه بستگی ندارد. تحلیلگر هرگز نمی تواند داده ها را حذف کند، تنظیمات تغییر، لمس دفتر حسابرسی یا ممنوعیت دائمی ایجاد کند.
عملیات

Cron و اتوماسیون

OpsIQ استفاده از یک برنامه زمانبندی محصول برای اجرای نظرسنجی ایمیل، اتوماسیون بلیط، رول تجزیه و تحلیل، حفظ، صف AI، کار CRM، گزارش ها و مشاغل اتصال.

صفحه نمایش محصول
Cron و اتوماسیونیک محصول ورودی ضربان قلب را تامین می کند؛ OpsIQ تصمیم بگیرید که کدام شغل داخلی به دست می آید.Cron و اتوماسیونسرورضربان قلبهر دقیقهRUNNERcron/all.phpHEALTHتنظیمات Settingsدانلود بازی LiveSPACEسازنده محصول دوندهopsiq/cron/all.phpنیاز ضروریبلیط و صف ایمیلکوتاه مدت کارفعال ActiveAnalytics و حفظداخلی cadenceبرنامه ریزی شدهمشترکینرویدادهای cronمحدوده1INSTALL ONE LINEبرنامه زمانبندی محصول را هر دقیقه اجرا کنید2CHECK CRON SETUPتایید ضربان قلب CLI3USE DIAGNOSTICSدیر یا شکست کار
یک محصول ورودی ضربان قلب را تامین می کند؛ OpsIQ تصمیم بگیرید که کدام شغل داخلی به دست می آید.

محصول مورد نیاز cron

این خط تک را به crontab برای همان سرور و محیط PHP که اجرا می شود اضافه کنید. OpsIQ:

OpsIQ محصول crontab ورود
* * * * * php /path/to/opsiq/opsiq/cron/all.php >> /tmp/opsiq-cron.log 2>&1

جایگزین /path/to/opsiq با ریشه نصب، از مسیر کامل PHP CLI استفاده کنید زمانی که میزبان به یک نیاز دارد، برای مثال /usr/bin/php8.4.

از سطح بالا استفاده نکنید /cron.php برای کار محصول در این مخزن که دونده متعلق به یک سرویس غیر محصول جداگانه خارج از این کتاب دستی است. OpsIQ دونده محصول است opsiq/cron/all.php.

آنچه که برنامه ریزی یکپارچه می کند

بلیط و صف های AI

فرآیندها به دلیل auto-replies، تشدید، تایید و سایر کارهای محصول صف شده.

ایمیل ورودی

نظرسنجی ها صندوق پستی را تنظیم کردند که در آن گرده روش انتخاب شده مصرف است.

تجزیه و تحلیل و جلسات

جلسات و مجموعه های برنامه ریزی شده را زمانی که آنها به دلیل.

CRM و تعامل

دویدن به ثمر می رساند، چرخه کار، کمپین و کارهای برنامه ریزی شده که فعال هستند.

بازگشت و نگهداری

انجام کارهای تمیز، آرشیو، اکتشافی و یکپارچگی.

اتصال‌دهنده‌ها (Connectors)

کانکتورهای اتصال cron و نظرسنجی فقط برای اتصالات نصب، فعال و پیکربندی شده.

بررسی cron

  1. باز Open تنظیمات – Cron Setup و تایید می کند که دونده محصول وجود دارد.
  2. استفاده از Use دویدن در حال حاضر سپس به روز رسانی و بررسی ضربان قلب را تایید کنید.
  3. علامت بزنید تشخیص برای یک ضربان قلب دیر، PHP CLI، پایگاه داده یا مشکل فایل-path.
  4. بازرسی /tmp/opsiq-cron.log یا مسیر ورود که انتخاب کردید، زمانی که یک اجرای دستی شکست خورد.

کانکتور را کوتاه، idempotent و workspace-scoped. Batch طولانی همگام سازی ها و ذخیره یک نشانگر / نقطه نگه دارید تا اجرای بعدی بتواند با خیال راحت ادامه یابد.

🚫
هنگامی که محصول متوقف می شود، زمان بر اساس OpsIQ کار متوقف می شود یا دیر می شود، حتی اگر صفحات مدیریت معمولی هنوز بارگیری شوند.
عملیات

عملیات استقرار گروگان

میزبان A OpsIQ استقرار از همان صفحه نمایش محصول و جریان کار استفاده می کند در حالی که اپراتور میزبانی لایه سرور را مدیریت می کند. تجاری ثبت نام، برنامه ها، صورتحساب و روش های گزارش حساب خارج از این کتاب دستی است.

صفحه نمایش محصول
استقرار گروگانتغییرات عملیاتی میزبانی شده که زیرساخت ها را حفظ می کنند؛ این تغییر نمی کند که چگونه مشتریان از آن استفاده می کنند. OpsIQ.استقرار گروگانفضای کاریPRODUCT UIمشابه همان OpsIQINFRASTRUCTUREاپراتور-مدیریتWORKSPACE DATAجدا شدهدانلود بازی LiveSPACEدرخواست زمانPHP، سرور وب و پایگاه دادهمدیریتمحصول cronبرنامه ریزی شده توسط نمایندگی میزبانیبررسیپشتیبان گیری و به روز رسانیارائه سیاست و شواهدبازبینی شده درOpsIQ تنظیماتسایت ها، AI، تیم و کانکتورتیم شما1OPERATE OPSIQ NORMALLYاستفاده از همان ناوبری محصول2VERIFY SERVICE HEALTHاستفاده از تشخیص ها و شواهد وضعیت3KNOW RESPONSIBILITYتنظیمات جداگانه محصول از میزبانی کار
تغییرات عملیاتی میزبانی شده که زیرساخت ها را حفظ می کنند؛ این تغییر نمی کند که چگونه مشتریان از آن استفاده می کنند. OpsIQ.

آنچه که اپراتور میزبانی به طور معمول مدیریت می کند

  • سرور وب، PHP runtime، سرویس پایگاه داده، TLS و ذخیره سازی
  • محصول یکپارچه cron و logs سطح سرور آن.
  • به روز رسانی های کاربردی، نظارت بر زیرساخت و فرآیند پشتیبان تعریف شده توسط توافق میزبانی.

چه چیزی OpsIQ مدیر هنوز مدیریت می کند

  • وب سایت ها و نصب ویجت، تنظیمات AI، دانش، صندوق های پستی و جریان کار پشتیبانی مشتری.
  • دسترسی به تیم، بخش ها، کنترل های امنیتی API کلیدها، کانکتورها، اتوماسیون ها و تنظیمات توجه داده ها.
  • تأیید محصول از طریق تشخیص، ورود حسابرسی، تست های اتصال و چک های نهایی واقعی.

بررسی های عملیاتی

فرض نکنید که یک سرویس مدیریت شده به این معنی است که هر ادغام محصول سالم است. تأیید آخرین شواهد پشتیبان و سیاست حفظ با اپراتور میزبان و استفاده از آن OpsIQ تشخیص پس از تغییرات DNS ایمیل، ارائه دهندگان AI، وب سایت ها یا کانکتورها.

این بخش تنها عملیات محصول را پوشش می دهد، شرکت های تجاری، اشتراک ها، صورتحساب و مدیریت حساب مشتری در خارج از کشور باقی مانده است. OpsIQ کتاب دستی

عملیات

خود میزبان OpsIQ

خود میزبان OpsIQ نصب بر روی زیرساخت هایی که شما کنترل می کنید اجرا می شود.شما مسئول زمان اجرای، پایگاه داده، پایگاه های داده، TLS محصول cron، پشتیبان گیری، به روز رسانی و نظارت.

صفحه نمایش محصول
خود میزبانخود میزبان کنترل زیرساخت را می دهد و تیم شما را مسئول هر وابستگی عملیاتی می کند.خود میزبانسرورPHP8.4+DATABASEMySQL 5.7+SCHEDULERهر دقیقهدانلود بازی LiveSPACEافزونه های Time extensionدانلود بازی Pdo_mysql, mbstring jsonنیاز ضروریافزونه های اضافیxml باز می شود، زیپ، intl، gdنیاز ضروریپایگاه داده جایگزینMariaDB 10.3 با InnoDBپشتیبانیحمل و نقلHTTPS و ارائه دهنده های خارجی دسترسیبررسی1PREPARE THE SERVERالزامات زمان اجرا2INSTALL AND CONFIGUREاستفاده از یک پایگاه داده اختصاصی و HTTPS3ADD PRODUCT CRONدویدن Run Run opsiq/cron/all.php
خود میزبان کنترل زیرساخت را می دهد و تیم شما را مسئول هر وابستگی عملیاتی می کند.

حداقل قرارداد نرم افزار

PHP

PHP PHP 8.4 یا افزونه های مورد نیاز: r، pdo_mysql، mbstring، json, xml باز می شود، زیپ، intl و gd.

پایگاه داده

MySQL 5.7+ یا MariaDB 10.3+ استفاده از InnoDB. ایجاد یک پایگاه داده اختصاصی و کاربر برنامه حداقل مناسب

Web Server

Apache یا Nginx برای پیکربندی OpsIQ کنترل کننده جلو، دارایی های استاتیک و بازنویسی های مورد نیاز

HTTPS

برای جلسات مدیریتی، ترافیک ویجت، API کلیدها، وب سایت ها و تماس های ارائه دهنده.

دسترسی خارجی

اجازه دادن DNS و دسترسی HTTPS به AI، ایمیل، اتصال و نقاط پایانی مجوز که شما در واقع فعال می کنید.

دسترسی فایل

کاربران وب و CLI باید قادر به خواندن فایل‌های برنامه باشند و فقط در مکان‌های Runtime / Storage مستند شده بنویسند.

& زمان‌بندی‌

دویدن The Run the OpsIQ برنامه ریزی محصول هر دقیقه با پیکربندی نرم افزار و دسترسی پایگاه داده به عنوان فرآیند وب.

نصب بازی

  1. ارسال آزادی به ریشه سند در نظر گرفته شده و حفظ ساختار دایرکتوری ارائه شده است.
  2. ایجاد پایگاه داده و کاربر نرم افزار، سپس وارد پایگاه داده، canonical URL و تنظیمات مجوز.
  3. جریان نصب کننده / تنظیم را اجرا کنید و اولین حساب مالک را ایجاد کنید.
  4. فعال کردن HTTPS و تأیید تغییر مسیر، کوکی ها و ویجت عمومی API مسیرها
  5. اضافه کردن متحد OpsIQ محصول cron :
محصول خود میزبان cron
* * * * * php /path/to/opsiq/opsiq/cron/all.php >> /tmp/opsiq-cron.log 2>&1
  1. تنظیمات باز – راه اندازی Cron و تشخیص؛ اجرای برنامه نویس یک بار و حل هر وابستگی شکست خورده.
  2. پشتیبان گیری را شکل دهید، تست مجدد، نگهداری ثبت و روش های به روز رسانی قبل از اضافه کردن داده های تولید.

ایمن سازی

  1. یادداشت های انتشار را بخوانید و قبل از تغییر فایل ها، PHP / Extensions مورد نیاز را بررسی کنید.
  2. در پشت پایگاه داده و فایل های پیکربندی / برنامه، پس از آن ثابت کنید که پشتیبان گیری می تواند در یک مکان آزمایشی بازسازی شود.
  3. فایل های جدید را بدون حذف پیکربندی خاص نصب یا داده های زمان اجرا، تنظیم کنید.
  4. اجرای فرآیند مهاجرت / پیش پرواز و تأیید ورود، ردیابی ویجت، بلیط ها، ایمیل، AI، کانکتورها و cron.
  5. نسخه قبلی و پشتیبان گیری پایگاه داده را برای پنجره رول ثبت شده در دسترس نگه دارید.
🚫
مخزن سطح بالا /cron.php این نیست. OpsIQ برنامه ریزی محصول opsiq/cron/all.php
⚠️
schema_cache را حذف نکنید json به عنوان تعمیر و نگهداری معمول، آن را تنها زمانی که دستورالعمل های محصول به طور واضح نیاز به یک بازسازی پیچ و مهره ای دارند حذف کنید.
عملیات

راهنمای تولید

چک لیست و بهترین روش ها برای اجرای OpsIQ در تولید

راهنمای تولید
راهنمای تولیدیک چک لیست زنده: دامنه سفارشی و SSL AI آموزش دیده، کانکتورها و cron، پشتیبان گیری ها و حفظ و نقش های تیم.چک لیست زندگی Go-liveفضای کاریقبل از اینکه زندگی کنیددامنه سفارشی + SSL پیکربندی شدههوش مصنوعی در محتوای شما آموزش دیده استتست شده · cronبرنامه ریزی شده · حفظنقش های تیم اختصاص داده شده و بررسی1GO-LIVEچک لیست پیش از پرتاب2تاییددامنه · SSL · پشتیبان گیری3CONFIDENTکشتی وقتی سبز است
یک چک لیست زنده بنابراین هیچ چیز از دست رفته است: دامنه + SSL هوش مصنوعی آموزش دیده، کانکتور های تست شده و cron، پشتیبان گیری و حفظ و نقش تیم.

قبل از زندگی

HTTPS پیکربندی شده

SSL نصب شده، HTTP Redirects، HSTS فعال شد.

Cron دویدن

بررسی از طریق صفحه تشخیصی

آزمایش AI

چت به عنوان یک مشتری، دقت و لحن را بررسی کنید.

Widget نصب شده

در تمام صفحات وب سایت، با Live Feed بررسی کنید.

Backup

پایگاه داده روزانه خودکار و پشتیبان گیری فایل

خطای ورود

نسخه خطای PHP فعال و نظارت شده است.

تیم دعوت

همه اعضا با نقش های درست حساب می کنند.

دانش بنیان

حداقل حداقل 5-10 مقالات

روزانه: داشبورد را چک کنید، صف بلیط شفاف، مکالمات AI را بررسی کنید.

Weekly: Review AI Insights، به روز رسانی KB، بررسی عملکرد تیم، بررسی امنیت.

ماهانه: روند تجزیه و تحلیل مرور، کانکتورهای حسابرسی، آموزش AI به روز رسانی، تأیید پشتیبان.

عملیات

چک لیست پیش از پرتاب

درهای منبع و چک های محصول واقعی را قبل از انتشار یا اولین پرتاب تولید اجرا کنید.یک دستور موجود، شواهدی نیست که در محیط شما به آن منتقل شده است.

صفحه نمایش محصول
تایید آزادیدیدگاه آزادی نشان می دهد که دروازه های مورد نیاز برای اجرا؛ آن را به عنوان پیش برچسب آنها را به تصویب رسید.تایید آزادیسرورزمان اجراPHP PHP 8.4SOURCE GATESدویدن محلیOUTCOMEشواهد مبتنی بردانلود بازی LiveSPACEافزونه های مورد نیازبررسی قبل از مجموعهدروازهPHP |تمام فایل های PHP پروژهدروازهارزیابی AI و PHPUnitدویدن زمانی که وابستگی ها وجود دارنددروازهبررسی های استاتیک و مرورگرهنگام پیکربندیدروازه1RUN THE CHECKSثبت خروجی واقعی2FIX EVERY REQUIRED FAILUREجایگزین شواهد با فرضیات نشوید3TEST THE PRODUCTبررسی سفرهای واقعی کاربران
دیدگاه آزادی نشان می دهد که دروازه های مورد نیاز برای اجرا؛ آن را به عنوان پیش برچسب آنها را به تصویب رسید.

منبع و دروازه های آزاد

مخزن را از ریشه نصب و نگهداری کنید و خروجی کامل خود را با رکورد انتشار نگه دارید.

دروازه های پیش پرواز اولیه
php tools/preflight.php
دروازه آزادی گسترده
php tools/release_gate.php

پیش پرواز PHP را بررسی می کند 8.4 زمان اجرا و افزونه های مورد نیاز، اجرای یک ترکیب PHP، دروازه کشتی ارزیابی AI و مجموعه کامل PHPUnit را اجرا می کند و چک های PHPStan/Node را هنگامی که این ابزار نصب شده اند، اجرا می کنند.در همچنین شامل دود، پاک کردن / پاک کردن/schema و مرورگر end-to-end چک زمانی است که محیط آنها پیکربندی شده است.

چک کردن یک رکورد نیست که چرا در دسترس نبود، وابستگی از دست رفته را نصب کرده یا آن را در محیط صحیح CI/staging اجرا کنید.

بررسی محصول

1اعتبار و نقش ها

ثبت نام در نقش هر یک از برنامه های مورد نظر؛ تأیید صفحات مجاز و انکار.

2Widget و ردیابی

یک سایت واقعی را در یک مرورگر خصوصی بارگذاری کنید؛ ترافیک beacon، Live Feed، بازدید کننده و سوابق جلسه را بررسی کنید.

3چت و AI

سوالات نماینده بپرسید؛ بررسی دانش زمینه، ایمنی، تشدید و تاریخ AI.

4بلیط ها

ایجاد، اختصاص، پاسخ، افزایش، نزدیک شدن و بازگشایی از طریق هر مسیر مصرف فعال.

5ایمیل

بررسی تحویل ورودی و هر صندوق پستی یا مسیر وب را تنظیم کنید.

6 CRM و تحلیل

ایجاد یک تماس کنترل شده / معامله / عدم اعتماد و تأیید داشبورد، قیف ها، امتیازدهی و گزارش.

7. وصله‌ها

تست های اتصال را اجرا کنید، یک مطالعه، یک اجرای امن نوشتن / خشک و مسیرهای پیچ و خم وب برای هر کانکتور فعال.

8. API و وب سایت را فریب می دهد

محدوده های باریک، محدودیت نرخ، retries، امضاها و معاملات تکراری را بررسی کنید.

9Cron

برنامه زمانبندی محصول یکپارچه را اجرا کنید و تمام ضربان قلب مورد نیاز در Cron Setup /Diagnostics را تایید کنید.

10 امنیت

بررسی 2FA، کنترل های CSRF / جلسه، ورودی حسابرسی، کلید بازکاری و انزوای فضای کاری.

11 پشتیبان گیری و بازسازی

یک پشتیبان فعلی را به یک محیط آزمایشی جداگانه بازگردانید و داده ها و پیکربندی ها را تأیید کنید.

12 قابلیت های حفظ و عقب نشینی

تایید logs /alerts، حفظ شناسه های درخواست و اثبات روند رولبک.

⚠️
تنها پس از هر دروازه مورد نیاز و سفر انتقادی کسب و کار، شواهد فعلی برای آزادی دقیق و محیط زیست را نشان می دهد.
توسعه دهنده

Web Push در سایت های شخص ثالث

اعلان های فشار مرورگر (از جمله OpsIQ Push Campaigns نیاز به یک کارمند خدماتی دارد که از SAME ORIGIN به عنوان صفحه خدمت می کند.OpsIQ ویدجت از شما بارگیری می شود OpsIQ استقرار، بنابراین یک سایت شخص ثالث نمی تواند ثبت نام کند OpsIQ کارگر به طور مستقیم یک فایل کوچک را در دامنه خود سایت میزبانی می کند تا بتواند آن را فشار دهد. کمپین ها از طریق روش های پشتیبانی شده BOTH ارائه می شوند.

چگونه کار می کند
Web Pushیک اعلان فشار سیستم عامل در بالای دو کارت تحویل: Built-in VAPID و Pusher Beamsفروشگاه شماسبد خرید شما منتظر است · 10% امروز خاموشاکنونداخلی (VAPID)حزب سوممیزبان یک فایلPusher Beamاستفاده از حساب کاربری شمامیزبان کارگر
Web Push

چرا این مورد نیاز است

مرورگرها فقط اجازه می دهند که یک صفحه کارمند خدمات را از مبدا خود ثبت کند.این ویجت عبوری از منشأ شما را بارگیری می کند.OpsIQ استقرار، بنابراین نمی تواند کارگر فشار را بر روی یک سایت مشتری نصب کند تا زمانی که شما کارمند را در منشأ آن سایت قرار دهید، ویجت به آرامی حرکت می کند (بدون خطا، هیچ اشتراکی) شما دو گزینه زیر دارید؛OpsIQ کمپین های فشار از طریق هر دو منتشر می شوند.

گزینه A · Self-hosted Web Push (VAPID، بدون شخص ثالث)

1. دانلود بازی The Worker از شما OpsIQ استقرار: https://YOUR-OPSIQ/opsiq/opsiq-push-sw.js

2. آن را به خود آپلود کنید ریشه وب سایت و در آن قابل دسترس است. https://yoursite.com/opsiq-push-sw.jsویجت خودکارسازی این مسیر را کشف می کند در اصل خود صفحه و ثبت نام آن، هیچ تغییر جزئی مورد نیاز نیست (این از یک محدوده باریک استفاده می کند، بنابراین هرگز جایگزین یک کارمند خدماتی که قبلا اجرا کرده اید نمی شود.)

اختیاری: اگر شما باید آن را در یک مسیر غیر استاندارد میزبانی کنید، ویجت را در آن نقطه قرار دهید. قبل از قبل این قطعه فقط زمانی پذیرفته می شود که همان-وریجین:

اختیاری - فقط اگر فایل در ریشه وب نباشد
<script>window.OpsIQ=window.OpsIQ||{};window.OpsIQ.pushSwUrl="/custom/opsiq-push-sw.js";</script>

3. در OpsIQ، کلیدهای VAPID را تولید کنید (تعیینات → AI گفتگوی کارگزار → پیشرفته → فشار وب). سپس ویجت از بازدیدکنندگان اجازه اطلاع‌رسانی می‌خواهد و آنها را عضو می‌کند.

پشت یک CDN/Cloudflare مطمئن شوید /opsiq-push-sw.js بازگشت HTTP 200 (در صورتی که آن را در نظر بگیرید،404 قبل از بارگذاری، یک انبار 404 ثبت نام را مسدود خواهد کرد.)

گزینه B · Pusher Beams (ارائه دهنده مدیریت)

1. در تنظیمات OpsIQ ، ارائه‌دهنده فشار را به Pusher Beam و وارد شوید به ظرف های خود شناسه های Instance ID و راز کلید.

2. میزبان کارمند خدمات شاتل در ریشه سایت به عنوان /service-worker.jsکپی https://YOUR-OPSIQ/opsiq/pusher-beams-service-worker.jsیا این خط را به کارگر ریشه ای موجود خود وارد کنید:

کارگر، میزبان در https://yoursite.com/service-worker.js
importScripts("https://js.pusher.com/beams/service-worker.js");

3. این است که ویجت Autoloads SDK و هر بازدید کننده را به نفع هر سایت مشترک می کند. opsiq-site-<your-site-key>هیچ سیم کشی دیگری نیاز ندارد.

چگونه کمپین ها تحویل می دهند

کمپین های Push Campaigns از طریق هر دو روش ها در یک بار: بازدید کنندگان در کارمند VAPID خود میزبان Web Push رمزگذاری شده اند و بازدیدکنندگان از طریق Pusher Beams انتشار شاتل را به اشتراک می گذارند.هر بازدیدکننده هر کدام از آنها به آن متعهد هستند، بنابراین شما می توانید همان VAPId VAPI D را در برخی سایت ها اجرا کنید و هواپیماهای متقابل-origin روی دیگران پخش شوند.

HTTPS مورد نیاز است برای کارکنان خدمات و Web Push ( localhost برای تست معاف است) صندوق چت مدیر در حال حاضر از همان مکانیسم علاقه شاتل برای هشدار اپراتور استفاده می کند.

عملیات

عیب یابی

مسائل مشترک و چگونگی اصلاح آنها

عمومی

صفحه اصلی+

بررسی خطای PHP Causes: Old PHP (نیاز به ورود به PHP) 8.4+، از دست دادن پسوند، اتصال DB شکست خورد و مجوز فایل اشتباه.

داشبورد نشان می دهد صفر+

بررسی: ویجت نصب شده است؟ Cron اجرا می شود؟ تاریخ محدوده درست است؟ IP حذف نشد؟

آآ

AI پاسخ نمی دهد+

بررسی: ارائه دهنده پیکربندی شده است؟ API کلید معتبر (استفاده از اتصال تست)؟ بودجه خسته شده است؟ Workspace AI config درست است؟

AI پاسخ های اشتباه می دهد+

بررسی: دانش تا به امروز پایه گذاری شده است؟ نگاه اجمالی روشن است؟ بازدید کنندگان بازگشت داده های صحیح? Review Conversation in AI history.

AI آهسته است+

بسته به: ارائه دهنده API سرعت، اندازه متن (کلید بزرگ = توکن های بیشتر = کندتر)، تاخیر شبکه ای را امتحان کنید.

ردیابی

دانلود بازی Widget+

بررسی: اسکریپت در منبع صفحه؟ خطای JS در کنسول؟ مسدود کننده CSP؟ Ad Blocker

کشور ناشناخته+

GeoIP پیکربندی نشده است. UseCloudflare( خودکار) یاMaxMind GeoLite2پایگاه داده

بلیط

ایمیل ها بلیط ایجاد نمی کنند+

بررسی: صندوق پستی متصل شده است؟ کد عبور برنامه تغییر کرد؟ IMAP تنظیمات صحیح؟

خودکار کار نمی کند+

بررسی: آیا وزارت امنیت اجازه داد؟ AI پیکربندی شده است؟ Cron در حال اجرا?

اتصال‌دهنده‌ها (Connectors)

عدم اتصال+

چک کنید: اعتبار درست؟ کلید منقضی شده است؟ API قابل دسترس از سرور؟ پایگاه URL درست است؟

اتصال اما هیچ داده ای+

بررسی: API محدوده های کلیدی؟ Webhook sync فعال شد؟ Cron در حال اجرا است؟

عملکرد Performance

صفحات آهسته+

بررسی: عملکرد پایگاه داده (SHOW PROCESSLIST)، حافظه PHP (افزایش تا 1GB• درد را فعال کنید، دوره حفظ را کاهش دهید.

عملیات

بازدید از Widget

از این چک متمرکز استفاده کنید زمانی که ویجت به اشتباه بارگیری می شود یا فید زنده خالی باقی بماند.

وقتی که ویجت بازدید از ورود ندارد, کلید سایت را تأیید کنید ، صفحه را در یک مرورگر خصوصی بارگذاری کنید ، پنل های Network/Console مرورگر را برای درخواست مسدود شده beacon یا ویجت بررسی کنید ، Content-Security-Policy و ad Blockers ، تایید کنید که این سایت فعال است. OpsIQ و تشخیص باز.یک حباب چت قابل مشاهده به خودی خود ثابت نمی کند که تجزیه و تحلیل beacon پذیرفته شده است.

مرجع

نام انگلیسی:

تعاریف برای اصطلاحات مورد استفاده در سراسر OpsIQ.

اقدام عملی

چیزی که AI می تواند از طریق یک اتصال یا پلت فرم انجام دهد.

نماینده

یک عضو تیم با دسترسی محدود یا یک عامل AI.

BYOK

کلید خود را بیاورید، شما AI خود را ارائه می دهید API کلید

قابلیت اتصال

یک پلاگین ادغام یک پلت فرم خارجی با OpsIQ.

CSAT

نمره رضایت مشتری

معامله

یک فرصت درآمد در CRM

وزارت

دسته بندی بلیط برای مسیریابی و کنترل دسترسی

ارتفاع

انتقال بلیط به بخش های مختلف یا از AI به انسان

GeoIP

تشخیص مکان بازدید کننده از IP آدرس

دست

انتقال یک مکالمه از AI به انسان

هویت توکن

امضای توکن شناسایی یک بازدید کننده وب سایت

پایه دانش

مقالاتی که AI برای پاسخ به سوالات استفاده می کند.

رهبری سرب

بازدید کننده ای که قصد خرید را دارد.

نمره های اصلی

0-100 تعداد نشان دهنده احتمال تبدیل

مرحله چرخه زندگی

جایی که مشتری است: پیشرو، چشم انداز، مشتری، در معرض خطر، به تعویق افتاده است.

هوش مصنوعی مدیریت‌شده

هوش مصنوعی به عنوان بخشی از شما ارائه می شود OpsIQ برنامه

خط لوله

هیئت مدیره مراحل معامله

RBAC

کنترل دسترسی مبتنی بر نقش

نشست

مجموعه ای از بازدید صفحه در یک پنجره زمان بندی

سایت کلیدی

شناسه منحصر به فرد برای یک وب سایت ردیابی شده

SLA

قرارداد سطح خدمات، زمان پاسخ هدف

توکن

واحد متن AI تقریبا 4 شخصیت ها = 1 توکن

لایه اعتماد

سیستم ایمنی کنترل استقلال AI

اتصال وب

فراخوان HTTP برای اعلان های رویداد

ابزارک

JavaScript کد جاسازی شده در وب سایت شما

فضای کاری

سایت با ردیابی خود، AI، کانکتورها و تیم ها مشابه “site” است.

مرجع

کمک های بیشتر دریافت کنید

اگر این اسناد به سوال شما پاسخ ندهند:

مدیریت AI

روی گزینه “Request” کلیک کنید OpsIQ در مدیر، به این اسناد و داده های پلتفرم شما دسترسی دارد.

پشتیبانی بلیط

شامل: آنچه که امتحان کردید، چه اتفاقی افتاد، چه چیزی انتظار داشتید و هر پیام خطا.

ایمیل

پشتیبانی ایمیل با کلید مجوز و شرح مسئله

راهنمایی برای درخواست های پشتیبانی موثر

شامل صفحه

کدام صفحه مدیریت (URL یا نام.

شامل تنظیمات

تعیین دقیق نام و ارزش فعلی

شامل خطا

پیام خطا دقیق با کدها

شامل مراحل

چه کار کردی، قدم به گام.

شامل انتظارات در مقابل واقعی

چه اتفاقی باید بیفتد در مقابل آنچه اتفاق افتاد.

💡
هرچه درخواست شما مشخص تر باشد، پاسخ سریع تر “آن کار نمی کند” نیاز به تحقیق دارد. ” کلیک بر روی پیکربندی AI کد خطا را می دهد. 502"پاسخ مستقیم دریافت کنید.