خطط معدّل الشراء باستخدام واجهة برمجة التطبيقات

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

يوضّح هذا القسم كيفية شراء خطة أسعار منشورة، وإيقافها أو إلغائها باستخدام واجهة برمجة التطبيقات، إذا أردت ذلك.

شراء خطة أسعار منشورة باستخدام واجهة برمجة التطبيقات

بعد نشر خطة أسعار، يمكن للمطوّر أو الشركة شراؤها (أو "قبولها") عن طريق إرسال طلب 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 - يؤدي تحقيق الربح إلى إنهاء جميع خطط الأسعار التي تم شراؤها والتي يجب أن يوفّرها المطوّر لحِزم واجهات برمجة التطبيقات التي تحتوي على منتجات واجهات برمجة التطبيقات المتعارضة. بعد ذلك، يتم شراء حزمة جديدة من واجهات برمجة التطبيقات للمطوّر.
  • 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، سيؤدي تحقيق الربح إلى إنهاء جميع خطط الأسعار التي تم شراؤها والتي يجب أن يوفّرها المطوّر لحِزم واجهة برمجة التطبيقات التي تحتوي على المنتجات المتعارضة. بعد ذلك، يتم شراء حزمة جديدة من واجهات برمجة التطبيقات للمطوّر.

يطلب المثال التالي شراء خطة معدّل إشعارات قابل للتعديل ويضبط العدد المستهدف للمعاملات على 4000.

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، ثم إعادة طلب البيانات من واجهة برمجة التطبيقات.

انتهاء صلاحية خطة أسعار اشتراها مطوّر باستخدام واجهة برمجة التطبيقات

لانتهاء صلاحية (أو إلغاء) خطة أسعار اشتراها أحد المطوّرين، عدِّل تفاصيل خطة الأسعار التي تم شراؤها وحدِّد السمة 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
  }'