Уведомления о монетизации не работают

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

Симптом

Уведомления о монетизации не работают, поэтому электронные письма не отправляются подписавшимся пользователям.

Сообщение об ошибке

Письма об уведомлении о монетизации подписанным людям не будут отправлены. Сообщений об ошибках не будет.

Об уведомлениях о событиях монетизации

Монетизация поддерживает уведомления о событиях, которые позволяют:

  1. Уведомляйте всех разработчиков о таких событиях, как новые продукты, новые версии Условий и условий или новые тарифные планы.
  2. Уведомлять конкретных разработчиков о таких событиях, как публикация платежного документа или о достижении определенного процента от их целевого количества транзакций (если они приобрели тарифный план с регулируемой частотой уведомлений).
  3. Уведомлять поставщика API о событиях, связанных с разработчиком, например, когда разработчик регистрирует учетную запись или когда разработчик подписывается на тарифный план.
  4. Подробнее об этом, о том, какие существуют типы уведомлений и как их настроить, можно узнать здесь .

Предпосылки

Убедитесь, что выполнены следующие предварительные условия:

  1. Принятие тарифного плана

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

    1. Новый тарифный план
    2. Обновленный тарифный план
    3. Тарифный план с истекшим сроком действия
    4. Обновленный тарифный план
    5. Ограничение скорости превышено
    6. Исчерпанный тарифный план Freemium

      Если разработчик не принял тарифный план, эти уведомления не будут срабатывать для этого конкретного разработчика.

  2. Планировщик заданий должен запускаться для конкретного уведомления.

    Монетизация предоставляет планировщик заданий и набор заданий, которые заранее запланированы для запуска в заранее назначенное время. Планировщик заданий должен быть запущен для определенного уведомления. Если он не запущен, уведомления не будут срабатывать.

    1. Используйте инструкции, приведенные в следующем документе, чтобы узнать, запущено ли запланированное задание для определенного уведомления:

      Расписание заданий по монетизации

      Примечание. Вы всегда можете изменить расписание в зависимости от вашего варианта использования.

    2. Если запланированное задание для определенного уведомления уже запущено, но вы все еще не получаете уведомления, перейдите к разделу «Возможные причины» для дальнейшего устранения этой проблемы.
    3. Если нет, подождите, пока не запустится запланированное задание для конкретного уведомления.

Возможные причины

Некоторые из возможных причин этой проблемы:

Причина Описание Инструкции по устранению неполадок, применимые для
Неверная конфигурация SMTP Предоставленная конфигурация SMTP неверна. Пользователи пограничного частного облака

График работы уведомлений

Задание уведомления не запущено. Пользователи Edge Public Cloud и Private Cloud

Причина 1: неправильная конфигурация SMTP

