إعداد خطة الأسعار باستخدام سمات مخصّصة

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

مقدمة

في بعض الحالات، قد تحتاج إلى أن تستند عدّادات المعاملات إلى متغيّر أو قيمة مخصّصة. على سبيل المثال، قد تحتاج إلى:

  • تحصيل مبلغ متغير من المطوّرين استنادًا إلى قيمة مضمّنة في رسالة طلب بيانات من واجهة برمجة التطبيقات على سبيل المثال، يمكنك تحصيل رسوم من مطوّري التطبيقات استنادًا إلى عدد وحدات البايت التي يتم نقلها في طلب بيانات من واجهة برمجة التطبيقات.
  • تجميع طلبات متعددة من واجهة برمجة التطبيقات في معاملة واحدة

باستخدام خطط الأسعار مع سمات مخصّصة، يمكنك تحديد قيمة في رسالة طلب من واجهة برمجة التطبيقات تعمل كعداد، ويتم استخدامها لاحتساب عدد المعاملات والرسوم.

تتوفّر خطط الأسعار التالية مع سمات مخصّصة:

  • بطاقة السعر مع سمة مخصّصة
  • إشعار قابل للتعديل يتضمّن سمة مخصّصة

يمكنك ضبط ما يصل إلى عشر سمات مخصّصة لكل خطة أسعار.

فهم عمليات احتساب السمات المخصّصة

تعتمد طريقة إضافة قيمة السمة المخصّصة إلى عدد معاملات خطة الأسعار والرسوم على نموذج الفوترة، كما هو موضّح في الجدول التالي.

نموذج الشحن احتساب السمات المخصّصة
السعر الثابت والسعر حسب الحجم

custom attribute number * rate = charge to developer

بالنسبة إلى السعر الثابت، يصبح رقم السمة المخصّصة هو عدد المعاملات التي يتم ضربها في السعر. بالنسبة إلى التسعير حسب حجم الاستخدام، يتم زيادة عدد المعاملات في نطاق معيّن بمقدار رقم السمة المخصّصة، ويتم تحصيل رسوم من المطوّر مقابل عدد المعاملات هذا. على سبيل المثال، إذا كانت قيمة السمة المخصّصة في الرسالة هي 10، سيتم تحصيل رسوم من المطوّر مقابل 10 معاملات، وستتم إضافة 10 معاملات إلى عدد النطاقات الحالي. إذا كان لدى المطوّر 6 معاملات فقط متبقية في الفئة الحالية، يتم ضرب 6 في معدل تلك الفئة. يتم نقل الأربعة المتبقية إلى الشريحة التالية وضربها في معدل تلك الشريحة.

في خطة "النطاقات المحددة الحجم"، إذا كان لنطاق الحجم الأخير حدّ أقصى (أي ليس "غير محدود") وتجاوزت إحدى المعاملات هذا الحدّ، سيحدث أمران:

Bundles

بما أنّه يتم تحصيل رسوم الحِزم حسب المجموعة وليس حسب المعاملة، يتم إجراء عملية الاحتساب التالية:

custom attribute number = amount added to bundle count

على سبيل المثال، إذا كان رقم السمة المخصّصة في الرسالة هو 10، تتم إضافة 10 إلى عدد المعاملات المستخدَمة في الحزمة. إذا كان لدى المطوّر 6 معاملات فقط متبقية في الحزمة الحالية، سيتم ملء هذه الحزمة وسيتم زيادة عدد الحزم التالية بمقدار 4. ويتم تحصيل رسوم الحزمة التالية، إن وجدت.

إذا كانت آخر حزمة تتضمّن حدًا أقصى (أي ليست "غير محدودة") وتجاوزت إحدى المعاملات هذا الحد، سيحدث أمران:

إشعارات قابلة للتعديل

بالنسبة إلى الإشعار القابل للتعديل، يتم إجراء الحساب التالي:

custom attribute number = amount added to transaction count

على سبيل المثال، إذا كان رقم السمة المخصّصة في الرسالة هو 10، تتم إضافة 10 إلى إجمالي عدد المعاملات.

المكان الذي تحصل منه خطة الأسعار على قيمة السمة المخصّصة

توضّح "سياسة تسجيل المعاملات" (في حزمة منتجات واجهة برمجة التطبيقات) للميزة "تحقيق الربح" المكان الذي يجب البحث فيه في الرسالة عن قيمة السمة المخصّصة. يمكنك تحديد السمة المخصّصة في قسم "السمات المخصّصة" ضمن سياسة تسجيل المعاملات لحزمة منتجات واجهة برمجة التطبيقات.

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

في ما يلي خطوات التنفيذ العالية المستوى:

  1. حدِّد السمات المخصّصة عند إضافة منتج API.
  2. أنشئ حزمة منتجات واجهة برمجة تطبيقات تحتوي على المنتج.
    في سياسة تسجيل المعاملات لحزمة منتجات واجهة برمجة التطبيقات، أضِف السمات المخصّصة التي سيتم استخدامها لتحديد خطط الأسعار.
  3. أنشئ خطة أسعار من نوع بطاقة الأسعار أو الإشعار القابل للتعديل لحزمة منتجات واجهة برمجة التطبيقات وحدِّد مَعلمة تقييم مخصّصة.

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

