API'lerinizi yayınlama

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

API'leri, aşağıdaki bölümlerde açıklandığı gibi uygulama geliştiricilerin kullanabileceği şekilde portalınızda yayınlayın.

API yayınlamaya genel bakış

API'leri portalınızda yayınlama süreci iki adımdan oluşur:

  1. Portalınızda yayınlamak istediğiniz API ürününü seçin.
  2. Uygulama geliştiricilerin API'leriniz hakkında bilgi edinmesini sağlamak için OpenAPI dokümanınızdan veya GraphQL şemanızdan API referans dokümanı oluşturma. (Anlık görüntüler hakkında daha fazla bilgi için Anlık görüntü nedir? başlıklı makaleyi inceleyin.)

Portalda neler yayınlanır?

Bir API yayınladığınızda portalınızda otomatik olarak aşağıdaki güncellemeler yapılır:

  • API referans dokümanları Sağlanan arayüz, API'nizi OpenAPI dokümanı veya GraphQL şeması kullanarak yayınlayıp yayınlamadığınıza bağlıdır. Bkz.:
  • API referans sayfasının bağlantısı API'ler sayfasına eklenir

    API'ler sayfasında ( örnek portala dahildir), portalınızda yayınlanan tüm API'lerin alfabetik sırayla listelendiği ve daha fazla bilgi için ilgili API referans dokümanlarına bağlantılar verilen bir liste bulunur. İsteğe bağlı olarak aşağıdakileri özelleştirebilirsiniz:

    • Her API kartı için görüntülenen resim
    • Geliştiricilerin API'ler sayfasında ilgili API'leri keşfetmesini sağlamak için API'leri etiketlemek amacıyla kullanılan kategoriler

    Canlı portaldaki API'ler sayfasında iki kategori ve resimlerin kullanımı gösteriliyor

SmartDocs (OpenAPI)

OpenAPI dokümanı kullanarak bir API yayınladığınızda SmartDocs API referans dokümanları portalınıza eklenir.

Geliştiriciler, SmartDocs API referans dokümanlarınızı inceleyebilir ve API isteği gönderip sonucu görüntülemek için Bu API'yi deneyin panelini kullanabilir. Bu API'yi deneyin, OpenAPI belgenizde tanımlanan güvenlik yöntemine bağlı olarak, güvenli olmayan uç noktalar veya Temel, API Anahtarı ya da OAuth Kimlik Doğrulaması kullanan güvenli uç noktalarla çalışır. OAuth için aşağıdaki akışlar desteklenir: yetkilendirme kodu, şifre ve istemci kimlik bilgileri.

API çağrınızın nasıl yetkilendirileceğini, Bu API'yi deneyin panelinin sabitlemesini nasıl kaldıracağınızı, ilgili spesifikasyonu nasıl indireceğinizi ve API'yi nasıl çalıştıracağınızı gösteren açıklama metinlerinin yer aldığı API referans dokümanı sayfası.

Bu API'yi deneyin panelini genişletmek için Tam ekran'ı tıklayın. Genişletilmiş panel, curl çağrısını ve kod örneklerini aşağıdaki resimde gösterildiği gibi HTTP, Python, Node.js gibi çeşitli biçimlerde görüntülemenize olanak tanır.

Genişletilmiş Bu API'yi dene paneli

GraphQL Explorer

GraphQL şeması kullanarak bir API yayınladığınızda GraphQL Gezgini portalınıza eklenir. GraphQL Explorer, API'nize sorgu göndermek için kullanabileceğiniz etkileşimli bir ortamdır. Keşif aracı, GraphQL Foundation tarafından geliştirilen GraphQL IDE'nin referans uygulaması olan GraphiQL'yi temel alır.

Geliştiriciler, şemaya dayalı etkileşimli dokümanları keşfetmek, sorgu oluşturmak ve çalıştırmak, sorgu sonuçlarını görüntülemek ve şemayı indirmek için GraphQL Explorer'ı kullanabilir. Geliştiriciler, API'nize güvenli erişim sağlamak için İstek Başlıkları bölmesinde yetkilendirme üstbilgilerini iletebilir.

GraphQL hakkında daha fazla bilgi için graphql.org adresini ziyaret edin.

Portaldaki GraphQL Explorer

Anlık görüntü nedir?

Her OpenAPI veya GraphQL belgesi, API'nin yaşam döngüsü boyunca doğru bilgi kaynağı olarak kullanılır. Geliştirmeden yayınlamaya ve izlemeye kadar API yaşam döngüsünün her aşamasında aynı doküman kullanılır. Bir belgeyi değiştirdiğinizde, değişikliklerin diğer yaşam döngüsü aşamalarında API'niz üzerindeki etkisini göz önünde bulundurmanız gerekir. Bu konuyla ilgili daha fazla bilgiyi Bir belgeyi değiştirirsem ne olur? başlıklı makalede bulabilirsiniz.

API'nizi yayınladığınızda, API referans dokümanlarını oluşturmak için OpenAPI veya GraphQL dokümanının anlık görüntüsünü alırsınız. Bu anlık görüntü, belgenin belirli bir sürümünü temsil eder. Dokümanda değişiklik yaparsanız API referans belgelerindeki en son değişiklikleri yansıtmak için dokümanın başka bir anlık görüntüsünü alabilirsiniz.

Geri çağırma URL'leri hakkında

Uygulamalarınız için geri çağırma URL'si gerekiyorsa (ör. OAuth 2.0 yetkilendirme kodu verme türü (genellikle üç ayaklı OAuth olarak adlandırılır) kullanıldığında) geliştiricilerin uygulamalarını kaydettirirken geri çağırma URL'si belirtmesini zorunlu tutabilirsiniz. Geri çağırma URL'si genellikle, istemci uygulama adına yetkilendirme kodu almak üzere atanan bir uygulamanın URL'sini belirtir. Daha fazla bilgi için Yetkilendirme kodu verme türünü uygulama başlıklı makaleyi inceleyin.

Portalınıza API eklerken uygulama kaydı sırasında geri çağırma URL'si gerekip gerekmeyeceğini yapılandırabilirsiniz. Bu ayarı dilediğiniz zaman API için geri çağırma URL'sini yönetme bölümünde açıklandığı şekilde değiştirebilirsiniz.

Geliştiriciler, uygulama kaydederken Uygulama kaydetme bölümünde açıklandığı gibi, bunu gerektiren tüm API'ler için geri çağırma URL'si girmelidir.

API proxy'nizi "Bu API'yi deneyin"i destekleyecek şekilde yapılandırma

API'lerinizi OpenAPI dokümanı kullanarak yayınlamadan önce, API proxy'nizi SmartDocs API referans dokümanlarında Bu API'yi deneyin panelinde istek göndermeyi destekleyecek şekilde yapılandırmanız gerekir. Bunun için aşağıdaki adımları uygulayın:

  • İstemci tarafında kaynak farklılığı olan istekleri zorunlu kılmak için API proxy'lerinize CORS desteği ekleyin

    CORS, bir web sayfasında yürütülen JavaScript XMLHttpRequest (XHR) çağrılarının, kaynak olmayan alanlardaki kaynaklarla etkileşim kurmasına olanak tanıyan standart bir mekanizmadır. CORS, tüm tarayıcılar tarafından zorunlu kılınan aynı kaynak politikası için yaygın olarak uygulanan bir çözümdür.

  • Temel kimlik doğrulama veya OAuth2 kullanıyorsanız API proxy yapılandırmanızı güncelleyin

Aşağıdaki tabloda, kimlik doğrulama erişimine göre SmartDocs API referans dokümanlarında Bu API'yi deneyin panelini desteklemek için API proxy yapılandırma şartları özetlenmiştir.