Диагноз

  1. Проверьте файл /opt/apigee/edge-mint-management-server/conf/apix-mint.properties и убедитесь, что следующие свойства SMTP установлены правильно.
    mint.notification.javaMail.properties={"mail.smtp.host": "smtp.gmail.com",
    "mail.smtp.port": "465", "mail.smtp.starttls.enable": "true", "mail.smtp.auth": "true", "mail.smtp.username": "blah@gmail.com", "mail.smtp.password": "blah" }
    
  2. Проверьте правильность SMTP-сервера и пользовательских настроек. Если эти настройки неверны или не установлены, перейдите к шагу №3. Если это правильно, перейдите к шагу № 4.
  3. Правильно обновите SMTP-сервер и пользовательские настройки, следуя инструкциям в следующем документе:

    /private-cloud/latest/configuring-edge-smtp-server

  4. Еще раз проверьте, работают ли теперь уведомления о монетизации. Если нет, перейдите к шагу 5.
  5. Если настройки SMTP верны, запустите вызов API просмотра отправленных уведомлений , чтобы увидеть статус отправленного уведомления.
    1. Этот API возвращает JSON со всеми запущенными уведомлениями и статусом каждого из них.
    2. Пример JSON приведен ниже:
      {
              "hasMoreItems" : false,
              "notifications" : [ {
              "fromAlias" : "No Reply",
              "fromEmail" : "****@apigee.com",
              "id" : "4e2d0d9a-69a4-4430-957d-02fa2a3cb581",
              "notificationType" : "EMAIL",
              "orgId" : "myorg",
              "rawMessage" : "...",
              "retryCount" : 0,
              "retryStatuses" : [ {
                   "responseCode" : 0,
                   "responseMessage" : "{\"Headers\":null,\"Content : \":null,\"StatusCode\":\"0\"}",
                   "retriedAt" : 1518605291092,
                   "retryAttempt" : 0
              } ],
              "source" : "MailTo: [****@blah.com], Org: [myorg], EventType: [UPDATE_DEVELOPER]",
              "status" : "FAILED",
              "subject" : "Notification of developer changing company details",
              "templateId" : "814315c8-d8ca-4b3e-90bb-a8366600e625",
              "templateName" : "DEFAULT_UPDATE_DEVELOPER_TEMPLATE",
              "templateParametersJSON" : "{\"developer.legalName\":\"\",\"developer.name\":\"John Smith\"}",
              "toAlias" : "***@blah.com",
              "toEmail" : "***@blah.com",
              "unsubscribeURL" : "..."
      }
      

      Если вы проверите JSON, он покажет статус «FAILED» для вышеупомянутого конкретного уведомления «Update Developer» .

  6. Возможно, это вызвано тем, что SMTP-сервер и порт могут быть недоступны с сервера управления. Используйте команду telnet, чтобы проверить, можете ли вы подключиться к указанному SMTP-серверу через указанный порт.
    telnet <SMTP-server-IP-address> <SMTP-Port#>
    

    Если вы получаете сообщение об ошибке «Время ожидания подключения истекло» или «Отказано в подключении» для вывода telnet, перейдите к разделу «Решение».

Разрешение

  1. Обратитесь к своему сетевому администратору и убедитесь, что SMTP-сервер может принимать соединения с других компьютеров, а также что определенный порт открыт для связи с внешним миром.
  2. Если проблема не устранена, перейдите к разделу «Обязательно собрать диагностическую информацию».

Причина 2: Расписание заданий уведомлений

Задание уведомления не запущено.

Диагноз

  1. Выполните следующий вызов API, чтобы просмотреть все текущие запланированные задания монетизации.

    /monetize/apis/получить/триггеры

  2. Проверьте, присутствует ли условие уведомления и включено ли оно для уведомления, которое не работает. Если его нет, перейдите к шагу №3, чтобы создать условие уведомления, и пропустите остальные шаги.
    1. Если он присутствует, проверьте, включен ли он в true. Если нет, запустите Обновление условия уведомления и API действий , чтобы обновить условие уведомления.

      ИЛИ

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

      Пользовательский интерфейс событий

    3. Запустите вызов API создания условия уведомления и действия , чтобы создать соответствующее условие уведомления и соответствующее действие.
      1. После создания условия уведомления запустите API-вызов списка условий уведомления и действий , чтобы проверить, было ли создано условие уведомления.
      2. Вы также можете повторно обработать уведомление с помощью API повторной обработки уведомления .
    4. Этот шаг применим только для пользователей частного облака . Если условие уведомления присутствует из шага № 1, а электронные письма с уведомлением по-прежнему не приходят, проверьте журнал сервера управления /opt/apigee/var/log/edge-management-server/logs/system.log и посмотрите, не пришло ли уведомление. состояние сработало.
      grep "Executing Mint Scheduler" /opt/apigee/var/log/edge-management-server/logs/system.log | grep  -o  "Executing Mint Scheduler : \[.*\]" | grep -v "for org : \[null\]" |sort | uniq -c
      
    5. Если условие уведомления срабатывает, а вы по-прежнему не получаете уведомления, перейдите к разделу «Необходимо собрать диагностическую информацию» с информацией и выходными данными из описанных выше шагов.

Разрешение

  1. Повторно обработать уведомление с помощью API повторной обработки уведомления.

Необходимо собрать диагностическую информацию

Если проблема не устранена даже после выполнения приведенных выше инструкций, обратитесь в службу поддержки Apigee Edge и предоставьте следующую диагностическую информацию.

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

  1. Название организации
  2. Имя среды
  3. Условие уведомления о монетизации, которое не сработало
  4. Подробная информация о том, какие разделы этого Playbook были опробованы, и любая другая информация, которая поможет нам ускорить решение этой проблемы.

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

  • Журнал сервера управления

    /opt/apigee/var/log/edge-management-server/logs/system.log