كيفية إنشاء قيمة السمة المخصّصة في الرسالة

يمكن أن تبحث سياسة تسجيل المعاملات عن قيمة السمة المخصّصة في عدّة أماكن، مثل عنوان الاستجابة أو نص الاستجابة أو متغيرات التدفق المحدّدة مسبقًا في الاستجابة. (لا يتوفّر الطلب لأنّ المعاملة لا تصبح رسمية إلا بعد تلقّي ردّ ناجح). في ما يلي أمثلة توضّح كيفية إضافة عنوان استجابة مع قيمته الرقمية إلى الرسالة. في كلتا الحالتين، سنستخدم سياسة "تعيين رسالة" مع المتغيرات.

إضافة حجم حمولة الطلب إلى عنوان الاستجابة

في كل طلب محادثة، هناك متغيّر client.received.content.length يحتوي على عدد البايتات في حمولة الطلب. من خلال إرفاق سياسة "تعيين رسالة" باستجابة نقطة نهاية الخادم الوكيل، يمكننا إنشاء عنوان استجابة باسم 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 في كل تطبيق للمطوّر، على النحو التالي:

عند استخدام سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات" (المطلوبة لتحقيق الربح)، يتم تخزين هذه القيمة في متغيّر يُسمى verifyapikey.{policy_name}.apprating. باستخدام سياسة "تعيين الرسالة" المرفقة باستجابة نقطة نهاية الخادم الوكيل، يمكنك إنشاء عنوان يُسمى 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. أنشئ حزمة منتجات واجهة برمجة تطبيقات تحتوي على المنتج. اطّلِع على إنشاء حِزم منتجات واجهة برمجة التطبيقات.
    في سياسة تسجيل المعاملات لحزمة منتجات واجهة برمجة التطبيقات، أضِف السمات المخصّصة التي سيتم استخدامها لتحديد خطط الأسعار. لمزيد من التفاصيل، راجِع المقدمة في هذا الموضوع، بالإضافة إلى إنشاء سياسة تسجيل المعاملات.
  3. أنشئ خطة أسعار لحزمة منتجات واجهة برمجة التطبيقات وحدِّد مَعلمة تقييم مخصّصة.

لمزيد من المعلومات، يُرجى الاطّلاع على ضبط تفاصيل خطة قائمة الأسعار باستخدام واجهة المستخدم.

Classic Edge (Private Cloud)

اتّبِع الخطوات التالية لإنشاء "بطاقة أسعار" تتضمّن خطة "السمة المخصّصة" باستخدام واجهة مستخدم Edge الكلاسيكية:

  1. في سياسة تسجيل المعاملات الخاصة بأحد منتجات واجهة برمجة التطبيقات، أضِف السمات المخصّصة التي سيتم استخدامها لتحديد خطط الأسعار. لمزيد من التفاصيل، راجِع المقدمة في هذا الموضوع، بالإضافة إلى إنشاء سياسة تسجيل المعاملات. يجب إجراء ذلك لكل منتج من منتجات واجهة برمجة التطبيقات تريد تضمينه في حزمة واجهة برمجة التطبيقات.
  2. بعد ضبط إعدادات منتجات واجهة برمجة التطبيقات وسياسات تسجيل المعاملات بالطريقة التي تريدها بالضبط، أنشئ حزمة واجهة برمجة تطبيقات تحتوي على المنتج. اطّلِع على إنشاء حِزم واجهات برمجة التطبيقات.
  3. أنشئ خطة أسعار لحزمة واجهة برمجة التطبيقات، واختَر نوع خطة الأسعار بطاقة الأسعار مع سمة مخصّصة.
  4. انقر على رابط قائمة الأسعار. سيؤدي ذلك إلى فتح نافذة "قائمة الأسعار".

  5. اختَر سمة مخصّصة من القائمة المنسدلة "السمة المخصّصة". تعرض القائمة السمات المخصّصة التي تم إنشاؤها للمنتج في سياسة تسجيل المعاملات. يتم تحصيل الرسوم من المطوّر استنادًا إلى قيمة السمة المخصّصة المحدّدة في كل معاملة.
    (قيمة السمة * السعر = الرسوم التي يدفعها المطوّر)
  6. يمكنك اختياريًا إعداد خطة مجانية مدفوعة كما هو موضّح في تحديد تفاصيل خطة قائمة الأسعار.
  7. اضبط نموذجًا للفوترة كما هو موضّح في تحديد تفاصيل خطة بطاقة الأسعار. يُرجى العِلم أنّه بالنسبة إلى نوع خطة الأسعار &quot;قائمة الأسعار مع سمة مخصّصة&quot;، يعتمد نموذج الفوترة على السمة المخصّصة التي تختارها. على سبيل المثال، إذا اخترت "السعر الثابت" كنموذج تحصيل الرسوم، سيتم تحصيل سعر ثابت من المطوّر استنادًا إلى السمة المخصّصة، مثل عدد وحدات البايت التي يتم نقلها في كل معاملة (وليس سعرًا ثابتًا لكل معاملة). يمكنك الاطّلاع على العمليات الحسابية لمزيد من المعلومات.
  8. انقر على حفظ المسودة.
    لا تنشر الخطة إلا عندما تكون متأكدًا تمامًا من أنّها نهائية. راجِع مقالة نشر خطط الأسعار للحصول على معلومات حول ضبط تاريخ النشر ونشر الخطة.

