הגדרה של תוכנית תעריפים עם מאפיינים מותאמים אישית

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

מבוא

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

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

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

המערכת תומכת בתוכניות התעריפים הבאות עם מאפיינים מותאמים אישית:

  • מחירון עם מאפיין מותאם אישית
  • הודעה ניתנת להתאמה עם מאפיין מותאם אישית

אפשר להגדיר עד עשרה מאפיינים מותאמים אישית לכל תוכנית תמחור ותשלומים.

הסבר על חישובי מאפיינים מותאמים אישית

האופן שבו הערך של המאפיין המותאם אישית משוקלל בספירות ובחיובים של תוכנית התמחור והתשלומים תלוי במודל החיוב, כפי שמפורט בטבלה הבאה.

מודל טעינה חישוב מאפיינים מותאמים אישית
תעריף קבוע ותדר נפח

custom attribute number * rate = charge to developer

במקרה של תעריף קבוע, המספר של המאפיין המותאם אישית הופך למספר העסקאות שהוכפלו בתעריף. בתחום התדרים, מספר העסקאות בכל רצועה עולה במספר המאפיין המותאם אישית, והמפתח מחויב על מספר העסקאות הזה. לדוגמה, אם ערך של מאפיין מותאם אישית בהודעה הוא 10, המפתח יחויב על 10 עסקאות ו-10 עסקאות יתווספו למספר התדרים הנוכחי. אם למפתח נשארו רק 6 עסקאות בתחום הנוכחי, 6 יוכפלו בתעריף של הרצועה הזו. 4 הנותרים עוברים לרצועה הבאה ומוכפלים בקצב של הרצועה.

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

חבילה

מאחר שהחבילות מחויבות על ידי הקבוצה ולא על ידי העסקה, מתבצע החישוב הבא:

custom attribute number = amount added to bundle count

לדוגמה, אם המספר של המאפיין המותאם אישית בהודעה הוא 10, המערכת מוסיפה את המספר 10 למספר העסקאות שבשימוש בחבילה. אם למפתח היו רק 6 עסקאות בחבילה הנוכחית, החבילה הזו מתמלאת וספירת החבילות הבאה גדלה ב-4. נחייב אתכם בתעריף של החבילה הבאה, אם תהיה.

אם לחבילה האחרונה יש מגבלה (אינו 'בלתי מוגבל') ועסקה חורגת מהמגבלה הזו, קורים שני דברים:

התראות ניתנות להתאמה

במקרה של התראה ניתנת להתאמה, מתבצע החישוב הבא:

custom attribute number = amount added to transaction count

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

המיקום שבו תוכנית התעריפים מקבלת את הערך של המאפיין המותאם אישית

המדיניות להקלטת עסקאות (בחבילת המוצרים של ה-API) קובעת איפה לחפש בהודעה את ערך המאפיין המותאם אישית. את המאפיין המותאם אישית מגדירים בקטע 'מאפיינים מותאמים אישית' במדיניות תיעוד העסקאות לגבי חבילת המוצרים של ה-API.

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

הנה התהליך הכללי:

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

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

איך ליצור את ערך המאפיין המותאם אישית בהודעה

במדיניות של תיעוד עסקאות, המערכת יכולה לחפש את הערך של המאפיין המותאם אישית בכמה מקומות, כמו כותרת התגובה, גוף התגובה או משתני הזרימה המוגדרים מראש בתגובה. (הבקשה לא זמינה, כי העסקה אינה רשמית עד ששתתקבל תשובה מוצלחת). הדוגמאות הבאות מראות איך להוסיף כותרת תגובה עם הערך המספרי שלה להודעה. בשני המקרים, נשתמש במדיניות להקצאת הודעה יחד עם המשתנים.

הוספת גודל המטען הייעודי (payload) של בקשה לכותרת התגובה

בכל בקשה להודעה יש משתנה client.received.content.length שמכיל את מספר הבייטים במטען הייעודי (payload) של הבקשה. על ידי צירוף מדיניות של הקצאת הודעות לתגובה של נקודת הקצה לשרת ה-proxy, אנחנו יכולים ליצור כותרת תגובה בשם messageSize שמכילה את ערך האורך:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="messageSize">{client.received.content.length}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

הוספת ערך של מאפיין מותאם אישית של אפליקציה לכותרת

