Monetization Services הוא תוסף ל-Apigee Edge, ולכן הוא לא פועל בתור תהליך עצמאי. הוא פועל בכל הגדרה קיימת של Apigee Edge, מלבד ההגדרה של All-In-One (AIO). אי אפשר להתקין את שירותי המונטיזציה בהגדרה של AIO.
הדרישות למונטיזציה
- אם מתקינים מונטיזציה בטופולוגיית Edge שמשתמשת בכמה צמתים של שרת ניהול, למשל התקנה עם 13 צמתים, צריך להתקין את שני הצמתים של שרת הניהול של Edge לפני שמתקינים את המונטיזציה.
- כדי להתקין את המונטיזציה ב-Edge, כשבהתקנה של Edge יש כמה צמתים של Postgres, צריך להגדיר את צמתים של Postgres במצב Master/Standby. אי אפשר להתקין את Monetization ב-Edge אם יש לכם כמה צמתים ראשיים של Postgres. מידע נוסף זמין במאמר הגדרת רפליקציה של Master-Standby ל-Postgres.
- האפשרות להפעיל מונטיזציה לא זמינה בהגדרה 'הכול באחד' (AIO).
סקירה כללית על ההתקנה
בשלבים הבאים מוסבר איך מוסיפים שירותי מונטיזציה להתקנה קיימת של Apigee Edge:
- משתמשים בכלי
apigee-setup
כדי לעדכן את הצומת של שרת הניהול של Apigee ולהפעיל את שירותי המונטיזציה, למשל ניהול קטלוגים, הגדרת מגבלות והתראות, חיוב ודיווח.אם יש לכם כמה צמתים של שרת ניהול, למשל התקנה עם 13 צמתים, צריך להתקין את שני הצמתים של שרת ניהול הקצה (Edge Management Server) לפני שמתקינים את המונטיזציה.
- משתמשים בכלי
apigee-setup
כדי לעדכן את Apigee Message Processor ולהפעיל את רכיבי זמן הריצה של שירותי המונטיזציה, למשל מדיניות ההקלטה של עסקאות ואכיפת המגבלות. אם יש לכם כמה מעבדי הודעות, צריך להתקין את המונטיזציה בכל אחד מהם. - מבצעים את תהליך ההצטרפות לתוכנית המונטיזציה עבור הארגונים שלכם ב-Edge.
- מגדירים את הפורטל של Apigee Developer Services (או פשוט הפורטל) כך שיתמוך בחיוב. מידע נוסף זמין במאמר הגדרת מונטיזציה בפורטל המפתחים.
יצירת קובץ תצורה שקט למונטיזציה
בהמשך מוצג קובץ תצורה לדוגמה להתקנה של מונטיזציה ללא תגובה. אפשר לערוך את הקובץ הזה לפי הצורך בהגדרות האישיות שלכם. משתמשים באפשרות -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>"
הערות:
- אם פרטי ה-SMTP לא צוינו בקובץ התצורה של Edge, מוסיפים אותם. כדי לייצר הכנסות נדרש שרת SMTP.
- בהתקנה של מרכז נתונים יחיד, צריך להגדיר את המספרים האי-זוגיים של צמתים ב-ZooKeeper
כ-
voters
. אם מספר הצמתים של ZooKeeper הוא מספר זוגי, חלק מהצומתים יוגדרו כ-observers
. כשמתקינים את Edge במספר זוגי של מרכזי נתונים, צריך להגדיר חלק מהצומתים של ZooKeeper כ-observers
כדי שהמספר של צמתים הבוחרים יהיה מספר אי-זוגי. במהלך הבחירות של מנהיג ZooKeeper, צומת אחד עם זכות הצבעה ייבחר בתורleader
. חשוב לוודא שהמאפייןZK_HOSTS
שלמעלה מציין צומת מוביל בהתקנה של מספר מרכזי נתונים. - אם מפעילים אימות של Cassandra, אפשר להעביר את שם המשתמש והסיסמה של Cassandra באמצעות המאפיינים הבאים:
CASS_USERNAME CASS_PASSWORD
שילוב שירותי המונטיזציה עם כל שרתי הניהול
יש לפעול לפי התהליך הבא כדי לשלב מונטיזציה בצמתים של שרתי ניהול.
- אם מתקינים את המונטיזציה בטופולוגיה של Edge שמשתמשת במספר צמתים של שרתי ניהול, כמו התקנה של 13 צמתים, עליכם לוודא שהתקנתם את שני הצמתים של שרת הניהול לפני התקנת המונטיזציה.
- בצומת של שרת הניהול, מריצים את סקריפט ההגדרה:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
האפשרות
-p mo
מציינת שצריך לשלב מונטיזציה.קובץ התצורה צריך להיות נגיש או קריא למשתמש 'apigee'.
- אם מתקינים את המונטיזציה בכמה צמתים של שרתי ניהול, צריך לחזור על שלב 2 בצומת השני של שרת הניהול.
אם ההגדרה תתבצע בהצלחה, תיווצר סכימה של RDBMS לשירותי מונטיזציה במסד הנתונים של PostgreSQL. זהו השלב האחרון בשילוב של שירותי המונטיזציה והרכיבים המשויכים אליהם עם שרת Postgres.
שילוב שירותי המונטיזציה עם כל מעבדי ההודעות
כדי לשלב מונטיזציה בכל הצמתים של Message Processor, צריך לפעול לפי השלבים הבאים.
- בצומת הראשון של Message Processor, מריצים את סקריפט ההגדרה בשורת הפקודה:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
האפשרות
-p mo
מציינת שצריך לשלב מונטיזציה.קובץ התצורה צריך להיות נגיש או קריא למשתמש 'apigee'.
- חוזרים על התהליך הזה בכל הצמתים של Message Processor.
אחרי שההגדרה תתבצע בהצלחה, שירותי המונטיזציה יעודכנו במעבד ההודעות. כך הושלם השילוב של שירותי המונטיזציה והרכיבים המשויכים אליהם עם מעבדי ההודעות.
הדרכה למשתמשים חדשים בנושא מונטיזציה
כדי ליצור ארגון חדש ולהפעיל מונטיזציה:
- יוצרים את הארגון כמו כל ארגון חדש. מידע נוסף זמין במאמר הוספת ארגון.
- משתמשים ב-API לניהול הקצאות של מונטיזציה כפי שמתואר במאמר הפעלת מונטיזציה לארגון. כדי לעשות זאת, צריכות להיות לכם הרשאות אדמין מערכת.
בפעם הבאה שתתחברו לממשק המשתמש של Edge, תראו את הרשומה 'מונטיזציה' בתפריט שברמה העליונה של הארגון:
כדי להגדיר את הפורטל כך שיתמוך במונטיזציה, כדאי לעיין במאמר הגדרת המונטיזציה בפורטל המפתחים.
הוספת צומת של שרת ניהול להתקנת מונטיזציה
אם מוסיפים שרת ניהול להתקנת Edge קיימת, צריך לוודא שמוסיפים את שירותי המונטיזציה לשרת הניהול החדש ולהגדיר את כל שרתי הניהול כדי שיוכלו לתקשר.
כדי להוסיף שרת ניהול:
- מתקינים את שרת הניהול החדש.
- מתקינים את המונטיזציה בשרת הניהול החדש.
- בשרת הניהול המקורי, מריצים את הפקודה הבאה:
/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, אפשר לשלב את המונטיזציה במערכת חיוב שמספקת קובצי 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_TAX_MODEL
|
הערכים הקבילים הם DISCLOSED, UNDISCLOSED, HYBRID (ברירת המחדל היא null) |
MINT_CURRENCY
|
קוד מטבע ISO (ברירת המחדל היא null) |
MINT_TAX_NEXUS
|
נקודת החיבור לצורכי מס (ברירת המחדל היא null) |
MINT_DEFAULT_PROD_TAX_CATEGORY
|
קטגוריית המס שמוגדר כברירת מחדל למוצר (ברירת המחדל היא null) |
MINT_IS_GROUP_ORG
|
ארגון קבוצת IS (ברירת המחדל היא '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 במצבים כמו אלה שמפורטים למעלה. המדיניות הזו תרחיב את המדיניות 'העלאת שגיאה', ותוכלו להתאים אישית את ההודעה שמוחזרת. התנאים הרלוונטיים נגזרים משתני עסק.
מידע נוסף זמין במאמר אכיפה של מגבלות מונטיזציה על שרתים proxy של API.