মনিটাইজেশন পরিষেবা ইনস্টল করা

মনিটাইজেশন পরিষেবা হল Apigee Edge-এর একটি এক্সটেনশন, তাই এটি স্বতন্ত্র প্রসেস হিসেবে রান করে না। এটি যেকোনও বিদ্যমান Apigee Edge সেট-আপের মধ্যে চলে, তবে অল-ইন-ওয়ান (AIO) কনফিগারেশন এর ব্যতিক্রম। আপনি AIO কনফিগারেশনে মনিটাইজেশন পরিষেবা ইনস্টল করতে পারবেন না।

মনিটাইজেশন সংক্রান্ত প্রয়োজনীয়তা

  • আপনি যদি একাধিক ম্যানেজমেন্ট সার্ভার নোড ব্যবহার করে এমন একটি এজ টপোলজিতে মনিটাইজেশন ইনস্টল করেন, যেমন একটি 13-নোড ইনস্টলেশন, তাহলে মনিটাইজেশন ইনস্টল করার আগে আপনাকে অবশ্যই উভয় এজ ম্যানেজমেন্ট সার্ভার নোড ইনস্টল করতে হবে।
  • Edge-এ মনিটাইজেশন ইনস্টল করতে, যেখানে Edge ইনস্টলেশনে একাধিক Postgres নোড রয়েছে, Postgres নোডগুলি অবশ্যই মাস্টার/স্ট্যান্ডবাই মোডে কনফিগার করা উচিত। আপনার একাধিক Postgres মাস্টার নোড থাকলে, Edge-এ Monetization ইনস্টল করতে পারবেন না। আরও জানতে, Postgres-এর জন্য মাস্টার-স্ট্যান্ডবাই রেপ্লিকেশন সেট-আপ করুন দেখুন।
  • অল-ইন-ওয়ান (AIO) কনফিগারেশনের সাথে মনিটাইজেশন উপলভ্য নয়।

ইনস্টলেশন ওভারভিউ

নিম্নলিখিত ধাপগুলি থেকে কীভাবে আগে থেকে ইনস্টল করা Apigee Edge-এ মনিটাইজেশন পরিষেবা যোগ করতে হয় তা বোঝা যায়:

  • apigee-setup ইউটিলিটি ব্যবহার করে Apigee ম্যানেজমেন্ট সার্ভার নোড আপডেট করুন যাতে মনিটাইজেশন পরিষেবা চালু করা যায়, যেমন, ক্যাটালগ ম্যানেজমেন্ট, সীমা ও বিজ্ঞপ্তি কনফিগারেশন, বিলিং ও রিপোর্টিং।

    আপনার একাধিক ম্যানেজমেন্ট সার্ভার নোড থাকলে, যেমন ১৩-নোড ইনস্টলেশন, তাহলে আপনাকে Monetization ইনস্টল করার আগে দুটি Edge ম্যানেজমেন্ট সার্ভার নোড ইনস্টল করতে হবে।

  • apigee-setup Apigee মেসেজ প্রসেসর আপডেট করতে ইউটিলিটি ব্যবহার করুন যাতে মনিটাইজেশন পরিষেবার রানটাইম কম্পোনেন্ট চালু করা যায়, যেমন, ট্রানজ্যাকশন রেকর্ডিং নীতি ও সীমা প্রয়োগ করা। আপনার একাধিক মেসেজ প্রসেসর থাকলে, সবকটিতে মনিটাইজেশন ইনস্টল করুন।
  • আপনার Edge সংস্থার জন্য মনিটাইজেশন অনবোর্ডিং প্রসেস সম্পূর্ণ করুন।
  • মনিটাইজেশনকে সাপোর্ট করার জন্য Apigee ডেভেলপার পরিষেবা পোর্টাল (বা সহজভাবে, পোর্টাল) কনফিগার করুন। আরও তথ্যের জন্য, ডেভেলপার পোর্টালে মনিটাইজেশন কনফিগার করুন দেখুন।

মনিটাইজেশনের জন্য একটি সাইলেন্ট কনফিগারেশন ফাইল তৈরি করা হচ্ছে

