Przetestuj konfigurację powiadomień

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Wprowadzenie

Funkcja generowania przychodu udostępnia zestaw interfejsów API, których możesz używać do testowania konfiguracji powiadomień. W szczególności możesz:

.

Testowanie webhooków

Webhook definiuje moduł obsługi wywołania zwrotnego HTTP, który jest aktywowany przez zdarzenie. Informacje na temat Więcej o konfigurowaniu webhooków dowiesz się z artykułu Konfigurowanie powiadomień przy użyciu webhooki.

Możesz przetestować webhooki, wykonując te czynności:

  1. Wyświetlanie dostępnych typów reguł powiadomień webhooka
  2. Wyświetl przykładowy ładunek żądania dotyczącego powiadomienia webhooka testowanie
  3. Testowanie wykonania webhooka

Wyświetlanie dostępnych typów reguł powiadomień webhooka

Wyświetl dostępne typy aktywatorów powiadomień webhooka, wysyłając żądanie GET do funkcji ten zasób:

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

Gdzie:

  • {org_name} określa nazwę organizacji.
  • {webhook_id} określa identyfikator webhooka. Aby wyświetlić listę webhooków oraz uzyskać identyfikator webhooka, zapoznaj się z sekcją Wyświetlanie wszystkich webhooków za pomocą API.
  • {developer_email_or_id} określa identyfikator dewelopera. Aby wyświetlić listę programistów, zobacz Listę Programistów.
  • {app_id} określa identyfikator aplikacji, w której testujesz webhooka które wywołujące stres. Aby dowiedzieć się, jak wyświetlić identyfikatory aplikacji w organizacji, zapoznaj się z sekcją Wyświetlanie identyfikatorów aplikacji w organizacji.
  • {product_id} określa identyfikator usługi API, którą testujesz wyzwalanie webhooka. Aby wyświetlić listę usług API w organizacji, zapoznaj się z artykułem Lista usług API.
  • {rateplan_id} określa identyfikator abonamentu, którego dotyczy test wyzwalanie webhooka. Identyfikator abonamentu jest inny niż wyświetlana nazwa. Aby wyświetlić plan stawek dotyczące m.in. identyfikatora, można znaleźć w sekcji Zapoznaj się ze stroną planów stawek.

Na przykład to wywołanie cURL zwraca webhooka RATEPLANQUOTAUSAGE typu wyzwalacza powiadomień.

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

Oto przykład takiej odpowiedzi:

[
  "RATEPLANQUOTAUSAGE"
]

Następnie musisz określić schemat ładunku żądania dla powiadomienia webhooka. typu wyzwalacza.

Wyświetlanie przykładowego ładunku żądania dotyczącego powiadomienia webhooka testowanie

Wyświetl przykładowy ładunek żądania, którego możesz użyć do testowania powiadomień webhooka przez wysłanie Żądanie GET do tego zasobu:

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

Gdzie:

  • {org_name} określa nazwę organizacji.
  • {webhook_id} określa identyfikator webhooka. Aby wyświetlić listę webhooków oraz uzyskać identyfikator webhooka, zapoznaj się z sekcją Wyświetlanie wszystkich webhooków za pomocą API.
  • {developer_email_or_id} określa identyfikator dewelopera. Aby wyświetlić listę programistów, zobacz Listę Programistów.
  • {app_id} określa identyfikator aplikacji, w której testujesz webhooka które wywołujące stres. Aby dowiedzieć się, jak wyświetlić identyfikatory aplikacji w organizacji, zapoznaj się z sekcją Wyświetlanie identyfikatorów aplikacji w organizacji.
  • {product_id} określa identyfikator usługi API, którą testujesz wyzwalanie webhooka. Aby wyświetlić listę usług API w organizacji, zapoznaj się z artykułem Lista usług API.
  • {rateplan_id} określa identyfikator abonamentu, którego dotyczy test wyzwalanie webhooka. Identyfikator abonamentu jest inny niż wyświetlana nazwa. Aby wyświetlić plan stawek dotyczące m.in. identyfikatora, można znaleźć w sekcji Zapoznaj się ze stroną planów stawek.
  • {trigger_type} określa nazwę typu aktywatora powiadomień webhooka zwrócone w poprzednim kroku (wyświetl listę dostępnych webhooków typu wyzwalaczy powiadomień).

Na przykład poniższe wywołanie cURL zwraca przykładowy ładunek żądania dla Typ reguły powiadomień webhooka 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

Poniżej znajdziesz przykładowy ładunek żądania:

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

Następnie zmodyfikujesz zwracany przykładowy ładunek żądania według potrzeb i wykorzystasz go do przetestowania przez wykonanie webhooka.

Testowanie wykonania webhooka

Przetestuj wykonanie webhooka, wysyłając żądanie POST do tego zasobu:

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

