Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về
Apigee X. thông tin
Giới thiệu
Kiếm tiền cung cấp một bộ API mà bạn có thể dùng để kiểm thử chế độ thiết lập thông báo. Cụ thể, bạn có thể:
- Kiểm thử quá trình thực thi webhook để đảm bảo thông báo đang được gửi
- Xem xét và xử lý lại thông báo đã gửi
Kiểm tra webhook
Webhook xác định một trình xử lý gọi lại HTTP được kích hoạt bởi một sự kiện. Để biết thông tin về cách thiết lập webhook, hãy xem bài viết Thiết lập thông báo bằng webhook.
Bạn có thể kiểm thử webhook bằng cách thực hiện các bước sau:
- Xem các loại điều kiện kích hoạt thông báo webhook hiện có
- Xem tải trọng yêu cầu mẫu để kiểm thử thông báo webhook
- Kiểm thử quá trình thực thi webhook
Xem các loại điều kiện kích hoạt thông báo webhook hiện có
Xem các loại điều kiện kích hoạt thông báo webhook có sẵn bằng cách gửi yêu cầu GET đến tài nguyên sau:
/organizations/{org_name}/webhooks/{webhook_id}/test/{developer_email_or_id}/{app_id}/{product_id}/{rateplan_id}
Trong trường hợp:
{org_name}
chỉ định tên của tổ chức.{webhook_id}
chỉ định mã của webhook. Để xem danh sách webhook và lấy mã webhook, hãy xem phần Xem tất cả webhook bằng API.{developer_email_or_id}
chỉ định mã nhận dạng của nhà phát triển. Để xem danh sách các nhà phát triển, hãy xem phần List Developers (Nhà phát triển danh sách).{app_id}
chỉ định mã của ứng dụng mà bạn đang thử nghiệm việc kích hoạt webhook. Để liệt kê mã ứng dụng trong tổ chức của bạn, hãy xem phần Liệt kê mã ứng dụng trong một tổ chức.{product_id}
chỉ định mã của sản phẩm API mà bạn đang kiểm thử tính năng kích hoạt webhook. Để xem danh sách sản phẩm API cho một tổ chức, hãy xem phần Danh sách sản phẩm API.{rateplan_id}
chỉ định mã của gói giá mà bạn đang kiểm thử tính năng kích hoạt webhook. Mã gói giá khác với tên hiển thị. Để xem thông tin chi tiết về gói giá (bao gồm cả mã nhận dạng), hãy xem bài viết Khám phá trang về các gói giá.
Ví dụ: lệnh gọi cURL sau đây sẽ trả về RATEPLANQUOTAUSAGE
dưới dạng loại trình kích hoạt thông báo webhook.
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
Sau đây là ví dụ về phản hồi:
[ "RATEPLANQUOTAUSAGE" ]
Tiếp theo, bạn cần xác định giản đồ cho tải trọng yêu cầu của loại điều kiện kích hoạt thông báo webhook.
Xem tải trọng yêu cầu mẫu để kiểm thử thông báo webhook
Xem tải trọng yêu cầu mẫu mà bạn có thể sử dụng để kiểm thử thông báo webhook bằng cách đưa ra yêu cầu GET đến tài nguyên sau:
/organizations/{org_name}/webhooks/{webhook_id}/test/{developer_email_or_id}/{app_id}/{product_id}/{rateplan_id}/{trigger_type}
Trong trường hợp:
{org_name}
chỉ định tên của tổ chức.{webhook_id}
chỉ định mã của webhook. Để xem danh sách webhook và lấy mã webhook, hãy xem bài viết Xem tất cả webhook bằng API.{developer_email_or_id}
chỉ định mã nhận dạng của nhà phát triển. Để xem danh sách nhà phát triển, hãy xem bài viết Danh sách nhà phát triển.{app_id}
chỉ định mã nhận dạng của ứng dụng mà bạn đang kiểm thử tính năng kích hoạt webhook. Để liệt kê mã ứng dụng trong tổ chức, hãy xem bài viết Liệt kê mã ứng dụng trong một tổ chức.{product_id}
chỉ định mã của sản phẩm API mà bạn đang kiểm thử tính năng kích hoạt webhook. Để xem danh sách sản phẩm API cho một tổ chức, hãy xem phần Danh sách sản phẩm API.{rateplan_id}
chỉ định mã của gói giá mà bạn đang kiểm thử tính năng kích hoạt webhook. Mã gói giá khác với tên hiển thị. Để xem thông tin chi tiết về gói giá, bao gồm cả mã nhận dạng, hãy xem bài viết Khám phá trang gói giá.{trigger_type}
chỉ định tên của loại trình kích hoạt thông báo webhook được trả về ở bước trước (Liệt kê các loại trình kích hoạt thông báo webhook có sẵn).
Ví dụ: lệnh gọi cURL sau đây trả về tải trọng yêu cầu mẫu cho loại trình kích hoạt thông báo webhook 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
Sau đây là tải trọng yêu cầu mẫu:
{ "eventTriggerReason": "RATEPLANQUOTAUSAGE", "properties": [ { "key": "quotaPercentUsed", "value": "100" } ] }
Tiếp theo, bạn sửa đổi tải trọng yêu cầu mẫu được trả về theo ý muốn và sử dụng tải trọng đó để kiểm thử việc thực thi webhook.
Kiểm thử quá trình thực thi webhook
Kiểm thử quá trình thực thi webhook bằng cách đưa ra yêu cầu POST đến tài nguyên sau:
/organizations/{org_name}/webhooks/{webhook_id}/test/{developer_email_or_id}/{app_id}/{product_id}/{rateplan_id}
.
Trong trường hợp:
{org_name}
chỉ định tên của tổ chức.{webhook_id}
chỉ định mã của webhook. Để xem danh sách webhook và lấy mã webhook, hãy xem bài viết Xem tất cả webhook bằng API.{developer_email_or_id}
chỉ định mã nhận dạng của nhà phát triển. Để xem danh sách nhà phát triển, hãy xem bài viết Danh sách nhà phát triển.{app_id}
chỉ định mã của ứng dụng mà bạn đang thử nghiệm việc kích hoạt webhook. Để liệt kê mã ứng dụng trong tổ chức, hãy xem bài viết Liệt kê mã ứng dụng trong một tổ chức.{product_id}
chỉ định mã của sản phẩm API mà bạn đang kiểm thử tính năng kích hoạt webhook. Để xem danh sách sản phẩm API cho một tổ chức, hãy xem phần Danh sách sản phẩm API.{rateplan_id}
chỉ định mã của gói giá mà bạn đang kiểm thử tính năng kích hoạt webhook. Mã gói giá khác với tên hiển thị. Để xem thông tin chi tiết về gói giá, bao gồm cả mã nhận dạng, hãy xem bài viết Khám phá trang gói giá.
Sửa đổi tải trọng yêu cầu mẫu được trả về ở bước trước (Xem tải trọng yêu cầu mẫu để kiểm tra thông báo webhook) tuỳ ý và chuyển tải trọng đó vào tải trọng yêu cầu.
Ví dụ: lệnh gọi cURL sau đây kiểm thử việc thực thi webhook đã chỉ định:
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
Sau đây là ví dụ về phản hồi cho biết thông báo đã được gửi thành công đến webhook:
{ "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" }
Xem và xử lý lại thông báo
Tính năng kiếm tiền cho phép bạn thiết lập thông báo được kích hoạt bởi các sự kiện cụ thể. Để biết thông tin về cách thiết lập thông báo, hãy xem phần Thiết lập thông báo
Đối với mỗi thông báo được gửi đi, hệ thống sẽ lưu trữ những thông tin sau:
- Số lần thử lại
- Mã phản hồi
- Tiêu đề phản hồi
- Nội dung phản hồi (chỉ 1000 ký tự đầu tiên)
Bạn có thể xem và xử lý lại thông báo bằng cách thực hiện các bước sau:
Xem thông báo đã gửi
Xem các thông báo đã được gửi cho một tổ chức bằng cách gửi yêu cầu GET đến tài nguyên sau:
/organizations/{org_name}/notification-service-items
Trong đó {org_name}
chỉ định tên của tổ chức.
Nếu muốn, bạn có thể chỉ định một hoặc nhiều tham số truy vấn sau đây để lọc danh sách thông báo được trả về trong phản hồi:
Tham số truy vấn | Mô tả |
---|---|
startdate |
Ngày bắt đầu ở định dạng YYYY-MM-DD HH:mm:ss . |
enddate |
Ngày kết thúc ở định dạng YYYY-MM-DD HH:mm:ss . |
status |
Trạng thái của thông báo. Sau đây là các giá trị hợp lệ:
|
toemail |
Mã email hoặc webhook mà thông báo được gửi đến. |
Hệ thống sẽ trả về tối đa 1.000 thông báo.
Trong phản hồi, cờ hasMoreItems
cho biết liệu số lượng thông báo trong danh sách đã chỉ định có nhiều hơn 1000 hay không. Nếu hasMoreItems
là true
, cho biết rằng có nhiều thông báo hơn số lượng có thể hiển thị và bạn muốn xem các thông báo còn lại, bạn cần tinh chỉnh bộ lọc tham số truy vấn để xử lý các nhóm thông báo nhỏ hơn cho mỗi yêu cầu. Ví dụ: bạn có thể thực hiện nhiều yêu cầu bằng cách sử dụng một số phạm vi ngày nhỏ hơn hoặc trả về thông báo chỉ có một số giá trị trạng thái nhất định.
Ví dụ: lệnh gọi cURL sau đây liệt kê các thông báo KHÔNG THÀNH CÔNG cho webhook được chỉ định trong phạm vi ngày được chỉ định:
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
Sau đây là ví dụ về phản hồi:
{ "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 } ] }
Xem thông tin chi tiết về một thông báo
Xem thông tin chi tiết về một thông báo cụ thể bằng cách gửi yêu cầu GET đến tài nguyên sau:
/organizations/{org_name}/notification-service-items/{notification_id}
Trong trường hợp:
{org_name}
chỉ định tên của tổ chức.{notification_id}
chỉ định mã nhận dạng của thông báo mà bạn muốn hiển thị thông tin chi tiết. Bạn có thể lấy mã thông báo từ kết quả phản hồi khi xem thông báo đã gửi.
Ví dụ: lệnh gọi cURL sau đây liệt kê thông tin chi tiết về thông báo có mã nhận dạng 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
Sau đây là ví dụ về phản hồi:
{ "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 }
Xử lý lại thông báo
Xử lý lại thông báo bằng cách đưa ra yêu cầu POST đến tài nguyên sau:
/organizations/{org_name}/notification-service-items/{notification_id}/reprocess
Trong trường hợp:
{org_name}
chỉ định tên của tổ chức.{notification_id}
chỉ định mã nhận dạng của mục thông báo mà bạn muốn hiển thị thông tin chi tiết. Bạn có thể lấy mã thông báo từ kết quả phản hồi khi xem thông báo đã gửi.
Ví dụ: lệnh gọi cURL sau đây sẽ xử lý lại thông báo có mã nhận dạng 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 }