Configuración de la notificación de prueba

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

Introducción

La monetización proporciona un conjunto de APIs que puedes usar para probar la configuración de notificaciones. En concreto, puedes hacer lo siguiente:

Cómo probar webhooks

Un webhook define un controlador de devolución de llamada HTTP que se activa mediante un evento. Para obtener información sobre cómo configurar webhooks, consulta Configura notificaciones con webhooks.

Para probar tus webhooks, sigue estos pasos:

  1. Visualiza los tipos de activadores de notificaciones de webhook disponibles.
  2. Visualiza una carga útil de solicitud de muestra para probar las notificaciones de webhook
  3. Prueba la ejecución de un webhook.

Visualiza los tipos de activadores de notificaciones de webhook disponibles

Para ver los tipos de activadores de notificaciones de webhook disponibles, envía una solicitud GET al siguiente recurso:

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

Donde:

  • {org_name} especifica el nombre de la organización.
  • {webhook_id} especifica el ID del webhook. Para ver una lista de webhooks y obtener el ID del webhook, consulta Visualiza todos los webhooks con la API.
  • {developer_email_or_id} especifica el ID del desarrollador. Para ver una lista de desarrolladores, consulta Enumera desarrolladores.
  • {app_id} especifica el ID de la aplicación para la que estás probando la activación del webhook triggering. Para enumerar los IDs de las apps en tu organización, consulta Enumera los IDs de las apps en una organización.
  • {product_id} especifica el ID del producto de API para el que estás probando la activación del webhook. Para ver una lista de productos de API para una organización, consulta Enumera productos de API.
  • {rateplan_id} especifica el ID del plan de tarifas para el que estás probando la activación del webhook. El ID del plan de tarifas es diferente del nombre visible. Para ver los detalles del plan de tarifas , incluido el ID, consulta Explora la página de planes de tarifas.

Por ejemplo, la siguiente llamada cURL muestra RATEPLANQUOTAUSAGE como el tipo de activador de notificaciones de 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

A continuación, se proporciona un ejemplo de la respuesta.

[
  "RATEPLANQUOTAUSAGE"
]

Luego, debes determinar el esquema de la carga útil de la solicitud para el tipo de activador de notificaciones de webhook.

Visualiza una carga útil de solicitud de muestra para probar las notificaciones de webhook

Para ver una carga útil de solicitud de muestra que puedes usar para probar las notificaciones de webhook, envía una solicitud GET al siguiente recurso:

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

Donde:

  • {org_name} especifica el nombre de la organización.
  • {webhook_id} especifica el ID del webhook. Para ver una lista de webhooks y obtener el ID del webhook, consulta Visualiza todos los webhooks con la API.
  • {developer_email_or_id} especifica el ID del desarrollador. Para ver una lista de desarrolladores, consulta Enumera desarrolladores.
  • {app_id} especifica el ID de la aplicación para la que estás probando la activación del webhook triggering. Para enumerar los IDs de las apps en tu organización, consulta Enumera los IDs de las apps en una organización.
  • {product_id} especifica el ID del producto de API para el que estás probando la activación del webhook. Para ver una lista de productos de API para una organización, consulta Enumera productos de API.
  • {rateplan_id} especifica el ID del plan de tarifas para el que estás probando la activación del webhook. El ID del plan de tarifas es diferente del nombre visible. Para ver los detalles del plan de tarifas , incluido el ID, consulta Explora la página de planes de tarifas.
  • {trigger_type} especifica el nombre del tipo de activador de notificaciones de webhook que se muestra en el paso anterior (Enumera los tipos de activadores de notificaciones de webhook disponibles).

Por ejemplo, la siguiente llamada cURL muestra una carga útil de solicitud de muestra para el RATEPLANQUOTAUSAGE tipo de activador de notificaciones de 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/RATEPLANQUOTAUSAGE" \ 
-u email:password

A continuación, se proporciona una carga útil de solicitud de muestra:

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

Luego, modifica la carga útil de solicitud de muestra que se muestra según lo desees y úsala para probar la ejecución del webhook.

Prueba la ejecución de un webhook

Para probar la ejecución de un webhook, envía una solicitud POST al siguiente recurso:

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

