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

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

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

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

  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. בצומת הראשון של Message Processor, מריצים את סקריפט ההגדרה בשורת הפקודה:
    /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

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

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

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

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

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

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

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