Einrichtung der Testbenachrichtigung

Sie lesen die Dokumentation zu Apigee Edge.
Sehen Sie sich die Apigee X-Dokumentation an.
info

Einführung

Die Monetarisierung bietet eine Reihe von APIs, mit denen Sie die Benachrichtigungseinrichtung testen können. Insbesondere haben Sie folgende Möglichkeiten:

Webhooks testen

Ein Webhook definiert einen HTTP-Callback-Handler, der durch ein Ereignis ausgelöst wird. Informationen zum Einrichten von Webhooks finden Sie unter Benachrichtigungen mithilfe von Webhooks einrichten.

So testen Sie Ihre Webhooks:

  1. Verfügbare Triggertypen für Webhook-Benachrichtigungen ansehen
  2. Beispiel für eine Anfragenutzlast für den Test von Webhook-Benachrichtigungen ansehen
  3. Ausführung eines Webhooks testen

Verfügbare Triggertypen für Webhook-Benachrichtigungen aufrufen

Die verfügbaren Triggertypen für Webhook-Benachrichtigungen können Sie abrufen, indem Sie eine GET-Anfrage an die folgende Ressource senden:

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

Wobei:

  • {org_name} gibt den Namen der Organisation an.
  • {webhook_id} gibt die ID des Webhooks an. Eine Liste der Webhooks und die Webhook-ID finden Sie unter Alle Webhooks mit der API ansehen.
  • {developer_email_or_id} gibt die ID des Entwicklers an. Eine Liste der Entwickler finden Sie unter Entwickler auflisten.
  • {app_id} gibt die ID der Anwendung an, für die Sie den Webhook-Trigger testen. Informationen zum Auflisten der App-IDs in Ihrer Organisation finden Sie unter App-IDs in einer Organisation auflisten.
  • {product_id} gibt die ID des API-Produkts an, für das Sie den Webhook-Trigger testen. Informationen zum Anzeigen einer Liste der API-Produkte für eine Organisation finden Sie unter API-Produkte auflisten.
  • {rateplan_id} gibt die ID des Preisplans an, für den Sie das Webhook-Triggern testen. Die Tarifpaket-ID unterscheidet sich vom Anzeigenamen. Details zum Tarifpaket, einschließlich der ID, finden Sie unter Seite „Tarifpakete“.

Im folgenden cURL-Aufruf wird beispielsweise RATEPLANQUOTAUSAGE als Triggertyp für Webhook-Benachrichtigungen zurückgegeben.

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

Im Folgenden finden Sie ein Beispiel für die Antwort:

[
  "RATEPLANQUOTAUSAGE"
]

Als Nächstes müssen Sie das Schema für die Anfragenutzlast für den Triggertyp der Webhook-Benachrichtigung ermitteln.

Beispiel-Anfragenutzlast für Webhook-Benachrichtigungstests ansehen

Eine Beispielnutzlast für Anfragen, die Sie für den Test von Webhook-Benachrichtigungen verwenden können, rufen Sie mit einer GET-Anfrage an die folgende Ressource ab:

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

Wobei:

  • {org_name} gibt den Namen der Organisation an.
  • {webhook_id} gibt die ID des Webhooks an. Informationen zum Aufrufen einer Liste der Webhooks und zum Abrufen der Webhook-ID finden Sie unter Alle Webhooks mithilfe der API aufrufen.
  • {developer_email_or_id} gibt die ID des Entwicklers an. Eine Liste der Entwickler finden Sie unter Entwickler auflisten.
  • {app_id} gibt die ID der Anwendung an, für die Sie die Webhook-Triggerung testen. Informationen zum Auflisten der App-IDs in Ihrer Organisation finden Sie unter App-IDs in einer Organisation auflisten.
  • {product_id} gibt die ID des API-Produkts an, für das Sie den Webhook-Trigger testen. Eine Liste der API-Produkte für eine Organisation finden Sie unter API-Produkte auflisten.
  • {rateplan_id} gibt die ID des Tarifplans an, für den Sie die Webhook-Triggerung testen. Die Preisplan-ID unterscheidet sich vom Anzeigenamen. Informationen zu Preisplandetails einschließlich der ID finden Sie auf der Seite mit den Preisplänen.
  • {trigger_type} gibt den Namen des Webhook-Benachrichtigungstriggers an, der im vorherigen Schritt zurückgegeben wurde (Verfügbare Webhook-Benachrichtigungstrigger auflisten).

Der folgende cURL-Aufruf gibt beispielsweise eine Beispielnutzlast für den Triggertyp RATEPLANQUOTAUSAGE für Webhook-Benachrichtigungen zurück:

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

Im Folgenden findest du ein Beispiel für eine Anfragenutzlast:

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

Als Nächstes ändern Sie die zurückgegebene Nutzlast der Beispielanfrage nach Bedarf und verwenden sie, um die Ausführung des Webhooks zu testen.

Ausführung eines Webhooks testen

Testen Sie die Ausführung eines Webhooks, indem Sie eine POST-Anfrage an die folgende Ressource senden:

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