لمزيد من المعلومات، يُرجى الاطّلاع على تحديد تفاصيل خطة قائمة الأسعار باستخدام واجهة المستخدم.

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

يمكنك إعداد خطط إشعارات قابلة للتعديل باستخدام سمات مخصّصة، كما هو موضّح أدناه.

Edge

لضبط خطة بطاقة الأسعار باستخدام سمات مخصّصة من خلال واجهة مستخدم Edge، اتّبِع الخطوات التالية:

  1. حدِّد السمات المخصّصة عند إضافة منتج API.
  2. أنشئ حزمة منتجات واجهة برمجة تطبيقات تحتوي على المنتج. اطّلِع على إنشاء حِزم منتجات واجهة برمجة التطبيقات.
    في سياسة تسجيل المعاملات لحزمة منتجات واجهة برمجة التطبيقات، أضِف السمات المخصّصة التي سيتم استخدامها لتحديد خطط الأسعار. لمزيد من التفاصيل، راجِع المقدمة في هذا الموضوع، بالإضافة إلى إنشاء سياسة تسجيل المعاملات.
  3. أنشئ خطة أسعار لحزمة منتجات واجهة برمجة التطبيقات وحدِّد مَعلمة تقييم مخصّصة.

لمزيد من المعلومات، يُرجى الاطّلاع على ضبط خطة إشعارات قابلة للتعديل باستخدام واجهة المستخدم.

Classic Edge (Private Cloud)

لإعداد خطة بطاقة أسعار تتضمّن سمات مخصّصة باستخدام واجهة مستخدم Classic Edge، اتّبِع الخطوات التالية:

  1. في سياسة تسجيل المعاملات الخاصة بأحد منتجات واجهة برمجة التطبيقات، أضِف السمات المخصّصة التي سيتم استخدامها لتحديد خطط الأسعار. لمزيد من التفاصيل، راجِع المقدمة في هذا الموضوع، بالإضافة إلى إنشاء سياسة تسجيل المعاملات. يجب إجراء ذلك لكل منتج من منتجات واجهة برمجة التطبيقات تريد تضمينه في حزمة واجهة برمجة التطبيقات.
  2. بعد ضبط إعدادات منتجات واجهة برمجة التطبيقات وسياسات تسجيل المعاملات بالطريقة التي تريدها بالضبط، أنشئ حزمة واجهة برمجة تطبيقات تحتوي على المنتج. اطّلِع على إنشاء حِزم واجهات برمجة التطبيقات.
  3. أنشئ خطة أسعار لحزمة واجهة برمجة التطبيقات، واختَر نوع خطة الأسعار إشعار قابل للتعديل مع سمة مخصّصة.
  4. انقر على الرابط التفاصيل. سيؤدي ذلك إلى فتح نافذة "الإشعار القابل للتعديل".

  5. اختَر سمة مخصّصة من القائمة المنسدلة السمة المخصّصة. تعرض القائمة السمات المخصّصة التي تم إنشاؤها للمنتج في سياسة تسجيل المعاملات. يتم احتساب إجمالي عدد معاملات المطوّر استنادًا إلى قيمة السمة المخصّصة المحدّدة ضِمن كل معاملة.
  6. اضبط أساس التجميع على الفترة الزمنية التي يتم تجميع عدد المعاملات خلالها. اختَر رقمًا بين شهر واحد و24 شهرًا. القيمة التلقائية هي شهر واحد.
  7. انقر على تطبيق وإغلاق.
  8. انقر على حفظ المسودة.
    لا تنشر الخطة إلا عندما تكون متأكدًا تمامًا من أنّها نهائية. راجِع مقالة نشر خطط الأسعار للحصول على معلومات حول ضبط تاريخ النشر ونشر الخطة.

لمزيد من المعلومات، يُرجى الاطّلاع على تحديد تفاصيل خطة الإشعارات القابلة للتعديل باستخدام واجهة المستخدم.

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

نفِّذ الخطوات الأساسية التالية:

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

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

عليك تحديد تفاصيل خطة الأسعار مع سمات مخصّصة عند إنشاء خطة الأسعار. يمكنك تحديد التفاصيل في السمة 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