নিচে Monetization ইনস্টলেশনের জন্য একটি উদাহরণ সাইলেন্ট কনফিগারেশন ফাইল দেখানো হয়েছে। আপনার কনফিগারেশনের জন্য প্রয়োজন অনুযায়ী এই ফাইল এডিট করুন। এই ফাইল অন্তর্ভুক্ত করতে setup.sh-এ -f বিকল্প ব্যবহার করুন।

# Edge configuration properties
# Specify IP address or DNS name of node.
IP1=192.168.1.1  # Management Server, SymasLDAP, New Edge UI, ZooKeeper, Cassandra
IP2=192.168.1.2  # ZooKeeper, Cassandra
IP3=192.168.1.3  # ZooKeeper, Cassandra
IP4=192.168.1.4  # Router, Message Processor
IP5=192.168.1.5  # Router, Message Processor
IP6=192.168.1.6  # Qpid
IP7=192.168.1.7  # Qpid
IP8=192.168.1.8  # Postgres
IP9=192.168.1.9  # Postgres

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Edge sys admin credentials
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.

# Specify the Management Server port.
APIGEE_PORT_HTTP_MS=8080

#
# Monetization configuration properties.
#
# Postgres credentials from Edge installation.
PG_USER=apigee    # Default from Edge installation
PG_PWD=postgres    # Default from Edge installation

# Specify Postgres server.
MO_PG_HOST="$IP8"    # Only specify one Postgres node.

# Create a Postgres user for Monetization.
# Default username is "postgre".
# If you specify a different user, that user must already exist.
MO_PG_USER=postgre
MO_PG_PASSWD=moUserPWord

# Specify one ZooKeeper host.
# Ensure this is a ZooKeeper leader node in a multi-datacenter environment.
ZK_HOSTS="$IP2"

# Specify Cassandra information.
# Ensure CASS_HOSTS is set to the same value as when you installed Edge.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"

# Default is "Apigee", unless it was changed during Edge install.
CASS_CLUSTERNAME=Apigee

# Cassandra uname/pword required only if you enabled Cassandra authentication.
# If your password uses special characters, wrap it in single quotes.
# CASS_USERNAME=
# CASS_PASSWORD=

# Specify the region.
# Default is dc-1 unless you are in a multi-datacenter environment.
REGION=dc-1

# If your Edge config file did not specify SMTP information, add it.
# Monetization requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y
SMTPMAILFROM="My Company <myco@company.com>"

মনে রাখবেন:

  • আপনার Edge কনফিগারেশন ফাইলে SMTP সংক্রান্ত তথ্য উল্লেখ করা না থাকলে, সেটি যোগ করুন। মনিটাইজেশনের জন্য একটি SMTP সার্ভার প্রয়োজন।
  • সিঙ্গেল ডেটা সেন্টার ইনস্টলেশনে, সব ZooKeeper নোড ডিফল্ট হিসেবে লিডার হিসেবে কনফিগার করা হয়। আপনি একাধিক ডেটা সেন্টার জুড়ে Edge ইনস্টল করার সময়, কিছু ZooKeeper নোডকে অবজার্ভার হিসেবে কনফিগার করা হবে। নিশ্চিত করুন যে উপরের ZK_HOSTS প্রপার্টি একাধিক ডেটা সেন্টার ইনস্টলেশনে একটি লিডার নোড নির্দিষ্ট করে।
  • আপনি Cassandra যাচাইকরণ চালু করলে, নিম্নলিখিত প্রপার্টি ব্যবহার করে Cassandra ব্যবহারকারীর নাম ও পাসওয়ার্ড প্রদান করতে পারবেন:
    CASS_USERNAME
    CASS_PASSWORD

সব ম্যানেজমেন্ট সার্ভারের সাথে মনিটাইজেশন পরিষেবা ইন্টিগ্রেট করুন

