Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Введение
Функция монетизации предоставляет набор API, которые можно использовать для тестирования настроек уведомлений. В частности, вы можете:
- Проверьте выполнение веб-хуков, чтобы убедиться в отправке уведомлений.
- Проверка и повторная обработка отправленных уведомлений.
Тестирование веб-хуков
Веб-хук определяет обработчик HTTP-обратного вызова, который срабатывает при возникновении события. Информацию о настройке веб-хуков см. в разделе «Настройка уведомлений с помощью веб-хуков» .
Вы можете протестировать свои веб-хуки, выполнив следующие шаги:
- Просмотрите доступные типы запуска уведомлений веб-перехватчика.
- Просмотрите пример полезной нагрузки запроса для тестирования уведомлений веб-перехватчика.
- Протестируйте выполнение веб-хука.
Просмотр доступных типов триггеров уведомлений веб-перехватчика
Чтобы просмотреть доступные типы триггеров уведомлений веб-перехватчика, отправьте GET-запрос к следующему ресурсу:
/organizations/{org_name}/webhooks/{webhook_id}/test/{developer_email_or_id}/{app_id}/{product_id}/{rateplan_id}
Где:
-
{org_name}указывает название организации. -
{webhook_id}указывает идентификатор веб-перехватчика. Чтобы просмотреть список веб-перехватчиков и получить их идентификатор, см. раздел «Просмотр всех веб-перехватчиков с помощью API» . -
{developer_email_or_id}указывает идентификатор разработчика. Чтобы просмотреть список разработчиков, см. раздел «Список разработчиков» . -
{app_id}указывает идентификатор приложения, для которого вы тестируете запуск веб-перехватчика. Чтобы получить список идентификаторов приложений в вашей организации, см. раздел «Список идентификаторов приложений в организации» . -
{product_id}указывает идентификатор продукта API, для которого вы тестируете запуск веб-перехватчика. Чтобы просмотреть список продуктов API для организации, см. раздел «Список продуктов API» . -
{rateplan_id}указывает идентификатор тарифного плана, для которого вы тестируете запуск веб-перехватчика. Идентификатор тарифного плана отличается от отображаемого имени. Чтобы просмотреть подробную информацию о тарифном плане, включая идентификатор, см. страницу «Изучение тарифных планов» .
Например, следующий вызов cURL возвращает 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" \ -u email:password
Ниже приведён пример ответа:
[ "RATEPLANQUOTAUSAGE" ]
Далее необходимо определить схему полезной нагрузки запроса для типа триггера уведомления веб-перехватчика.
Просмотр примера полезной нагрузки запроса для тестирования уведомлений веб-перехватчика.
Для тестирования уведомлений через веб-перехватчик ознакомьтесь с примером полезной нагрузки запроса, отправив GET-запрос к следующему ресурсу:
/organizations/{org_name}/webhooks/{webhook_id}/test/{developer_email_or_id}/{app_id}/{product_id}/{rateplan_id}/{trigger_type}
Где:
-
{org_name}указывает название организации. -
{webhook_id}указывает идентификатор веб-перехватчика. Чтобы просмотреть список веб-перехватчиков и получить их идентификатор, см. раздел «Просмотр всех веб-перехватчиков с помощью API» . -
{developer_email_or_id}указывает идентификатор разработчика. Чтобы просмотреть список разработчиков, см. раздел «Список разработчиков» . -
{app_id}указывает идентификатор приложения, для которого вы тестируете запуск веб-перехватчика. Чтобы получить список идентификаторов приложений в вашей организации, см. раздел «Список идентификаторов приложений в организации» . -
{product_id}указывает идентификатор продукта API, для которого вы тестируете запуск веб-перехватчика. Чтобы просмотреть список продуктов API для организации, см. раздел «Список продуктов API» . -
{rateplan_id}указывает идентификатор тарифного плана, для которого вы тестируете запуск веб-перехватчика. Идентификатор тарифного плана отличается от отображаемого имени. Чтобы просмотреть подробную информацию о тарифном плане, включая идентификатор, см. страницу «Изучение тарифных планов» . -
{trigger_type}указывает имя типа триггера уведомления веб-перехватчика, возвращенного на предыдущем шаге ( Список доступных типов триггеров уведомления веб-перехватчика ).
Например, следующий вызов cURL возвращает пример полезной нагрузки запроса для типа триггера уведомления веб-перехватчика 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
Ниже приведён пример полезной нагрузки запроса:
{
"eventTriggerReason": "RATEPLANQUOTAUSAGE",
"properties": [
{
"key": "quotaPercentUsed",
"value": "100"
}
]
}
Далее вы можете изменить возвращаемый образец запроса по своему усмотрению и использовать его для проверки выполнения веб-перехватчика.
Тестирование выполнения веб-хука
Проверьте выполнение веб-перехватчика, отправив POST-запрос к следующему ресурсу:
/organizations/{org_name}/webhooks/{webhook_id}/test/{developer_email_or_id}/{app_id}/{product_id}/{rateplan_id} .
Где:
-
{org_name}указывает название организации. -
{webhook_id}указывает идентификатор веб-перехватчика. Чтобы просмотреть список веб-перехватчиков и получить их идентификатор, см. раздел «Просмотр всех веб-перехватчиков с помощью API» . -
{developer_email_or_id}указывает идентификатор разработчика. Чтобы просмотреть список разработчиков, см. раздел «Список разработчиков» . -
{app_id}указывает идентификатор приложения, для которого вы тестируете запуск веб-перехватчика. Чтобы получить список идентификаторов приложений в вашей организации, см. раздел «Список идентификаторов приложений в организации» . -
{product_id}указывает идентификатор продукта API, для которого вы тестируете запуск веб-перехватчика. Чтобы просмотреть список продуктов API для организации, см. раздел «Список продуктов API» . -
{rateplan_id}указывает идентификатор тарифного плана, для которого вы тестируете запуск веб-перехватчика. Идентификатор тарифного плана отличается от отображаемого имени. Чтобы просмотреть подробную информацию о тарифном плане, включая идентификатор, см. страницу «Изучение тарифных планов» .
Измените по своему усмотрению пример полезной нагрузки запроса, возвращенный на предыдущем шаге ( Просмотреть пример полезной нагрузки запроса для тестирования уведомлений веб-перехватчика ), и передайте его в полезную нагрузку запроса.
Например, следующий вызов cURL проверяет выполнение указанного веб-перехватчика:
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
Ниже приведён пример ответа, указывающего на успешную отправку уведомления на веб-перехватчик:
{
"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"
}
Просмотр и повторная обработка уведомлений
Монетизация позволяет настроить уведомления, которые будут срабатывать при определенных событиях. Информацию о настройке уведомлений см. в разделе «Настройка уведомлений».
Для каждого отправленного уведомления сохраняется следующая информация:
- Количество повторных попыток
- Код ответа
- Заголовок ответа
- Содержание ответа (только первые 1000 символов)
Для просмотра и повторной обработки уведомлений выполните следующие действия:
- Просмотрите отправленные уведомления.
- Просмотреть подробности уведомления
- Повторная обработка уведомления
Просмотр отправленных уведомлений
Чтобы просмотреть уведомления, отправленные для организации, выполните GET-запрос к следующему ресурсу:
/organizations/{org_name}/notification-service-items
Где {org_name} указывает название организации.
При желании вы можете указать один или несколько из следующих параметров запроса для фильтрации списка уведомлений, возвращаемых в ответе:
| Параметр запроса | Описание |
|---|---|
startdate | Дата начала в формате YYYY-MM-DD HH:mm:ss . |
enddate | Дата окончания в формате YYYY-MM-DD HH:mm:ss . |
status | Статус уведомлений. Допустимые значения:
|
toemail | Адрес электронной почты или веб-перехватчик, на который было отправлено уведомление. |
Возвращается максимум 1000 уведомлений.
В ответе флаг hasMoreItems указывает, превышает ли количество уведомлений в указанном списке 1000. Если hasMoreItems имеет значение true , что означает, что уведомлений больше, чем можно отобразить, и вы хотите просмотреть оставшиеся уведомления, вам необходимо уточнить фильтры параметров запроса, чтобы обрабатывать меньшие группы уведомлений за один запрос. Например, вы можете сделать несколько запросов, используя несколько меньших диапазонов дат, или вернуть уведомления только с определенными значениями статуса.
Например, следующий вызов cURL выводит список уведомлений, которые НЕ УДАЛИСЬ для указанного веб-перехватчика в указанном диапазоне дат:
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
Ниже приведён пример ответа:
{
"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
}
]
}
Просмотр сведений об уведомлении
Для просмотра подробной информации о конкретном уведомлении отправьте GET-запрос к следующему ресурсу:
/organizations/{org_name}/notification-service-items/{notification_id}
Где:
-
{org_name}указывает название организации. -
{notification_id}указывает идентификатор уведомления, для которого вы хотите отобразить подробную информацию. Идентификатор уведомления можно получить из ответа при просмотре отправленных уведомлений .
Например, следующий вызов cURL выводит подробную информацию об уведомлении с идентификатором 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
Ниже приведён пример ответа:
{
"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
}
Повторная обработка уведомления
Для повторной обработки уведомления отправьте POST-запрос к следующему ресурсу:
/organizations/{org_name}/notification-service-items/{notification_id}/reprocess
Где:
-
{org_name}указывает название организации. -
{notification_id}указывает идентификатор элемента уведомления, для которого вы хотите отобразить подробную информацию. Идентификатор уведомления можно получить из ответа при просмотре отправленных уведомлений .
Например, следующий вызов cURL повторно обрабатывает уведомление с идентификатором 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
}