Konfigurowanie powiadomień za pomocą webhooków

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

Co to jest webhook?

Webhook definiuje wywołanie zwrotne HTTP, które jest wywoływane przez zdarzenie. Możesz tworzyć webhooki i konfigurować je do obsługi powiadomień o wystąpieniu zdarzeń zamiast korzystać z szablonów powiadomień o zarabianiu, jak opisano w artykule Konfigurowanie powiadomień za pomocą szablonów powiadomień.

Aby skonfigurować powiadomienia za pomocą webhooków, wykonaj te czynności, korzystając z interfejsu zarządzania Edge lub interfejsu API do zarządzania i zarabiania:

  1. Dodaj webhooki, które definiują funkcje obsługi wywołania zwrotnego dla zdarzeń powiadomienia za pomocą interfejsu użytkownika lub interfejsu API.
  2. Skonfiguruj moduł obsługi wywołania zwrotnego.
  3. Skonfiguruj powiadomienie dla elastycznego planu cenowego, korzystając z interfejsu użytkownika lub interfejsu API.

Zarządzanie webhookami

Dodawaj webhooki i zarządzaj nimi, aby definiować funkcje wywołania zwrotnego dla zdarzeń powiadomienia za pomocą interfejsu użytkownika lub interfejsu API.

Zarządzanie webhookami za pomocą interfejsu użytkownika

Dodawaj webhooki i zarządzaj nimi, aby definiować moduły obsługi wywołania zwrotnego dla zdarzeń powiadomienia, korzystając z interfejsu użytkownika w sposób opisany w następnych sekcjach.

Poznawanie strony Webhooks

Otwórz stronę webhooki zgodnie z opisem poniżej.

Edge

Aby otworzyć stronę webhooków za pomocą interfejsu Edge:

  1. Zaloguj się na stronie apigee.com/edge.
  2. Na pasku nawigacyjnym po lewej stronie kliknij Opublikuj > Generowanie przychodu > Webhooki.

Pojawi się strona Webhooks.

Jak widać na rysunku, na stronie webhooków możesz:

Classic Edge (Private Cloud)

Aby otworzyć stronę webhooków za pomocą klasycznego interfejsu Edge:

  1. Zaloguj się na stronie http://ms-ip:9000, gdzie ms-ip to adres IP lub nazwa DNS węzła serwera zarządzania.
  2. Kliknij Administracja > Webhooki.

Pojawi się strona Webhooks.

Strona Webhooki umożliwia:

Dodawanie webhooka za pomocą interfejsu

Aby dodać webhooka za pomocą interfejsu użytkownika:

  1. Otwórz stronę Webhooki.
  2. Kliknij + Webhook.
  3. Podaj te informacje (wszystkie pola są wymagane).
    Pole Opis
    Nazwa Nazwa webhooka.
    URL Adres URL wywołania zwrotnego, które zostanie wywołane po aktywowaniu powiadomienia o zdarzeniu. Zobacz Konfigurowanie modułu obsługi wywołania zwrotnego.
  4. Kliknij Zapisz.

Webhook zostanie dodany do listy i domyślnie włączony.

Edytowanie webhooka za pomocą interfejsu użytkownika

Aby edytować webhook za pomocą interfejsu:

  1. Otwórz stronę webhooków.
  2. Najedź kursorem na webhooka, który chcesz edytować, i kliknij w menu czynności.
  3. Zmodyfikuj pola webhooka zgodnie z wymaganiami.
  4. Kliknij Zaktualizuj webhook.

włączanie i wyłączanie webhooka za pomocą interfejsu użytkownika.

Aby włączyć lub wyłączyć webhooka za pomocą interfejsu użytkownika:

  1. Otwórz stronę Webhooki.
  2. Najedź kursorem na webhooka i włącz go lub wyłącz, przełączając przełącznik.

Usuwanie webhooka za pomocą interfejsu

Aby usunąć webhooka za pomocą UI:

  1. Otwórz stronę Webhooki.
  2. Najedź kursorem na webhooka, który chcesz usunąć, i kliknij .

Webhook zostanie usunięty z listy.

Zarządzanie webhookami za pomocą interfejsu API

Dodaj webhooki i zarządzaj nimi za pomocą interfejsu API w sposób opisany w sekcjach poniżej.

Wyświetlanie wszystkich webhooków za pomocą interfejsu API

Aby wyświetlić wszystkie webhooki, wyślij żądanie GET do adresu /mint/organizations/{org_name}/webhooks. Na przykład:

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

Poniżej podano przykład odpowiedzi:

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

  ]
}

Wyświetlanie webhooka za pomocą interfejsu API

Wyświetl pojedynczego webhooka, wysyłając żądanie GET do usługi /mint/organizations/{org_name}/webhooks/{webhook_id}.

Na przykład:

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

Poniżej przedstawiamy przykład odpowiedzi:

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

Dodawanie webhooka za pomocą interfejsu API

