בדיקה של הגדרת ההתראות

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

מבוא

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

בדיקת webhooks

הגדרת webhook מגדירה מטפל בקריאה חוזרת של HTTP שמופעל על ידי אירוע. מידע על הגדרת ווּבְּהוּקים זמין במאמר הגדרת התראות באמצעות ווּבְּהוּקים.

כדי לבדוק את ה-webhook, מבצעים את השלבים הבאים:

  1. הצגת הסוגים הזמינים של טריגרים להתראות webhook
  2. עיון במטען ייעודי (payload) של בקשה לדוגמה לבדיקת התראה של תגובה לפעולה מאתר אחר (webhook)
  3. בדיקת הביצוע של webhook

הצגת הסוגים הזמינים של טריגרים לשליחת התראות ב-webhook

כדי לראות את סוגי הטריגרים הזמינים של התראות webhook, שולחים בקשת GET למשאב הבא:

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

כאשר:

  • {org_name} מציין את שם הארגון.
  • {webhook_id} מציין את המזהה של ה-webhook. כדי לראות רשימה של תגובות לפעולה מאתר אחר (webhook) ולקבל את המזהה של התגובה לפעולה מאתר אחר, אפשר לעיין במאמר הצגת כל התגובות לפעולה מאתר אחר באמצעות ה-API.
  • {developer_email_or_id} הוא המזהה של המפתח. כדי לראות רשימה של מפתחים, אפשר לעיין במאמר רשימת מפתחים.
  • {app_id} מציין את המזהה של האפליקציה שבה אתם בודקים את ההפעלה של ה-webhook. כדי לראות רשימה של מזהי האפליקציות בארגון, אפשר לעיין במאמר בנושא רשימת מזהי אפליקציות בארגון.
  • {product_id} מציין את המזהה של מוצר ה-API שאתם בודקים את ההפעלה של ה-webhook שלו. כדי לראות רשימה של מוצרי API בארגון, אפשר לעיין במאמר בנושא רשימת מוצרי API.
  • {rateplan_id} מציין את המזהה של תוכנית התמחור שאתם בודקים את ההפעלה של ה-webhook שלה. מזהה תוכנית התמחור שונה מהשם המוצג. כדי לראות את פרטי תוכנית התמחור, כולל המזהה, אפשר לעיין במאמר בנושא הסבר על דף תוכניות התמחור.

לדוגמה, הקריאה הבאה ל-cURL מחזירה את הערך RATEPLANQUOTAUSAGE כסוג הטריגר של ההתראה ב-webhook.

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"
]

בשלב הבא, צריך לקבוע את הסכימה של המטען הייעודי (payload) של בקשת הטריגר מסוג התראה של webhook.

צפייה במטען ייעודי (payload) של בקשה לדוגמה לבדיקת התראות webhook

כדי לראות מטען ייעודי (payload) לדוגמה של בקשה שאפשר להשתמש בה לבדיקת התראות של webhook, שולחים בקשת GET למשאב הבא:

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

כאשר:

  • {org_name} מציין את שם הארגון.
  • {webhook_id} מציין את המזהה של ה-webhook. כדי לראות רשימה של תגובות לפעולה מאתר אחר (webhook) ולקבל את המזהה של התגובה לפעולה מאתר אחר, אפשר לעיין במאמר הצגת כל התגובות לפעולה מאתר אחר באמצעות ה-API.
  • {developer_email_or_id} מציין את מזהה המפתח. כדי לראות רשימה של מפתחים, אפשר לעיין במאמר רשימת מפתחים.
  • {app_id} מציין את המזהה של האפליקציה שבה אתם בודקים את ההפעלה של ה-webhook. כדי לראות רשימה של מזהי האפליקציות בארגון, אפשר לעיין במאמר בנושא רשימת מזהי אפליקציות בארגון.
  • {product_id} מציין את המזהה של מוצר ה-API שאתם בודקים את ההפעלה של ה-webhook שלו. כדי לראות רשימה של מוצרי API בארגון, אפשר לעיין במאמר בנושא רשימת מוצרי API.
  • {rateplan_id} מציין את המזהה של תוכנית התמחור שאתם בודקים את ההפעלה של ה-webhook שלה. מזהה תוכנית התמחור שונה מהשם המוצג. כדי לראות את פרטי תוכנית התמחור, כולל המזהה, אפשר לעיין במאמר בנושא הסבר על דף תוכניות התמחור.
  • {trigger_type} מציין את השם של סוג הטריגר של התראות ה-webhook שהוחזר בשלב הקודם (List the available webhook notification trigger types).

לדוגמה, קריאת cURL הבאה מחזירה מטען ייעודי (payload) לדוגמה של בקשה עבור סוג הטריגר של התראת webhook‏ 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"
   }
   ]
}

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

בדיקת ההפעלה של webhook

כדי לבדוק את ההפעלה של webhook, שולחים בקשת POST למשאב הבא:

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

כאשר:

  • {org_name} מציין את שם הארגון.
  • {webhook_id} מציין את המזהה של ה-webhook. כדי לראות רשימה של תגובות לפעולה מאתר אחר (webhook) ולקבל את המזהה של התגובה לפעולה מאתר אחר, אפשר לעיין במאמר הצגת כל התגובות לפעולה מאתר אחר באמצעות ה-API.
  • {developer_email_or_id} מציין את מזהה המפתח. כדי לראות רשימה של מפתחים, אפשר לעיין במאמר רשימת מפתחים.
  • {app_id} מציין את המזהה של האפליקציה שבה אתם בודקים את ההפעלה של ה-webhook. כדי לראות רשימה של מזהי האפליקציות בארגון, אפשר לעיין במאמר בנושא רשימת מזהי אפליקציות בארגון.
  • {product_id} מציין את המזהה של מוצר ה-API שאתם בודקים את ההפעלה של ה-webhook שלו. כדי לראות רשימה של מוצרי API בארגון, אפשר לעיין במאמר בנושא רשימת מוצרי API.
  • {rateplan_id} מציין את המזהה של תוכנית התמחור שאתם בודקים את ההפעלה של ה-webhook שלה. מזהה תוכנית התמחור שונה מהשם המוצג. כדי לראות את פרטי תוכנית התמחור, כולל המזהה, אפשר לעיין במאמר בנושא הסבר על דף תוכניות התמחור.

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

לדוגמה, קריאת ה-cURL הבאה בודקת את ההפעלה של ה-webhook שצוין:

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

בדוגמה הבאה אפשר לראות את התגובה שמציינת שההתראה נשלחה בהצלחה ל-webhook:

{
  "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,000 התווים הראשונים)

כדי לראות את ההתראות ולעבד אותן מחדש:

  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 מזהה האימייל או ה-webhook שאליו נשלחה ההתראה.

יוחזרו עד 1,000 התראות.

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

לדוגמה, קריאת cURL הבאה מפרטת את ההתראות שנכשלו עבור ה-webhook שצוין בטווח התאריכים שצוין:

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
}