Konfigurowanie powiadomień za pomocą webhooków

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

Co to jest webhook?

Webhook definiuje moduł obsługi wywołań zwrotnych HTTP, który jest wywoływany przez zdarzenie. Możesz tworzyć webhooki i konfigurować je do obsługi powiadomień o zdarzeniach jako alternatywę dla korzystania z szablonów powiadomień o zarabianiu, zgodnie z opisem w artykule Konfigurowanie powiadomień za pomocą szablonów powiadomień.

Aby skonfigurować powiadomienia za pomocą webhooków, wykonaj te czynności w interfejsie zarządzania Edge UI lub w interfejsie Management and Monetization API:

  1. Dodaj webhooki, które definiują moduły obsługi wywołań zwrotnych dla zdarzeń powiadomień, za pomocą interfejsu lub interfejsu API.
  2. Skonfiguruj moduł obsługi wywołań zwrotnych.
  3. Skonfiguruj powiadomienie dla planu z regulowaną stawką za pomocą interfejsu użytkownika lub interfejsu API.

Zarządzanie webhookami

Dodawaj webhooki i zarządzaj nimi, aby definiować moduły obsługi wywołań zwrotnych dla zdarzeń powiadomień, za pomocą interfejsu lub interfejsu API.

Zarządzanie webhookami za pomocą interfejsu

Dodawaj webhooki i zarządzaj nimi, aby definiować moduły obsługi wywołań zwrotnych dla zdarzeń powiadomień, za pomocą interfejsu, zgodnie z opisem w sekcjach poniżej.

Poznawanie strony Webhooks

Otwórz stronę Webhooks w sposób opisany poniżej.

Edge

Aby otworzyć stronę Webhooks za pomocą interfejsu Edge:

  1. Zaloguj się na apigee.com/edge.
  2. Na pasku nawigacji po lewej stronie wybierz Opublikuj > Zarabianie > Webhooki.

Wyświetli się strona Webhooks.

Jak widać na ilustracji, strona Webhooks umożliwia:

Classic Edge (Private Cloud)

Aby otworzyć stronę Webhooks za pomocą interfejsu Classic Edge:

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

Wyświetli się strona Webhooks.

Strona Webhooks umożliwia:

Dodawanie webhooka za pomocą interfejsu

Aby dodać webhooka za pomocą interfejsu:

  1. Otwórz stronę Webhooks.
  2. Kliknij + Webhook.
  3. Wpisz te informacje (wszystkie pola są wymagane).
    Pole Opis
    Nazwa Nazwa webhooka.
    URL Adres URL modułu obsługi wywołań zwrotnych, który zostanie wywołany po wywołaniu powiadomienia o zdarzeniu. Zobacz Konfigurowanie modułu obsługi wywołań zwrotnych.
  4. Kliknij Zapisz.

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

Edytowanie webhooka za pomocą interfejsu

Aby edytować webhooka za pomocą interfejsu:

  1. Otwórz stronę Webhooks.
  2. Najedź kursorem na webhooka, którego chcesz edytować, i w menu czynności kliknij .
  3. W razie potrzeby edytuj pola webhooka.
  4. Kliknij Aktualizuj webhooka.

Włączanie i wyłączanie webhooka za pomocą interfejsu

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

  1. Otwórz stronę Webhooks.
  2. Najedź kursorem na webhooka i kliknij przełącznik stanu, aby go włączyć lub wyłączyć.

Usuwanie webhooka za pomocą interfejsu

Aby usunąć webhooka za pomocą interfejsu:

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

Webhook zostanie usunięty z listy.

Zarządzanie webhookami za pomocą interfejsu API

Dodawaj webhooki i zarządzaj nimi za pomocą interfejsu API zgodnie z opisem 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. Przykład:

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

Oto przykład zwróconej 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

Aby wyświetlić pojedynczy webhook, wyślij żądanie GET do /mint/organizations/{org_name}/webhooks/{webhook_id}.

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