Donde:

  • {org_name} especifica el nombre de la organización.
  • {webhook_id} especifica el ID del webhook. Para ver una lista de webhooks y obtener el ID del webhook, consulta Visualiza todos los webhooks con la API.
  • {developer_email_or_id} especifica el ID del desarrollador. Para ver una lista de desarrolladores, consulta Enumera desarrolladores.
  • {app_id} especifica el ID de la aplicación para la que estás probando la activación del webhook triggering. Para enumerar los IDs de las apps en tu organización, consulta Enumera los IDs de las apps en una organización.
  • {product_id} especifica el ID del producto de API para el que estás probando la activación del webhook. Para ver una lista de productos de API para una organización, consulta Enumera productos de API.
  • {rateplan_id} especifica el ID del plan de tarifas para el que estás probando la activación del webhook. El ID del plan de tarifas es diferente del nombre visible. Para ver los detalles del plan de tarifas , incluido el ID, consulta Explora la página de planes de tarifas.

Modifica la carga útil de solicitud de muestra que se muestra en el paso anterior (Visualiza una carga útil de solicitud de muestra para probar las notificaciones de webhook) según lo desees y pásala en la carga útil de la solicitud.

Por ejemplo, la siguiente llamada cURL prueba la ejecución del webhook especificado:

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

A continuación, se proporciona un ejemplo de la respuesta que indica que la notificación se envió correctamente al 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"
}

Visualiza y vuelve a procesar las notificaciones

La monetización te permite configurar notificaciones que se activan con eventos específicos. Para obtener información sobre cómo configurar notificaciones, consulta Configura notificaciones

Para cada notificación enviada, se almacena la siguiente información:

  • Volver a contar
  • Código de respuesta
  • Encabezado de respuesta
  • Contenido de la respuesta (solo los primeros 1,000 caracteres)

Para ver y volver a procesar las notificaciones, sigue estos pasos:

  1. Visualiza las notificaciones que se enviaron.
  2. Visualiza los detalles de una notificación.
  3. Vuelve a procesar una notificación.

Visualiza las notificaciones enviadas

Para ver las notificaciones que se enviaron para una organización, envía una solicitud GET al siguiente recurso:

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

Donde {org_name} especifica el nombre de la organización.

De manera opcional, puedes especificar uno o más de los siguientes parámetros de consulta para filtrar la lista de notificaciones que se muestran en la respuesta:

Parámetro de consulta Descripción
startdate Fecha de inicio en el formato YYYY-MM-DD HH:mm:ss.
enddate Fecha de finalización en el formato YYYY-MM-DD HH:mm:ss.
status Estado de las notificaciones. Los valores válidos incluyen lo siguiente:
  • BLANK_MESSAGE
  • DUPLICATE
  • FAILED
  • NOTIFICATION_SENT
  • OPT_OUT
  • QUEUED
  • TEMPLATE_NOT_FOUND
toemail ID de correo electrónico o webhook al que se envió la notificación.

Se muestra un máximo de 1,000 notificaciones.

En la respuesta, la marca hasMoreItems indica si la cantidad de notificaciones en la lista especificada es superior a 1,000. Si hasMoreItems es true, lo que indica que hay más notificaciones de las que se pueden mostrar y deseas ver las notificaciones restantes, debes definir mejor los filtros de parámetros de consulta para procesar grupos más pequeños de notificaciones por solicitud. Por ejemplo, puedes realizar varias solicitudes con rangos de fechas más pequeños o mostrar notificaciones solo con ciertos valores de estado.

Por ejemplo, la siguiente llamada cURL muestra las notificaciones que FALLARON para el webhook especificado dentro del rango de fechas especificado:

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 

A continuación, se proporciona un ejemplo de la respuesta.

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

Visualiza los detalles de una notificación

Para ver los detalles de una notificación específica, envía una solicitud GET al siguiente recurso:

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

Donde:

  • {org_name} especifica el nombre de la organización.
  • {notification_id} especifica el ID de la notificación para la que deseas mostrar los detalles. Puedes obtener el ID de la notificación del resultado de la respuesta cuando visualizas las notificaciones enviadas.

Por ejemplo, la siguiente llamada cURL muestra los detalles de la notificación con el ID 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
 

A continuación, se proporciona un ejemplo de la respuesta.

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

Vuelve a procesar una notificación

Para volver a procesar una notificación, envía una solicitud POST al siguiente recurso:

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

Donde:

  • {org_name} especifica el nombre de la organización.
  • {notification_id} especifica el ID del elemento de notificación para el que deseas mostrar los detalles. Puedes obtener el ID de la notificación del resultado de la respuesta cuando visualizas las notificaciones enviadas.

Por ejemplo, la siguiente llamada cURL vuelve a procesar la notificación con el ID 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
}