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şleyicisi 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şturup etkinlik bildirimlerini işleyecek şekilde yapılandırabilirsiniz.

Webhook'ları kullanarak bildirimleri ayarlamak için Edge Management kullanıcı arayüzünü veya Yönetim ve Para Kazanma API'sini kullanarak aşağıdaki adımları tamamlayın:

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

Webhook'ları yönetme

Kullanıcı arayüzünü veya API 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ığı şekilde kullanıcı arayüzünü kullanarak bildirim etkinlikleri için geri çağırma işleyicilerini tanımlayan webhook'ları ekleyin ve yönetin.

Webhook'lar sayfasını keşfetme

Aşağıda açıklandığı şekilde Webhook'lar 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ınlama > 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 ürününde 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 seçeneğini belirleyin.

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

Webhook'lar sayfası sayesinde şunları yapabilirsiniz:

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

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

  1. Webhook'lar sayfasına erişin.
  2. + Webhook'ı tıklayın.
  3. Aşağıdaki bilgileri girin (tüm alanlar zorunludur).
    Alan Açıklama
    Ad Web kancasının adı.
    Url Etkinlik bildirimi tetiklendiğinde çağrılacak geri çağırma işleyicinin URL'si. Geri çağırma işleyicisini ayarlama başlıklı makaleyi inceleyin.
  4. Kaydet'i tıklayın.

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

Kullanıcı arayüzünü kullanarak web kancasını düzenleme

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

  1. Webhook'lar sayfasına gidin.
  2. İmlecinizi düzenlemek istediğiniz webhook'un üzerine getirin ve işlemler menüsünden simgesini tıklayın.
  3. Web kancası alanlarını gerektiği gibi düzenleyin.
  4. Webhook'ı 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. Webhook'lar sayfasına erişin.
  2. İmlecinizi webhook'un üzerine getirin ve etkinleştirmek veya devre dışı bırakmak için durum anahtarını açın ya da kapatın.

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

Kullanıcı arayüzünü kullanarak bir web kancasını silmek için:

  1. Webhook'lar sayfasına erişin.
  2. İmleci silmek istediğiniz webhook'un üzerine getirin ve simgesini tıklayın.

Webhook silindi ve listeden kaldırıldı.

API'yi kullanarak webhook'ları yönetme

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

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

/mint/organizations/{org_name}/webhooks adresine 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ıtın bir örneği 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'yi kullanarak bir webhook görüntüleme

/mint/organizations/{org_name}/webhooks/{webhook_id} adresine 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ıta dair bir örnek verilmiştir:

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

API'yi kullanarak webhook ekleme

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

Örneğin, aşağıdaki kod webhook3 adlı bir webhook oluşturur ve callbackhandler3 değerini webhook'a 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ıtın bir örneği verilmiştir:

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

/mint/organizations/{org_name}/webhooks/{webhook_id} adresine PUT isteği göndererek bir web kancasını düzenleyin. Güncellemeleri isteğin gövdesinde iletin.

Örneğin, aşağıdaki kod webhook1 ile ilişkili geri çağırma işleyicisini günceller:

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

Aşağıda yanıta dair bir örnek verilmiştir:

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

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

Örneğin, aşağıdakiler webhook3'ü 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ıta dair bir örnek verilmiştir:

{
  "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} adresine DELETE isteği göndererek bir web kancasını 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 komut webhook3 öğesini 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şleyicisini 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 ş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}"
}

Ayarlanabilir ücret planı için bildirimleri ayarlama

Kullanıcı arayüzünü veya API'yi kullanarak ayarlanabilir ücret planları için webhook'ları kullanarak bildirimler oluşturun.

Kullanıcı arayüzünü kullanarak ayarlanabilir ücret planı bildirimleri ayarlama

Aşağıda açıklandığı şekilde kullanıcı arayüzünü kullanarak ayarlanabilir ücret planı için webhook'ları kullanarak bildirimler oluşturun.

Ayarlanabilir ücret planı için Bildirimler iletişim kutusuna erişme