Oto 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 modułu obsługi wywołań zwrotnych, który zostanie wywołany po wywołaniu powiadomienia o zdarzeniu.

Na przykład ten kod tworzy webhooka o nazwie webhook3 i przypisuje callbackhandler3 do niego:

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

Oto 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 /mint/organizations/{org_name}/webhooks/{webhook_id}. Przekaż aktualizacje w treści żądania.

Na przykład ten kod aktualizuje moduł obsługi wywołań zwrotnych powiązany z 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

Oto 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

Aby włączyć lub wyłączyć webhooka, wyślij żądanie POST do /mint/organizations/{org_name}/webhooks/{webhook_id}, tak jak w przypadku aktualizowania webhooka, i ustaw odpowiednio atrybut enabled w treści żądania na true lub false. Jeśli wyłączysz webhooka, nie zostanie on wywołany, gdy wystąpi zdarzenie.

Na przykład ten kod włącza 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

Oto 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 /mint/organizations/{org_name}/webhooks/{webhook_id}.

Aby określić, czy wymusić usunięcie webhooka, jeśli są w toku jakieś procesy, ustaw parametr zapytania forceDelete na true lub false. Parametr zapytania forceDelete jest domyślnie włączony (true) .

Na przykład ten kod 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łań zwrotnych

Poniżej przedstawiamy format żądania JSON, które jest wysyłane do modułu obsługi wywołań zwrotnych zdefiniowanego przez webhooka, gdy zostanie wywołane powiadomienie o zdarzeniu. Musisz się upewnić, że moduł obsługi wywołań zwrotnych odpowiednio 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 planu z regulowaną stawką

Skonfiguruj powiadomienia za pomocą webhooków dla planu z regulowaną stawką za pomocą interfejsu lub interfejsu API.

Konfigurowanie powiadomień dla planu z regulowaną stawką za pomocą interfejsu

Skonfiguruj powiadomienia za pomocą webhooków dla planu z regulowaną stawką za pomocą interfejsu w sposób opisany poniżej.

Otwieranie okna dialogowego Notifications dla planu z regulowaną stawką

Otwórz okno dialogowe Notifications dla planu z regulowaną stawką w sposób opisany poniżej.

Edge

Aby otworzyć okno dialogowe powiadomień za pomocą interfejsu Edge:

  1. Utwórz i opublikuj plan z regulowaną stawką powiadomień zgodnie z opisem w artykule Określanie szczegółów planu z regulowaną stawką powiadomień.
  2. Otwórz stronę Rate Plans, klikając Opublikuj > Zarabianie > Plany stawek na pasku nawigacji po lewej stronie.
  3. Najedź kursorem na opublikowany plan z regulowaną stawką powiadomień, aby wyświetlić działania.
  4. Kliknij +Powiadom.

    Wyświetli się okno dialogowe Notifications.

    Uwaga: aby wyświetlić działanie +Powiadom, plan stawek musi być opublikowany.

Classic Edge (Private Cloud)

Aby otworzyć stronę Notifications:

  1. Utwórz plan z regulowaną stawką powiadomień zgodnie z opisem w artykule Określanie szczegółów planu z regulowaną stawką powiadomień.
  2. Aby wyświetlić plany stawek, kliknij Opublikuj > Pakiety.
  3. W kolumnie Działania planu stawek kliknij +Powiadom.

    Wyświetli się okno dialogowe Notifications.

Dodawanie powiadomień dla planu z regulowaną stawką za pomocą interfejsu

