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

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

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

רכישת תוכנית תמחור שפורסמה באמצעות ה-API

אחרי שמפרסמים תוכנית תמחור, מפתח או חברה יכולים לרכוש אותה (או 'לאשר' אותה) על ידי שליחת בקשת POST אל /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans, כאשר {org_name} הוא שם הארגון ו-{developer_or_company_id} הוא המזהה של המפתח או החברה.

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

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

שם תיאור ברירת מחדל חובה?
startDate

התאריך שבו מתחילה תוכנית המחירים. לדוגמה: 2017-03-24.

לא רלוונטי כן
endDate

התאריך שבו מסתיים תוכנית התמחור. לדוגמה: 2017-09-24.

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

לא רלוונטי לא
developer

המאפיין id שמגדיר את המזהה של המפתח או החברה שרוכשים את תוכנית התמחור.

לא רלוונטי כן
quotaTarget

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

מגדירים את הערך הזה כמספר שלם חיובי או כ-0 כדי להשבית את ההתראות למפתח אפליקציה.

0 לא
ratePlan

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

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

לא רלוונטי כן
suppressWarning

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

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

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

  • true – ויתור על עמלת סיום כשמבטלים תוכנית תעריפים פעילה כחלק מהפעלת תוכנית התעריפים החדשה.
  • false – לא מוותרים על דמי הביטול כשמבטלים תוכנית תמחור פעילה במסגרת הפעלה של תוכנית תמחור חדשה.
לא רלוונטי לא

לדוגמה, הבקשה הבאה רוכשת את תוכנית התמחור location_&_messaging עבור המפתח שצוין:

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "startDate":"2017-08-30",
   "ratePlan":{
     "id":"location_&_messaging"
   },
   "suppressWarning":false
  }'

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

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

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "ratePlan":{
     "id":"adjustable-notification-plan"
   },
   "startDate": "2017-03-24",
   "quotaTarget": 4000,
   "suppressWarning":false
  }'

באחת מהדוגמאות שלמעלה, אם מוחזרת הודעת השגיאה הבאה:

Developer legal name not specified. 

לאחר מכן צריך להגדיר את מאפייני המונטיזציה MINT_DEVELOPER_ADDRESS ו-MINT_DEVELOPER_LEGAL_NAME, ואז לחזור על הקריאה ל-API.

הוצאה משימוש של תוכנית תמחור שנרכשה על ידי מפתח באמצעות ה-API

כדי להגדיר שתוקף של תוכנית תמחור שנרכשה על ידי מפתח יפוג (או לבטל אותה), צריך לעדכן את פרטי תוכנית התמחור שנרכשה ולציין את המאפיין endDate בגוף הבקשה בבקשת PUT למשאב /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}.

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

הערך {developer_rateplan_id} מוחזר בתגובה כשרוכשים את תוכנית התמחור שפורסמה.

לדוגמה:

{
  "created": "2017-03-31 18:59:54",
  "developer": {
    ...
  },
  "id": "b1c600b8-f871-496d-8173-12b9950d6ab1",
  "quotaTarget": 3000,
  "ratePlan": {
    ...
  },
  "startDate": "2017-03-31 00:00:00",
  "updated": "2017-03-31 18:59:54",
  "waiveTerminationCharge": false
}

לחלופין, אפשר לקבל את {developer-rateplan-id} של תוכנית התמחור למפתחים על ידי שליחת בקשת GET אל /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, כאשר {developer_id} היא כתובת האימייל של המפתח. מידע נוסף זמין במאמר בנושא הצגת כל תוכניות התמחור שנרכשו על ידי מפתח.

הבקשה הבאה מעדכנת את תאריך הסיום ל-1 בדצמבר 2017. כלומר, תוקף תוכנית התמחור יפוג בסוף היום ב-30 בנובמבר 2017, וכל הבקשות ב-1 בדצמבר 2017 ייחסמו.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1"
  -X PUT \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1",
   "developer":{
     "id":"dev@mycompany.com"
   },
   "ratePlan":{
     "id":"p1_adjustable-notification-plan"
   },
   "startDate": "2017-04-15 00:00:00",
   "endDate": "2017-11-30",
   "quotaTarget": 3000,
   "suppressWarning":false
  }'