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:
- Przetestuj działanie webhooków, by mieć pewność, że powiadomienia są wysyłana
- Przeglądanie i ponowne przetwarzanie wysłanych powiadomień
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:
- Wyświetlanie dostępnych typów reguł powiadomień webhooka
- Wyświetl przykładowy ładunek żądania dotyczącego powiadomienia webhooka testowanie
- 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:
- Wyświetlanie wysłanych powiadomień
- Wyświetlanie szczegółów powiadomienia
- 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.:
|
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 }