ম্যানেজমেন্ট সার্ভার নোডে মনিটাইজেশন ইন্টিগ্রেট করতে নিম্নলিখিত পদ্ধতি ব্যবহার করুন।

  1. আপনি যদি একাধিক ম্যানেজমেন্ট সার্ভার নোড ব্যবহার করে এমন একটি এজ টপোলজিতে মনিটাইজেশন ইনস্টল করেন, যেমন একটি ১৩-নোড ইনস্টলেশন, তাহলে নিশ্চিত করুন যে আপনি মনিটাইজেশন ইনস্টল করার আগে উভয় ম্যানেজমেন্ট সার্ভার নোড ইনস্টল করেছেন।
  2. ম্যানেজমেন্ট সার্ভার নোডে, সেট-আপ স্ক্রিপ্ট রান করান:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    -p mo বিকল্পটি মনিটাইজেশন ইন্টিগ্রেট করার জন্য নির্দিষ্ট করে।

    "apigee" ব্যবহারকারীর কাছে কনফিগারেশন ফাইল অ্যাক্সেসযোগ্য বা পাঠযোগ্য হতে হবে।

  3. আপনি একাধিক ম্যানেজমেন্ট সার্ভার নোডে মনিটাইজেশন ইনস্টল করলে, দ্বিতীয় ম্যানেজমেন্ট সার্ভার নোডে ২ নম্বর ধাপটি আবার করুন।

কনফিগারেশন সম্পূর্ণ হলে, PostgreSQL ডেটাবেসে মনিটাইজেশন পরিষেবার জন্য RDBMS স্কিমা তৈরি করা হয়। এর ফলে Postgres সার্ভারের সাথে মনিটাইজেশন পরিষেবা ও এর সংশ্লিষ্ট কম্পোনেন্ট ইন্টিগ্রেশন সম্পূর্ণ হয়।

সব মেসেজ প্রসেসরের সাথে মনিটাইজেশন পরিষেবা ইন্টিগ্রেট করুন

সব মেসেজ প্রসেসর নোডে মনিটাইজেশন ইন্টিগ্রেট করতে নিম্নলিখিত পদ্ধতি ব্যবহার করুন।

  1. প্রথম মেসেজ প্রসেসর নোডে, কমান্ড প্রম্পটে, সেটআপ স্ক্রিপ্ট চালান:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    -p mo বিকল্পটি মনিটাইজেশন ইন্টিগ্রেট করার জন্য নির্দিষ্ট করে।

    "apigee" ব্যবহারকারীর কাছে কনফিগারেশন ফাইল অ্যাক্সেসযোগ্য বা পাঠযোগ্য হতে হবে।

  2. সব মেসেজ প্রসেসর নোডে এই পদ্ধতি রিপিট করুন।

কনফিগারেশন সফল হলে, মনিটাইজেশন পরিষেবার সাথে মেসেজ প্রসেসর আপডেট করা হয়। এর ফলে মেসেজ প্রসেসরের সাথে মনিটাইজেশন পরিষেবা এবং এর সাথে সম্পর্কিত কম্পোনেন্টের ইন্টিগ্রেশন সম্পূর্ণ হয়।

মনিটাইজেশন অনবোর্ডিং

নতুন প্রতিষ্ঠান তৈরি করতে এবং মনিটাইজেশন চালু করতে:

  1. আপনি যেভাবে নতুন কোনও প্রতিষ্ঠান তৈরি করেন, সেইভাবেই প্রতিষ্ঠান তৈরি করুন। আরও তথ্যের জন্য, কোনও সংস্থাকে অনবোর্ড করুন দেখুন।
  2. কোনও সংস্থার জন্য মনিটাইজেশন চালু করুন-এ যেভাবে বলা হয়েছে সেইভাবে মনিটাইজেশন প্রভিশনিং API ব্যবহার করুন। এটি করতে, আপনার কাছে অবশ্যই সিস্টেম অ্যাডমিনিস্ট্রেটরের বিশেষ সুবিধা থাকতে হবে।

আপনি পরের বার New Edge UI-তে লগ-ইন করলে, প্রতিষ্ঠানের জন্য টপ-লেভেল মেনুতে মনিটাইজেশন এন্ট্রি দেখতে পাবেন:

নতুন Edge UI-তে মনিটাইজেশন মেনু

মনিটাইজেশন সাপোর্ট করার জন্য পোর্টাল কনফিগার করতে, ডেভেলপার পোর্টালে মনিটাইজেশন কনফিগার করুন দেখুন।

