Webhook kullanarak bildirim ayarlama

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Webhook nedir?

webhook, bir etkinlik tarafından tetiklenen bir HTTP geri çağırma işleyicisini tanımlar. Para kazanma bildirim şablonlarını kullanmaya alternatif olarak, Bildirim şablonlarını kullanarak bildirim ayarlama bölümünde açıklandığı gibi webhook'lar oluşturabilir ve bunları etkinlik bildirimlerini işleyecek şekilde yapılandırabilirsiniz.

Webhook kullanarak bildirim ayarlamak için Edge Management kullanıcı arayüzünü veya Management and Monetization API'yi kullanarak aşağıdaki adımları tamamlayın:

  1. UI veya API'yi kullanarak bildirim etkinlikleri için geri çağırma işleyicilerini tanımlayan webhook'lar ekleyin.
  2. Geri çağırma işleyiciyi ayarlayın.
  3. Kullanıcı arayüzü veya API'yi kullanarak ayarlanabilir bir ücret planı için bildirim oluşturun.

Webhook'ları yönetme

UI veya API'yi kullanarak bildirim etkinlikleri için geri çağırma işleyicilerini tanımlayan webhook'lar ekleyin ve yönetin.

Kullanıcı arayüzünü kullanarak webhook'ları yönetme

Aşağıdaki bölümlerde açıklandığı gibi, kullanıcı arayüzünü kullanarak bildirim etkinlikleri için geri çağırma işleyicilerini tanımlayan webhook'lar ekleyin ve yönetin.

Webhooks sayfasını keşfetme

Aşağıda açıklandığı şekilde Webhooks sayfasına erişin.

Edge

Edge kullanıcı arayüzünü kullanarak Webhook'lar sayfasına erişmek için:

  1. apigee.com/edge adresinde oturum açın.
  2. Sol gezinme çubuğunda Yayınla > Para Kazanma > Webhook'lar'ı seçin.

Webhook'lar sayfası görüntülenir.

Şekilde vurgulandığı gibi, Webhook'lar sayfası şunları yapmanıza olanak tanır:

Klasik Edge (Private Cloud)

Klasik Edge kullanıcı arayüzünü kullanarak Webhook'lar sayfasına erişmek için:

  1. http://ms-ip:9000 üzerinde oturum açın. Burada ms-ip, Yönetim Sunucusu düğümünün IP adresi veya DNS adıdır.
  2. Yönetici > Webhook'lar öğesini seçin.

Webhook'lar sayfası görüntülenir.

Webhook'lar sayfası aşağıdakileri yapmanıza olanak tanır:

Kullanıcı arayüzünü kullanarak webhook ekleme

Kullanıcı arayüzünü kullanarak webhook eklemek için:

  1. Webhooks sayfasına erişin.
  2. + Webhook'u tıklayın.
  3. Aşağıdaki bilgileri girin (tüm alanlar zorunludur).
    Alan Açıklama
    Ad Webhook'un adı.
    Url Etkinlik bildirimi tetiklendiğinde çağrılacak geri çağırma işleyicinin URL'si. Geri çağırma işleyiciyi ayarlama konusuna bakın.
  4. Kaydet'i tıklayın.

Webhook, listeye eklenir ve varsayılan olarak etkinleştirilir.

Kullanıcı arayüzünde bir webhook'u düzenleme

Kullanıcı arayüzünü kullanarak bir webhook'u düzenlemek için:

  1. Webhooks sayfasına erişin.
  2. İmlecinizi düzenlemek istediğiniz webhook'un üzerine getirin ve işlemler menüsünde simgesini tıklayın.
  3. Webhook alanlarını gerektiği gibi düzenleyin.
  4. Webhook'u Güncelle'yi tıklayın.

Kullanıcı arayüzünü kullanarak webhook'u etkinleştirme veya devre dışı bırakma