Auth erişimi Politika yapılandırma koşulları
Yok veya API anahtarı API proxy'nize CORS desteği ekleyin. Kolaylık sağlamak için GitHub'da sağlanan örnek CORS çözümünü kullanın veya API proxy'sine CORS desteği ekleme başlıklı makalede açıklanan adımları uygulayın.
Temel kimlik doğrulaması Aşağıdaki adımları uygulayın:
  1. API proxy'nize CORS desteği ekleyin. Kolaylık sağlamak için GitHub'da sağlanan örnek CORS çözümünü kullanın veya API proxy'sine CORS desteği ekleme bölümünde açıklanan adımları uygulayın.
  2. CORS AssignMessage politikasını eklerken Access-Control-Allow-Headers başlığının authorization özelliğini içerdiğinden emin olun. Örneğin:
    <Header name="Access-Control-Allow-Headers">
      origin, x-requested-with, accept, content-type, authorization
    </Header>
OAuth2
  1. API proxy'nize CORS desteği ekleyin. Kolaylık sağlamak için GitHub'da sağlanan örnek CORS çözümünü kullanın veya API proxy'sine CORS desteği ekleme bölümünde açıklanan adımları uygulayın.
  2. CORS AssignMessage politikasını eklerken Access-Control-Allow-Headers başlığının authorization özelliğini içerdiğinden emin olun. Örneğin:
    <Header name="Access-Control-Allow-Headers">
      origin, x-requested-with, accept, content-type, authorization
    </Header>
  3. OAuth2 politikanızdaki RFC'ye uygun olmayan davranışları düzeltin. Kolaylık sağlamak amacıyla, GitHub'da sağlanan örnek OAuth2 çözümünü kullanın veya aşağıdaki adımları uygulayın:
    • OAuth2 politikasındaki <GrantType> öğesinin request.formparam.grant_type (form parametresi) olarak ayarlandığından emin olun. Daha fazla bilgi için <GrantType> bölümüne bakın.
    • OAuth2 politikasındaki token_type değerinin varsayılan BearerToken yerine Bearer olarak ayarlandığından emin olun.

API'leri yönetin

API'lerinizi aşağıdaki bölümlerde açıklandığı şekilde yönetin.

API'leri keşfet

Portalınızdaki API'leri görüntülemek için kullanıcı arayüzünü veya curl komutunu kullanın.

Kullanıcı Arayüzü

API kataloğunu görüntülemek için:

  1. Yayınla > Portallar'ı ve portalınızı seçin.
  2. Portal ana sayfasında API kataloğu'nu tıklayın. Alternatif olarak, üst gezinme çubuğundaki portal açılır menüsünden API kataloğu'nu da seçebilirsiniz.

API kataloğundaki API'ler sekmesi, portalınıza eklenen API'lerin listesini gösterir.

API&#39;ler sekmesi: API&#39;ler hakkında ad, açıklama, görünürlük, kategoriler, ilişkili spesifikasyon ve değiştirilme zamanı gibi bilgileri gösterir.

Önceki şekilde belirtildiği gibi, API'ler sekmesi şunları yapmanıza olanak tanır:

curl

API'leri listelemek için:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer ACCESS_TOKEN"

Aşağıdakini değiştirin:

  • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
  • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
  • ACCESS_TOKEN ile Apigee Edge API'ye erişmek için kullanılan kimlik doğrulama jetonunu gönderin. Kimlik doğrulama ve jetonlar hakkında daha fazla bilgi için Edge API'ye erişimi kimlik doğrulama başlıklı makaleyi inceleyin.

Yanıt yükü içinde sayfalara ayırma özelliğini kullanmayla ilgili talimatlar için Sayfalara ayırma notları başlıklı makaleyi inceleyin.

Yanıt yükü:

{
  "status": "success",
  "message": "one page of apidocs returned",
  "data": [
    {
      "id": 622759,
      "siteId": "my-org-myportal",
      "title": "Test",
      "description": "",
      "published": false,
      "visibility": false,
      "apiId": "apiproducttest18",
      "apiProductName": "apiproduct_test18",
      "edgeAPIProductName": "apiproduct_test18",
      "specId": null,
      "specContent": null,
      "specTitle": null,
      "snapshotExists": false,
      "snapshotModified": null,
      "modified": 1724144471000,
      "anonAllowed": false,
      "imageUrl": null,
      "snapshotState": null,
      "requireCallbackUrl": false,
      "categoryIds": [],
      "specFormat": null,
      "specModified": null,
      "snapshotOutdated": false,
      "snapshotSourceMissing": false,
      "graphqlSchema": null,
      "graphqlEndpointUrl": null,
      "graphqlSchemaDisplayName": null,
      "grpcFileName": null,
      "grpcZipContent": null
    }
  ],
  "code": null,
  "request_id": "1452867334",
  "error_code": null,
  "next_page_token": ""
}

Burada:

  • modified: Katalog öğesinin, başlangıç zamanından itibaren milisaniye cinsinden son değiştirildiği zaman. Örneğin, 1698165480000.
  • id: Katalog öğesinin kimliği. Örneğin, 399668.

Sayfalandırma notları:

  • Sayfa boyutu: Bir sayfada döndürülecek liste öğelerinin sayısını belirtmek için pageSize öğesini kullanın. Varsayılan değer 25, maksimum değer ise 100'dür. Başka sayfalar varsa nextPageToken bir jetonla doldurulur:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs?pageSize=PAGE_SIZE" \
       -H "Authorization: Bearer ACCESS_TOKEN"
    

    Değiştir:

    • PAGE_SIZE ile bir sayfada döndürülecek liste öğelerinin sayısını belirtin. Örneğin, 10.

    Yanıt yükü:

    {
      "status": "success",
      "message": "one page of apidocs returned",
      "data": [
        {
          "id": 638007,
          "siteId": "tsnow-mint-liztest",
          "title": "Testing",
          "description": "",
          "published": false,
          "visibility": false,
          "apiId": "testcatalog",
          "apiProductName": "testcatalog",
          "edgeAPIProductName": "testcatalog",
          "specId": "Petstore",
          "specContent": null,
          "specTitle": null,
          "snapshotExists": true,
          "snapshotModified": 1726508367000,
          "modified": 1728582504000,
          "anonAllowed": false,
          "imageUrl": null,
          "snapshotState": "OK_SUBMITTED",
          "requireCallbackUrl": false,
          "categoryIds": [],
          "specFormat": "YAML",
          "specModified": null,
          "snapshotOutdated": false,
          "snapshotSourceMissing": false,
          "graphqlSchema": null,
          "graphqlEndpointUrl": null,
          "graphqlSchemaDisplayName": null,
          "grpcFileName": null,
          "grpcZipContent": null
        }
      ],
      "code": null,
      "request_id": "1068810934",
      "error_code": null,
      "next_page_token": ""
    }
    

  • Sayfa jetonu: Birden fazla sayfa olduğunda sonraki sayfaları almak için pageToken değerini kullanın:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" \
          -H "Authorization: Bearer ACCESS_TOKEN"
    

    Değiştir:

    • PAGE_SIZE ile bir sayfada döndürülecek liste öğelerinin sayısını belirtin. Örneğin, 10.
    • nextPageToken değeriyle PAGE_TOKEN. Örneğin, 7zcqrin9l6xhi4nbrb9.

API ekleme

Portalınıza API eklemek için kullanıcı arayüzünü veya curl komutunu kullanın:

Kullanıcı Arayüzü