Aşağıda açıklandığı şekilde, ayarlanabilir ü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ığı gibi, ayarlanabilir bildirim ücreti planı oluşturun ve 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örmek 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: +Bildir işleminin gösterilmesi için ücret planının yayınlanmış olması 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ığı gibi ayarlanabilir bildirim ücret planı oluşturun.
  2. Ücret planlarını görüntülemek için Yayınla > Paketler'i seçin.
  3. Fiyat planının İş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 bildirimler ekleme

Kullanıcı arayüzünde ayarlanabilir ücret planı için bildirim eklemek üzere:

  1. Bildirimler iletişim kutusuna erişin.
  2. Bildirim aralıkları bölümünde, bildirimin tetiklenmesini istediğiniz hedef işlem sayısının yüzdesini belirterek bildirim koşulunu ayarlayın. Ayrıntılı olarak:
    • Tam bir yüzde belirlemek için yüzdeyi Yüzde alanına girin ve Yüzde alanını boş bırakın.
    • Yüzde aralığı ayarlamak için sırasıyla At/Başlangıç % ve Bitiş % alanlarına başlangıç ve bitiş yüzdelerini, Adım %'si alanına ise bir artış değeri girin. Bildirimler varsayılan olarak belirtilen aralıkta %10'luk artışlarla 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 arama işlevini yönetmek için Webhook'lar bölümünde bir veya daha fazla webhook seçerek bildirim işlemini ayarlayın.
  5. Bildirim Oluştur'u tıklayın.

Kullanıcı arayüzünü kullanarak ayarlanabilir ücret planı bildirimlerini düzenleme

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

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

Kullanıcı arayüzünü kullanarak ayarlanabilir ücret planıyla ilgili bildirimleri silme

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

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

API'yi kullanarak ayarlanabilir ücret planı bildirimleri ayarlama

API'yi kullanarak ayarlanabilir ücret planı için bildirim oluşturmak istiyorsanız API'yi kullanarak bildirim koşullarını ve işlemlerini yönetme bölümünde açıklanan prosedürü 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ıyla ilgili yapılandırma özellikleri başlıklı makaleyi inceleyin.

Özellik Değer
RATEPLAN Ayarlanabilir bildirim ücret planının kimliği.
PUBLISHED TRUE değerini kullanarak ayarlanabilir bildirim ücreti planının yayınlanması gerektiğini belirtin.
UsageTarget Bir bildirimin tetiklenmesini istediğiniz hedef işlem sayısının yüzdesi.

Bu özellik, geliştiricilerin satın aldıkları ayarlanabilir bildirim ücreti kart planı için hedef işlem sayısına yaklaştığında veya bu sayıya ulaştığında onları bilgilendirmenize olanak tanır. Örneğin, bir geliştirici ayarlanabilir bildirim ücreti planı satın aldıysa ve geliştiricinin hedef işlem sayısı 1.000 olarak ayarlandıysa 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ştığında onu bilgilendirebilirsiniz.

  • Kesin bir yüzde belirlemek için %= n girin. Örneğin, %= 80, hedef işlem sayısının yüzdesi %80'e ulaştığında bildirim gönderir.
  • Yüzde aralığı ayarlamak için başlangıç ve bitiş yüzdelerini ve artışı yapılacak değeri aşağıdaki gibi girin: %= start to end by n. Örneğin, %= 80 to 100 by 10 değeri, hedef işlem sayısının yüzdesi %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 konusuna bakın.

Özellik Değer
actionAttribute WEBHOOK değerini girin.
value API'yi kullanarak webhook oluşturma bölümünde tanımladığınız webhook'ın kimliği.

Aşağıda, hedef işlem sayısının yüzdesi %80, %90, %100, %110 ve %120'ye ulaştığında webhook tetikleyen bir bildirim koşulunun nasıl oluşturulacağına dair bir örnek 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",
        }]
  }

Bildirim koşulunu ve işlemini görüntüleme, güncelleme ve silme hakkında bilgi edinmek için:

Webhook yanıt kodları

Aşağıda, webhook yanıt kodları ve bunların sistem tarafından nasıl yorumlandığı özetlenmiştir.

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

İstek başarısız oldu. Sistem, isteği 5 dakikalık aralıklarla üç defaya kadar tekrar dener.

Not: Webhook isteklerinin okuma ve bağlantı zaman aşımları 3 saniyedir. Bu durum, isteklerin başarısız olmasına neden olabilir.

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