התקנת שירותי מונטיזציה

שירותי המונטיזציה הם תוסף ל-Apigee Edge, ולכן הם לא פועלים כתהליך עצמאי. הוא פועל בכל הגדרה קיימת של Apigee Edge, למעט הגדרת All-In-One‏ (AIO). אי אפשר להתקין את Monetization Services בהגדרת AIO.

דרישות בנושא מונטיזציה

  • אם אתם מתקינים את התכונה 'מונטיזציה' בטופולוגיית Edge שמשתמשת בכמה צמתים של שרת ניהול, כמו התקנה של 13 צמתים, אתם צריכים להתקין את שני הצמתים של שרת הניהול של Edge לפני שמתקינים את התכונה 'מונטיזציה'.
  • כדי להתקין את Monetization on Edge במקום שבו להתקנת Edge יש כמה צמתים של Postgres, צריך להגדיר את צמתי Postgres במצב Master/Standby. אי אפשר להתקין את Monetization ב-Edge אם יש כמה צומתי מאסטר של Postgres. למידע נוסף, ראו הגדרת שכפול Master-Standby ל-Postgres.
  • אי אפשר להפעיל מונטיזציה בהגדרת All-In-One ‏ (AIO).

סקירה כללית על ההתקנה

כך מוסיפים את Monetization Services להתקנה קיימת של Apigee Edge:

  • משתמשים בכלי apigee-setup כדי לעדכן את הצומת של Apigee Management Server כדי להפעיל את שירותי המוניטיזציה, לדוגמה, ניהול קטלוג, הגדרת מגבלות והתראות, חיוב ודיווח.

    אם יש לכם כמה צומתי Management Server, כמו התקנה של 13 צמתים, אתם צריכים להתקין את שני צומתי Edge Management Server לפני שאתם מתקינים את Monetization.

  • משתמשים בכלי apigee-setup כדי לעדכן את מעבד הבקשות של Apigee, כך שיפעיל את רכיבי זמן הריצה של שירותי המונטיזציה, למשל מדיניות רישום העסקאות ואכיפת המגבלות. אם יש לכם כמה מעבדי בקשות, צריך להתקין את Monetization בכולם.
  • מבצעים את תהליך ההצטרפות למונטיזציה בארגונים ב-Edge.
  • מגדירים את פורטל שירותי הפיתוח של Apigee (או פשוט הפורטל) כדי לתמוך במונטיזציה. מידע נוסף זמין במאמר הגדרת מונטיזציה בפורטל למפתחים.

יצירת קובץ תצורה שקט להפעלת תכונות למונטיזציה

בהמשך מוצגת דוגמה לקובץ תצורה שקט להתקנה של Monetization. עורכים את הקובץ הזה לפי הצורך בהגדרות. כדי לכלול את הקובץ הזה, משתמשים באפשרות ‎-f ב-setup.sh.

# 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. אם אתם מתקינים את התכונה 'מוֹנטיזציה' בטופולוגיית Edge שמשתמשת בכמה צמתים של Management Server, כמו התקנה של 13 צמתים, אתם צריכים לוודא שהתקנתם את שני הצמתים של Management Server לפני שאתם מתקינים את התכונה 'מוֹנטיזציה'.
  2. בצומת של שרת הניהול, מריצים את סקריפט ההגדרות:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    האפשרות -p mo מציינת שצריך לשלב את המונטיזציה.

    למשתמש apigee צריכה להיות גישה לקובץ התצורה או אפשרות לקרוא אותו.

  3. אם מתקינים את Monetization בכמה צמתים של Management Server, חוזרים על שלב 2 בצומת השני של Management Server.

אם ההגדרה מצליחה, נוצר סכימה של RDBMS עבור שירותי המונטיזציה במסד הנתונים של PostgreSQL. כך הושלם השילוב של שירותי המונטיזציה והרכיבים המשויכים שלהם עם Postgres Server.

שילוב שירותי מונטיזציה עם כל מעבדי ההודעות

כדי לשלב מונטיזציה בכל הצמתים של מעבד ההודעות, פועלים לפי השלבים הבאים.

  1. בצומת הראשון של מעבד הבקשות, מריצים את סקריפט ההגדרות בשורת הפקודה:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    האפשרות -p mo מציינת שצריך לשלב את המונטיזציה.

    למשתמש apigee צריכה להיות גישה לקובץ התצורה או אפשרות לקרוא אותו.

  2. חוזרים על התהליך הזה בכל הצמתים של מעבד ההודעות.

אחרי הגדרה מוצלחת, מעבד הבקשות מתעדכן עם שירותי המונטיזציה. בשלב הזה מסתיים השילוב של שירותי המונטיזציה והרכיבים שמשויכים אליהם עם מעבדי הבקשות.

