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

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

מבוא

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

בדיקה של ה-webhooks

תגובה לפעולה מאתר אחר (webhook) מגדירה handler של קריאה חוזרת ב-HTTP שמופעל על ידי אירוע. למידע מידע נוסף על הגדרת webhooks זמין במאמר הגדרת התראות באמצעות webhooks.

כך בודקים את ה-webhooks:

  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. כדי לראות רשימה של webhooks לקבל את מזהה ה-webhook. ראו הצגת כל ה-webhooks שכוללים 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) על ידי שליחת שלח בקשה למשאב הבא:

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

כאשר:

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

לדוגמה, קריאת ה-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

בהמשך מופיע מטען ייעודי (payload) לדוגמה של בקשה:

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

לאחר מכן, משנים את המטען הייעודי (payload) של הבקשה לדוגמה שהוחזר לפי הצורך, ומשתמשים בו כדי לבדוק את של ה-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. כדי לראות רשימה של webhooks לקבל את מזהה ה-webhook. ראו הצגת כל ה-webhooks שכוללים API.
  • {developer_email_or_id} מציין את המזהה של המפתח. כדי להציג רשימה של למפתחים, ראו מפתחים.
  • {app_id} מציין את מזהה האפליקציה שבשבילה בודקים את ה-webhook טריגרים. כדי להציג רשימה של מזהי האפליקציות בארגון שלך, אפשר לעיין במאמר הצגת רשימת מזהי אפליקציות ארגון.
  • {product_id} מציין את המזהה של מוצר ה-API שבשבילו אתם בודקים הפעלת webhook. כדי לראות רשימה של מוצרי API לארגון, ראו רשימת מוצרי API.
  • {rateplan_id} מציין את המזהה של תוכנית התמחור והתשלומים שאת המחיר שלה בודקים הפעלת webhook. מזהה תוכנית התעריפים שונה מהשם המוצג. כדי לצפות בתוכנית התעריפים פרטים, כולל המזהה, ראה עיון בדף תוכניות התמחור והתשלומים.

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

לדוגמה, הפעלת ה-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 אל resource:

/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
}