Aby dodać powiadomienia dla planu z regulowaną stawką za pomocą interfejsu:

  1. Otwórz okno dialogowe Notifications.
  2. Ustaw warunek powiadomienia w sekcji Notification Intervals (Interwały powiadomień), określając procent docelowej liczby transakcji, po osiągnięciu którego chcesz wywołać powiadomienie. W szczególności:
    • Aby ustawić dokładny procent, wpisz go w polu At/From % i pozostaw puste pole To %.
    • Aby ustawić zakres procentowy, wpisz odpowiednio procent początkowy i końcowy w polach At/From % (Przy/Od %) i To % (Do %), a wartość przyrostu w polu Step % (Krok %). Domyślnie powiadomienia są wysyłane w przedziałach 10% w określonym zakresie.

    Pole Notify At jest aktualizowane, aby odzwierciedlać każdy procent docelowej liczby transakcji, który spowoduje wywołanie zdarzenia.

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

Edytowanie powiadomień dla planu z regulowaną stawką za pomocą interfejsu

Aby edytować powiadomienia dla planu z regulowaną stawką za pomocą interfejsu:

  1. Otwórz okno dialogowe Notifications.
  2. W kolumnie Działania planu stawek kliknij +Powiadom.
  3. Kliknij Edytuj.
  4. W razie potrzeby zmień wartości.
  5. Kliknij Zapisz powiadomienie.

Usuwanie powiadomień dla planu z regulowaną stawką za pomocą interfejsu

Aby usunąć warunek i działanie powiadomienia:

  1. Otwórz okno dialogowe Notifications.
  2. W kolumnie Działania planu stawek kliknij +Powiadom.
  3. Kliknij Usuń powiadomienie.

Konfigurowanie powiadomień dla planu z regulowaną stawką za pomocą interfejsu API

Aby skonfigurować powiadomienie dla planu z regulowaną stawką za pomocą interfejsu API, wykonaj czynności opisane w artykule Zarządzanie warunkami i działaniami powiadomień za pomocą interfejsu API i użyj atrybutów opisanych w tej sekcji.

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

Atrybut Wartość
RATEPLAN Identyfikator planu z regulowaną stawką powiadomień.
PUBLISHED TRUE aby wskazać, że plan z regulowaną stawką powiadomień musi być opublikowany.
UsageTarget Procent docelowej liczby transakcji, po osiągnięciu którego chcesz wywołać powiadomienie.

Ten atrybut umożliwia powiadamianie deweloperów, gdy zbliżają się do docelowej liczby transakcji lub ją osiągnęli w przypadku planu z regulowaną stawką powiadomień, który kupili. Jeśli na przykład deweloper kupił plan z regulowaną stawką powiadomień i docelowa liczba transakcji została ustawiona na 1000, możesz powiadomić go, gdy osiągnie 800 transakcji (80% docelowej liczby transakcji), 1000 transakcji (100%) lub 1500 transakcji (150%).

  • Aby ustawić dokładny procent, wpisz %= n. Na przykład %= 80 spowoduje wysłanie powiadomień, gdy procent docelowej liczby transakcji osiągnie 80%.
  • Aby ustawić zakres procentowy, wpisz procent początkowy i końcowy oraz wartość, o którą należy zwiększyć, w ten sposób: %= start to end by n. Na przykład wartość %= 80 to 100 by 10 spowoduje wysłanie powiadomień, gdy procent 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ń powiadomień.

Atrybut Wartość
actionAttribute WEBHOOK, aby wywołać webhooka.
value Identyfikator webhooka zdefiniowanego w poprzedniej sekcji Tworzenie webhooków za pomocą interfejsu API.

Poniżej znajdziesz przykład tworzenia warunku powiadomienia, który wywołuje webhooka, gdy procent docelowej liczby transakcji osiągnie 80%, 90%, 100%, 110%, i 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 i działania powiadomienia, znajdziesz w tych artykułach:

Kody odpowiedzi webhooka

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

Kod odpowiedzi Opis
2xx Sukces
5xx

Nieudane żądanie. System ponowi próbę wysłania żądania maksymalnie 3 razy w odstępach 5-minutowych.

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

Other response Nieudane żądanie. System nie ponowi próby wysłania żądania.