שירותי המונטיזציה הם תוסף ל-Apigee Edge, ולכן הם לא פועלים כתהליך עצמאי. הוא פועל בכל הגדרה קיימת של Apigee Edge, למעט הגדרת All-In-One (AIO). אי אפשר להתקין את Monetization Services בהגדרת AIO.
הדרישות להפעלת מונטיזציה
- אם אתם מתקינים את Monetization בטופולוגיית Edge שמשתמשת בכמה צומתי Management Server, כמו התקנה של 13 צמתים, אתם צריכים להתקין את שני צומתי Edge Management Server לפני שאתם מתקינים את Monetization.
- כדי להתקין את Monetization ב-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, כמו התקנה של 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, OpenLDAP, 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 כ-
voters. אם מספר הצמתים של ZooKeeper זוגי, חלק מהצמתים יוגדרו כ-observers. כשמתקינים את Edge במספר זוגי של מרכזי נתונים, צריך להגדיר חלק מצומתי ZooKeeper כ-observersכדי שמספר הצמתים המצביעים יהיה אי-זוגי. במהלך בחירת מנהיג ב-ZooKeeper, צומת מצביע אחד ייבחר בתורleader. צריך לוודא שהמאפייןZK_HOSTSשלמעלה מציין צומת מוביל בהתקנה של כמה מרכזי נתונים. - אם מפעילים את האימות של Cassandra, אפשר להעביר את שם המשתמש והסיסמה של Cassandra באמצעות המאפיינים הבאים:
CASS_USERNAME CASS_PASSWORD
שילוב של שירותי מונטיזציה עם כל שרתי הניהול
כדי לשלב מונטיזציה בצמתים של שרת הניהול, צריך לפעול לפי ההליך הבא.
- אם אתם מתקינים את Monetization בטופולוגיית Edge שמשתמשת בכמה צומתי Management Server, כמו התקנה של 13 צמתים, ודאו שהתקנתם את שני צומתי Management Server לפני התקנת Monetization.
- בצומת של שרת הניהול, מריצים את סקריפט ההגדרות:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
האפשרות
-p moמציינת שצריך לשלב את המונטיזציה.למשתמש apigee צריכה להיות גישה לקובץ התצורה או אפשרות לקרוא אותו.
- אם מתקינים את Monetization בכמה צמתים של Management Server, חוזרים על שלב 2 בצומת השני של Management Server.
אחרי הגדרה מוצלחת, נוצרת סכימת RDBMS לשירותי מונטיזציה במסד הנתונים של PostgreSQL. בשלב הזה מסתיים השילוב של Monetization Services והרכיבים שמשויכים אליו עם שרת Postgres.
שילוב של שירותי מונטיזציה עם כל מעבדי הבקשות
כדי לשלב את המונטיזציה בכל הצמתים של מעבדי הבקשות, צריך לפעול לפי ההוראות הבאות.
- בצומת הראשון של מעבד הבקשות, מריצים את סקריפט ההגדרות בשורת הפקודה:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
האפשרות
-p moמציינת שצריך לשלב את המונטיזציה.למשתמש apigee צריכה להיות גישה לקובץ התצורה או אפשרות לקרוא אותו.
- חוזרים על התהליך הזה בכל הצמתים של מעבדי הבקשות.
אחרי הגדרה מוצלחת, מעבד הבקשות מתעדכן עם שירותי המונטיזציה. בשלב הזה מסתיים השילוב של שירותי המונטיזציה והרכיבים שמשויכים אליהם עם מעבדי הבקשות.
הצטרפות למונטיזציה
כדי ליצור ארגון חדש ולהפעיל מונטיזציה:
- יוצרים את הארגון כמו כל ארגון חדש. מידע נוסף זמין במאמר הצטרפות של ארגון.
- משתמשים ב-API להקצאת מונטיזציה, כמו שמתואר במאמר הפעלת מונטיזציה לארגון. כדי לעשות את זה, אתם צריכים הרשאות אדמין במערכת.
בפעם הבאה שתיכנסו לממשק המשתמש של Edge, תראו את האפשרות Monetization בתפריט ברמה העליונה של הארגון:

כדי להגדיר את הפורטל לתמיכה במונטיזציה, קראו את המאמר הגדרת מונטיזציה בפורטל למפתחים.
הוספת צומת של שרת ניהול להתקנה של Monetization
אם מוסיפים שרת ניהול להתקנה קיימת של Edge, צריך לוודא שמוסיפים שירותי מונטיזציה לשרת הניהול החדש ומגדירים את כל שרתי הניהול כך שיוכלו לתקשר.
כדי להוסיף שרת ניהול:
- מתקינים את שרת הניהול החדש.
- מתקינים את Monetization בשרת הניהול החדש.
- בשרת הניהול המקורי, מפעילים את הפקודה הבאה:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
- מפעילים מחדש את שרת הניהול המקורי:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- בשרת הניהול החדש, מפעילים את הפקודה הבאה:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
- מפעילים מחדש את שרת הניהול החדש:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
הגדרות נוספות
לספק מסמכי חיוב כקובצי 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
|
משמש את ממשק המשתמש של הניהול כדי להציג תפריט ספציפי למונטיזציה (ברירת המחדל היא "false") |
ui.config.isOperator
|
משמש את ממשק המשתמש של הניהול כדי להציג את הספק כמפעיל לעומת ארגון (ברירת המחדל היא "true") |
כדי להגדיר את הגדרות הארגון העסקי באמצעות ממשק המשתמש לניהול, ראו גישה למונטיזציה ב-Edge.
מגבלות על מונטיזציה
כדי לאכוף את מגבלות המונטיזציה, צריך לצרף את המדיניות "בדיקת מגבלות המונטיזציה" לשרתי proxy ל-API. באופן ספציפי, המדיניות מופעלת בתנאים הבאים:
- המפתח שניגש ל-API שמונטיזציה מופעלת בו לא רשום או לא נרשם למודל החיוב.
- המפתח חרג מנפח העסקאות של מודל החיוב שהוא נרשם אליו.
- הגעתם ליתרה בחשבון המפתח ששולם מראש או למסגרת האשראי לתשלום לאחר השימוש.
המדיניות "בדיקת מגבלות המונטיזציה" מעלה שגיאות וחוסמת קריאות ל-API במצבים כמו אלה שצוינו למעלה. המדיניות הזו מרחיבה את המדיניות Raise Fault, ואפשר להתאים אישית את ההודעה שמוחזרת. התנאים הרלוונטיים נגזרים ממשתנים עסקיים.
מידע נוסף זמין במאמר אכיפת מגבלות מונטיזציה על שרתי proxy ל-API.