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

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

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

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

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

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

    קובץ התצורה צריך להיות נגיש או קריא למשתמש 'apigee'.

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

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

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

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

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

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

    קובץ התצורה צריך להיות נגיש או קריא למשתמש 'apigee'.

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

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

תחילת השימוש במונטיזציה

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

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

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

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

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

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

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

  1. מתקינים את שרת הניהול החדש.
  2. התקנת מונטיזציה בשרת הניהול החדש.
  3. בשרת הניהול המקורי, מריצים את הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. מפעילים מחדש את שרת הניהול המקורי:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. בשרת הניהול החדש, מריצים את הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. מפעילים מחדש את שרת הניהול החדש:
    /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.