Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Wprowadzenie
Monetyzacja udostępnia zestaw interfejsów API, których możesz używać do testowania konfiguracji powiadomień. W szczególności możesz:
- testować wykonywanie webhooków, aby mieć pewność, że powiadomienia są wysyłane;
- przeglądać i ponownie przetwarzać wysłane powiadomienia.
Testowanie webhooków
Webhook definiuje obsługę wywołania zwrotnego HTTP, które jest wywoływane przez zdarzenie. Więcej informacji o konfigurowaniu webhooków znajdziesz w artykule Konfigurowanie powiadomień za pomocą webhooków.
Aby przetestować webhooki:
- Wyświetl dostępne typy reguł powiadomień webhooków.
- Wyświetl przykładowy ładunek żądania do testowania powiadomień webhooków
- Przetestuj wykonanie webhooka.
Wyświetlanie dostępnych typów reguł powiadomień webhooków
Aby wyświetlić dostępne typy reguł powiadomień webhooków, wyślij żądanie GET do tego zasobu:
/organizations/{org_name}/webhooks/{webhook_id}/test/{developer_email_or_id}/{app_id}/{product_id}/{rateplan_id}
Gdzie:
{org_name}to nazwa organizacji.{webhook_id}to identyfikator webhooka. Aby wyświetlić listę webhooków i uzyskać identyfikator webhooka, zapoznaj się z artykułem Wyświetlanie wszystkich webhooków za pomocą interfejsu API.{developer_email_or_id}to identyfikator dewelopera. Aby wyświetlić listę deweloperów, zapoznaj się z artykułem Wyświetlanie listy deweloperów.{app_id}to identyfikator aplikacji, w przypadku której testujesz wywoływanie webhooka triggering. Aby wyświetlić listę identyfikatorów aplikacji w organizacji, zapoznaj się z artykułem Wyświetlanie listy identyfikatorów aplikacji w organizacji.{product_id}to identyfikator produktu API, w przypadku którego testujesz wywoływanie webhooka. Aby wyświetlić listę produktów API w organizacji, zapoznaj się z artykułem Wyświetlanie listy produktów API.{rateplan_id}to identyfikator planu taryfowego, w przypadku którego testujesz wywoływanie webhooka. Identyfikator planu taryfowego różni się od nazwy wyświetlanej. Aby wyświetlić szczegóły planu taryfowego , w tym jego identyfikator, zapoznaj się z artykułem Przeglądanie strony planów taryfowych.
Na przykład to wywołanie cURL zwraca RATEPLANQUOTAUSAGE jako typ reguły powiadomienia webhooka.
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
Poniżej znajdziesz przykład odpowiedzi:
[ "RATEPLANQUOTAUSAGE" ]
Następnie musisz określić schemat ładunku żądania dla typu reguły powiadomienia webhooka.
Wyświetlanie przykładowego ładunku żądania do testowania powiadomień webhooków
Aby wyświetlić przykładowy ładunek żądania, którego możesz użyć do testowania powiadomień webhooków, wyślij żą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}to nazwa organizacji.{webhook_id}to identyfikator webhooka. Aby wyświetlić listę webhooków i uzyskać identyfikator webhooka, zapoznaj się z artykułem Wyświetlanie wszystkich webhooków za pomocą interfejsu API.{developer_email_or_id}to identyfikator dewelopera. Aby wyświetlić listę deweloperów, zapoznaj się z artykułem Wyświetlanie listy deweloperów.{app_id}to identyfikator aplikacji, w przypadku której testujesz wywoływanie webhooka triggering. Aby wyświetlić listę identyfikatorów aplikacji w organizacji, zapoznaj się z artykułem Wyświetlanie listy identyfikatorów aplikacji w organizacji.{product_id}to identyfikator produktu API, w przypadku którego testujesz wywoływanie webhooka. Aby wyświetlić listę produktów API w organizacji, zapoznaj się z artykułem Wyświetlanie listy produktów API.{rateplan_id}to identyfikator planu taryfowego, w przypadku którego testujesz wywoływanie webhooka. Identyfikator planu taryfowego różni się od nazwy wyświetlanej. Aby wyświetlić szczegóły planu taryfowego , w tym jego identyfikator, zapoznaj się z artykułem Przeglądanie strony planów taryfowych.{trigger_type}to nazwa typu reguły powiadomienia webhooka zwrócona w poprzednim kroku (Wyświetlanie dostępnych typów reguł powiadomień webhooków).
Na przykład to wywołanie cURL zwraca przykładowy ładunek żądania dla
RATEPLANQUOTAUSAGE typu reguły powiadomienia webhooka:
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 zmodyfikuj zwrócony przykładowy ładunek żądania i użyj go do przetestowania wykonania webhooka.
Testowanie wykonania webhooka
Aby przetestować wykonanie webhooka, wyślij żą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}to nazwa organizacji.{webhook_id}to identyfikator webhooka. Aby wyświetlić listę webhooków i uzyskać identyfikator webhooka, zapoznaj się z artykułem Wyświetlanie wszystkich webhooków za pomocą interfejsu API.{developer_email_or_id}to identyfikator dewelopera. Aby wyświetlić listę deweloperów, zapoznaj się z artykułem Wyświetlanie listy deweloperów.{app_id}to identyfikator aplikacji, w przypadku której testujesz wywoływanie webhooka triggering. Aby wyświetlić listę identyfikatorów aplikacji w organizacji, zapoznaj się z artykułem Wyświetlanie listy identyfikatorów aplikacji w organizacji.{product_id}to identyfikator produktu API, w przypadku którego testujesz wywoływanie webhooka. Aby wyświetlić listę produktów API w organizacji, zapoznaj się z artykułem Wyświetlanie listy produktów API.{rateplan_id}to identyfikator planu taryfowego, w przypadku którego testujesz wywoływanie webhooka. Identyfikator planu taryfowego różni się od nazwy wyświetlanej. Aby wyświetlić szczegóły planu taryfowego , w tym jego identyfikator, zapoznaj się z artykułem Przeglądanie strony planów taryfowych.
Zmodyfikuj przykładowy ładunek żądania zwrócony w poprzednim kroku (Wyświetlanie przykładowego ładunku żądania do testowania powiadomień webhooków) zgodnie z potrzebami i przekaż go 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ład odpowiedzi wskazującej, ż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ń
Monetyzacja umożliwia konfigurowanie powiadomień wywoływanych przez określone zdarzenia. Więcej informacji o konfigurowaniu powiadomień znajdziesz w artykule Konfigurowanie powiadomień.
W przypadku każdego wysłanego powiadomienia przechowywane są te informacje:
- Liczba ponowień
- Kod odpowiedzi
- Nagłówek odpowiedzi
- Treść odpowiedzi (tylko pierwsze 1000 znaków)
Aby wyświetlić i ponownie przetworzyć powiadomienia:
Wyświetlanie wysłanych powiadomień
Aby wyświetlić powiadomienia wysłane w organizacji, wyślij żądanie GET do tego zasobu:
/organizations/{org_name}/notification-service-items
Gdzie {org_name} to nazwa organizacji.
Opcjonalnie możesz określić co najmniej 1 z tych parametrów zapytania, aby filtrować listę powiadomień zwracanych 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:
|
toemail |
Adres e-mail lub webhook, do którego zostało wysłane powiadomienie. |
Zwracanych jest maksymalnie 1000 powiadomień.
W odpowiedzi flaga hasMoreItems wskazuje, czy liczba
powiadomień na określonej liście przekracza 1000. Jeśli hasMoreItems ma wartość
true, co oznacza, że jest więcej powiadomień, niż można wyświetlić, i chcesz wyświetlić pozostałe powiadomienia, musisz zawęzić filtry parametrów zapytania
aby przetwarzać mniejsze grupy powiadomień na żądanie. Możesz na przykład wysłać kilka
żądań z użyciem kilku mniejszych zakresów dat lub zwrócić powiadomienia tylko z określonymi wartościami stanu.
Na przykład to wywołanie cURL wyświetla listę powiadomień, które się NIE UDAŁY w przypadku 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
Poniżej znajdziesz przykład 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
Aby wyświetlić szczegóły konkretnego powiadomienia, wyślij żądanie GET do tego zasobu:
/organizations/{org_name}/notification-service-items/{notification_id}
Gdzie:
{org_name}to nazwa organizacji.{notification_id}to identyfikator powiadomienia, którego szczegóły chcesz wyświetlić. Identyfikator powiadomienia możesz uzyskać z danych wyjściowych odpowiedzi podczas wyświetlania wysłanych powiadomień.
Na przykład to wywołanie cURL wyświetla szczegóły powiadomienia o identyfikatorze
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
Poniżej znajdziesz przykład 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
Aby ponownie przetworzyć powiadomienie, wyślij żądanie POST do tego zasobu:
/organizations/{org_name}/notification-service-items/{notification_id}/reprocess
Gdzie:
{org_name}to nazwa organizacji.{notification_id}to identyfikator elementu powiadomienia, którego szczegóły chcesz wyświetlić. Identyfikator powiadomienia możesz uzyskać z danych wyjściowych odpowiedzi podczas wyświetlania wysłanych powiadomień.
Na przykład to wywołanie cURL ponownie przetwarza powiadomienie o identyfikatorze
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
}