Monetization Services הוא תוסף ל-Apigee Edge, ולכן הוא לא פועל בתור תהליך עצמאי. הוא פועל בכל הגדרה קיימת של Apigee Edge, מלבד ההגדרה של All-In-One (AIO). אי אפשר להתקין את שירותי המונטיזציה בהגדרה של AIO.
דרישות המונטיזציה
- אם מתקינים מונטיזציה בטופולוגיית Edge שמשתמשת בכמה צמתים של שרת ניהול, למשל התקנה עם 13 צמתים, צריך להתקין את שני הצמתים של שרת הניהול של Edge לפני שמתקינים את המונטיזציה.
- כדי להתקין את המונטיזציה ב-Edge, כשבהתקנה של Edge יש כמה צמתים של Postgres, צריך להגדיר את צמתים של Postgres במצב Master/Standby. אם יש כמה צמתים ראשיים של Postgres, אי אפשר להתקין את המונטיזציה ב-Edge. מידע נוסף זמין במאמר הגדרת רפליקציה של Master-Standby ל-Postgres.
- המונטיזציה לא זמינה במצב All-In-One (AIO).
סקירה כללית על ההתקנה
בשלבים הבאים מוסבר איך מוסיפים שירותי מונטיזציה להתקנה קיימת של Apigee Edge:
- משתמשים בכלי
apigee-setup
כדי לעדכן את הצומת של שרת הניהול של Apigee ולהפעיל את שירותי המונטיזציה, למשל ניהול קטלוגים, הגדרת מגבלות והתראות, חיוב ודיווח.אם יש לכם כמה צמתים של שרת ניהול, למשל התקנה עם 13 צמתים, עליכם להתקין את שני הצמתים של שרת ניהול Edge לפני שתתקינו את המונטיזציה.
- משתמשים בכלי
apigee-setup
כדי לעדכן את Apigee Message Processor ולהפעיל את רכיבי זמן הריצה של שירותי המונטיזציה, למשל מדיניות ההקלטה של עסקאות ואכיפת המגבלות. אם יש לכם כמה מעבדי הודעות, צריך להתקין את המונטיזציה בכל אחד מהם. - מבצעים את תהליך ההצטרפות למונטיזציה עבור ארגוני Edge שלכם.
- מגדירים את פורטל השירותים למפתחים של Apigee (או פשוט את הפורטל) כך שיתמוך במונטיזציה. למידע נוסף, ראו הגדרת מונטיזציה בפורטל למפתחים.
יצירת קובץ תצורה שקט למונטיזציה
בהמשך מוצג קובץ תצורה לדוגמה להתקנה של מונטיזציה ללא תגובה. אפשר לערוך את הקובץ הזה לפי הצורך בהגדרות האישיות שלכם. משתמשים באפשרות -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, צריך לפעול לפי השלבים הבאים.
- בצומת הראשון של מעבד ההודעות, בשורת הפקודה, מריצים את סקריפט ההגדרה:
/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
|
משמש בממשק המשתמש של הניהול כדי להציג את הספק כ-אופרטור verses Organization (ברירת המחדל היא 'true') |
כדי לקבוע את הגדרות הארגון של העסק באמצעות ממשק המשתמש של הניהול, ראו גישה למונטיזציה ב-Edge.
הגבלות מונטיזציה
כדי לאכוף את מגבלות המונטיזציה, צריך לצרף את המדיניות של בדיקת מגבלות המונטיזציה לשרתי proxy ל-API. באופן ספציפי, המדיניות מופעלת בתנאים הבאים:
- המפתח שמשתמש ב-API לייצור הכנסות לא רשום או לא נרשם למינוי לתוכנית התמחור.
- המפתח חרג מנפח העסקאות של תוכנית התמחור שנרשם אליה.
- הגעתם לסכום היתרה בחשבון בתשלום מראש או למגבלת האשראי בחשבון בתשלום לאחר המסירה.
המדיניות של בדיקת מגבלות המונטיזציה יוצרת שגיאות וחוסמת קריאות ל-API במצבים כמו אלה שמפורטים למעלה. המדיניות הזו היא הרחבה של המדיניות Raise Fault, ואפשר להתאים אישית את ההודעה שתוחזר. התנאים הרלוונטיים נגזרים משתני עסק.
למידע נוסף, ראו אכיפת מגבלות מונטיזציה בשרתי proxy ל-API.