Настройка уведомлений с помощью вебхуков

Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee
X.info

Что такое веб-хук?

Веб-хук определяет обработчик HTTP-обратного вызова, который срабатывает при возникновении события. Вы можете создавать веб-хуки и настраивать их для обработки уведомлений о событиях в качестве альтернативы использованию шаблонов уведомлений для монетизации, как описано в разделе «Настройка уведомлений с помощью шаблонов уведомлений» .

Для настройки уведомлений с помощью веб-хуков выполните следующие действия, используя пользовательский интерфейс управления Edge или API управления и монетизации:

  1. Добавьте веб-хуки, определяющие обработчики обратных вызовов для событий уведомлений, используя пользовательский интерфейс или API .
  2. Настройте обработчик обратного вызова .
  3. Настройте уведомления для тарифного плана с изменяемым тарифом, используя пользовательский интерфейс или API .

Управление веб-хуками

Добавляйте и управляйте веб-хуками, определяющими обработчики обратных вызовов для событий уведомлений, используя пользовательский интерфейс или API .

Управление веб-хуками с помощью пользовательского интерфейса.

Добавляйте и управляйте веб-хуками, определяющими обработчики обратных вызовов для событий уведомлений, используя пользовательский интерфейс, как описано в следующих разделах.

Изучение страницы веб-хуков

Перейдите на страницу веб-хуков, как описано ниже.

Край

Чтобы получить доступ к странице веб-перехватчиков с помощью пользовательского интерфейса Edge:

  1. Войдите на сайт apigee.com/edge .
  2. В левой панели навигации выберите «Публикация» > «Монетизация» > «Веб-хуки» .

Отображается страница веб-хуков.

Как показано на рисунке, страница «Веб-хуки» позволяет вам:

Классический Edge (частное облако)

Чтобы получить доступ к странице веб-перехватчиков с помощью классического интерфейса Edge:

  1. Войдите в систему по http:// ms-ip :9000 , где ms-ip — это IP-адрес или DNS-имя узла сервера управления.
  2. Выберите Администрирование > Веб-перехватчики .

Отображается страница веб-хуков.

Страница «Веб-хуки» позволяет вам:

Добавление веб-перехватчика с помощью пользовательского интерфейса

Чтобы добавить веб-перехватчик через пользовательский интерфейс:

  1. Перейдите на страницу веб-хуков .
  2. Click + Webhook .
  3. Введите следующую информацию (все поля обязательны для заполнения).
    Поле Описание
    Имя Название веб-хука.
    URL URL-адрес обработчика обратного вызова, который будет вызываться при срабатывании уведомления о событии. См. раздел «Настройка обработчика обратного вызова» .
  4. Нажмите « Сохранить ».

Веб-хук добавляется в список и включается по умолчанию.

Редактирование веб-хука с помощью пользовательского интерфейса.

Чтобы отредактировать веб-хук с помощью пользовательского интерфейса:

  1. Перейдите на страницу веб-хуков .
  2. Наведите курсор на веб-перехватчик, который хотите отредактировать, и щелкните. в меню действий.
  3. При необходимости отредактируйте поля веб-перехватчика.
  4. Нажмите «Обновить веб-перехватчик» .

Включение или отключение веб-перехватчика с помощью пользовательского интерфейса.

Чтобы включить или отключить веб-перехватчик с помощью пользовательского интерфейса:

  1. Перейдите на страницу веб-хуков .
  2. Наведите курсор на веб-перехватчик и переключите переключатель состояния, чтобы включить или выключить его.

Удаление веб-хука с помощью пользовательского интерфейса

Чтобы удалить веб-хук с помощью пользовательского интерфейса:

  1. Перейдите на страницу веб-хуков .
  2. Наведите курсор на веб-перехватчик, который хотите удалить, и щелкните. .

Веб-хук удален и исключен из списка.

Управление веб-хуками с помощью API

Добавляйте и управляйте веб-хуками с помощью API, как описано в следующих разделах.

Просмотр всех веб-хуков, используемых с API.

Чтобы просмотреть все веб-хуки, отправьте GET-запрос по адресу /mint/organizations/{org_name}/webhooks . Например:

curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" \
  -H "Content-Type: application/json " \
  -u email:password

Ниже приведён пример полученного ответа:

{
  "totalRecords": 2,
  "webhooks": [
    {
      "created": 1460162656342,
      "enabled": false,
      "id": "21844a37-d26d-476c-93ed-38f3a4b24691",
      "name": "webhook1",
      "postUrl": "http://mycompany.com/callbackhandler1",
      "updated": 1460162656342,
      "updatedBy": "joe@example.com"
    },
        {
      "created": 1460138724352,
      "createdBy": "joe@example.com",
      "enabled": true,
      "id": "a39ca777-1861-49cf-a397-c9e92ab3c09f",
      "name": "webhook2",
      "postUrl": "http://mycompany.com/callbackhandler2",
      "updated": 1460138724352,
      "updatedBy": "joe@example.com"
    }

  ]
}

Просмотр веб-хука с помощью API

Чтобы просмотреть отдельный веб-хук, отправьте GET-запрос по адресу /mint/organizations/{org_name}/webhooks/{webhook_id} .

Например:

curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \
  -H "Content-Type: application/json " \
  -u email:password

Ниже приведён пример ответа:

{
   "created": 1460162656342,
   "enabled": false,
   "id": "21844a37-d26d-476c-93ed-38f3a4b24691",
   "name": "webhook1",
   "postUrl": "http://mycompany.com/callbackhandler1",
   "updated": 1460162656342,
   "updatedBy": "joe@example.com"
 }

Добавление веб-перехватчика с помощью API

Добавьте веб-хук, отправив POST-запрос на /mint/organizations/{org_name}/webhooks . Необходимо указать имя веб-хука и URL обработчика обратного вызова, который будет вызываться при срабатывании уведомления о событии.

Например, следующий код создает веб-перехватчик с именем webhook3 и назначает ему обработчик обратного вызова callbackhandler3 :

curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks"
  -H "Content-Type: application/json "
  -d '{
    "name": "webhook3",
    "postURL": "http://mycompany.com/callbackhandler3"
    }' \
    -u email:password

Ниже приведён пример ответа:

{
  "created": 1460385534555,
  "createdBy": "joe@example.com",
  "enabled": false,
  "id": "0a07eb1f-f485-4539-8beb-01be449699b3",
  "name": "webhook3",
  "orgId": "myorg",
  "postUrl": "http://mycompany.com/callbackhandler3",
  "updated": 1460385534555,
  "updatedBy": "joe@example.com"
}

Редактирование веб-хука с помощью API

Отредактируйте веб-хук, отправив PUT-запрос по адресу /mint/organizations/{org_name}/webhooks/{webhook_id} . Передайте изменения в теле запроса.

Например, следующее обновляет обработчик обратного вызова, связанный с webhook1 :

curl -X PUT "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \
  -H "Content-Type: application/json " \
  -d '{
    "postURL": "http://mycompany.com/callbackhandler4"
  }' \
  -u email:password

Ниже приведён пример ответа:

{
  "created": 1460385534555,
  "enabled": false,
  "id": "0a07eb1f-f485-4539-8beb-01be449699b3",
  "name": "webhook3",
  "orgId": "myorg",
  "postUrl": "http://mycompany.com/callbackhandler4",
  "updated": 1460385534555,
  "updatedBy": "joe@example.com"
}

Включение или отключение веб-перехватчика с помощью API

Чтобы включить или отключить веб-хук, отправьте POST-запрос на адрес /mint/organizations/{org_name}/webhooks/{webhook_id} , как вы это делали при обновлении веб-хука, и установите атрибут enabled в теле запроса в значение true или false соответственно. Если вы отключите веб-хук, он не будет срабатывать при возникновении события.

Например, следующая команда включает webhook3 :

curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \
  -H "Content-Type: application/json " \
  -d '{
    "enabled": "true"
  }' \
  -u email:password

Ниже приведён пример ответа:

{
  "created": 1460385534555,
  "enabled": true,
  "id": "0a07eb1f-f485-4539-8beb-01be449699b3",
  "name": "webhook3",
  "orgId": "myorg",
  "postUrl": "http://mycompany.com/callbackhandler4",
  "updated": 1460385534555,
  "updatedBy": "joe@example.com"
}

Удаление веб-хука с помощью API

Удалите веб-хук, отправив запрос DELETE по адресу /mint/organizations/{org_name}/webhooks/{webhook_id} .

Чтобы указать, следует ли принудительно удалять веб-перехватчик, если выполняются какие-либо процессы, установите параметр запроса forceDelete в true или false . Параметр запроса forceDelete включен ( true ) по умолчанию.