Aby dodać webhooka, wyślij żądanie POST do adresu /mint/organizations/{org_name}/webhooks. Musisz przekazać nazwę webhooka i adres URL wywołania zwrotnego, które zostanie wywołane po wywołaniu powiadomienia o zdarzeniu.

Poniższy przykład powoduje utworzenie webhooka o nazwie webhook3 i przypisanie do niego parametru 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

Poniżej przedstawiamy przykład odpowiedzi:

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

Edytowanie webhooka za pomocą interfejsu API

Aby edytować webhooka, wyślij żądanie PUT do adresu /mint/organizations/{org_name}/webhooks/{webhook_id}. Przekaż aktualizacje w treści żądania.

Na przykład ten kod aktualizuje moduł obsługi wywołania zwrotnego powiązany z elementem 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

Poniżej przedstawiamy przykład odpowiedzi:

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

włączanie i wyłączanie webhooka za pomocą interfejsu API.

Włącz lub wyłącz webhooka, wysyłając żądanie POST do adresu /mint/organizations/{org_name}/webhooks/{webhook_id}, tak jak podczas aktualizowania webhooka, i odpowiednio ustawiając w treści żądania atrybut enabled na wartość true lub false. Jeśli wyłączysz webhook, nie będzie on uruchamiany po wystąpieniu zdarzenia.

Na przykład: 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

Poniżej przedstawiamy przykład odpowiedzi:

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

Usuwanie webhooka za pomocą interfejsu API

Aby usunąć webhooka, wyślij żądanie DELETE do adresu /mint/organizations/{org_name}/webhooks/{webhook_id}.

Aby określić, czy chcesz wymuszać usunięcie webhooka w przypadku trwających procesów, ustaw parametr zapytania forceDelete na true lub false. Parametr zapytania forceDelete jest domyślnie włączony (true).

Na przykład ta instrukcja usuwa 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

Konfigurowanie modułu obsługi wywołania zwrotnego

Poniżej przedstawiono format żądania JSON wysyłanego do wywołania zwrotnego określonego przez webhooka po wywołaniu powiadomienia o zdarzeniu. Musisz się upewnić, że moduł obsługi wywołań zwrotnych prawidłowo przetwarza żądanie.

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

Konfigurowanie powiadomień dla elastycznego planu cenowego

Skonfiguruj powiadomienia za pomocą webhooków w przypadku regulowanego planu cenowego, korzystając z interfejsu użytkownika lub interfejsu API.

Konfigurowanie powiadomień dla elastycznego planu cenowego za pomocą interfejsu

Aby skonfigurować powiadomienia za pomocą wywołań zwrotnych w przypadku planu cenowego z możliwością zmiany stawki, skorzystaj z interfejsu użytkownika w sposób opisany poniżej.

Otwieranie okna Powiadomienia w przypadku abonamentu z możliwością zmiany stawki

Otwórz okno Powiadomienia dla elastycznego planu cenowego, jak opisano poniżej.

Edge

Aby otworzyć okno powiadomień w interfejsie Edge:

  1. Utwórz i opublikuj plan stawek powiadomień z możliwością zmiany, zgodnie z opisem w artykule Określanie szczegółów planu powiadomień z możliwością zmiany.
  2. Aby otworzyć stronę cennika, na pasku nawigacyjnym po lewej stronie kliknij Opublikuj > Generowanie przychodu > Cennik.
  3. Aby wyświetlić działania, najedź kursorem na opublikowany plan częstotliwości powiadomień z możliwością dostosowania.
  4. Kliknij +Powiadom.

    Pojawi się okno Powiadomienia.

    Uwaga: aby możliwe było wyświetlenie działania +Powiadom, plan stawek musi zostać opublikowany.

Classic Edge (Private Cloud)

Aby uzyskać dostęp do strony Powiadomienia:

  1. Utwórz plan stawek powiadomień z możliwością zmiany, zgodnie z opisem w sekcji Określanie szczegółów planu stawek powiadomień z możliwością zmiany.
  2. Aby wyświetlić cenniki, wybierz Opublikuj > Pakiety.
  3. W kolumnie „Działania” w ramach planu cenowego kliknij +Powiadomienie.

    Wyświetli się okno Powiadomienia.

Dodawanie powiadomień dotyczących planu dostosowywanych stawek za pomocą interfejsu użytkownika

Aby dodać powiadomienia dla elastycznego planu cenowego w interfejsie:

  1. Otwórz okno Powiadomienia.
  2. Ustaw warunek powiadomienia w sekcji Interwały powiadomień, podając procent docelowej liczby transakcji, po której chcesz, aby powiadomienie zostało uruchomione. Więcej szczegółów:
    • Aby ustawić dokładny odsetek, wpisz go w polu W przypadku/Od %, a pole Do % pozostaw puste.
    • Aby ustawić zakres procentowy, wpisz odpowiednio wartości początkową i końcową w polach W/Z % i Do % oraz wartość przyrostu w polu Krok %. Domyślnie powiadomienia są wysyłane co 10% w określonym zakresie.

    Pole Notify At jest aktualizowane, aby odzwierciedlać odsetek docelowej liczby transakcji, które wywołają zdarzenie.

  3. Aby ustawić dodatkowe warunki powiadomienia, kliknij +Dodaj i powtórz krok 4.
  4. Ustaw działanie powiadomienia w sekcji Webhooki, wybierając co najmniej 1 webhooka do zarządzania obsługą wywołań zwrotnych po aktywowaniu powiadomień.
  5. Kliknij Utwórz powiadomienie.

