اصلي منځپانګې ته لاړ شئ

د آی پي له مخې د آن-پریمیس نصب محدودول

دا پاڼه د 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)ChatwootchannelConnectors.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 شاته، دا د پروکسي پته ویني، مګر دا چې ریښتینې پته ورکړئ.

  1. nginx (یا خپل load balancer) ته ووایئ چې اصلي پته د X-Forwarded-For سرلیک کې واستوي، د بېلګې په توګه proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;.
  2. د MonoChat په سرور کې چاپېریالي بدلون HTTP_FORWARDED_COUNT د هغو پروکسیو شمېر ته وټاکئ چې د اپ مخې ته دي. دا د Meteor framework لخوا لوستل کیږي، نه د MonoChat کوډ لخوا، نو دا ستاسو د ځای پرځای کولو په تنظیماتو پورې اړه لري، نه د JSON تنظیماتو فایل.

خپل ترتیب وڅېړئ​

  1. له داسې شبکې چې اجازه نلري، ویب اپ پرانیزئ. باید رد شي.
  2. له اجازه شوې شبکې ننوځئ او inbox پرانیزئ. پیغامونه باید بار شي، چې ثابتوي WebSocket پای ټکی تاسو ته خلاص دی.
  3. له خپلې شبکې بهر نښلول شوي چینل ته یو ازمایښتي پیغام واستوئ او تایید کړئ چې inbox ته رسیږي.
  4. د یوې کوچنۍ ازمایښتي سپارښتنې لپاره د تادیې لینک جوړ کړئ، تادیه یې کړئ، او تایید کړئ چې سپارښتنه تادیه شوې ښکاري.
خبرداری

د خپلو پروکسي قواعدو له هرې بدلون وروسته لارې وازمایئ. بندې شوې webhook لار په MonoChat کې تېروتنه نه ښیي: پیغامونه او د تادیې تاییدونه یوازې نور نه رسیږي.