মনিটাইজেশন ইনস্টলেশনে ম্যানেজমেন্ট সার্ভার নোড যোগ করা

আগে থেকে ইনস্টল করা Edge-এ ম্যানেজমেন্ট সার্ভার যোগ করলে, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে নতুন ম্যানেজমেন্ট সার্ভারে মনিটাইজেশন পরিষেবা যোগ করেছেন এবং সব ম্যানেজমেন্ট সার্ভার কনফিগার করেছেন যাতে সেগুলি যোগাযোগ করতে পারে।

ম্যানেজমেন্ট সার্ভার যোগ করতে:

  1. নতুন ম্যানেজমেন্ট সার্ভার ইনস্টল করুন।
  2. নিম্নলিখিত কমান্ড ব্যবহার করে নতুন ম্যানেজমেন্ট সার্ভারে মনিটাইজেশন ইনস্টল করুন:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f /opt/silent.conf

অতিরিক্ত কনফিগারেশন

পিডিএফ ফাইল হিসেবে বিলিং ডকুমেন্ট জমা দিন

'মনিটাইজেশন' ব্যবহারকারীদের HTML ফর্ম্যাটে বিলিং ডকুমেন্ট দেখায়। পিডিএফ ফাইল হিসেবে বিলিং ডকুমেন্ট প্রদান করতে, আপনি মনিটাইজেশনকে এমন একটি বিলিং সিস্টেমের সাথে ইন্টিগ্রেট করতে পারেন যা পিডিএফ তৈরি করে বা কোনও মানানসই থার্ড-পার্টি পিডিএফ লাইব্রেরির লাইসেন্স দেয়।

সংস্থার সেটিংস কনফিগার করুন

সংস্থা সম্পর্কিত অ্যাট্রিবিউট যোগ/আপডেট করতে, আপনি PUT অনুরোধ ব্যবহার করতে পারেন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  -v http://ms_IP:8080/v1/organizations/orgId -d 'org object with attributes' -X PUT

মনিটাইজেশন সংস্থার সেটিংস অনুযায়ী কাজ করে। যেমন:

{
  ...
  "displayName": "Orgnization name",
  "name": "org4",
  "properties": {
    "property": [
      ...
      {
        "name": "MINT_CURRENCY",
        "value": "USD"
      },
      {
        "name": "MINT_COUNTRY",
        "value": "US"
      },
      {
        "name": "MINT_TIMEZONE",
        "value": "GMT"
      }
    ]
  }
}

নিম্নলিখিত সারণীতে সংস্থা-লেভেলের অ্যাট্রিবিউট তালিকাভুক্ত করা আছে যা একটি মিন্ট সংস্থা কনফিগার করার জন্য উপলভ্য।

অ্যাট্রিবিউট বিবরণ
MINT_TAX_MODEL

গ্রহণযোগ্য ভ্যালু হল "DISCLOSED", "UNDISCLOSED", "HYBRID" (ডিফল্ট হল null)

MINT_CURRENCY

ISO কারেন্সি কোড (ডিফল্ট হল নাল)

MINT_TAX_NEXUS

ট্যাক্স নেক্সাস (ডিফল্ট হল ফাঁকা)

MINT_DEFAULT_PROD_TAX_CATEGORY

ডিফল্ট প্রোডাক্ট ট্যাক্স বিভাগ (ডিফল্ট হল শূন্য)

MINT_IS_GROUP_ORG

IS গ্রুপ সংস্থা (ডিফল্ট হল "false")

MINT_HAS_BROKER

ভেঙে গেছে (ডিফল্ট হল মিথ্যা)

MINT_TIMEZONE

টাইমজোন (ডিফল্ট হিসেবে কোনও ভ্যালু থাকে না)

MINT_TAX_ENGINE_EXTERNAL_ID

ট্যাক্স ইঞ্জিন আইডি (ডিফল্ট মান হল শূন্য)

MINT_COUNTRY

সংস্থাটি কোন দেশে আছে (ডিফল্ট হল নাল)

MINT_REG_NO

সংস্থার রেজিস্ট্রেশন নম্বর, যুক্তরাজ্য ট্যাক্স আইডি থেকে আলাদা নম্বর দেয় (ডিফল্ট হল শূন্য)