Portalınıza API eklemek için:

  1. API kataloğuna erişin.
  2. Henüz seçilmemişse API'ler sekmesini tıklayın.
  3. + Ekle'yi tıklayın.

    Kataloga API ürünü ekle iletişim kutusu görüntülenir.

  4. Portalınıza eklemek istediğiniz API ürününü seçin.

  5. İleri'yi tıklayın. API ayrıntıları sayfası görüntülenir.

  6. API referans dokümanı içeriğini ve portaldaki görünürlüğünü yapılandırın:

    Alan Açıklama
    Yayınlandı API'yi portalınızda yayınlamak için Yayınlandı'yı seçin. API'yi yayınlamaya hazır değilseniz onay kutusunun işaretini kaldırın. Ayarı daha sonra Portalınızda API yayınlama veya API'nin yayınını kaldırma bölümünde açıklandığı şekilde değiştirebilirsiniz.
    Görünen başlık Katalogda gösterilen API'nizin başlığını güncelleyin. Varsayılan olarak API ürün adı kullanılır. Görünen adı daha sonra Görünen başlığı ve açıklamayı düzenleme bölümünde açıklandığı şekilde değiştirebilirsiniz.
    Görüntüleme açıklaması Katalogda gösterilen API'nizin açıklamasını güncelleyin. Varsayılan olarak API ürün açıklaması kullanılır. Görünen açıklamayı daha sonra Görünen başlığı ve açıklamayı düzenleme bölümünde açıklandığı gibi değiştirebilirsiniz.
    Geliştiricilerin geri çağırma URL'si belirtmesini zorunlu kılın Uygulama geliştiricilerin geri çağırma URL'si belirtmesini zorunlu kılmak istiyorsanız etkinleştirin. Geri çağırma URL'sini daha sonra API için geri çağırma URL'sini yönetme bölümünde açıklandığı şekilde ekleyebilir veya güncelleyebilirsiniz.
    API belgeleri

    OpenAPI dokümanı kullanmak için:

    1. OpenAPI belgesi'ni seçin.
    2. Doküman seç'i tıklayın.
    3. Aşağıdaki adımlardan birini uygulayın:
      • Özelliklerim sekmesini tıklayın ve özellik mağazasından bir özellik seçin.
      • Dosya Yükle sekmesini tıklayın ve bir dosya yükleyin.
      • URL'den içe aktar sekmesini tıklayın ve bir URL'den spesifikasyon içe aktarın.
    4. Seç'i tıklayın.

    GraphQL şemasını kullanmak için:

    1. GraphQL Şeması'nı seçin.
    2. Doküman seç'i tıklayın.
    3. GraphQL şemasına gidip şemayı seçin.
    4. Seç'i tıklayın.

    Alternatif olarak, Belge yok'u seçip API eklendikten sonra Dokümanın anlık görüntüsünü yönetme bölümünde açıklandığı gibi daha sonra belge ekleyebilirsiniz.

    API görünürlüğü

    Kitle yönetimi özelliğinin beta sürümüne kaydolmadıysanız aşağıdaki seçeneklerden birini belirleyin:

    • Tüm kullanıcıların API'yi görüntülemesine izin vermek için anonim kullanıcılar.
    • Yalnızca kayıtlı kullanıcıların API'yi görüntülemesine izin vermek için Kayıtlı kullanıcılar'ı seçin.

    Kitle yönetimi özelliğinin beta sürümüne kaydolduysanız aşağıdaki seçeneklerden birini belirleyin:

    • Tüm kullanıcıların API'yi görüntülemesine izin vermek için Herkese açık (herkes tarafından görülebilir)'i seçin.
    • Yalnızca kayıtlı kullanıcıların API'yi görüntülemesine izin vermek için Kimliği doğrulanmış kullanıcılar.
    • API'yi görüntüleyebilmesini istediğiniz kitleleri seçmek için Seçilen kitleler'i tıklayın.

    Kitle görünürlüğünü daha sonra Portalınızda bir API'nin görünürlüğünü yönetme bölümünde açıklandığı gibi yönetebilirsiniz.

    Görünen resim API'ler sayfasındaki API kartında bir resim görüntülemek için Resim seç'i tıklayın. Resim seç iletişim kutusunda mevcut bir resmi seçin, yeni bir resim yükleyin veya harici bir resmin URL'sini sağlayın ve Seç'i tıklayın. API küçük resmini önizleyin ve Seç'i tıklayın. API kartı resmini yönetme bölümünde açıklandığı gibi daha sonra resim ekleyebilirsiniz. Harici URL içeren bir resim belirtildiğinde resim öğelerinize yüklenmez. Ayrıca, resmin entegre portala yüklenmesi, kullanılabilirliğine bağlıdır. Bu kullanılabilirlik, içerik güvenliği politikaları tarafından engellenebilir veya kısıtlanabilir.
    Kategoriler

    Uygulama geliştiricilerin API'ler sayfasında ilgili API'leri keşfetmelerini sağlamak için API'nin etiketleneceği kategorileri ekleyin. Bir kategoriyi belirlemek için:

    • Açılır listeden bir kategori seçin.
    • Adını yazıp Enter tuşuna basarak yeni bir kategori ekleyin. Yeni kategori, Kategoriler sayfasına eklenir ve diğer API'ler eklenirken veya düzenlenirken kullanılabilir hale getirilir.

  7. Kaydet'i tıklayın.

curl

Portalınıza API eklemek için :

curl -X POST "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
       "title": "TITLE",
       "description": "DESCRIPTION",
       "anonAllowed": ANON_TRUE_OR_FALSE,
       "imageUrl": "IMAGE_URL",
       "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
       "categoryIds": [
         "CATEGORY_ID1",
         "CATEGORY_ID2"
       ],
       "published": PUBLISHED_TRUE_OR_FALSE,
        "apiProductName": "API_PRODUCT"
    }'

Aşağıdakini değiştirin:

  • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
  • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
  • ACCESS_TOKEN ile Apigee Edge API'ye erişmek için kullanılan kimlik doğrulama jetonunu gönderin. Kimlik doğrulama ve jetonlar hakkında daha fazla bilgi için Edge API'ye erişimi kimlik doğrulama başlıklı makaleyi inceleyin.
  • TITLE görünen başlığıyla. Örneğin, Hello World 2.
  • DESCRIPTION ile görüntüleme açıklaması. Örneğin, Simple hello world example.
  • ANON_TRUE_OR_FALSE ile true veya false (varsayılan) arasında seçim yapabilirsiniz. true, bu API'nin herkese açık görünürlükte olduğu ve anonim olarak görüntülenebildiği anlamına gelir. Aksi takdirde, yalnızca kayıtlı kullanıcılar API'yi görüntüleyebilir.
  • IMAGE_URL ile değiştirin. IMAGE_URL, katalog öğesi için kullanılan harici bir resmin URL'si veya portalda depolanan resim dosyalarının dosya yolu olabilir (ör. /files/book-tree.jpg). Harici bir resmin URL'si belirtildiğinde resim öğelerinize yüklenmez. Ayrıca, resmin entegre portala yüklenmesi, içerik güvenliği politikaları tarafından engellenebilir veya kısıtlanabilir.
  • CALLBACK_TRUE_OR_FALSE ile true veya false (varsayılan) arasında seçim yapabilirsiniz. true, portal kullanıcısının uygulamayı yönetirken URL girmesini gerektirir.
  • CATEGORY_ID kategorisinin kimliği. Örneğin, bf6505eb-2a0f-47af-a00a-ded40ac72960. Birden çok kategori kimliğini virgülle ayırın. list API categories komutuyla kategori kimliğini alın.
  • true veya false (varsayılan) ile birlikte PUBLISHED_TRUE_OR_FALSE. Bu durumda true, API'nin herkese açık olduğunu gösterir. Yayınlandıktan sonra tüm kullanıcılara, kimliği doğrulanmış kullanıcılara veya belirli kullanıcılara erişim izni verebilirsiniz.
  • API_PRODUCT API ürününün adıyla. Örneğin, Hello World 2.

Yanıt yükü:

{
  "status": "success",
  "message": "API created",
  "data": {
    "id": 662423,
    "siteId": "my-org-myportal",
    "title": "My Test Catalog 4",
    "description": "",
    "published": false,
    "visibility": false,
    "apiId": "uxb9wjua",
    "apiProductName": "uXB9wJUa",
    "edgeAPIProductName": "uXB9wJUa",
    "specId": null,
    "specContent": null,
    "specTitle": null,
    "snapshotExists": false,
    "snapshotModified": null,
    "modified": 1729635493000,
    "anonAllowed": false,
    "imageUrl": null,
    "snapshotState": null,
    "requireCallbackUrl": false,
    "categoryIds": [],
    "specFormat": null,
    "specModified": null,
    "snapshotOutdated": null,
    "snapshotSourceMissing": false,
    "graphqlSchema": null,
    "graphqlEndpointUrl": null,
    "graphqlSchemaDisplayName": null,
    "grpcFileName": null,
    "grpcZipContent": null
  },
  "code": null,
  "request_id": "893346193",
  "error_code": null
}

Burada:

  • modified: Katalog öğesinin, başlangıç zamanından itibaren milisaniye cinsinden son değiştirildiği zaman. Örneğin, 1698165480000.
  • id: Katalog öğesinin kimliği. Örneğin, 399668.

API'yi düzenleme

API ekledikten sonra düzenleme yapmak için kullanıcı arayüzünü veya API çağrısını kullanın.

Bu bölümde, portalınızdaki mevcut bir API'yi değiştirmek için uygulanması gereken adımlar ayrıntılı bir örnekle açıklanmıştır.

Belirli değiştirme ayarları için sonraki bölümlere bakın.

Kullanıcı Arayüzü

Bir API'yi düzenlemek için:

  1. API kataloğuna erişin.
  2. Henüz seçilmemişse API'ler sekmesini tıklayın.
  3. Düzenlemek istediğiniz API'nin satırını tıklayın.
  4. düzenle simgesiDüzenle'yi tıklayın.
  5. API ayrıntıları bölümünde gerekli değişiklikleri yapın. API ekleme bölümündeki seçeneklerin açıklamalarını inceleyin.
  6. Kaydet'i tıklayın.

curl

Bir API ekledikten sonra düzenleme yapmak için update çağrısını kullanın.

Bu örnekte, portalınızdaki API'nizin yayınlanma durumunu true yerine false olarak değiştirmek için gereken adımlar açıklanmaktadır. Gerekirse tek bir API çağrısında birden fazla ayarı değiştirebilirsiniz.

  1. Her API'yi benzersiz şekilde tanımlayan oluşturulan id değerini bulmak için API'leri Keşfetme bölümünde açıklandığı şekilde portalınızdaki API'lerin listesini alın.
  2. Belirli bir API'nin mevcut değerlerini döndürme:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
    -H "Authorization: Bearer ACCESS_TOKEN"
    

    Aşağıdakini değiştirin:

    • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
    • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
    • API_DOC ile dokümanın oluşturulmuş id. Örneğin, 399668. Bu değeri bulmak için list API docs (API dokümanlarını listele) komutunu kullanın.
    • ACCESS_TOKEN ile Apigee Edge API'ye erişmek için kullanılan kimlik doğrulama jetonunu gönderin. Kimlik doğrulama ve jetonlar hakkında daha fazla bilgi için Edge API'ye erişimi kimlik doğrulama başlıklı makaleyi inceleyin.

    Yanıt yükü:

    {
      "status": "success",
      "message": "apidoc returned",
      "data": {
        "id": 662423,
        "siteId": "my-org-myportal",
        "title": "My Test Catalog 4",
        "description": "",
        "published": false,
        "visibility": false,
        "apiId": "uxb9wjua",
        "apiProductName": "uXB9wJUa",
        "edgeAPIProductName": "uXB9wJUa",
        "specId": null,
        "specContent": null,
        "specTitle": null,
        "snapshotExists": false,
        "snapshotModified": null,
        "modified": 1729635493000,
        "anonAllowed": false,
        "imageUrl": null,
        "snapshotState": null,
        "requireCallbackUrl": false,
        "categoryIds": [],
        "specFormat": null,
        "specModified": null,
        "snapshotOutdated": false,
        "snapshotSourceMissing": false,
        "graphqlSchema": null,
        "graphqlEndpointUrl": null,
        "graphqlSchemaDisplayName": null,
        "grpcFileName": null,
        "grpcZipContent": null
      },
      "code": null,
      "request_id": "601210268",
      "error_code": null
    }
    

  1. update çağrısına, değiştirmek istemediğiniz değişken değerleri ekleyin ve değiştirmek istediğiniz değerleri değiştirin. Bir satırı atlarsanız varsayılan ayar kullanılır. Bu örnekte, yayınlanma ayarını false yerine true olarak değiştirin:

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
     -H "Authorization: Bearer ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
        "title": "TITLE",
        "anonAllowed": true,
        "published": true
     }'
    

    Aşağıdakini değiştirin:

    • TITLE görünen başlığıyla. Örneğin, Hello World 2.

    Yanıt yükü:

    {
      "status": "success",
      "message": "ApiDoc updated",
      "data": {
        "id": 662423,
        "siteId": "my-org-myportal",
        "title": "My Test Catalog 4",
        "description": "",
        "published": true,
        "visibility": true,
        "apiId": "uxb9wjua",
        "apiProductName": "uXB9wJUa",
        "edgeAPIProductName": "uXB9wJUa",
        "specId": null,
        "specContent": null,
        "specTitle": null,
        "snapshotExists": false,
        "snapshotModified": null,
        "modified": 1729989250000,
        "anonAllowed": true,
        "imageUrl": null,
        "snapshotState": null,
        "requireCallbackUrl": false,
        "categoryIds": [],
        "specFormat": null,
        "specModified": null,
        "snapshotOutdated": null,
        "snapshotSourceMissing": false,
        "graphqlSchema": null,
        "graphqlEndpointUrl": null,
        "graphqlSchemaDisplayName": null,
        "grpcFileName": null,
        "grpcZipContent": null
      },
      "code": null,
      "request_id": "738172002",
      "error_code": null
    }
    

Belgenin anlık görüntüsünü yönetme

API'nizi yayınladıktan sonra, portalınızda yayınlanan API referans dokümanlarını güncellemek için OpenAPI veya GraphQL dokümanının yeni bir anlık görüntüsünü istediğiniz zaman alabilirsiniz.

Dokümanın anlık görüntüsünü yönetmek için:

  1. API kataloğuna erişin.
  2. Henüz seçilmemişse API'ler sekmesini tıklayın.
  3. Düzenlemek istediğiniz API'nin satırını tıklayın.
  4. Anlık görüntü durumunu kontrol edin. Güncel değilse aşağıdaki mesaj gösterilir: Anlık görüntünün güncel olmadığını belirten simge ve mesaj
  5. düzenle simgesi simgesini tıklayın.
  6. Aşağıdaki görevlerden birini gerçekleştirin:
    • Eski bir OpenAPI belgesinin anlık görüntüsünü yenilemek için Anlık Görüntüyü Yenile'yi tıklayın.
    • API dokümanlarını oluşturmak için kullanılan dokümanı değiştirmek isterseniz API dokümanları bölümünde Doküman Seç'i tıklayıp yeni dokümanı seçin.
  7. Kaydet'i tıklayın.

Portalınızda API yayınlama veya yayından kaldırma

Yayınlama, API'lerinizi uygulama geliştiricilerin kullanımına sunma işlemidir.

Portalınızda bir API'yi yayınlamak veya yayından kaldırmak için kullanıcı arayüzünü ya da curl komutunu kullanın.

Kullanıcı Arayüzü

