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

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

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

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

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

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

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

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

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

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

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

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

Край

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

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

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

Как показано на рисунке, страница Webhooks позволяет:

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

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

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

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

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

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

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

  1. Откройте страницу вебхуков .
  2. Нажмите + Вебхук .
  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} , как вы это делали при обновлении веб-перехватчика, и установите для включенного атрибута в теле запроса значение 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. Установите условие уведомления в разделе «Интервалы уведомлений» , указав процент от целевого количества транзакций, в которое вы хотите, чтобы уведомление было активировано. Конкретно:
    • Чтобы установить точный процент, введите процент в поле «От/От %» и оставьте поле «До %» пустым.
    • Чтобы установить процентный диапазон, введите начальный и конечный процент в полях At/From % и To % соответственно, а также значение приращения в поле Step % . По умолчанию уведомления отправляются с шагом 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 Неудачный запрос. Система не будет повторять запрос.