Kullanıcı arayüzünü kullanarak bir webhook'u etkinleştirmek veya devre dışı bırakmak için:

  1. Webhooks sayfasına erişin.
  2. İmlecinizi webhook'un üzerine getirin ve etkinleştirmek veya devre dışı bırakmak üzere durum anahtarını açın/kapatın.

Kullanıcı arayüzünü kullanarak webhook silme

Kullanıcı arayüzünü kullanarak bir webhook'u silmek için:

  1. Webhooks sayfasına erişin.
  2. İmleci, silmek istediğiniz webhook'un üzerine getirin ve (Tamam) seçeneğini tıklayın.

Webhook silinir ve listeden kaldırılır.

API'yi kullanarak webhook'ları yönetme

API'yi kullanarak webhook'ları aşağıdaki bölümlerde açıklandığı şekilde ekleyip yönetin.

API'yi kullanarak tüm webhook'ları görüntüleme

/mint/organizations/{org_name}/webhooks için bir GET isteği göndererek tüm webhook'ları görüntüleyin. Örneğin:

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

Aşağıda, döndürülen yanıtla ilgili bir örnek verilmiştir:

{
  "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 kullanarak webhook görüntüleme

/mint/organizations/{org_name}/webhooks/{webhook_id} için GET isteği göndererek tek bir webhook'u görüntüleyin.

Örneğin:

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

Aşağıda yanıtla ilgili bir örnek yer almaktadır:

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

API kullanarak webhook ekleme

/mint/organizations/{org_name}/webhooks sitesine POST isteği göndererek webhook ekleyin. Etkinlik bildirimi tetiklendiğinde çağrılacak olan webhook'un adını ve geri çağırma işleyicinin URL'sini iletmeniz gerekir.

Örneğin, aşağıdaki kod webhook3 adlı bir webhook oluşturur ve webhook'a callbackhandler3 atar:

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

Aşağıda yanıtla ilgili bir örnek yer almaktadır:

{
  "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 kullanarak webhook düzenleme

/mint/organizations/{org_name}/webhooks/{webhook_id} için POST isteği göndererek webhook'u düzenleyin. Güncellemeleri, isteğin gövde metnine iletin.

Örneğin, aşağıda webhook1 ile ilişkili geri arama işleyicisi güncellenir:

curl -X POST "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

Aşağıda yanıtla ilgili bir örnek yer almaktadır:

{
  "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'yi kullanarak webhook'u etkinleştirme veya devre dışı bırakma

Webhook'u güncellerken yaptığınız gibi, /mint/organizations/{org_name}/webhooks/{webhook_id} için bir POST isteği göndererek webhook'u etkinleştirin veya devre dışı bırakın ve istek gövdesindeki etkin özelliği sırasıyla true veya false olarak ayarlayın. Webhook'u devre dışı bırakırsanız bir etkinlik gerçekleştiğinde tetiklenmez.

Örneğin, aşağıdakiler webhook3'i etkinleştirir:

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

Aşağıda yanıtla ilgili bir örnek yer almaktadır:

{
  "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'yi kullanarak webhook silme

/mint/organizations/{org_name}/webhooks/{webhook_id} için DELETE isteği göndererek webhook'u silin.

Devam eden işlemler varsa webhook'un silinmesinin zorunlu kılınıp kılınmayacağını belirtmek için forceDelete sorgu parametresini true veya false olarak ayarlayın. forceDelete sorgu parametresi varsayılan olarak etkindir (true).

Örneğin, aşağıdaki işlem webhook3 dosyasını siler:

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

Geri çağırma işleyiciyi ayarlama

Aşağıda, bir etkinlik bildirimi tetiklendiğinde webhook tarafından tanımlanan geri çağırma işleyiciye gönderilen JSON isteğinin biçimi gösterilmektedir. Geri çağırma işleyicinin isteği uygun bir şekilde işlediğinden emin olmanız gerekir.

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

Düzenlenebilir ücret planı için bildirimler ayarlama

Kullanıcı arayüzü veya API'yi kullanarak ayarlanabilir bir ücret planı için webhook'lar kullanarak bildirimler ayarlayın.

Kullanıcı arayüzünü kullanarak ayarlanabilir ücret planı için bildirim ayarlama

Aşağıda açıklandığı gibi, kullanıcı arayüzünden yararlanarak ayarlanabilir ücret planı için webhook'larla bildirimler ayarlayın.

Düzenlenebilir bir ücret planı için Bildirimler iletişim kutusuna erişme

Aşağıda açıklandığı gibi, ayarlanabilir bir ücret planı için Bildirimler iletişim kutusuna erişin.

Edge

Edge kullanıcı arayüzünü kullanarak bildirimler iletişim kutusuna erişmek için:

  1. Ayarlanabilir bildirim planı ayrıntılarını belirtme bölümünde açıklandığı şekilde ayarlanabilir bir bildirim oranı planı oluşturup yayınlayın.
  2. Soldaki gezinme çubuğunda Yayınla > Para Kazanma > Ücret Planları'nı seçerek Ücret Planları sayfasına erişin.
  3. İşlemleri görüntülemek için imlecinizi yayınlanan Ayarlanabilir bildirim oranı planının üzerine getirin.
  4. +Bildir'i tıklayın.

    Bildirimler iletişim kutusu görüntülenir.

    Not: +Bildirim işleminin gösterilmesi için ücret planının yayınlanması gerekir.

Klasik Edge (Private Cloud)

Bildirimler sayfasına erişmek için:

  1. Ayarlanabilir bildirim planı ayrıntılarını belirtme bölümünde açıklandığı şekilde ayarlanabilir bir bildirim oranı planı oluşturun.
  2. Ücret planlarını görüntülemek için Yayınla > Paketler'i seçin.
  3. Ücret planı için İşlemler sütununda +Bildir'i tıklayın.

    Bildirimler iletişim kutusu görüntülenir.

Kullanıcı arayüzünü kullanarak ayarlanabilir ücret planı için bildirim ekleme

Ayarlanabilir ücret planıyla ilgili bildirim eklemek için kullanıcı arayüzünü:

  1. Bildirimler iletişim kutusuna erişin.
  2. Bildirim Aralıkları altında bir bildirimin tetiklenmesini istediğiniz hedef işlem sayısının yüzdesini belirterek bildirim koşulunu ayarlayın. Ayrıntılı olarak belirtmek gerekirse:
    • Tam yüzdeyi ayarlamak için Bitiş/Başlangıç % alanına yüzdeyi girin ve Bitiş %'si alanını boş bırakın.
    • Yüzde aralığı ayarlamak için Başlangıç/Başlangıç % ve Bitiş % alanlarına sırasıyla başlangıç ve bitiş yüzdesini, Adım % alanına ise bir artış değeri girin. Varsayılan olarak, bildirimler %10'luk artışlarla belirtilen aralıkta gönderilir.

    Notify At alanı, bir etkinliği tetikleyecek hedef işlem sayısının her yüzdesini yansıtacak şekilde güncellenir.

  3. Ek bildirim koşulları ayarlamak için +Ekle'yi tıklayın ve 4. adımı tekrarlayın.
  4. Bildirimler tetiklendiğinde geri çağırmanın işlenmesini yönetmek için bir veya daha fazla webhook seçerek Webhook'lar altında bildirim işlemini ayarlayın.
  5. Bildirim Oluştur'u tıklayın.

Kullanıcı arayüzünü kullanarak, ayarlanabilir ücret planı için bildirimleri düzenleme

Ayarlanabilir ücret planıyla ilgili bildirimleri düzenlemek için kullanıcı arayüzü:

  1. Bildirimler iletişim kutusuna erişin.
  2. Ücret planı için İşlemler sütununda +Bildir'i tıklayın.
  3. Düzenle'yi tıklayın.
  4. Değerleri gerektiği şekilde değiştirin.
  5. Bildirimi Kaydet'i tıklayın.

Kullanıcı arayüzünü kullanarak ayarlanabilir ücret planı için bildirimleri silme

Bir bildirim koşulunu ve işlemini silmek için:

  1. Bildirimler iletişim kutusuna erişin.
  2. Ücret planı için İşlemler sütununda +Bildir'i tıklayın.
  3. Bildirimi Sil'i tıklayın.

API'yi kullanarak ayarlanabilir ücret planı için bildirim oluşturma

API'yi kullanarak ayarlanabilir ücret planı için bildirim ayarlamak için API'yi kullanarak bildirim koşullarını ve işlemlerini yönetme bölümünde açıklanan prosedürü kullanın ve bu bölümde açıklanan özellikleri kullanın.

Bildirim koşulunu (notificationCondition) ayarlamak için aşağıdaki özellik değerlerini kullanın. Daha fazla bilgi için Bildirim koşulları için yapılandırma özellikleri bölümüne bakın.

Özellik Değer
RATEPLAN Ayarlanabilir bildirim oranı planının kimliği.
PUBLISHED TRUE işlevini kullanın.
UsageTarget Bir bildirimin tetiklenmesini istediğiniz sırada gerçekleştirilecek hedef işlem sayısının yüzdesi.

Bu özellik, geliştiricilerin satın aldıkları düzenlenebilir bildirim ücret listesi planı için hedef işlem sayısına yaklaştığında veya bu sayıya ulaştığında kendilerine bildirimde bulunabilmenizi sağlar. Örneğin, bir geliştirici düzenlenebilir bir bildirim oranı planı satın aldıysa ve geliştirici için hedef işlem sayısı 1.000 olarak ayarlanmışsa, geliştirici 800 işleme (hedef işlem sayısının% 80'i), 1.000 işleme (%100) veya 1.500 işleme (%150) ulaşıldığında geliştiriciyi bilgilendirebilirsiniz.

  • Tam yüzdeyi ayarlamak için %= n değerini girin. Örneğin, %= 80, hedef işlem sayısı %80'e ulaştığında bildirim gönderir.
  • Yüzde aralığı ayarlamak için başlangıç ve bitiş yüzdelerini ve artacak şu değeri girin: %= start to end by n. Örneğin, %= 80 to 100 by 10 değeri, hedef işlem sayısı %80, %90 ve %100'e ulaştığında bildirim gönderir.

Bildirim işlemini ayarlamak için actions altında aşağıdaki değerleri ayarlayın. Daha fazla bilgi için Bildirim işlemleri için yapılandırma özellikleri bölümüne bakın.

Özellik Değer
actionAttribute Webhook tetiklemek için WEBHOOK.
value Önceki API'yi kullanarak webhook oluşturma bölümünde tanımladığınız webhook'un kimliği.

Aşağıda, hedef işlem sayısı %80, %90, %100, %110 ve %120'ye ulaştığında bir webhook'u tetikleyen bildirim koşulu oluşturma örneği verilmiştir.

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

Bir bildirim koşulunu ve işlemini görüntüleme, güncelleme ve silme hakkında bilgi edinmek için aşağıdaki makalelere bakın:

Webhook yanıt kodları

Aşağıda, webhook yanıt kodları ve sistem tarafından nasıl yorumlandıkları özetlenmektedir.

Yanıt Kodu Açıklama
2xx Başarılı
5xx

İstek başarısız oldu. Sistem, isteği 5 dakikalık aralıklarla en fazla üç kez yeniden dener.

Not: Webhook isteklerinin okuma ve bağlantı zaman aşımlarının her biri 3 saniye sürer. Bu durum, isteklerin başarısız olmasına yol açabilir.

Other response İstek başarısız oldu. Sistem, isteği yeniden denemez.