Например, следующая команда удаляет webhook3 :

curl -X DELETE "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \
  -H "Content-Type: application/json " \
  -u email:password

Настройка обработчика обратного вызова

Ниже показан формат JSON-запроса, отправляемого обработчику обратного вызова, определенному веб-хуком, при срабатывании уведомления о событии. Необходимо убедиться, что обработчик обратного вызова обрабатывает запрос надлежащим образом.

{
        "orgName": "{org_id}",
        "developerEmail": "{dev_email}",
        "developerFirstName": "{first_name}",
        "developerLastName": "{last_name}",
        "companyName": "{company_name}",
        "applicationName": "{app_name}",
        "packageName": "{api_package_name}",
        "packageId": "{api_package_id}",
        "ratePlanId": "{rateplan_id}",
        "ratePlanName": "{rateplan_name}",
        "ratePlanType": "{rateplan_type}",
        "developerRatePlanQuotaTarget": {quota_target},
        "quotaPercentUsed": {percentage_quota_used},
        "ratePlanStartDate": {rateplan_startdate}, 
        "ratePlanEndDate": {rateplan_enddate},
        "nextBillingCycleStartDate": {next_billing_cycle_startdate},
        "products": ["{api_product_name}","{api_product_name}"],
        "developerCustomAttributes": [],
        "triggerTime": {trigger_time},
        "triggerReason": "{trigger_reason}",
        "developerQuotaResetDate": "{devquota_resetdate}"
}

Настройка уведомлений для тарифного плана с регулируемой ставкой.

Настройте уведомления с помощью веб-хуков для тарифного плана с регулируемой стоимостью, используя пользовательский интерфейс или API .

Настройка уведомлений для тарифного плана с изменяемым тарифом с помощью пользовательского интерфейса.

Настройте уведомления с помощью веб-хуков для тарифного плана с регулируемой стоимостью, используя пользовательский интерфейс, как описано ниже.

Для выбора тарифного плана с изменяемым тарифом откройте диалоговое окно «Уведомления».

Для выбора тарифного плана с изменяемым тарифом откройте диалоговое окно «Уведомления», как описано ниже.

Край

Чтобы получить доступ к диалоговому окну уведомлений с помощью пользовательского интерфейса Edge:

  1. Создайте и опубликуйте план регулируемой частоты уведомлений, как описано в разделе «Указание сведений о плане регулируемых уведомлений» .
  2. Чтобы перейти на страницу «Тарифные планы», выберите в левой навигационной панели пункт «Публикация» > «Монетизация» > «Тарифные планы» .
  3. Наведите курсор на опубликованный тарифный план с регулируемой частотой уведомлений, чтобы отобразить необходимые действия.
  4. Нажмите +Уведомить .

    Отобразилось диалоговое окно «Уведомления».

    Примечание : Для отображения действия «+Уведомить» тарифный план должен быть опубликован.

Классический Edge (частное облако)

Чтобы перейти на страницу уведомлений:

  1. Создайте план с регулируемой частотой уведомлений, как описано в разделе «Указание параметров плана с регулируемой частотой уведомлений» .
  2. Чтобы просмотреть тарифные планы, выберите «Опубликовать» > «Пакеты» .
  3. Для выбора тарифного плана нажмите кнопку «+Уведомить» в столбце «Действия».

    Отобразилось диалоговое окно «Уведомления».

Добавление уведомлений для тарифного плана с регулируемой ставкой с помощью пользовательского интерфейса.

Чтобы добавить уведомления для тарифного плана с регулируемой ставкой, используйте следующий пользовательский интерфейс:

  1. Откройте диалоговое окно «Уведомления» .
  2. В разделе «Интервалы уведомлений» задайте условие для отправки уведомления, указав процент от целевого числа транзакций, при достижении которого должно срабатывать уведомление. В частности:
    • Чтобы задать точный процент, введите значение в поле «От/На %» и оставьте поле «До %» пустым.
    • Чтобы задать диапазон в процентах, введите начальный и конечный проценты в полях «С/На %» и «До %» соответственно, а также значение шага в поле «Шаг %» . По умолчанию уведомления отправляются с шагом в 10% в пределах указанного диапазона.

    Поле Notify At обновляется, отражая каждый процент от целевого числа транзакций, которые вызовут событие.

  3. Чтобы задать дополнительные условия уведомления, нажмите +Добавить и повторите шаг 4.
  4. В разделе «Веб-хуки» настройте действие уведомления, выбрав один или несколько веб-хуков для управления обработкой обратных вызовов при срабатывании уведомлений.
  5. Нажмите «Создать уведомление» .

