راه‌اندازی اعلان آزمایشی

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

مقدمه

«درآمدزایی» مجموعه‌ای از APIها را ارائه می‌دهد که می‌توانید از آن‌ها برای آزمایش تنظیم اعلان خود استفاده کنید. به‌طور دقیق، می‌توانید:

درحال آزمایش وب‌قلاب‌ها

وب‌قلاب یک مدیریت‌کننده تماس برگشتی HTTP را تعریف می‌کند که توسط یک رویداد راه‌اندازی می‌شود. برای کسب اطلاعات درباره راه‌اندازی وب‌قلاب‌ها، به راه‌اندازی اعلان‌ها بااستفاده از وب‌قلاب‌ها مراجعه کنید.

با انجام مراحل زیر می‌توانید وب‌قلاب‌هایتان را آزمایش کنید:

  1. مشاهده انواع محرک اعلان وب‌قلاب دردسترس
  2. مشاهده محتوای درخواست نمونه برای اعلان وب‌قلاب آزمایشی
  3. اجرای وب‌قلاب را آزمایش کنید

مشاهده انواع محرک اعلان وب‌قلاب دردسترس

با ارسال درخواست GET به منبع زیر، انواع محرک اعلان وب‌قلاب دردسترس را مشاهده کنید:

/organizations/{org_name}/webhooks/{webhook_id}/test/{developer_email_or_id}/{app_id}/{product_id}/{rateplan_id}

مکان:

برای مثال، فراخوانی cURL زیر RATEPLANQUOTAUSAGE را به‌عنوان نوع راه‌انداز اعلان وب‌قلاب برمی‌گرداند.

curl -H "Content-Type: application/json" -X GET \ 
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3/test/joe@example.com/e759c119-510c-49a8-886c-f184091944bd/myproduct/mypackage_anrp" \ 
-u email:password

در زیر نمونه‌ای از پاسخ ارائه شده است:

[
  "RATEPLANQUOTAUSAGE"
]

سپس، باید طرحواره بار درخواست را برای نوع محرک اعلان وب‌قلاب تعیین کنید.

مشاهده محتوای درخواست نمونه برای اعلان وب‌قلاب آزمایشی

با صدور درخواست GET به منبع زیر، پایه‌بار درخواست نمونه‌ای را که می‌توانید برای آزمایش اعلان وب‌قلاب استفاده کنید مشاهده کنید: GET request to the following resource:

/organizations/{org_name}/webhooks/{webhook_id}/test/{developer_email_or_id}/{app_id}/{product_id}/{rateplan_id}/{trigger_type}

مکان:

برای مثال، فراخوانی cURL زیر یک پایه‌بار درخواست نمونه برای نوع راه‌انداز اعلان وب‌قلاب RATEPLANQUOTAUSAGE برمی‌گرداند:

curl -H "Content-Type: application/json" -X GET \ 
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3/test/joe@example.com/e759c119-510c-49a8-886c-f184091944bd/myproduct/mypackage_anrp/RATEPLANQUOTAUSAGE" \ 
-u email:password

در زیر یک نمونه از پایه‌بار درخواست ارائه شده است:

{
   "eventTriggerReason": "RATEPLANQUOTAUSAGE",
   "properties": [
   {
        "key": "quotaPercentUsed",
        "value": "100"
   }
   ]
}

سپس، پایه‌بار درخواست نمونه برگشتی را به‌دلخواهتان اصلاح می‌کنید و از آن برای آزمایش اجرای وب‌قلاب استفاده می‌کنید.

درحال آزمایش اجرای وب‌قلاب

اجرای وب‌قلاب را با صدور درخواست POST به منبع زیر آزمایش کنید:

/organizations/{org_name}/webhooks/{webhook_id}/test/{developer_email_or_id}/{app_id}/{product_id}/{rateplan_id}.

مکان:

بار داده درخواست نمونه برگشتی در مرحله قبلی (مشاهده بار داده درخواست نمونه برای آزمایش اعلان وب‌قلاب) را به‌صورت دلخواه اصلاح کنید و آن را در بار داده درخواست بگذرانید.