MINT_BILLING_CYCLE_TYPE

"PRORATED", "CALENDAR_MONTH" (ডিফল্ট হল "CALENDAR_MONTH")

MINT_SUPPORTED_BILLING_TYPE

"PREPAID"/"POSTPAID"/"BOTH" (ডিফল্ট হল "PREPAID")

MINT_IS_SEPARATE_INV_FOR_FEES

আলাদা ফি ইনভয়েস তৈরি করা উচিত কিনা তা নির্দেশ করে (ডিফল্ট হল "false")

MINT_ISSUE_NETTING_STMT

নেট স্টেটমেন্ট ইস্যু করা উচিত কিনা তা নির্দেশ করে (ডিফল্ট হল "false")

MINT_NETTING_STMT_PER_CURRENCY

প্রতিটি মুদ্রার জন্য নেটিং স্টেটমেন্ট তৈরি করা হবে কিনা তা নির্দেশ করে (ডিফল্ট হল "false")

MINT_HAS_SELF_BILLING

সংস্থার সেল্ফ বিলিং আছে কিনা তা নির্দেশ করে (ডিফল্ট হল "false")

MINT_SELF_BILLING_FOR_ALL_DEV

সংস্থাটি সমস্ত ডেভেলপারদের জন্য সেল্ফ বিলিং চালু করেছে কিনা তা নির্দেশ করে (ডিফল্ট হল "false")

MINT_HAS_SEPARATE_INV_FOR_PROD

প্রতিটি প্রোডাক্টের জন্য সংস্থার আলাদা ইনভয়েস আছে কিনা তা নির্দেশ করে (ডিফল্ট হল "false")

MINT_HAS_BILLING_ADJUSTMENT

সংস্থা বিলিং অ্যাডজাস্টমেন্টে সম্মতি দেয় কিনা তা বোঝায় (ডিফল্ট হল "false")

features.isMonetizationEnabled

মনিটাইজেশন নির্দিষ্ট মেনু দেখাতে নতুন Edge UI ব্যবহার করে (ডিফল্ট হল "false")

ui.config.isOperator

প্রদানকারীকে অপারেটর হিসেবে বনাম সংস্থা হিসেবে দেখানোর জন্য New Edge UI ব্যবহার করে (ডিফল্ট হল "true")

নতুন Edge UI ব্যবহার করে ব্যবসায়িক প্রতিষ্ঠানের সেটিংস কনফিগার করার জন্য, মনিটাইজেশন ব্যবহার শুরু করুন দেখুন।

মনিটাইজেশন সংক্রান্ত সীমা

মনিটাইজেশন সীমা এনফোর্স করতে, API প্রক্সিতে মনিটাইজেশন সীমা চেক করার নীতি অ্যাটাচ করুন। বিশেষ করে, নিম্নলিখিত শর্তে নীতিটি ট্রিগার করা হয়:

  • মনিটাইজ করা API অ্যাক্সেস করা ডেভেলপার রেজিস্টার করা নেই বা রেট প্ল্যানে সাবস্ক্রাইব করেনি।
  • সাবস্ক্রাইব করা রেট প্ল্যানের জন্য ডেভেলপার ট্রানজ্যাকশন ভলিউম অতিক্রম করেছেন।
  • ডেভেলপারের প্রিপেড অ্যাকাউন্টের ব্যালেন্স বা পোস্ট-পেড ক্রেডিট সীমা শেষ হয়ে গেছে।

উপরে তালিকাভুক্ত পরিস্থিতির মতো ক্ষেত্রে মনিটাইজেশন সীমা চেক করার নীতি ত্রুটি দেখায় এবং API কল ব্লক করে। এই নীতি Raise Fault নীতিকে আরও প্রসারিত করে এবং আপনি ফেরত আসা মেসেজ কাস্টমাইজ করতে পারবেন। প্রযোজ্য শর্তাবলী ব্যবসার ভেরিয়েবল থেকে নেওয়া হয়।

আরও তথ্যের জন্য, API প্রক্সিতে মনিটাইজেশন সীমা এনফোর্স করুন দেখুন।