Редактирование уведомлений для тарифного плана с регулируемой ставкой с помощью пользовательского интерфейса.

Для редактирования уведомлений для тарифного плана с регулируемой ставкой используйте следующий пользовательский интерфейс:

  1. Откройте диалоговое окно «Уведомления» .
  2. Для выбора тарифного плана нажмите кнопку «+Уведомить» в столбце «Действия».
  3. Нажмите «Редактировать» .
  4. При необходимости измените значения.
  5. Нажмите «Сохранить уведомление» .

Удаление уведомлений для тарифного плана с изменяемым тарифом с помощью пользовательского интерфейса.

Чтобы удалить условие уведомления и действие:

  1. Откройте диалоговое окно «Уведомления» .
  2. Для выбора тарифного плана нажмите кнопку «+Уведомить» в столбце «Действия».
  3. Нажмите «Удалить уведомление» .

Настройка уведомлений для тарифного плана с плавающей ставкой с использованием API.

Для настройки уведомлений для тарифного плана с изменяемым тарифом с использованием API выполните действия, описанные в разделе «Управление условиями и действиями уведомлений с помощью API» , и используйте атрибуты, описанные в этом разделе.

Для настройки условия уведомления ( notificationCondition ) используйте следующие значения атрибутов. Дополнительную информацию см. в разделе «Свойства конфигурации условий уведомления» .

Атрибут Ценить
RATEPLAN Идентификатор плана с регулируемой частотой уведомлений.
PUBLISHED TRUE указывает на необходимость публикации плана с регулируемой ставкой уведомлений.
UsageTarget Процент от целевого числа транзакций, при достижении которого должно срабатывать уведомление.

Этот атрибут позволяет уведомлять разработчиков о приближении к целевому количеству транзакций или о достижении им этого количества в рамках приобретенного ими тарифного плана с регулируемой ставкой уведомлений. Например, если разработчик приобрел тарифный план с регулируемой ставкой уведомлений и целевое количество транзакций для него установлено на 1000, вы можете уведомить его, когда он достигнет 800 транзакций (80% от целевого количества транзакций), 1000 транзакций (100%) или 1500 транзакций (150%).

  • Чтобы задать точный процент, введите %= n . Например, %= 80 будет отправлять уведомления, когда процент от целевого количества транзакций достигнет 80%.
  • Чтобы задать диапазон в процентах, введите начальный и конечный проценты, а также значение, на которое нужно увеличивать, следующим образом: %= start to end by n . Например, значение %= 80 to 100 by 10 позволит отправлять уведомления, когда процент от целевого количества транзакций достигнет 80%, 90% и 100%.

Для настройки действия уведомления задайте следующие значения в разделе actions . Дополнительную информацию см. в разделе «Свойства конфигурации действий уведомлений» .

Атрибут Ценить
actionAttribute WEBHOOK для запуска веб-перехватчика.
value Идентификатор веб-перехватчика, который вы определили в предыдущем разделе « Создание веб-перехватчиков с помощью API» .

Ниже приведён пример создания условия уведомления, которое запускает веб-хук, когда процент от целевого числа транзакций достигает 80%, 90%, 100%, 110% и 120%.

{
    "notificationCondition": [
      {
        "attribute": "RATEPLAN",
        "value": "123456"
      },
      {
        "attribute": "PUBLISHED",
        "value": "TRUE"
      },
      {
        "attribute": "UsageTarget",
        "value": "%= 80 to 120 by 10"
      }
    } 
    ],
   "actions": [{
          "actionAttribute": "WEBHOOK",
          "value": "b0d77596-142e-4606-ae2d-f55c3c6bfebe",
        }]
  }

Для получения информации о просмотре, обновлении и удалении условий и действий уведомления см.:

коды ответов веб-перехватчика

Ниже приведено краткое описание кодов ответов веб-перехватчика и того, как система их интерпретирует.

Код ответа Описание
2xx Успех
5xx

Запрос не выполнен. Система повторит запрос до трех раз с интервалом в 5 минут.

Примечание: Время ожидания чтения и подключения для запросов веб-хука составляет 3 секунды для каждого, что может привести к сбою запросов.

Other response Запрос не выполнен. Система не будет повторять запрос.