הצטרפות למונטיזציה

כדי ליצור ארגון חדש ולהפעיל מונטיזציה:

  1. יוצרים את הארגון כמו כל ארגון חדש. מידע נוסף זמין במאמר הצטרפות של ארגון.
  2. משתמשים ב-API להקצאת מונטיזציה, כמו שמתואר במאמר הפעלת מונטיזציה לארגון. כדי לעשות את זה, אתם צריכים הרשאות אדמין במערכת.

בפעם הבאה שתיכנסו לממשק המשתמש החדש של Edge, תראו את האפשרות Monetization (מונטיזציה) בתפריט ברמה העליונה של הארגון:

תפריט המונטיזציה בממשק המשתמש החדש של Edge

כדי להגדיר את הפורטל לתמיכה במונטיזציה, קראו את המאמר הגדרת מונטיזציה בפורטל למפתחים.

הוספת צומת של שרת ניהול להתקנה של Monetization

אם מוסיפים שרת ניהול להתקנה קיימת של Edge, צריך לוודא שמוסיפים שירותי מונטיזציה לשרת הניהול החדש ומגדירים את כל שרתי הניהול כך שיוכלו לתקשר.

כדי להוסיף שרת ניהול:

  1. מתקינים את שרת הניהול החדש.
  2. מתקינים את Monetization בשרת הניהול החדש באמצעות הפקודה הבאה:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f /opt/silent.conf

הגדרות נוספות

לספק מסמכי חיוב כקובצי PDF

במונטיזציה, מסמכי החיוב מוצגים למשתמשי הקצה בפורמט HTML. כדי לספק מסמכי חיוב כקובצי PDF, אתם יכולים לשלב את Monetization עם מערכת חיוב שמספקת יצירת קובצי PDF, או לרכוש רישיון לספריית PDF נתמכת של צד שלישי.

קביעת הגדרות הארגון

כדי להוסיף או לעדכן מאפייני ארגון, אפשר להשתמש בבקשת 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.

מאפיינים תיאור
MINT_TAX_MODEL

הערכים הקבילים הם "DISCLOSED",‏ "UNDISCLOSED",‏ "HYBRID" (ברירת המחדל היא null)

MINT_CURRENCY

קוד מטבע ISO (ברירת המחדל היא null)

MINT_TAX_NEXUS

קשר למיסוי (ברירת המחדל היא null)

MINT_DEFAULT_PROD_TAX_CATEGORY

קטגוריית המס של המוצר שמוגדרת כברירת מחדל (ברירת המחדל היא null)

MINT_IS_GROUP_ORG

האם הקבוצה היא ארגון (ברירת המחדל היא false)

MINT_HAS_BROKER

האם יש שגיאה (ברירת המחדל היא false)

MINT_TIMEZONE

אזור זמן (ברירת המחדל היא null)

MINT_TAX_ENGINE_EXTERNAL_ID

מזהה מנוע המס (ברירת המחדל היא null)

MINT_COUNTRY

המדינה של הארגון (ברירת המחדל היא null)

MINT_REG_NO

מספר הרישום של הארגון, בבריטניה המספר שונה ממספר מזהה המס (ברירת המחדל היא null)

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 להצגת תפריט ספציפי למונטיזציה (ברירת המחדל היא false)

ui.config.isOperator

משמש את ממשק המשתמש החדש של Edge כדי להציג את הספק כמפעיל לעומת ארגון (ברירת המחדל היא "true")

הוראות להגדרת ההגדרות של הארגון העסקי באמצעות ממשק המשתמש החדש של Edge מופיעות במאמר תחילת השימוש במונטיזציה.

מגבלות על מונטיזציה

כדי לאכוף מגבלות על מונטיזציה, צריך לצרף את מדיניות הבדיקה של מגבלות המונטיזציה לשרתי proxy ל-API. באופן ספציפי, המדיניות מופעלת בתנאים הבאים:

  • המפתח שניגש ל-API שמונטיזציה מופעלת בו לא רשום או לא נרשם למודל החיוב.
  • המפתח חרג מנפח העסקאות של תוכנית התמחור שאליה הוא נרשם.
  • הגעתם ליתרה בחשבון המפתח ששולם מראש או למסגרת האשראי לתשלום לאחר השימוש.

המדיניות בנושא בדיקת מגבלות המונטיזציה מעלה תקלות וחוסמת קריאות ל-API במצבים כמו אלה שמפורטים למעלה. המדיניות הזו מרחיבה את המדיניות Raise Fault, ואפשר להתאים אישית את ההודעה שמוחזרת. התנאים הרלוונטיים נגזרים ממשתנים עסקיים.

מידע נוסף זמין במאמר אכיפת מגבלות מונטיזציה על שרתי proxy ל-API.