Einrichtung der Testbenachrichtigung

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Einführung

Die Monetarisierung bietet eine Reihe von APIs, mit denen Sie Ihre Benachrichtigungseinrichtung testen können. Sie haben 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
  2. Beispiel für eine Anfragenutzlast zum Testen von Webhook-Benachrichtigungen
  3. Ausführung eines Webhooks testen

Verfügbare Triggertypen für Webhook-Benachrichtigungen ansehen

Zeigen Sie die verfügbaren Triggertypen für Webhook-Benachrichtigungen an, 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. Informationen zum Aufrufen einer Liste der Webhooks und zum Abrufen der Webhook-ID finden Sie unter Alle Webhooks mithilfe 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-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 die 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 das Webhook-Trigger testen. Die Preisplan-ID unterscheidet sich vom Anzeigenamen. Informationen zu den Preisplandetails einschließlich der ID finden Sie unter Die Seite „Preispläne“ entdecken.

Der folgende cURL-Aufruf gibt beispielsweise RATEPLANQUOTAUSAGE als Triggertyp für die Webhook-Benachrichtigung 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" \ 
-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 „Webhook-Benachrichtigung“ bestimmen.

Beispielanfragenutzlast für Tests von Webhook-Benachrichtigungen ansehen

Sehen Sie sich eine Beispielanfragenutzlast an, die Sie zum Testen von Webhook-Benachrichtigungen verwenden können. Senden Sie dazu eine GET-Anfrage an die folgende Ressource:

/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 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-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 die 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 das Webhook-Trigger testen. Die Preisplan-ID unterscheidet sich vom Anzeigenamen. Informationen zu den Preisplandetails einschließlich der ID finden Sie unter Die Seite „Preispläne“ entdecken.
  • {trigger_type} gibt den Namen des Triggers für Webhook-Benachrichtigungen an, der im vorherigen Schritt zurückgegeben wurde (Verfügbare Triggertypen für Webhook-Benachrichtigungen auflisten).

Der folgende cURL-Aufruf gibt beispielsweise eine Beispielanfragenutzlast 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 finden Sie ein Beispiel für eine Nutzlast der Anfrage:

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

Als Nächstes ändern Sie die zurückgegebene Beispielanfragenutzlast nach Bedarf und testen damit die Ausführung des Webhooks.

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. Informationen zum Aufrufen einer Liste der Webhooks und zum Abrufen der Webhook-ID finden Sie unter Alle Webhooks mithilfe 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-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 die 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 das Webhook-Trigger testen. Die Preisplan-ID unterscheidet sich vom Anzeigenamen. Informationen zu den Preisplandetails einschließlich der ID finden Sie unter Die Seite „Preispläne“ entdecken.

Ändern Sie die im vorherigen Schritt zurückgegebene Beispielanfragenutzlast (Beispielanfragenutzlast zum Testen von Webhook-Benachrichtigungen ansehen) wie gewünscht und übergeben Sie sie in der Nutzlast der Anfrage.

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 angibt, 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 erneut verarbeiten

Mit der Monetarisierung kannst du Benachrichtigungen einrichten, die durch bestimmte Ereignisse ausgelöst werden. Informationen zum Einrichten von Benachrichtigungen findest du unter Benachrichtigungen einrichten.

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

  • Anzahl der erneuten Versuche
  • Antwortcode
  • Antwortheader
  • Antwortinhalt (nur die ersten 1.000 Zeichen)

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

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

Anzeigen der gesendeten Benachrichtigungen

Sie können sich die Benachrichtigungen ansehen, die für eine Organisation gesendet wurden. Stellen Sie dazu eine GET-Anfrage an die folgende Ressource:

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

Dabei gibt {org_name} den Namen der Organisation an.

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:
  • BLANK_MESSAGE
  • DUPLICATE
  • FAILED
  • NOTIFICATION_SENT
  • OPT_OUT
  • QUEUED
  • TEMPLATE_NOT_FOUND
toemail E-Mail-ID oder Webhook, an den bzw. den 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 den Wert true hat, gibt es mehr Benachrichtigungen, als angezeigt werden könnten, und Sie die verbleibenden Benachrichtigungen sehen möchten, müssen Sie Ihre Abfrageparameterfilter anpassen, um kleinere Gruppen von Benachrichtigungen pro Anfrage zu verarbeiten. Sie können beispielsweise mehrere Anfragen mit mehreren kleineren Zeiträumen stellen oder Benachrichtigungen nur mit bestimmten Statuswerten zurückgeben.

Mit dem folgenden cURL-Aufruf werden beispielsweise die Benachrichtigungen aufgelistet, die im angegebenen Zeitraum für den angegebenen Webhook 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

Zeigen Sie die Details für eine bestimmte Benachrichtigung an, indem Sie eine GET-Anfrage an die folgende Ressource senden:

/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 Sie Details anzeigen möchten. 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 erneut verarbeiten

Verarbeiten Sie eine Benachrichtigung noch einmal, 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.
  • {notification_id} gibt die ID des Benachrichtigungselements an, zu dem Sie Details anzeigen möchten. Sie finden die Benachrichtigungs-ID in der Antwortausgabe, wenn Sie sich die gesendeten Benachrichtigungen ansehen.

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