Gdzie:

  • {org_name} określa nazwę organizacji.
  • {webhook_id} określa identyfikator webhooka. Aby wyświetlić listę webhooków oraz uzyskać identyfikator webhooka, zapoznaj się z sekcją Wyświetlanie wszystkich webhooków za pomocą API.
  • {developer_email_or_id} określa identyfikator dewelopera. Aby wyświetlić listę programistów, zobacz Listę Programistów.
  • {app_id} określa identyfikator aplikacji, w której testujesz webhooka które wywołujące stres. Aby dowiedzieć się, jak wyświetlić identyfikatory aplikacji w organizacji, zapoznaj się z sekcją Wyświetlanie identyfikatorów aplikacji w organizacji.
  • {product_id} określa identyfikator usługi API, którą testujesz wyzwalanie webhooka. Aby wyświetlić listę usług API w organizacji, zapoznaj się z artykułem Lista usług API.
  • {rateplan_id} określa identyfikator abonamentu, którego dotyczy test wyzwalanie webhooka. Identyfikator abonamentu jest inny niż wyświetlana nazwa. Aby wyświetlić plan stawek dotyczące m.in. identyfikatora, można znaleźć w sekcji Zapoznaj się ze stroną planów stawek.

Zmodyfikuj przykładowy ładunek żądania zwrócony w poprzednim kroku (wyświetl przykładowy ładunek żądania na potrzeby testowania powiadomień webhooka) jako i przekazują ją w ładunku żądania.

Na przykład to wywołanie cURL testuje wykonanie określonego webhooka:

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

Poniżej znajdziesz przykładową odpowiedź wskazującą, że powiadomienie zostało wysłane do webhooka:

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

Wyświetlanie i ponowne przetwarzanie powiadomień

Zarabianie pozwala skonfigurować powiadomienia, które będą wywoływane przez określone zdarzenia. Dla: Więcej informacji o konfigurowaniu powiadomień znajdziesz w artykule Konfigurowanie powiadomień.

W przypadku każdego wysłanego powiadomienia zapisywane są te informacje:

  • Liczba ponowień
  • Kod odpowiedzi
  • Nagłówek odpowiedzi
  • Treść odpowiedzi (tylko pierwsze 1000 znaków)

Aby wyświetlić i ponownie przetworzyć powiadomienia, wykonaj te czynności:

  1. Wyświetlanie wysłanych powiadomień
  2. Wyświetlanie szczegółów powiadomienia
  3. Ponowne przetwarzanie powiadomienia

Wyświetlanie wysłanych powiadomień

Wyświetl powiadomienia wysłane dla organizacji, wysyłając żądanie GET do ten zasób:

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

Gdzie {org_name} określa nazwę organizacji.

Opcjonalnie możesz określić co najmniej 1 z tych parametrów zapytania, aby przefiltrować listę powiadomień zwróconych w odpowiedzi:

Parametr zapytania Opis
startdate Data rozpoczęcia w formacie YYYY-MM-DD HH:mm:ss.
enddate Data zakończenia w formacie YYYY-MM-DD HH:mm:ss.
status Stan powiadomień. Prawidłowe wartości to m.in.:
  • BLANK_MESSAGE
  • DUPLICATE
  • FAILED
  • NOTIFICATION_SENT
  • OPT_OUT
  • QUEUED
  • TEMPLATE_NOT_FOUND
toemail Identyfikator e-mail lub webhooka, na które zostało wysłane powiadomienie.

Zwracanych może być maksymalnie 1000 powiadomień.

W odpowiedzi flaga hasMoreItems wskazuje, czy liczba liczba powiadomień na określonej liście przekracza 1000. Jeśli hasMoreItems to true, co oznacza, że jest więcej powiadomień, niż można wyświetlić, oraz chcesz zobaczyć pozostałe powiadomienia, musisz doprecyzować filtry parametrów zapytania w celu przetwarzania mniejszych grup powiadomień na żądanie. Możesz na przykład utworzyć wiele żądania korzystające z kilku mniejszych zakresów dat lub zwracają powiadomienia o określonym stanie. .

Na przykład następujące wywołanie cURL zawiera listę powiadomień, które się nie powiodły dla określonego webhooka w określonym zakresie dat:

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 

Oto przykład takiej odpowiedzi:

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

Wyświetlanie szczegółów powiadomienia

Wyświetl szczegóły konkretnego powiadomienia, wysyłając żądanie GET do: zasób:

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

Gdzie:

  • {org_name} określa nazwę organizacji.
  • {notification_id} określa identyfikator powiadomienia, którego ma dotyczyć wyświetlić szczegóły. Identyfikator powiadomienia znajdziesz w odpowiedziach, gdy przeglądasz wysłane powiadomienia.

Na przykład w poniższym połączeniu cURL znajduje się lista szczegółów powiadomienia z identyfikatorem 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
 

Oto przykład takiej odpowiedzi:

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

Ponowne przetwarzanie powiadomienia

Przetwórz ponownie powiadomienie, wysyłając żądanie POST do tego zasobu:

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

Gdzie:

  • {org_name} określa nazwę organizacji.
  • {notification_id} określa identyfikator elementu powiadomienia, którego ma dotyczyć aby wyświetlić szczegóły. Identyfikator powiadomienia znajdziesz w odpowiedziach, gdy przeglądasz wysłane powiadomienia.

Na przykład to wywołanie cURL ponownie przetwarza powiadomienie z identyfikatorem 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
}