د آی پي له مخې د آن-پریمیس نصب محدودول
دا پاڼه د MonoChat د on-premise نصب د چلوونکو لپاره ده. دا تشریح کوي چې ویب اپ څنګه د شبکې په کچه (nginx یا فایروال) خپلو شبکو ته محدود کړئ، پرته له دې چې هغه خدمتونه بند کړئ چې باید له انټرنیټ څخه MonoChat ته زنګ ووهي.
MonoChat خپل د اجازه شویو آی پي لیست نلري. محدودیت ستاسو په nginx، load balancer یا فایروال کې ټاکل کیږي او پر ټول نصب پلي کیږي، نه یوازې پر یو tenant.
څه محدود کړئ، څه خلاص وساتئ
| خپلو شبکو ته محدود وساتئ | له انټرنیټ څخه د لاسرسي وړ وساتئ |
|---|---|
| ویب اپ او هر هغه څه چې ښي خوا ته نه دي لیست شوي | لاندې جدولونو کې webhook او callback لارې |
د DDP/WebSocket پای ټکی چې ویب اپ ورسره نښلي (/websocket) |
د ویب UI او WebSocket پای ټکی یوځای محدود کړئ: اپ دواړه کاروي. نورو ټولو ته یوازې لاندې لارې اجازه ورکړئ او پاتې بندې کړئ.
هغه لارې چې بهرني خدمتونه یې کاروي
لاندې هره لار د MonoChat سرور لخوا ثبت شوې ده. هغه لار چې له یوې تنظیم څخه جوړه شوې، هغه hookPath دی چې تاسو په سرور کې ټاکلی (د سرور په تنظیماتو کې په channelConnectors.<name> یا paymentSystemConnectors.<name> کې)؛ وروستاړی د کوډ لخوا زیاتیږي. یوازې هغه connectors خلاص کړئ چې تاسو یې کاروئ.
چینلونه
| لار | چا ته زنګ وهي | چېرته تعریف شوې |
|---|---|---|
<hookPath>/webhooks (POST) | omni-message، د WhatsApp Cloud، WhatsApp Gupshup، Instagram، Messenger، Telegram، TikTok، Twilio SMS او Varan OTP لپاره | packages/app-connectors-om2-*/src/webhooks/webhook.ts; hookPath له channelConnectors.whatsappBusinessVegaCloud, whatsappBusinessVegaGupshup, instagramCastor, messengerRigel, telegramBotRegulus, tikTokTimir, twilioSms, varanOtp |
<hookPath>/webhooks, <hookPath>/sessions, <hookPath>/messages (POST) | ستاسو خپل سیستمونه، د Messages API چینل له لارې | channelConnectors.messagesApi.hookPath, packages/app-connectors-messages-api/src/webhooks/webhook.ts |
<hookPath>/message, <hookPath>/info (POST) | Chatwoot | channelConnectors.chatwoot.hookPath, packages/app-connectors-chatwoot/src/webhook.ts |
<hookPath>/inbound (POST) | د SIP برابروونکی (generic SIP او Sonitel SIP چینلونه) | channelConnectors.genericSip.hookPath, channelConnectors.sonitelSip.hookPath |
/api/facebook/channels/:channelId/flows/:flowId (POST) | WhatsApp، د WhatsApp Flows لپاره | server/api/whatsapp-flow.js |
د چینل برابروونکي (Meta، Telegram، TikTok، Twilio) مستقیم MonoChat ته زنګ نه وهي. دوی د omni-message webhook listener ته زنګ وهي، چې پورتنۍ /webhooks لار ته یې استوي. که تاسو omni-message پخپله چلوئ، د هغه webhook listener باید له انټرنیټ څخه پر دې لارو د لاسرسي وړ وي: /webhooks/meta-messenger, /webhooks/instagram-business, /webhooks/wab-cloud, /webhooks/wab-gupshup/:channelId, /webhooks/wab-360-dialog/:channelId, /webhooks/telegram-bot/:channelId, /webhooks/tiktok او /webhooks/twilio-sms/:channelId (apps/webhook-listener/src/modules/webhook-listeners/webhook-listeners.controller.ts په omni-message کې). پخپله MonoChat باید omni-message ته پر پورتنیو /webhooks لارو د لاسرسي وړ وي.
د تادیې سیستمونه
د تادیې برابروونکي هغه وخت بیرته زنګ وهي کله چې پیرودونکی تادیه وکړي، او وروسته پیرودونکی MonoChat ته بیرته لیږي. دواړه باید ستاسو له شبکې بهر کار وکړي.
| Connector | د هغه د hookPath لاندې لارې (paymentSystemConnectors.<name>.hookPath) |
|---|---|
| Stripe | /webhook/:clientId (POST), /return/success/:paymentSystemId, /return/cancel/:paymentSystemId |
| HyperPay | /pay/:clientId/:paymentSystemOrderId, /result/:clientId/:paymentSystemOrderId |
| Mamo | /webhook/:clientId (POST), /return/:clientId/:paymentSystemOrderId |
| Midtrans | /webhook/:clientId (POST), /return/:paymentSystemOrderId |
| Paymob | /webhook/:clientId (POST), /return/:paymentSystemOrderId |
| PayTabs | /callback/:clientId/:paymentSystemOrderId (POST), /return/:paymentSystemOrderId |
| Tabby | /webhook/:clientId (POST), /return/:paymentSystemOrderId/:status |
| Tamara | /webhook/:clientId (POST), /return/:paymentSystemOrderId/:status |
| Tap | /webhook/:clientId (POST), /return/:clientId/:paymentSystemOrderId |
| Telr | /webhook/:clientId/:paymentSystemOrderId (POST), /return/:paymentSystemOrderId/:status |
| Ziina | /return/:clientId/:paymentSystemOrderId/:status |
| iyzico | /:transactionId (POST) |
| JCC | /:status |
| MyFatoorah | پخپله hookPath (POST), /:paymentSystemOrderId/:status (POST) |
| N-Genius | پخپله hookPath (POST), /:paymentSystemOrderId/:status |
| Paywall | /:paymentSystemOrderId/:status |
| UniqoPay | پخپله hookPath (POST), /:paymentSystemOrderId/:status (POST) |
| VakıfBank Sanal POS | /:status (GET او POST) |
| İş Yerim POS | پخپله hookPath (GET او POST) |
تر ټولو ساده قاعده دا ده چې د هر هغه تادیې connector لپاره چې کاروئ، <hookPath> او هر هغه څه چې تر هغه لاندې دي خلاص کړئ. هره سرچینه packages/app-connectors-<name>/src/webhook.ts ده.
نور د سرور پای ټکي
| لار | د څه لپاره کارول کیږي | چېرته تعریف شوې |
|---|---|---|
/api/:slug/custom-functions/… (POST) | د access token سره د HTTP له لارې د دودیز فنکشن زنګ وهل | lib/managers/custom-function-sdk/_/server/endpoint.js |
/api/ai-agent/mcp, /api/ai-agent/events (POST) | د AI اجنټ چلونې چې MonoChat ته بیرته راپور ورکوي | server/api/ai-agent.ts |
/api/channels-manager/facebook/auth, /api/channels-manager/tiktok/auth (GET) | هغه pop-up چې د Facebook یا TikTok حساب له نښلولو وروسته بیرته راځي | packages/app-managers-channel/src/webhook.ts |
/l/:_id (GET) | لنډ لینکونه چې تاسو پیرودونکو ته لیږئ | server/api/short-link.js |
/api/status (GET) | موبایل اپ سرور او د ننوتلو اختیارونه ګوري | server/api/status.js |
/.well-known/assetlinks.json, /.well-known/apple-app-site-association (GET) | د Android او iOS اپ لینکونه | server/api/assetlinks.js, server/api/apple-app-site-association.js |
که تاسو دا ځانګړتیاوې له خپلې شبکې بهر کاروئ، /api/:slug/custom-functions، /api/ai-agent، /l/ او د چینل دوه pop-up لارې خلاصې کړئ. د چینل pop-up لارې د هغه چا په براوزر کې خلاصیږي چې حساب نښلوي، نو که یوازې ستاسو د شبکې خلک چینلونه نښلوي، دوی کولی شي محدودې پاتې شي. /api/status او دوه /.well-known فایلونه یوازې هغه وخت خلاص کړئ چې ستاسو اجنټان له خپلې شبکې بهر د MonoChat موبایل اپ کاروي.
د برابروونکي له لارې ننوتل (OAuth)
کله چې د ننوتلو برابروونکی براوزر بیرته MonoChat ته راګرځوي، دا بیرته راګرځونه د هغه چا د براوزر عادي غوښتنه ده چې ننوځي، نو د ویب اپ په څېر همدا محدودیت پرې پلي کیږي. د بیرته راګرځولو لارې د هغو خلکو لپاره د لاسرسي وړ وساتئ چې په دې ډول ننوځي. لارې د سرور په تنظیماتو کې په public.oauth.<provider> کې د redirectPath ارزښتونه دي (ډیفالټ بېلګې /api/oauth/google/redirect, /api/oauth/microsoft/redirect, /api/oauth/facebook/redirect او /api/oauth/apple/redirect دي). د Apple ننوتل براوزر په POST (responseMode: form_post) بیرته لیږي، چې همدا لار یې مني. د موبایل اپ لپاره، سرور /api/oauth/facebook/mobile, /api/oauth/microsoft/mobile او /auth/oauth-callback/<provider> ته هم ځواب ورکوي (server/configs/oauth/mobile.ts).
که تاسو د Microsoft Marketplace یووالی کاروئ، په microsoftMarketplace.redirectWebhookPath کې لار د Microsoft Marketplace غوښتنه ترلاسه کوي او باید له انټرنیټ څخه د لاسرسي وړ وي (server/configs/microsoft-marketplace/webook.ts).
د پروکسي له لارې د پیرودونکي ریښتینی آی پي واستوئ
MonoChat د سیشنونو او د حالت د لاګونو لپاره د پیرودونکي آی پي ثبتوي. د reverse proxy یا load balancer شاته، دا د پروکسي پته ویني، مګر دا چې ریښتینې پته ورکړئ.
- nginx (یا خپل load balancer) ته ووایئ چې اصلي پته د
X-Forwarded-Forسرلیک کې واستوي، د بېلګې په توګهproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;. - د MonoChat په سرور کې چاپېریالي بدلون
HTTP_FORWARDED_COUNTد هغو پروکسیو شمېر ته وټاکئ چې د اپ مخې ته دي. دا د Meteor framework لخوا لوستل کیږي، نه د MonoChat کوډ لخوا، نو دا ستاسو د ځای پرځای کولو په تنظیماتو پورې اړه لري، نه د JSON تنظیماتو فایل.
خپل ترتیب وڅېړئ
- له داسې شبکې چې اجازه نلري، ویب اپ پرانیزئ. باید رد شي.
- له اجازه شوې شبکې ننوځئ او inbox پرانیزئ. پیغامونه باید بار شي، چې ثابتوي WebSocket پای ټکی تاسو ته خلاص دی.
- له خپلې شبکې بهر نښلول شوي چینل ته یو ازمایښتي پیغام واستوئ او تایید کړئ چې inbox ته رسیږي.
- د یوې کوچنۍ ازمایښتي سپارښتنې لپاره د تادیې لینک جوړ کړئ، تادیه یې کړئ، او تایید کړئ چې سپارښتنه تادیه شوې ښکاري.
د خپلو پروکسي قواعدو له هرې بدلون وروسته لارې وازمایئ. بندې شوې webhook لار په MonoChat کې تېروتنه نه ښیي: پیغامونه او د تادیې تاییدونه یوازې نور نه رسیږي.