Edytowanie powiadomień dotyczących planu z możliwością dostosowania za pomocą interfejsu użytkownika

Aby edytować powiadomienia dla elastycznego planu cenowego w interfejsie:

  1. Otwórz okno Powiadomienia.
  2. W kolumnie „Działania” w ramach planu cenowego kliknij +Powiadomienie.
  3. Kliknij Edytuj.
  4. W razie potrzeby zmień wartości.
  5. Kliknij Zapisz powiadomienie.

Usuwanie powiadomień dotyczących elastycznego planu cenowego za pomocą interfejsu

Aby usunąć warunek i działanie powiadomienia:

  1. Otwórz okno Powiadomienia.
  2. W kolumnie „Działania” w ramach planu cenowego kliknij +Powiadomienie.
  3. Kliknij Usuń powiadomienie.

Konfigurowanie powiadomień dla regulowanego planu cenowego za pomocą interfejsu API

Aby skonfigurować powiadomienie o regulowanym planie stawek za pomocą interfejsu API, wykonaj czynności opisane w artykule Zarządzanie akcjami i warunkami powiadomień za pomocą interfejsu API, używając atrybutów opisanych w tej sekcji.

Aby skonfigurować warunek powiadomienia (notificationCondition), użyj poniższych wartości atrybutów. Więcej informacji znajdziesz w artykule Właściwości konfiguracji warunków powiadomień.

Atrybut Wartość
RATEPLAN Identyfikator abonamentu z możliwością zmiany częstotliwości wysyłania powiadomień.
PUBLISHED TRUE wskazuje, że plan dotyczący dostosowanych stawek powiadomień musi zostać opublikowany.
UsageTarget Odsetek docelowej liczby transakcji, kiedy ma być wyzwalane powiadomienie.

Ten atrybut umożliwia powiadomienie deweloperów, gdy zbliżają się do docelowej liczby transakcji w ramach zakupionego przez nich planu karty z regulowaną częstotliwością powiadomień lub gdy ją osiągną. Jeśli na przykład deweloper kupił plan z możliwością zmiany częstotliwości wysyłania powiadomień, a docelowa liczba transakcji została ustawiona na 1000, możesz wysłać powiadomienie, gdy deweloper osiągnie 800 transakcji (80% docelowej liczby transakcji), 1000 transakcji (100% docelowej liczby transakcji) lub 1500 transakcji (150% docelowej liczby transakcji).

  • Aby ustawić dokładną wartość procentową, wpisz %= n. Na przykład %= 80 będzie wysyłać powiadomienia, gdy odsetek docelowej liczby transakcji osiągnie 80%.
  • Aby ustawić zakres procentowy, wpisz wartość początkową i końcową oraz wartość, o którą chcesz zwiększać wartość: %= start to end by n. Na przykład wartość %= 80 to 100 by 10 spowoduje wysyłanie powiadomień, gdy odsetek docelowej liczby transakcji osiągnie 80%, 90% i 100%.

Aby skonfigurować działanie powiadomienia, w sekcji actions ustaw te wartości. Więcej informacji znajdziesz w artykule Właściwości konfiguracji działań związanych z powiadomieniami.

Atrybut Wartość
actionAttribute WEBHOOK, aby wywołać webhook.
value Identyfikator webhooka określonego w poprzedniej sekcji – Tworzenie webhooków przy użyciu interfejsu API.

Poniżej znajdziesz przykładowy sposób tworzenia warunku powiadomienia, który uruchamia webhook, gdy odsetek docelowej liczby transakcji osiąga 80%, 90%, 100%, 110% lub 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",
        }]
  }

Informacje o wyświetlaniu, aktualizowaniu i usuwaniu warunku oraz działania związanego z powiadomieniami znajdziesz w tych artykułach:

Kody odpowiedzi webhooka

Poniżej znajdziesz podsumowanie kodów odpowiedzi webhooka i sposób ich interpretacji przez system.

Kod odpowiedzi Opis
2xx Sukces
5xx

Żądanie nie powiodło się. System będzie powtarzać próbę do 3 razy w odstępach 5-minutowych.

Uwaga: czas oczekiwania na odczyt i na połączenie w przypadku żądań webhooka wynosi 3 sekundy, co może powodować niepowodzenia żądań.

Other response Żądanie nie powiodło się. System nie będzie powtarzać próby.