באופן דומה, אנחנו יכולים ליצור כותרת עם הערך של מאפיין מותאם אישית באפליקציה. לדוגמה, אם כוללים מאפיין מותאם אישית שנקרא apprating בכל אפליקציית מפתח, כך:

כשמשתמשים במדיניות 'אימות מפתח API' (שנדרשת למונטיזציה), הערך הזה מאוחסן במשתנה שנקרא verifyapikey.{policy_name}.apprating. באמצעות המדיניות בנושא הקצאת הודעות שמצורפת לתגובת נקודת הקצה של שרת ה-proxy, אפשר ליצור כותרת בשם apprating שמכילה את הערך apprating של האפליקציה:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="apprating">{verifyapikey.Verify-API-Key-1.apprating}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

הגדרה של תוכנית התמחור והתשלומים

חוץ מההגדרה של המאפיינים המותאמים אישית שתיארנו למעלה, תוכנית התמחור והתשלומים מוגדרת בדיוק כמו שמגדירים בדרך כלל (בתוכניות תעריפים ללא מאפיינים מותאמים אישית), אבל צריך לעמוד בדרישות הבאות.

הגדרת מחירון עם מאפיין מותאם אישית באמצעות ממשק המשתמש

יש להגדיר תוכניות מחירון עם מאפיינים מותאמים אישית בממשק המשתמש של Edge או בממשק המשתמש הקלאסי של Edge, כפי שמתואר בסעיפים הבאים.

Edge

כך מגדירים תוכנית מחירון עם מאפיינים מותאמים אישית בממשק המשתמש של Edge:

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

מידע נוסף זמין במאמר הגדרת פרטי תוכנית המחירון באמצעות ממשק המשתמש.

Classic Edge (ענן פרטי)

כדי ליצור כרטיס מחיר עם מאפיינים מותאמים אישית בממשק המשתמש הקלאסי של Edge:

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

  5. בוחרים מאפיין מותאם אישית בתפריט הנפתח 'מאפיינים מותאמים אישית'. בתפריט מפורטים מאפיינים מותאמים אישית שנוצרו עבור המוצר במדיניות תיעוד העסקאות. החיוב של המפתח מבוסס על הערך של המאפיין המותאם אישית שנבחר בכל עסקה.
    (ערך המאפיין * שיעור = חיוב למפתח)
  6. אפשר גם להגדיר תוכנית Freemium כפי שמתואר בציון הפרטים של תוכנית המחירון.
  7. מגדירים מודל טעינה כמו שמתואר בציון הפרטים של תוכנית המחירון. עם זאת, חשוב לשים לב שבסוג תוכנית התעריף עם מאפיין מותאם אישית, מודל החיוב מבוסס על המאפיין המותאם אישית שנבחר. לדוגמה, אם בחרת במודל 'תעריף קבוע' כמודל חיוב, המפתח יחויב בתעריף קבוע שמבוסס על המאפיין המותאם אישית, למשל מספר הבייטים שמועברים בכל עסקה (לא תעריף קבוע לכל עסקה). מידע נוסף זמין בקטע חישובים.
  8. לוחצים על שמירת טיוטה.
    כדאי לפרסם את התוכנית רק כשאתם בטוחים שהיא סופית. לקבלת מידע על הגדרת תאריך הפרסום ופרסום של התוכנית, אפשר לקרוא את תוכניות תעריף פרסום.

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

הגדרה של תוכנית התראות ניתנת להתאמה עם מאפיינים מותאמים אישית באמצעות ממשק המשתמש

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

Edge

כך מגדירים תוכנית מחירון עם מאפיינים מותאמים אישית בממשק המשתמש של Edge:

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

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

Classic Edge (ענן פרטי)

כדי להגדיר מחירון עם מאפיינים מותאמים אישית באמצעות ממשק המשתמש הקלאסי של Edge:

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

  5. בוחרים מאפיין מותאם אישית בתפריט הנפתח מאפיין מותאם אישית. בתפריט מפורטים מאפיינים מותאמים אישית שנוצרו במדיניות של תיעוד עסקאות. מספר העסקאות הכולל של המפתח מחושב לפי הערך של המאפיין המותאם אישית שנבחר בכל עסקה.
  6. מגדירים את בסיס הצבירה לתקופת הזמן שבה נפח העסקאות נצבר. יש לבחור מספר בין חודש אחד ל-24 חודשים. ברירת המחדל של הערך הזה היא חודש אחד.
  7. לוחצים על החלה וסגירה.
  8. לוחצים על שמירת טיוטה.
    כדאי לפרסם את התוכנית רק כשאתם בטוחים שהיא סופית. לקבלת מידע על הגדרת תאריך הפרסום ופרסום של התוכנית, אפשר לקרוא את תוכניות תעריף פרסום.

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