Portalınızda bir API'yi yayınlamak veya yayından kaldırmak için:

  1. API kataloğuna erişin.
  2. Henüz seçilmemişse API'ler sekmesini tıklayın.
  3. Düzenlemek istediğiniz API'nin satırını tıklayın.
  4. Düzenle simgesi Düzenle'yi tıklayın.
  5. API ayrıntıları bölümünde, API'yi portalınızda yayınlamak veya yayından kaldırmak için Yayınlandı (katalogda listelendi)'yi seçin ya da temizleyin.
  6. Kaydet'i tıklayın.

curl

Güncelleme çağrısına aşağıdakilerden birini ekleyin:

"published": true,    # API is published to your portal
"published": false,   # API is not published in your portal

API'yi düzenlemek için:

  1. Mevcut değerleri döndürme:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer ACCESS_TOKEN"
  2. API'yi düzenlemek için update çağrısını kullanın. Saklamak istediğiniz değişken değerleri ekleyin ve değiştirmek istediğiniz değerleri değiştirin. Değiştirilebilir bir ayarı atlarsanız bu ayarın üzerine varsayılan değer yazılır.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/  ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
     -H "Authorization: Bearer ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
        "title": "TITLE",
        "description": "DESCRIPTION",
        "anonAllowed": ANON_TRUE_OR_FALSE,
        "imageUrl": IMAGE_URL,
        "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
        "categoryIds": [
          "CATEGORY_ID1",
         "CATEGORY_ID2"
        ],
        "published": PUBLISHED_TRUE_OR_FALSE
    }

Döndürülen adımlar, değişkenler ve yükün ayrıntılı bir örneği için Dokümanın sürümünü yönetme başlıklı makaleyi inceleyin.

Portalınızda bir API'nin görünürlüğünü yönetme

Aşağıdakilere erişime izin vererek bir API'nin portalınızdaki görünürlüğünü yönetin:

  • Herkese açık (herkes tarafından görülebilir)
  • Kimliği doğrulanmış kullanıcılar
  • Seçilen kitleler (kitle yönetimi özelliğinin beta sürümüne kaydolduysanız)

Portalınızda bir API'nin görünürlüğünü yönetmek için kullanıcı arayüzünü veya curl komutunu kullanın:

Kullanıcı Arayüzü

Bir API'nin portalınızdaki görünürlüğünü yönetmek için:

  1. API kataloğuna erişin.
  2. Henüz seçilmemişse API'ler sekmesini tıklayın.
  3. Düzenlemek istediğiniz API'nin satırını tıklayın.
  4. Düzenle simgesi Düzenle'yi tıklayın.
  5. Görünürlük ayarını seçin. Kitleler özelliğinin beta sürümüne kaydolduysanız aşağıdaki seçeneklerden birini belirleyin:

    • Tüm kullanıcıların sayfayı görüntülemesine izin vermek için Herkese açık (herkes tarafından görülebilir)'ı seçin.
    • Yalnızca kayıtlı kullanıcıların sayfayı görüntülemesine izin vermek için Kimlik doğrulanmış kullanıcılar.
    • Sayfayı görüntüleyebilmesini istediğiniz kitleleri seçmek için Seçilen kitleler'i tıklayın. Portalınızın kitlelerini yönetme başlıklı makaleyi inceleyin.
    Aksi takdirde aşağıdaki seçeneklerden birini belirleyin:
    • Tüm kullanıcıların sayfayı görüntülemesine izin vermek için anonim kullanıcılar.
    • Sayfayı yalnızca kayıtlı kullanıcıların görüntülemesine izin vermek için Kayıtlı kullanıcılar'ı seçin.

  6. Gönder'i tıklayın.

curl

Kitle yönetimi özelliğinin beta sürümüne kaydolduysanız kitleleri yönetmek için kullanıcı arayüzünü kullanın.

Kitle yönetimi özelliğine kaydolmadıysanız görünürlük anonAllowed kullanılarak yönetilir.

update çağrısına aşağıdakilerden birini ekleyin:

  # When not enrolled in the beta release of the audience management feature:

  "anonAllowed": true,      # Anonymous users can see the API
  "anonAllowed": false,     # Only registered users can see the API

API'yi düzenlemek için:

  1. Mevcut değerleri döndürme:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. API'yi düzenlemek için update çağrısını kullanın. Saklamak istediğiniz değişken değerleri ekleyin ve değiştirmek istediğiniz değerleri değiştirin. Değiştirilebilir bir ayarı atlarsanız varsayılan değer kullanılır.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

Döndürülen adımlar, değişkenler ve yük hakkında ayrıntılı bir örnek için API düzenleme başlıklı makaleyi inceleyin.

Bir API'nin geri çağırma URL'sini yönetme

Bir API'nin geri çağırma URL'sini yönetme Geri çağırma URL'leri hakkında başlıklı makaleyi inceleyin.

Bir API'nin geri çağırma URL'sini yönetmek için kullanıcı arayüzünü veya curl komutunu kullanın:

Kullanıcı Arayüzü

Bir API'nin geri çağırma URL'sini yönetmek için:

  1. API kataloğuna erişin.
  2. Henüz seçilmemişse API'ler sekmesini tıklayın.
  3. Düzenlemek istediğiniz API'nin satırını tıklayın.
  4. Düzenle simgesi Düzenle'yi tıklayın.
  5. API ayrıntıları bölümünde, Geliştiricilerin geri arama URL'si belirtmesini zorunlu kıl onay kutusunu işaretleyin veya işaretini kaldırın.
  6. Kaydet'i tıklayın.

curl

update çağrısına aşağıdakilerden birini ekleyin:

  "requireCallbackUrl": true,    # Portal user is required to input a URL
  "requireCallbackUrl": false,   # Portal user is not required to input a URL

API'yi düzenlemek için:

  1. Mevcut değerleri döndürme:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. API'yi düzenlemek için update çağrısını kullanın. Saklamak istediğiniz değişken değerleri ekleyin ve değiştirmek istediğiniz değerleri değiştirin. Değiştirilebilir bir ayarı atlarsanız varsayılan değer kullanılır.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

Döndürülen adımlar, değişkenler ve yük hakkında ayrıntılı bir örnek için API düzenleme başlıklı makaleyi inceleyin.

API kartının resmini yönetme

Mevcut resmi ekleyerek veya değiştirerek API'ler sayfasındaki API kartıyla birlikte görünen resmi yönetin.

API kartının resmini yönetmek için kullanıcı arayüzünü veya curl komutunu kullanın:

Kullanıcı Arayüzü

API kartının resmini yönetmek için:

  1. API kataloğuna erişin.
  2. Henüz seçilmemişse API'ler sekmesini tıklayın.
  3. Düzenlemek istediğiniz API'nin satırını tıklayın.
  4. Düzenle simgesi Düzenle'yi tıklayın.
  5. API ayrıntıları bölümünde:

    • Resim seçmek veya seçili bir resim yoksa yüklemek için Resim seç'i tıklayın.
    • Farklı bir resim belirtmek veya yüklemek için Resmi değiştir'i tıklayın.
    • Resmi kaldırmak için resimdeki x simgesini tıklayın.

    Resim belirtirken katalog öğesi için kullanılan harici URL'ye sahip bir resim veya portalda depolanan resim dosyalarının yolunu (ör. /files/book-tree.jpg) belirtin. Harici bir resmin URL'si belirtildiğinde resim öğelerinize yüklenmez. Ayrıca, resmin entegre portala yüklenmesi, kullanılabilirliğine bağlıdır. Bu kullanılabilirlik, içerik güvenliği politikaları tarafından engellenebilir veya kısıtlanabilir.

  6. Kaydet'i tıklayın.

curl

update çağrısına aşağıdakileri ekleyin:

  # Omit line for no image file

  "imageUrl": "IMAGE_URL"    # URL of the external image or name of the image file