Wobei:

  • {org_name} gibt den Namen der Organisation an.
  • {webhook_id} gibt die ID des Webhooks an. Eine Liste der Webhooks und die Webhook-ID finden Sie unter Alle Webhooks mit der API ansehen.
  • {developer_email_or_id} gibt die ID des Entwicklers an. Eine Liste der Entwickler finden Sie unter Entwickler auflisten.
  • {app_id} gibt die ID der Anwendung an, für die Sie die Webhook-Triggerung testen. Informationen zum Auflisten der App-IDs in Ihrer Organisation finden Sie unter App-IDs in einer Organisation auflisten.
  • {product_id} gibt die ID des API-Produkts an, für das Sie den Webhook-Trigger testen. Informationen zum Anzeigen einer Liste der API-Produkte für eine Organisation finden Sie unter API-Produkte auflisten.
  • {rateplan_id} gibt die ID des Tarifplans an, für den Sie die Webhook-Triggerung testen. Die Tarifpaket-ID unterscheidet sich vom Anzeigenamen. Details zum Tarifpaket, einschließlich der ID, finden Sie unter Seite „Tarifpakete“.

Ändern Sie die im vorherigen Schritt zurückgegebene Beispielnutzlast der Anfrage (Beispielnutzlast für Webhook-Benachrichtigungstests ansehen) nach Bedarf und übergeben Sie sie in der Anfragenutzlast.

Mit dem folgenden cURL-Aufruf wird beispielsweise die Ausführung des angegebenen Webhooks getestet:

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

Im Folgenden finden Sie ein Beispiel für die Antwort, die darauf hinweist, dass die Benachrichtigung erfolgreich an den Webhook gesendet wurde:

{
  "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"
}

Benachrichtigungen ansehen und noch einmal verarbeiten

Mit der Monetarisierung können Sie Benachrichtigungen einrichten, die durch bestimmte Ereignisse ausgelöst werden. Informationen zum Einrichten von Benachrichtigungen finden Sie unter Benachrichtigungen einrichten.

Für jede gesendete Benachrichtigung werden die folgenden Informationen gespeichert:

  • Anzahl Wiederholungen
  • Antwortcode
  • Antwortheader
  • Antwortinhalt (nur die ersten 1.000 Zeichen)

So können Sie Benachrichtigungen ansehen und noch einmal verarbeiten:

  1. Gesendete Benachrichtigungen ansehen
  2. Details zu einer Benachrichtigung ansehen
  3. Benachrichtigungen noch einmal verarbeiten

Anzeigen der gesendeten Benachrichtigungen

Senden Sie eine GET-Anfrage an die folgende Ressource, um die Benachrichtigungen aufzurufen, die für eine Organisation gesendet wurden:

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

Dabei ist {org_name} der Name der Organisation.

Optional können Sie einen oder mehrere der folgenden Abfrageparameter angeben, um die Liste der in der Antwort zurückgegebenen Benachrichtigungen zu filtern:

Suchparameter Beschreibung
startdate Startdatum im Format YYYY-MM-DD HH:mm:ss.
enddate Enddatum im Format YYYY-MM-DD HH:mm:ss.
status Status der Benachrichtigungen. Gültige Werte sind:
  • BLANK_MESSAGE
  • DUPLICATE
  • FAILED
  • NOTIFICATION_SENT
  • OPT_OUT
  • QUEUED
  • TEMPLATE_NOT_FOUND
toemail E-Mail-ID oder Webhook, an die die Benachrichtigung gesendet wurde.

Es werden maximal 1.000 Benachrichtigungen zurückgegeben.

In der Antwort gibt das Flag hasMoreItems an, ob die Anzahl der Benachrichtigungen in der angegebenen Liste mehr als 1.000 beträgt. Wenn hasMoreItems = true ist, gibt es mehr Benachrichtigungen, als angezeigt werden können. Wenn Sie sich die verbleibenden Benachrichtigungen ansehen möchten, müssen Sie Ihre Abfrageparameterfilter so anpassen, dass pro Anfrage kleinere Gruppen von Benachrichtigungen verarbeitet werden. Sie können beispielsweise mehrere Anfragen mit mehreren kleineren Zeiträumen stellen oder Benachrichtigungen nur mit bestimmten Statuswerten zurückgeben.

Im folgenden cURL-Aufruf werden beispielsweise die Benachrichtigungen aufgelistet, die für den angegebenen Webhook im angegebenen Zeitraum fehlgeschlagen sind:

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 

Im Folgenden finden Sie ein Beispiel für die Antwort:

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

Details zu einer Benachrichtigung ansehen

Wenn Sie die Details einer bestimmten Benachrichtigung aufrufen möchten, senden Sie eine GET-Anfrage an die folgende Ressource:

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

Wobei:

  • {org_name} gibt den Namen der Organisation an.
  • {notification_id} gibt die ID der Benachrichtigung an, für die Details angezeigt werden sollen. Sie finden die Benachrichtigungs-ID in der Antwortausgabe, wenn Sie sich die gesendeten Benachrichtigungen ansehen.

Der folgende cURL-Aufruf listet beispielsweise Details für die Benachrichtigung mit der ID 4b3dfadf-3a96-4a92-9512-1feff22f74f3 auf:

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
 

Im Folgenden finden Sie ein Beispiel für die Antwort:

 {
  "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
}

Benachrichtigung noch einmal verarbeiten

Benachrichtigungen können Sie noch einmal verarbeiten, indem Sie eine POST-Anfrage an die folgende Ressource senden:

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

Wobei:

  • {org_name} gibt den Namen der Organisation an.
  • Mit {notification_id} wird die ID des Benachrichtigungselements angegeben, für das Details angezeigt werden sollen. Sie finden die Benachrichtigungs-ID in der Antwortausgabe, wenn Sie sich die gesendeten Benachrichtigungen ansehen.

Mit dem folgenden cURL-Aufruf wird beispielsweise die Benachrichtigung mit der ID 4b3dfadf-3a96-4a92-9512-1feff22f74f3 noch einmal verarbeitet:

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
}