ציון פרטים של תוכנית תעריפים עם מאפיינים מותאמים אישית באמצעות ה-API

עליכם לבצע את השלבים הנדרשים הבאים:

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

לאחר מכן תצטרכו להשתמש ב-API כדי ליצור את תוכנית התמחור והתשלומים.

כשיוצרים את תוכנית התעריפים, צריך לציין את הפרטים שלה בעזרת מאפיינים מותאמים אישית. צריך לציין את הפרטים במאפיין ratePlanDetails בגוף הבקשה בקריאה אל /organizations/{org_name}/monetization-packages/{package_id}/rate-plans. בפרטים, צריך לציין ערך של פרמטר דירוג שמזהה את השם של המאפיין המותאם אישית. אפשר גם לציין ערך פרמטר של דירוג שמרכז את המאפיין המותאם אישית במשך פרק זמן מוגדר.

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

לדוגמה, למטה נוצר כרטיס מחיר עם תוכנית עם מאפיינים מותאמים אישית שמבוססת על מאפיין מותאם אישית בשם messageSize (הפריטים מופיעים בטקסט מודגש).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
   "name": "Custom attribute-based rate card plan",
   "developer":null,
   "developerCategory":null,
   "currency": {
     "id" : "usd"
     },     
   "description": "Custom attribute-based rate card plan",
   "displayName" : "Custom attribute-based rate card plan",
   "frequencyDuration": "1",
   "frequencyDurationType": "MONTH",
   "earlyTerminationFee": "10",
   "monetizationPackage": {
      "id": "location"
        },
      "organization": {
       "id": "{org_name}"
      },    
   "paymentDueDays": "30",
   "prorate": "false",
   "published": "false",     
   "ratePlanDetails":[
      {
        "currency":{
           "id":"usd"
        },
      "duration":1,
      "durationType":"MONTH",
      "meteringType":"VOLUME",
      "paymentDueDays":"30",
      "ratingParameter":"messageSize",
      "ratingParameterUnit":"MB",
      "organization":{
         "id":"{org_name}"
      },
      "ratePlanRates":[
         {
           "rate":0.15,
           "startUnit":0,
           "type":"RATECARD",
           "endUnit":1000
         },
         {
           "rate":0.1,
           "startUnit":1000,
           "type":"RATECARD",
           "endUnit":null
         }
      ],
      "freemiumUnit":0,
      "freemiumDuration":0,
      "freemiumDurationType":"MONTH",
      "type":"RATECARD",
      "customPaymentTerm":false
      }
    ],
    "freemiumUnit":0,
    "freemiumDuration":0,
    "freemiumDurationType":"MONTH",
    "contractDuration":"1",
    "contractDurationType":"YEAR", 
    "recurringStartUnit": 1,
    "recurringType": "CALENDAR",
    "recurringFee": "10",
    "setUpFee": "10",
    "startDate": "2013-09-15 00:00:00",
    "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

בדוגמה הבאה נוצרת התראה ניתנת להתאמה עם תוכנית התעריפים של מאפיינים מותאמים אישית שמבוססת על מאפיין מותאם אישית בשם messageSize (אפשר לראות את הפריט בטקסט מודגש).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "AdjustableNotification",
     "displayName": "Custom attribute-based adjustable notification plan",
     "description": "Custom attribute-based adjustable notification plan",
     "published": "true",  
     "organization": {
      "id": "myorg"
     },
     "startDate": "2016-04-15 00:00:00",
     "type": "STANDARD",
     "monetizationPackage": {
        "id": "p1",
        "name": "test"
     },
     "currency": {
        "id" : "usd",
        "name" : "USD"
     },
     "ratePlanDetails": [
        {
           "type": "USAGE_TARGET",
           "meteringType": "DEV_SPECIFIC",
           "duration": 1,
           "durationType": "MONTH",
           "ratingParameter": "messageSize",
           "ratingParameterUnit": "MB",
           "organization": {
             "id": "myorg"
           },
           "currency": {
             "id": "usd",
             "name": "USD"
           }
        }
     ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/p1/rate-plans"  \
-u email:password