API'yi düzenlemek için:

  1. Mevcut değerleri döndürme:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. API'yi düzenlemek için update çağrısını kullanın. Saklamak istediğiniz değişken değerleri ekleyin ve değiştirmek istediğiniz değerleri değiştirin. Değiştirilebilir bir ayarı atlarsanız varsayılan değer kullanılır.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

Döndürülen adımlar, değişkenler ve yük hakkında ayrıntılı bir örnek için API düzenleme başlıklı makaleyi inceleyin.

Kategorileri kullanarak API etiketleme

Kategorileri kullanmak, uygulama geliştiricilerin ilgili API'leri keşfetmesine yardımcı olur. Ayrıca Kategorileri yönetme başlıklı makaleyi inceleyin.

Aşağıdaki yöntemlerden birini kullanarak kategorileri kullanarak bir API'yi etiketleyin:

  • Aşağıda açıklandığı gibi, API'yi düzenlerken API'nin etiketlendiği kategorileri yönetin.
  • Kategoriyi düzenlerken bir kategoriye etiketlenen API'leri yönetin.

Bir API'yi kategorileri kullanarak etiketlemek için kullanıcı arayüzünü veya curl komutunu kullanın:

Kullanıcı Arayüzü

Bir API'yi düzenlerken kategorilere etiketlemek için:

  1. API kataloğuna erişin.
  2. Henüz seçilmemişse API'ler sekmesini tıklayın.
  3. Düzenlemek istediğiniz API'nin satırını tıklayın.
  4. Düzenle simgesi Düzenle'yi tıklayın.
  5. Kategoriler alanını tıklayın ve aşağıdaki adımlardan birini uygulayın:
    • Açılır listeden bir kategori seçin.
    • Adını yazıp Enter tuşuna basarak yeni bir kategori ekleyin. Yeni kategori, Kategoriler sayfasına eklenir ve diğer API'ler eklenirken veya düzenlenirken kullanılabilir hale getirilir.
  6. API'yi daha fazla kategoriyle etiketlemek için bu işlemi tekrarlayın.
  7. Kaydet'i tıklayın.

curl

update çağrısına aşağıdakileri ekleyin:

  # Omit line for no categories

  "categoryIds": [
      "CATEGORY_ID1",      # A category ID number
      "CATEGORY_ID2"       # A category ID number
    ],

Kategori kimlik numaralarını almak için list categories komutunu kullanın.

API'yi düzenlemek için:

  1. Mevcut değerleri döndürme:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. API'yi düzenlemek için update çağrısını kullanın. Saklamak istediğiniz değişken değerleri ekleyin ve değiştirmek istediğiniz değerleri değiştirin. Değiştirilebilir bir ayarı atlarsanız varsayılan değer kullanılır.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

Döndürülen adımlar, değişkenler ve yük hakkında ayrıntılı bir örnek için API düzenleme başlıklı makaleyi inceleyin.

Görünen başlığı ve açıklamayı düzenleme

Görünen başlığı ve açıklamayı düzenlemek için kullanıcı arayüzünü veya curl komutunu kullanın:

Kullanıcı Arayüzü

Görünen başlığı ve açıklamayı düzenlemek için:

  1. API kataloğuna erişin.
  2. Henüz seçilmemişse API'ler sekmesini tıklayın.
  3. Düzenlemek istediğiniz API'nin satırını tıklayın.
  4. Düzenle simgesi Düzenle'yi tıklayın.
  5. Görünen başlık ve Görünen açıklama alanlarını gerektiği gibi düzenleyin.
  6. Kaydet'i tıklayın.

curl

update çağrısına aşağıdakileri ekleyin:

  "title": "TITLE",    # Display title
  "description": "DESCRIPTION",  # Display description

API'yi düzenlemek için:

  1. Mevcut değerleri döndürme:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. API'yi düzenlemek için update çağrısını kullanın. Saklamak istediğiniz değişken değerleri ekleyin ve değiştirmek istediğiniz değerleri değiştirin. Değiştirilebilir bir ayarı atlarsanız varsayılan değer kullanılır.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

Döndürülen adımlar, değişkenler ve yük hakkında ayrıntılı bir örnek için API düzenleme başlıklı makaleyi inceleyin.

Portalınızdan API kaldırma

Bir API'yi portalınızdan kaldırmak için kullanıcı arayüzünü veya curl komutunu kullanın:

Kullanıcı Arayüzü

Bir API'yi portalınızdan kaldırmak için:

  1. API kataloğuna erişin.
  2. Seçili değilse API'leri seçin.
  3. İşlem menüsünü görüntülemek için imlecinizi listedeki API'nin üzerine getirin.
  4. Sil simgesi Sil'i tıklayın.

curl

API'yi portalınızdan kaldırmak için:

curl -X DELETE "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
    -H "Authorization: Bearer ACCESS_TOKEN"

Aşağıdakini değiştirin:

  • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
  • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
  • API_DOC ile dokümanın oluşturulmuş id. Örneğin, 399668. Bu değeri bulmak için list API docs (API dokümanlarını listele) komutunu kullanın.
  • ACCESS_TOKEN ile Apigee Edge API'ye erişmek için kullanılan kimlik doğrulama jetonunu gönderin. Kimlik doğrulama ve jetonlar hakkında daha fazla bilgi için Edge API'ye erişimi kimlik doğrulama başlıklı makaleyi inceleyin.

Yanıt yükü:

{
  "status": "success",
  "message": "Apidoc deleted",
  "data": {
  },
  "code": null,
  "request_id": "1790036484",
  "error_code": null
}

API belgelerini yönetme

Aşağıdaki bölümlerde, API dokümanlarının nasıl güncelleneceği, indirileceği veya kaldırılacağı açıklanmaktadır.

API belgelerini güncelleme

API dokümanlarının farklı bir sürümünü yüklemek için:

Kullanıcı Arayüzü

  1. API kataloğuna erişin.
  2. Henüz seçilmemişse API'ler sekmesini tıklayın.
  3. Düzenlemek istediğiniz API'nin satırını tıklayın.
  4. Anlık görüntü durumunu kontrol edin. Güncel değilse aşağıdaki mesaj gösterilir: Anlık görüntünün güncel olmadığını belirten simge ve mesaj
  5. Düzenle'yi tıklayın.
  6. Aşağıdaki görevlerden birini gerçekleştirin:
    • Güncel olmayan bir OpenAPI belgesinin anlık görüntüsünü yenilemek için Anlık Görüntüyü Yenile'yi tıklayın.
    • API dokümanlarını oluşturmak için kullanılan dokümanı değiştirmek üzere API dokümanları bölümünde Doküman Seç'i tıklayın ve yeni dokümanı seçin.
  7. API dokümanları bölmesinde aşağıdakilerden birini seçin:
    • OpenAPI dokümanı
    • GraphQL Şeması
  8. Doküman seç'i tıklayın ve dokümanın en son sürümünü seçin.
  9. GraphQL için Uç Nokta URL'sini belirtin.
  10. Kaydet'i tıklayın.

API referans dokümanları dokümandan oluşturulur ve API Referansı sayfasına eklenir. Anlık görüntü durumu güncel olarak güncellenir:

Simge ve mesaj, anlık görüntünün güncel olduğunu gösterir

curl

OpenAPI veya GraphQL doküman içeriğini güncellemek için:

OpenAPI

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"oasDocumentation": {
           "spec":{ "displayName":"DISPLAY_NAME",
                    "contents":"CONTENTS"}
            }
        }'

Aşağıdakini değiştirin:

  • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
  • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
  • API_DOC ile dokümanın oluşturulmuş id. Örneğin, 399668. Bu değeri bulmak için list API docs (API dokümanlarını listele) komutunu kullanın.
  • DISPLAY_NAME API dokümanının görünen adıyla. Örneğin: Hello World 2
  • CONTENTS ile API dokümanının içeriklerinin base64 kodlu dizesini gönderin. Çoğu geliştirme ortamında base64 dönüştürme aracı bulunur veya birçok online dönüştürme aracı vardır.