برای مثال، فراخوانی cURL زیر اجرای وب‌قلاب مشخص‌شده را آزمایش می‌کند:

curl -H "Content-Type: application/json" -X POST -d \
'{
  "eventTriggerReason": "RATEPLANQUOTAUSAGE",
  "properties": [
    {
      "key": "quotaPercentUsed",
      "value": "120"
    }
  ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3/test/joe@example.com/e759c119-510c-49a8-886c-f184091944bd/myproduct/mypackage_anrp" \ 
-u email:password

در زیر نمونه‌ای از پاسخ نشان داده شده است که نشان می‌دهد اعلان باموفقیت به وب‌قلاب ارسال شده است: باموفقیت به وب‌قلاب ارسال شده است:

{
  "original": {
    "createdDate": 1463619959930,
    "createdTimeStamp": 1463616000000,
    "notificationType": "WEBHOOK",
    "orgId": "myorg",
    "rawMessage": "{\"orgName\":\"myorg\",\"developerEmail\":\"joe@example.com\",\"developerFirstName\":\"Joe\",\"developerLastName\":\"Smith\",\"applicationName\":\"myapp\",\"packageName\":\"MyPackage\",\"packageId\":\"mypackage\",\"ratePlanId\":\"mypackage_anrp\",\"ratePlanName\":\"anrp\",\"ratePlanType\":\"STANDARD\",\"developerRatePlanQuotaTarget\":200,\"quotaPercentUsed\":\"120\",\"ratePlanStartDate\":1463616000000,\"ratePlanEndDate\":null,\"nextBillingCycleStartDate\":null,\"products\":[\"myproduct\"],\"developerCustomAttributes\":[]\"triggerTime\":1463619959929,\"triggerReason\":\"RATEPLANQUOTAUSAGE\",\"developerQuotaResetDate\":null}",
    "retryCount": 0,
    "retryStatuses": [],
    "source": "MailTo: [36112720-1304-4e0b-9b17-991f5e121ebb], Org: [myorg], TransactionId: [], LimitId: [], Key: []",
    "toEmail": "http://123.45.67.89/webhook",
    "updatedDate": 1463619959930
  },
  "raw": "This is the response",
  "responseCode": 200,
  "status": "NOTIFICATION_SENT"
}

مشاهده و پردازش مجدد اعلان‌ها

«درآمدزایی» به شما امکان می‌دهد اعلان‌هایی را تنظیم کنید که توسط رویدادهای خاصی فعال می‌شوند. برای اطلاعات درباره تنظیم اعلان‌ها، به تنظیم اعلان‌ها مراجعه کنید

برای هر اعلان ارسالی، اطلاعات زیر ذخیره می‌شود:

  • تعداد تلاش مجدد
  • کد پاسخ
  • سرایند پاسخ
  • محتوای پاسخ (فقط ۱۰۰۰ نویسه اول)

با انجام مراحل زیر می‌توانید اعلان‌ها را مشاهده و دوباره پردازش کنید:

  1. مشاهده اعلان‌هایی که ارسال شده‌اند
  2. مشاهده جزئیات اعلان
  3. پردازش مجدد اعلان

مشاهده اعلان‌های ارسال‌شده

با صدور درخواست GET به منبع زیر، اعلان‌هایی را که برای یک سازمان ارسال شده است مشاهده کنید:

/organizations/{org_name}/notification-service-items

که در آن {org_name} نام سازمان را مشخص می‌کند.

درصورت تمایل، می‌توانید یک یا چند مورد از پارامترهای پُرسمان زیر را برای فیلتر کردن فهرست اعلان‌های برگشتی در پاسخ مشخص کنید:

پارامتر پُرسمان شرح
startdate تاریخ شروع در قالب YYYY-MM-DD HH:mm:ss.
enddate تاریخ پایان در قالب YYYY-MM-DD HH:mm:ss.
status وضعیت اعلان‌ها. مقادیر معتبر شامل موارد زیر است:
  • BLANK_MESSAGE
  • DUPLICATE
  • FAILED
  • NOTIFICATION_SENT
  • OPT_OUT
  • QUEUED
  • TEMPLATE_NOT_FOUND
toemail شناسه ایمیل یا وب‌قلابی که اعلان به آن ارسال شده است.

حداکثر ۱۰۰۰ اعلان برگردانده می‌شود.

در پاسخ، پرچم hasMoreItems نشان می‌دهد که آیا تعداد اعلان‌ها در فهرست مشخص‌شده به بیش‌از ۱۰۰۰ می‌رسد یا نه. اگر hasMoreItems برابر با true باشد، یعنی اعلان‌های بیشتری از آنچه نمایش داده می‌شود وجود دارد و اگر می‌خواهید اعلان‌های باقی‌مانده را ببینید، باید فیلترهای پارامتر پُرسمان خود را پالایش کنید تا گروه‌های کوچک‌تری از اعلان‌ها را در هر درخواست پردازش کنید. برای مثال، ممکن است بااستفاده از چندین محدوده تاریخ کوچک‌تر، درخواست‌های متعددی ایجاد کنید یا اعلان‌ها را فقط با مقادیر وضعیت خاصی برگردانید.

برای مثال، فراخوانی cURL زیر اعلان‌هایی را فهرست می‌کند که برای وب‌قلاب مشخص‌شده در محدوده تاریخ مشخص‌شده ناموفق بوده‌اند:

curl -H "Content-Type: application/json" -X GET \ 
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/notification-service-items?enddate=2016-05-19 12:00:00&startdate=2016-05-18 12:00:00&status=FAILED&toemail=http://123.45.6789:8000/webhook" \ 
-u email:password 

در زیر نمونه‌ای از پاسخ ارائه شده است:

 {
   "hasMoreItems": false,
   "notifications": [
   { 
      "createdDate": 1463626865974, 
      "createdTimeStamp": 1463616000000, 
      "id": "9d87c6ea-1394-495b-bfb7-1d2e7ef3f837", 
      "notificationType": "WEBHOOK", 
      "orgId": "Org_d40f6c2e-1d6d-11e6-a4ed-af8444f24e4f", 
      "rawMessage": "{\"orgName\":\"Org_d40f6c2e-1d6d-11e6-a4ed-af8444f24e4f\",\"developerEmail\":\"joe@example.com\",\"developerFirstName\":\"Joe\",\"developerLastName\":\"Smith\",\"applicationName\":\"MyApp\",
\"packageName\":\"test-package\",\"packageId\":\"myorg@@@test-package-9ubo\",\"ratePlanId\":\"myorg@@@test-package-9ubo_anrp\",\"ratePlanName\":\"anrp\",\"ratePlanType\":\"STANDARD\",
\"developerRatePlanQuotaTarget\":10,\"quotaPercentUsed\":\"20\",\"ratePlanStartDate\":1463616000000,\"ratePlanEndDate\":null,\"nextBillingCycleStartDate\":1464739200000,\"products\":[\"product1\"],
\"developerCustomAttributes\":[],\"triggerTime\":1463626865907,\"triggerReason\":\"RatePlanQuotaUsage\",\"developerQuotaResetDate\":\"1464810145000\"}", 
      "retryCount": 3, 
      "retryStatuses": [ 
      { 
         "responseCode": 500, 
         "responseMessage": "{\"Headers\":\"[{\"name\":\"Content-length\",\"buffer\":{\"empty\":false,\"full\":false},\"valuePos\":15,\"value\":\"20\",\"elements\":[{\"name\":\"20\",\"value\":null,\"parameters\":[],\"parameterCount\":0}]},{\"name\":\"Date\",\"buffer\":{\"empty\":false,\"full\":false},\"valuePos\":5,\"value\":\"Thu, 19 May 2016 03:01:09 GMT\",\"elements\":[{\"name\":\"Thu\",\"value\":null,\"parameters\":[],\"parameterCount\":0},{\"name\":\"19 May 2016 03:01:09 GMT\",\"value\":null,\"parameters\":[],\"parameterCount\":0}]}]\",\"StatusCode\":\"500\",\"Content : \":\"This is the response\"}", 
         "retriedAt": 1463626869184,
         "retryAttempt": 1 
      }, 
      { 
         "responseCode": 500, 
         "responseMessage": "{\"Headers\":\"[{\"name\":\"Content-length\",\"buffer\":{\"empty\":false,\"full\":false},\"valuePos\":15,\"value\":\"20\",\"elements\":[{\"name\":\"20\",\"value\":null,\"parameters\":[],\"parameterCount\":0}]},{\"name\":\"Date\",\"buffer\":{\"empty\":false,\"full\":false},\"valuePos\":5,\"value\":\"Thu, 19 May 2016 03:01:09 GMT\",\"elements\":[{\"name\":\"Thu\",\"value\":null,\"parameters\":[],\"parameterCount\":0},{\"name\":\"19 May 2016 03:01:09 GMT\",\"value\":null,\"parameters\":[],\"parameterCount\":0}]}]\",\"StatusCode\":\"500\",\"Content : \":\"This is the response\"}", 
         "retriedAt": 1463626869318, 
         "retryAttempt": 2 
      }, 
      { 
         "responseCode": 500, 
         "responseMessage": "{\"Headers\":\"[{\"name\":\"Content-length\",\"buffer\":{\"empty\":false,\"full\":false},\"valuePos\":15,\"value\":\"20\",\"elements\":[{\"name\":\"20\",\"value\":null,\"parameters\":[],\"parameterCount\":0}]},{\"name\":\"Date\",\"buffer\":{\"empty\":false,\"full\":false},\"valuePos\":5,\"value\":\"Thu, 19 May 2016 03:01:09 GMT\",\"elements\":[{\"name\":\"Thu\",\"value\":null,\"parameters\":[],\"parameterCount\":0},{\"name\":\"19 May 2016 03:01:09 GMT\",\"value\":null,\"parameters\":[],\"parameterCount\":0}]}]\",\"StatusCode\":\"500\",\"Content : \":\"This is the response\"}", 
         "retriedAt": 1463626869378, 
         "retryAttempt": 3 
      } 
      ], 
      "source": "MailTo: [6c3cde37-a8f1-4077-adbe-e9f6605a7299], Org: [myorg], TransactionId: [b8d763be-7185-450d-b421-df38c870fabd], LimitId: [RatePlan-Limit:myorg@@@test-package-9ubo_anrp], Key: [myorg@@@kjGSxEGtZeekBEyI~myorg@@@test-package-9ubo_anrp~Transactions~Calls~20]", 
      "status": "FAILED", 
      "toEmail": "http://123.45.67.89:8000/webhook", 
      "updatedDate": 1463626865974 
   } 
   ] 
}

مشاهده جزئیات اعلان

با صدور درخواست GET به منبع زیر، جزئیات اعلان خاصی را مشاهده کنید: منبع:

/organizations/{org_name}/notification-service-items/{notification_id}

مکان:

  • ‫{org_name} نام سازمان را مشخص می‌کند.
  • {notification_id} شناسه اعلانی را که می‌خواهید جزئیات آن نمایش داده شود مشخص می‌کند. می‌توانید شناسه اعلان را از برونداد پاسخ هنگام مشاهده اعلان‌های ارسال‌شده دریافت کنید.

برای مثال، فراخوان cURL زیر جزئیات اعلان با شناسه 4b3dfadf-3a96-4a92-9512-1feff22f74f3 را فهرست می‌کند:

curl -H "Content-Type: application/json" -X GET \ 
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/notification-service-items/faa8e6a8-754e-40e8-9e0c-4dee6c9aca23" \ 
-u email:password
 

در زیر نمونه‌ای از پاسخ ارائه شده است:

 {
  "createdDate": 1461062402871,
  "createdTimeStamp": 1461024000000,
  "id": "faa8e6a8-754e-40e8-9e0c-4dee6c9aca23",
  "notificationType": "WEBHOOK",
  "orgId": "myorg",
  "rawMessage": "{\"orgName\":\"myorg\",\"developerEmail\":\"joe@example.com\",\"developerFirstName\":\"Joe\",\"developerLastName\":\"Smith\",\"applicationName\":\"myapp\",\"packageName\":\"mypackage\",\"ratePlanName\":\"anrp\",\"ratePlanType\":\"STANDARD\",\"developerRatePlanQuotaTarget\":54000,\"quotaPercentUsed\":\"1\",\"ratePlanStartDate\":1460419200000,\"ratePlanEndDate\":null,\"nextBillingCycleStartDate\":null,\"products\":[\"myproduct\"],\"developerCustomAttributes\":[],\"triggerTime\":1461062395966,\"triggerReason\":\"RatePlanQuotaUsage\"}",
  "retryCount": 0,
  "retryStatuses": [],
  "source": "MailTo: [c9e42fcd-9632-4376-b92d-0fa27f178a3b], Org: [myorg], TransactionId: [0352e568-2724-42d9-a264-1b62586d5948], LimitId: [RatePlan-Limit:amyorg@@@mypackage-a0y9_anrp], Key: [myorg@@@PPXsQbkyO1bBhQOh~myorg@@@mypackage-a0y9_anrp~Transactions~Calls~1]",
  "status": "NOTIFICATION_SENT",
  "toEmail": "http://123.45.67.89:8000/webhook",
  "updatedDate": 1461062402871
}

درحال پردازش مجدد اعلان

با صدور درخواست POST به منبع زیر، اعلان را دوباره پردازش کنید:

/organizations/{org_name}/notification-service-items/{notification_id}/reprocess

مکان:

  • ‫{org_name} نام سازمان را مشخص می‌کند.
  • {notification_id} شناسه مورد اعلان را که می‌خواهید جزئیات آن نمایش داده شود مشخص می‌کند. می‌توانید شناسه اعلان را از برونداد پاسخ هنگام مشاهده اعلان‌های ارسال‌شده دریافت کنید.

برای مثال، فراخوانی cURL زیر اعلان با شناسه 4b3dfadf-3a96-4a92-9512-1feff22f74f3 را دوباره پردازش می‌کند:

curl -H "Content-Type: application/json" -X POST \ 
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/notification-service-items/faa8e6a8-754e-40e8-9e0c-4dee6c9aca23/reprocess" \ 
-u email:password
 
{
  "createdDate": 1461062402871,
  "createdTimeStamp": 1461024000000,
  "id": "faa8e6a8-754e-40e8-9e0c-4dee6c9aca23",
  "notificationType": "WEBHOOK",
  "orgId": "myorg",
  "rawMessage": "{\"orgName\":\"myorg\",\"developerEmail\":\"joe@example.com\",\"developerFirstName\":\"Joe\",\"developerLastName\":\"Smith\",\"applicationName\":\"myapp\",\"packageName\":\"mypackage\",\"ratePlanName\":\"anrp\",\"ratePlanType\":\"STANDARD\",\"developerRatePlanQuotaTarget\":54000,\"quotaPercentUsed\":\"1\",\"ratePlanStartDate\":1460419200000,\"ratePlanEndDate\":null,\"nextBillingCycleStartDate\":null,\"products\":[\"myproduct\"],\"developerCustomAttributes\":[],\"triggerTime\":1461062395966,\"triggerReason\":\"RatePlanQuotaUsage\"}",
  "retryCount": 0,
  "retryStatuses": [
    {
      "responseCode": 200,
      "responseMessage": "{\"Headers\":\"[{\"name\":\"Accept-Encoding\",\"buffer\":{\"full\":false,\"empty\":false},\"valuePos\":16,\"elements\":[{\"name\":\"gzip\",\"value\":null,\"parameters\":[],\"parameterCount\":0},{\"name\":\"deflate\",\"value\":null,\"parameters\":[],\"parameterCount\":0}],\"value\":\"gzip,deflate\"},{\"name\":\"Content-Type\",\"buffer\":{\"full\":false,\"empty\":false},\"valuePos\":13,\"elements\":[{\"name\":\"application/json\",\"value\":null,\"parameters\":[{\"name\":\"charset\",\"value\":\"UTF-8\"}],\"parameterCount\":1}],\"value\":\"application/json; charset=UTF-8\"},{\"name\":\"Date\",\"buffer\":{\"full\":false,\"empty\":false},\"valuePos\":5,\"elements\":[{\"name\":\"Mon\",\"value\":null,\"parameters\":[],\"parameterCount\":0},{\"name\":\"23 May 2016 21:46:37 GMT\",\"value\":null,\"parameters\":[],\"parameterCount\":0}],\"value\":\"Mon, 23 May 2016 21:46:37 GMT\"},{\"name\":\"Server\",\"buffer\":{\"full\":false,\"empty\":false},\"valuePos\":7,\"elements\":[{\"name\":\"Apigee Router\",\"value\":null,\"parameters\":[],\"parameterCount\":0}],\"value\":\"Apigee Router\"},{\"name\":\"User-Agent\",\"buffer\":{\"full\":false,\"empty\":false},\"valuePos\":11,\"elements\":[{\"name\":\"Apache-HttpClient/4.3.5 (java 1.5)\",\"value\":null,\"parameters\":[],\"parameterCount\":0}],\"value\":\"Apache-HttpClient/4.3.5 (java 1.5)\"},{\"name\":\"X-Forwarded-For\",\"buffer\":{\"full\":false,\"empty\":false},\"valuePos\":16,\"elements\":[{\"name\":\"54.200.58.80\",\"value\":null,\"parameters\":[],\"parameterCount\":0}],\"value\":\"54.200.58.80\"},{\"name\":\"X-Forwarded-Port\",\"buffer\":{\"full\":false,\"empty\":false},\"valuePos\":17,\"elements\":[{\"name\":\"80\",\"value\":null,\"parameters\":[],\"parameterCount\":0}],\"value\":\"80\"},{\"name\":\"X-Forwarded-Proto\",\"buffer\":{\"full\":false,\"empty\":false},\"valuePos\":18,\"elements\":[{\"name\":\"http\",\"value\":null,\"parameters\":[],\"parameterCount\":0}],\"value\":\"http\"},{\"name\":\"Content-Length\",\"buffer\":{\"full\":false,\"empty\":false},\"valuePos\":15,\"elements\":[{\"name\":\"1173\",\"value\":null,\"parameters\":[],\"parameterCount\":0}],\"value\":\"1173\"},{\"name\":\"Connection\",\"buffer\":{\"full\":false,\"empty\":false},\"valuePos\":11,\"elements\":[{\"name\":\"keep-alive\",\"value\":null,\"parameters\":[],\"parameterCount\":0}],\"value\":\"keep-alive\"}]\",\"StatusCode\":\"200\",\"Content : \":\"{\"orgName\":\"myorg\",\"developerEmail\":\"joe@example.com\",\"developerFirstName\":\"Joe\",\"developerLastName\":\"Smith\",\"applicationName\":\"MyApp\",\"packageName\":\"mypackage\",\"ratePlanName\":\"anrp\",\"ratePlanType\":\"STANDARD\",\"developerRatePlanQuotaTarget\":54000,\"quotaPercentUsed\":\"1\",\"ratePlanStartDate\":1460419200000,\"ratePlanEndDate\":null,\"nextBillingCycleStartDate\":null,\"products\":[\"product1\"],\"developerCustomAttributes\":[],
  "source": "MailTo: [c9e42fcd-9632-4376-b92d-0fa27f178a3b], Org: [myorg], TransactionId: [0352e568-2724-42d9-a264-1b62586d5948], LimitId: [RatePlan-Limit:amyorg@@@mypackage-a0y9_anrp], Key: [myorg@@@PPXsQbkyO1bBhQOh~myorg@@@mypackage-a0y9_anrp~Transactions~Calls~1]",
  "status": "NOTIFICATION_SENT",
  "toEmail": "http://123.45.67.89:8000/webhook",
  "updatedDate": 1461062402871
}