Yanıt yükü:

{
 "status":"success",
 "message":"Api documentation updated",
 "requestId":"645138278"
 "data": {
   "oasDocumentation": {
     "spec": {
        "displayName": "Hello World 2"
      },
     "Format": "YAML"
   }
 }
}

GraphQL

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"graphqlDocumentation": {
         "schema":{"displayName":"DISPLAY_NAME",
         "contents":"CONTENTS"},
         "endpointUri": "ENDPOINT_URI"
          }
      }'

Aşağıdakini değiştirin:

  • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
  • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
  • API_DOC ile dokümanın oluşturulmuş id. Örneğin, 399668. Bu değeri bulmak için list API docs (API dokümanlarını listele) komutunu kullanın.
  • DISPLAY_NAME API dokümanının görünen adıyla. Örneğin: Hello World 2
  • ENDPOINT_URI ile uç nokta URI'nizin alan adını değiştirin. Örneğin, https://demo.google.com/graphql.
  • CONTENTS ile API dokümanının içeriklerinin base64 kodlu dizesini gönderin. Çoğu geliştirme ortamında base64 dönüştürme aracı bulunur veya birçok online dönüştürme aracı vardır.

Yanıt yükü:

{
"status": "success",
"message": "ApiDocDocumentation updated",
"data": {
  "oasDocumentation": null,
  "graphqlDocumentation": {
    "schema": {
      "displayName": "schema.docs.graphql",
      "contents": ""
    },
    "endpointUri": "https://demo.google.com/graphql"
  }
},
"code": null,
"request_id": "640336173",
"error_code": null
}

API referans dokümanları belgeden oluşturulur ve canlı portalın API'ler sayfasına eklenir.

API belgelerini indirme

API belgelerini indirmek için:

Kullanıcı Arayüzü

curl

Belge al'ı kullanarak API belgelerini indirmek için:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer ACCESS_TOKEN"

Aşağıdakini değiştirin:

  • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
  • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
  • API_DOC ile dokümanın oluşturulmuş id. Örneğin, 399668. Bu değeri bulmak için list API docs (API dokümanlarını listele) komutunu kullanın.

    Yanıt yükü:

{
  "status": "success",
  "message": "ApiDocDocumentation returned",
  "data": {
    "oasDocumentation": {
      "spec": {
        "displayName": "mock",
        "contents": "b3BlbmFwaTogMy4wLjAKaW5mbzoKICBkZXNjcmlw ..."
      },
      "format": "YAML"
    },
    "graphqlDocumentation": null
  },
  "code": null,
  "request_id": "269996898",
  "error_code": null
}

Burada:

contents: API dokümanının içeriğinin base64 kodlu dizesi.

API belgelerini kaldırma

API belgelerini kaldırmak için:

Kullanıcı Arayüzü

  1. API kataloğuna erişin.
  2. Henüz seçilmemişse API'ler sekmesini tıklayın.
  3. Düzenlemek istediğiniz API'nin satırını tıklayın.
  4. Düzenle'yi tıklayın.
  5. API dokümanları bölmesinde Doküman yok'u seçin.
  6. Kaydet'i tıklayın.

curl

Mevcut içeriği temizlemek için Update API'yi kullanın:

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{}'

Aşağıdakini değiştirin:

  • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
  • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
  • API_DOC ile dokümanın oluşturulmuş id. Örneğin, 399668. Bu değeri bulmak için list API docs (API dokümanlarını listele) komutunu kullanın.

Yanıt yükü:

{
  "status": "success",
  "message": "ApiDocDocumentation updated",
  "data": {
    "oasDocumentation": null,
    "graphqlDocumentation": null
  },
  "code": null,
  "request_id": "304329676",
  "error_code": null
}

İlgili API'leri keşfetmek için kullanılan kategorileri yönetme

Uygulama geliştiricilerin, canlı portalın API'ler sayfasında ilgili API'leri keşfetmelerini sağlamak için kategorileri kullanarak bir API'yi etiketleyin. Aşağıdaki bölümlerde açıklandığı şekilde kategori ekleyin ve yönetin.

Kategorileri keşfedin

Portalınızdaki API'leri görüntülemek için kullanıcı arayüzünü veya curl komutunu kullanın.

Kullanıcı Arayüzü

Kategoriler sayfasını görüntülemek için:

  1. Yayınla > Portallar'ı ve portalınızı seçin.
  2. Portal ana sayfasında API kataloğu'nu tıklayın.

    Alternatif olarak, üst gezinme çubuğundaki portal açılır menüsünden API kataloğu'nu da seçebilirsiniz.

  3. Kategoriler sekmesini tıklayın.

API kataloğundaki Kategoriler sekmesinde, portalınız için tanımlanmış kategorilerin listesi gösterilir.

Kategori adını, atanan API&#39;lerin adlarını ve toplam sayısını gösteren Kategoriler sekmesi

Önceki şekilde belirtildiği gibi, API'ler sayfası şunları yapmanıza olanak tanır:

curl

Kategorileri listelemek için:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories" \
    -H "Authorization: Bearer ACCESS_TOKEN"

Aşağıdakini değiştirin:

  • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
  • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
  • ACCESS_TOKEN ile Apigee Edge API'ye erişmek için kullanılan kimlik doğrulama jetonunu gönderin. Kimlik doğrulama ve jetonlar hakkında daha fazla bilgi için Edge API'ye erişimi kimlik doğrulama başlıklı makaleyi inceleyin.

Yanıt yükü:

{
  "status": "success",
  "message": "all ApiCategory items returned",
  "data": [
    {
      "id": "e0518597-ece2-4d7d-ba7c-d1793df0f8db",
      "siteId": "my-org-myportal",
      "name": "My Category"
    },
    {
      "id": "61c1014c-89c9-40e6-be3c-69cca3505620",
      "siteId": "my-org-myportal",
      "name": "test2"
    }
  ],
  "code": null,
  "request_id": "1263510680",
  "error_code": null
}

Burada:

  • id: Kategori öğesinin kimliği. Örneğin, 61c1014c-89c9-40e6-be3c-69cca3505620.

Kategori ekleme

Aşağıdaki yöntemlerden biriyle kategori ekleyin:

  • Portala API eklerken kategorinin adını girin.
  • Aşağıda açıklandığı şekilde manuel olarak kategori ekleme

Yeni kategori, Kategoriler sayfasına eklenir ve diğer API'ler eklenirken veya düzenlenirken kullanılabilir hale gelir.

Kategori eklemek için kullanıcı arayüzünü veya curl komutunu kullanın:

Kullanıcı Arayüzü

Manuel olarak kategori eklemek için:

  1. Kategoriler sayfasına erişin.
  2. + Ekle'yi tıklayın.
  3. Yeni kategorinizin adını girin.
  4. İsteğe bağlı olarak, kategoriye etiketlenecek bir veya daha fazla API seçin.
  5. Oluştur'u tıklayın.

curl

Kategori eklemek için:

curl -X POST "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"name": "CATEGORY_NAME" }'

Aşağıdakini değiştirin:

  • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
  • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
  • ACCESS_TOKEN ile Apigee Edge API'ye erişmek için kullanılan kimlik doğrulama jetonunu gönderin. Kimlik doğrulama ve jetonlar hakkında daha fazla bilgi için Edge API'ye erişimi kimlik doğrulama başlıklı makaleyi inceleyin.
  • CATEGORY_NAME kategorisinin adını içeren bir URL. Örneğin, demo-backend.

Yanıt yükü:

{
  "status": "success",
  "message": "API category created",
  "data": {
    "id": "61de810e-b48b-4cc1-8f22-959038aadcce",
    "siteId": "my-org-myportal",
    "name": "demo-backend"
  },
  "code": null,
  "request_id": "363146927",
  "error_code": null
}

Kategori düzenleme

Bir kategoriyi düzenlemek için kullanıcı arayüzünü veya curl komutunu kullanın:

Kullanıcı Arayüzü

Bir kategoriyi düzenlemek için:

  1. Kategoriler sayfasına erişin.
  2. Düzenle'yi tıklayın.
  3. Kategorinin adını düzenleyin.
  4. API etiketleri ekleyin veya kaldırın.
  5. Kaydet'i tıklayın.

curl

Bir kategoriyi düzenlemek için:

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories/CATEGORY_ID"  \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"name": "CATEGORY_NAME" }'

Aşağıdakini değiştirin:

  • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
  • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
  • CATEGORY_ID kategorisinin kimliği. Örneğin, bf6505eb-2a0f-47af-a00a-ded40ac72960. Birden çok kategori kimliğini virgülle ayırın. list API categories komutuyla kategori kimliğini alın.
  • ACCESS_TOKEN ile Apigee Edge API'ye erişmek için kullanılan kimlik doğrulama jetonunu gönderin. Kimlik doğrulama ve jetonlar hakkında daha fazla bilgi için Edge API'ye erişimi kimlik doğrulama başlıklı makaleyi inceleyin.
  • CATEGORY_NAME kategorisinin adını içeren bir URL. Örneğin, demo-backend.

Yanıt yükü:

{
  "status": "success",
  "message": "ApiCategory updated",
  "data": {
    "id": "61de810e-b48b-4cc1-8f22-959038aadcce",
    "siteId": "my-org-myportal",
    "name": "demo-backend-test"
  },
  "code": null,
  "request_id": "1976875617",
  "error_code": null
}

Kategori silme

Bir kategoriyi sildiğinizde, ilgili kategoriye ait tüm API etiketleri de silinir.

Bir kategoriyi silmek için kullanıcı arayüzünü veya curl komutunu kullanın:

Kullanıcı Arayüzü

Bir kategoriyi silmek için:

  1. Kategoriler sayfasına erişin.
  2. İşlem menüsünü görüntülemek için imlecinizi düzenlemek istediğiniz kategorinin üzerine getirin.
  3. Sil'i tıklayın.
  4. İşlemi onaylamak için Sil'i tıklayın.

curl

Bir kategoriyi silmek için:

curl -X DELETE "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories/CATEGORY_ID" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json"

Aşağıdakini değiştirin:

  • ORG_NAME ile kuruluşun adını girin. Örneğin, my-org.
  • SITE_ID, portalın adıyla birlikte ORG_NAME-PORTAL_NAME biçiminde olmalıdır. Bu formda ORG_NAME, kuruluşun adı, PORTAL_NAME ise boşluklar ve kısa çizgiler kaldırılarak küçük harflere dönüştürülmüş portal adıdır. Örneğin, my-org-myportal.
  • CATEGORY_ID kategorisinin kimliği. Örneğin, bf6505eb-2a0f-47af-a00a-ded40ac72960. list API categories komutuyla kategori kimliğini alın.
  • ACCESS_TOKEN ile Apigee Edge API'ye erişmek için kullanılan kimlik doğrulama jetonunu gönderin. Kimlik doğrulama ve jetonlar hakkında daha fazla bilgi için Edge API'ye erişimi kimlik doğrulama başlıklı makaleyi inceleyin.

Yanıt yükü:

{
  "status": "success",
  "message": "ApiCategory deleted",
  "data": {
  },
  "code": null,
  "request_id": "2032819627",
  "error_code": null
}

Yayınlanan API'lerinizle ilgili sorunları giderme

Aşağıdaki bölümlerde, yayınlanan API'lerimizdeki belirli hataları gidermenize yardımcı olacak bilgiler verilmektedir.

Hata: Bu API'yi dene özelliği kullanılırken döndürülen hata alınamadı

Bu API'yi deneyin'i kullanırken TypeError: Failed to fetch hatası döndürülürse aşağıdaki olası nedenleri ve çözümleri göz önünde bulundurun:

  • Karışık içerik hatalarının nedeni bilinen bir swagger-ui sorunu olabilir. Olası bir geçici çözüm, OpenAPI belgenizdeki schemes tanımında HTTP'den önce HTTPS'yi belirttiğinizden emin olmaktır. Örneğin:

    schemes:
       - https
       - http
    
  • Merkezler arası kaynak paylaşımı (CORS) kısıtlama hataları için API proxy'lerinizde CORS'un desteklediğinden emin olun. CORS, istemci tarafında kaynakta geçiş isteklerini etkinleştiren standart bir mekanizmadır. API proxy'nizi Bu API'yi deneyin'i desteklemek için yapılandırma başlıklı makaleyi inceleyin.

Hata: "Access-Control-Allow-Origin" üst bilgisi "*, *" olmak üzere birden fazla değer içeriyor ancak yalnızca bir değere izin veriliyor

Bu API'yi dene'yi kullanırken Access-Control-Allow-Origin başlığı zaten mevcutsa aşağıdaki hata mesajını alabilirsiniz:

The Access-Control-Allow-Origin header contains multiple values '*, *', but only one is allowed.

Bu hatayı düzeltmek için AssignMessage politikasını, aşağıdaki alıntıda gösterildiği gibi CORS başlıklarını ayarlamak için <Add> yerine <Set> kullanacak şekilde değiştirin. Daha fazla bilgi için CORS Hatası : Başlık, "*, *" olmak üzere birden fazla değer içeriyor ancak yalnızca bir değere izin veriliyor başlıklı makaleyi inceleyin.

<AssignMessage async="false" continueOnError="false" enabled="true" name="add-cors">
    <DisplayName>Add CORS</DisplayName>
    <FaultRules/>
    <Properties/>
    <Set>
        <Headers>
            <Header name="Access-Control-Allow-Origin">{request.header.origin}</Header>
            <Header name="Access-Control-Allow-Headers">origin, x-requested-with, accept, content-type, authorization</Header>
            <Header name="Access-Control-Max-Age">3628800</Header>
            <Header name="Access-Control-Allow-Methods">GET, PUT, POST, DELETE</Header>
        </Headers>
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="response"/>
</AssignMessage>

Hata: İstek üstbilgi alanına izin verilmiyor

Bu API'yi dene'yi kullanırken aşağıdaki örneğe benzer bir Request header field not allowed hatası alırsanız CORS politikasında desteklenen üstbilgileri güncellemeniz gerekebilir. Örneğin:

Access to XMLHttpRequest ... has been blocked by CORS policy: Request header field
content-type is not allowed by Access-Control-Allow-Headers in preflight response

Bu örnekte, content-type başlığını CORS AssignMessage politikanızdaki Access-Control-Allow-Headers bölümüne eklemeniz gerekir. Bu işlem için Yeni bir API proxy'sine CORS ekleme politikası ekleme başlıklı makaleyi inceleyebilirsiniz.

Hata: OAuth2 kullanılarak API proxy'si çağrılırken erişim reddedildi

Apigee'nin OAuthV2 politikası, RFC'ye uygun olmayan belirli özellikleri içeren bir jeton yanıtı döndürüyor. Örneğin, politika, beklenen RFC uyumlu Bearer değeri yerine BearerToken değerini içeren bir jeton döndürür. Bu geçersiz token_type yanıtı, Bu API'yi dene özelliği kullanılırken Access denied hatasına neden olabilir.

Bu sorunu düzeltmek için politika çıkışını uyumlu bir biçime dönüştürmek üzere JavaScript veya AssignMessage politikası oluşturabilirsiniz. Daha fazla bilgi için RFC uyumlu olmayan davranış başlıklı makaleyi inceleyin.