Memublikasikan API Anda

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Publikasikan API ke portal Anda agar tersedia untuk digunakan oleh developer aplikasi, seperti yang dijelaskan di bagian berikut.

Ringkasan publikasi API

Proses memublikasikan API ke portal Anda adalah proses dua langkah:

  1. Pilih produk API yang ingin Anda publikasikan ke portal.
  2. Menampilkan dokumentasi referensi API dari dokumen OpenAPI atau skema GraphQL untuk memungkinkan developer aplikasi mempelajari API Anda. (Untuk informasi selengkapnya tentang snapshot, lihat Apa yang dimaksud dengan snapshot?)

Apa yang dipublikasikan ke portal?

Saat Anda memublikasikan API, pembaruan berikut akan dilakukan secara otomatis ke portal Anda:

  • Dokumentasi referensi API. Antarmuka yang disediakan bergantung pada apakah Anda memublikasikan API menggunakan dokumen OpenAPI atau skema GraphQL. Lihat:
  • Link ke halaman referensi API ditambahkan ke halaman API

    Halaman API (disertakan dengan portal contoh) menyediakan daftar semua API yang dipublikasikan ke portal Anda, yang tercantum dalam urutan abjad, dengan link ke dokumentasi referensi API masing-masing untuk mengetahui informasi selengkapnya. Secara opsional, Anda dapat menyesuaikan hal berikut:

    • Gambar yang ditampilkan untuk setiap kartu API
    • Kategori yang digunakan untuk memberi tag pada API agar developer dapat menemukan API terkait di halaman API

    Halaman API di portal aktif yang menampilkan dua kategori dan penggunaan gambar

SmartDocs (OpenAPI)

Saat Anda memublikasikan API menggunakan dokumen OpenAPI, dokumentasi referensi SmartDocs API akan ditambahkan ke portal Anda.

Developer dapat meninjau dokumentasi referensi SmartDocs API Anda dan menggunakan panel Coba API ini untuk membuat permintaan API dan melihat outputnya. Try this API berfungsi dengan endpoint yang tidak diamankan atau endpoint yang diamankan menggunakan Autentikasi Dasar, Kunci API, atau OAuth, berdasarkan metode keamanan yang ditentukan dalam dokumen OpenAPI Anda. Untuk OAuth, alur berikut didukung: kode otorisasi, sandi, dan kredensial klien.

Halaman dokumentasi referensi API dengan keterangan yang menunjukkan cara memberi otorisasi pada panggilan API, melepaskan panel Coba API ini, mendownload spesifikasi yang relevan, dan mengeksekusi API.

Klik Fullscreen untuk meluaskan panel Try this API. Panel yang diperluas memungkinkan Anda melihat panggilan curl dan contoh kode dalam berbagai format, seperti HTTP, Python, Node.js, dan lainnya, seperti yang ditunjukkan pada gambar berikut.

Panel Coba API ini yang diperluas

GraphQL Explorer

Saat Anda memublikasikan API menggunakan skema GraphQL, GraphQL Explorer akan ditambahkan ke portal Anda. GraphQL Explorer adalah platform interaktif untuk menjalankan kueri terhadap API Anda. Penjelajah ini didasarkan pada GraphiQL, sebuah implementasi referensi GraphQL IDE yang dikembangkan oleh GraphQL Foundation.

Developer dapat menggunakan GraphQL Explorer untuk menjelajahi dokumentasi interaktif berbasis skema, membuat dan menjalankan kueri, melihat hasil kueri, dan mendownload skema. Untuk mengamankan akses ke API Anda, developer dapat meneruskan header otorisasi di panel Header Permintaan.

Untuk mengetahui informasi selengkapnya tentang GraphQL, lihat graphql.org.

GraphQL Explorer di portal

Apa itu snapshot?

Setiap dokumen OpenAPI atau GraphQL berfungsi sebagai sumber tepercaya di seluruh siklus proses API. Dokumen yang sama digunakan di setiap fase siklus proses API, mulai dari pengembangan hingga publikasi hingga pemantauan. Saat mengubah dokumen, Anda harus memahami dampak perubahan pada API Anda melalui fase siklus proses lainnya, seperti yang dijelaskan dalam Apa yang terjadi jika saya mengubah dokumen?.

Saat memublikasikan API, Anda mengambil snapshot dokumen OpenAPI atau GraphQL untuk merender dokumentasi referensi API. Snapshot tersebut merepresentasikan versi dokumen tertentu. Jika Anda mengubah dokumen, Anda dapat memutuskan untuk mengambil snapshot lain dari dokumen tersebut guna mencerminkan perubahan terbaru dalam dokumentasi referensi API.

Tentang URL callback

Jika aplikasi Anda memerlukan URL callback, seperti saat menggunakan jenis pemberian kode otorisasi OAuth 2.0 (sering disebut sebagai OAuth tiga arah), Anda dapat mewajibkan developer untuk menentukan URL callback saat mereka mendaftarkan aplikasi. URL callback biasanya menentukan URL aplikasi yang ditetapkan untuk menerima kode otorisasi atas nama aplikasi klien. Untuk mengetahui informasi selengkapnya, lihat Menerapkan jenis pemberian kode otorisasi.

Anda dapat mengonfigurasi apakah akan mewajibkan URL callback selama pendaftaran aplikasi atau tidak saat menambahkan API ke portal Anda. Anda dapat mengubah setelan ini kapan saja, seperti yang dijelaskan dalam Mengelola URL panggilan balik untuk API.

Saat mendaftarkan aplikasi, developer harus memasukkan URL callback untuk semua API yang memerlukannya, seperti yang dijelaskan dalam Mendaftarkan aplikasi.

Mengonfigurasi proxy API untuk mendukung "Coba API ini"

Sebelum memublikasikan API menggunakan dokumen OpenAPI, Anda harus mengonfigurasi proxy API untuk mendukung pembuatan permintaan di panel Try this API dalam dokumentasi referensi API SmartDocs, sebagai berikut:

  • Menambahkan dukungan CORS ke proxy API untuk menerapkan permintaan lintas origin sisi klien

    CORS adalah mekanisme standar yang memungkinkan panggilan JavaScript XMLHttpRequest (XHR) yang dieksekusi di halaman web berinteraksi dengan resource dari domain non-asal. CORS adalah solusi yang umum diterapkan untuk kebijakan asal yang sama yang diterapkan oleh semua browser.

  • Perbarui konfigurasi proxy API jika Anda menggunakan autentikasi dasar atau OAuth2

Tabel berikut merangkum persyaratan konfigurasi proxy API untuk mendukung panel Coba API ini dalam dokumentasi referensi API SmartDocs berdasarkan akses autentikasi.

Akses Auth Persyaratan konfigurasi kebijakan
Tidak ada atau kunci API Tambahkan dukungan CORS ke proxy API Anda. Untuk mempermudah, gunakan solusi CORS contoh yang disediakan di GitHub atau ikuti langkah-langkah yang dijelaskan di Menambahkan dukungan CORS ke proxy API.
Autentikasi dasar Lakukan langkah-langkah berikut:
  1. Tambahkan dukungan CORS ke proxy API Anda. Untuk mempermudah, gunakan solusi CORS contoh yang disediakan di GitHub atau ikuti langkah-langkah yang dijelaskan dalam Menambahkan dukungan CORS ke proxy API.
  2. Di kebijakan Add CORS AssignMessage, pastikan header Access-Control-Allow-Headers menyertakan atribut authorization. Contoh:
    <Header name="Access-Control-Allow-Headers">
      origin, x-requested-with, accept, content-type, authorization
    </Header>
OAuth2
  1. Tambahkan dukungan CORS ke proxy API Anda. Untuk mempermudah, gunakan solusi CORS contoh yang disediakan di GitHub atau ikuti langkah-langkah yang dijelaskan dalam Menambahkan dukungan CORS ke proxy API.
  2. Di kebijakan Add CORS AssignMessage, pastikan header Access-Control-Allow-Headers menyertakan atribut authorization. Contoh:
    <Header name="Access-Control-Allow-Headers">
      origin, x-requested-with, accept, content-type, authorization
    </Header>
  3. Perbaiki perilaku yang tidak sesuai dengan RFC dalam kebijakan OAuth2 Anda. Untuk mempermudah, gunakan solusi OAuth2 contoh yang disediakan di GitHub atau lakukan langkah-langkah berikut:
    • Pastikan elemen <GrantType> dalam kebijakan OAuth2 ditetapkan ke request.formparam.grant_type (parameter formulir). Untuk mengetahui informasi selengkapnya, lihat <GrantType>.
    • Pastikan token_type dalam kebijakan OAuth2 ditetapkan ke Bearer, bukan BearerToken default.

Mengelola API

Kelola API Anda seperti yang dijelaskan di bagian berikut.

Jelajahi API

Gunakan perintah UI atau curl untuk melihat API yang ada di portal Anda.

UI

Untuk melihat katalog API:

  1. Pilih Publikasikan > Portal, lalu pilih portal Anda.
  2. Klik API catalog di halaman beranda portal. Atau, Anda dapat memilih API catalog di menu drop-down portal pada menu navigasi atas.

Tab API di katalog API menampilkan daftar API yang telah ditambahkan ke portal Anda.

Tab API yang menampilkan informasi tentang API, termasuk nama, deskripsi, visibilitas, kategori, spesifikasi terkait, dan waktu diubah

Seperti yang ditunjukkan pada gambar sebelumnya, tab API memungkinkan Anda:

curl

Untuk mencantumkan API:

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

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Misalnya, my-org.
  • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk mengetahui informasi selengkapnya tentang autentikasi dan token, lihat Mengautentikasi akses ke Edge API.

Lihat Catatan penomoran halaman untuk mengetahui petunjuk tentang cara menggunakan penomoran halaman dalam payload respons.

Payload respons:

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

Dengan:

  • modified: Waktu item katalog terakhir diubah dalam milidetik sejak epoch. Misalnya, 1698165480000.
  • id: ID item katalog. Misalnya, 399668.

Catatan penomoran halaman:

  • Ukuran halaman: Gunakan pageSize untuk menentukan jumlah item daftar yang akan ditampilkan dalam satu halaman. Nilai defaultnya adalah 25, dan nilai maksimumnya adalah 100. Jika ada halaman tambahan, nextPageToken diisi dengan token:

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

    Ganti:

    • PAGE_SIZE dengan jumlah item daftar yang akan ditampilkan dalam satu halaman. Misalnya, 10.

    Payload respons:

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

  • Token halaman: Gunakan pageToken untuk mengambil halaman berikutnya jika ada lebih dari satu:

    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"
    

    Ganti:

    • PAGE_SIZE dengan jumlah item daftar yang akan ditampilkan dalam satu halaman. Misalnya, 10.
    • PAGE_TOKEN dengan nilai nextPageToken. Misalnya, 7zcqrin9l6xhi4nbrb9.

Menambahkan API

Gunakan UI atau perintah curl untuk menambahkan API ke portal Anda:

UI

Untuk menambahkan API ke portal Anda:

  1. Akses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik + Tambahkan.

    Dialog Tambahkan produk API ke katalog akan ditampilkan.

  4. Pilih produk API yang ingin Anda tambahkan ke portal.

  5. Klik Berikutnya. Halaman API details akan ditampilkan.

  6. Konfigurasi konten dokumentasi referensi API dan visibilitasnya di portal:

    Kolom Deskripsi
    Dipublikasikan Pilih Dipublikasikan untuk memublikasikan API ke portal Anda. Hapus centang pada kotak jika Anda belum siap memublikasikan API. Anda dapat mengubah setelan ini nanti, seperti yang dijelaskan dalam Memublikasikan atau membatalkan publikasi API di portal Anda.
    Display title Perbarui judul API yang ditampilkan dalam katalog. Secara default, nama produk API akan digunakan. Anda dapat mengubah judul tampilan nanti, seperti yang dijelaskan di Mengedit judul dan deskripsi tampilan.
    Display description Perbarui deskripsi API Anda yang ditampilkan di katalog. Secara default, deskripsi produk API digunakan. Anda dapat mengubah deskripsi tampilan nanti, seperti yang dijelaskan dalam Mengedit judul dan deskripsi tampilan.
    Mewajibkan developer untuk menentukan URL callback Aktifkan jika Anda ingin mewajibkan developer aplikasi menentukan URL callback. Anda dapat menambahkan atau memperbarui URL callback nanti, seperti yang dijelaskan dalam Mengelola URL callback untuk API.
    Dokumentasi API

    Untuk menggunakan dokumen OpenAPI:

    1. Pilih OpenAPI document.
    2. Klik Pilih dokumen.
    3. Lakukan salah satu langkah berikut:
      • Klik tab Spesifikasi Saya dan pilih spesifikasi dari toko spesifikasi.
      • Klik tab Upload File, lalu upload file.
      • Klik tab Impor dari URL, lalu impor spesifikasi dari URL.
    4. Klik Pilih.

    Untuk menggunakan skema GraphQL:

    1. Pilih GraphQL Schema.
    2. Klik Pilih Dokumen.
    3. Buka dan pilih skema GraphQL.
    4. Klik Pilih.

    Atau, Anda dapat memilih Tidak ada dokumentasi dan menambahkan dokumentasi nanti setelah API ditambahkan, seperti yang dijelaskan dalam Mengelola snapshot dokumen.

    API visibility

    Jika Anda belum mendaftar ke rilis beta fitur pengelolaan audiens, pilih salah satu opsi berikut:

    • Pengguna anonim untuk mengizinkan semua pengguna melihat API.
    • Pengguna terdaftar untuk mengizinkan hanya pengguna terdaftar yang melihat API.

    Jika Anda telah mendaftar untuk rilis beta fitur pengelolaan audiens, pilih salah satu opsi berikut:

    • Public (visible to anyone) agar semua pengguna dapat melihat API.
    • Pengguna terautentikasi untuk mengizinkan hanya pengguna terdaftar melihat API.
    • Audiens yang dipilih untuk memilih audiens tertentu yang Anda inginkan dapat melihat API.

    Anda dapat mengelola visibilitas audiens nanti, seperti yang dijelaskan dalam Mengelola visibilitas API di portal Anda.

    Gambar tampilan Untuk menampilkan gambar di kartu API pada halaman API, klik Pilih gambar. Dalam dialog Pilih gambar, pilih gambar yang ada, upload gambar baru, atau berikan URL gambar eksternal, lalu klik Pilih. Pratinjau thumbnail API, lalu klik Pilih. Anda dapat menambahkan gambar nanti, seperti yang dijelaskan dalam Mengelola gambar untuk kartu API. Saat menentukan gambar dengan URL eksternal, gambar tidak akan diupload ke aset Anda; selain itu, pemuatan gambar di portal terintegrasi akan tunduk pada ketersediaannya, yang dapat diblokir atau dibatasi oleh kebijakan keamanan konten.
    Kategori

    Tambahkan kategori yang akan digunakan untuk memberi tag pada API agar developer aplikasi dapat menemukan API terkait di halaman API. Untuk mengidentifikasi kategori:

    • Pilih kategori dari menu drop-down.
    • Tambahkan kategori baru dengan mengetikkan namanya dan menekan Enter. Kategori baru akan ditambahkan ke halaman Kategori dan tersedia saat menambahkan atau mengedit API lain.

  7. Klik Simpan.

curl

Untuk menambahkan API ke portal Anda :

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

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Misalnya, my-org.
  • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk mengetahui informasi selengkapnya tentang autentikasi dan token, lihat Mengautentikasi akses ke Edge API.
  • TITLE dengan judul tampilan. Misalnya, Hello World 2.
  • DESCRIPTION dengan deskripsi tampilan. Contoh, Simple hello world example.
  • ANON_TRUE_OR_FALSE dengan true atau false (default), dengan true berarti API ini memiliki visibilitas publik dan dapat dilihat secara anonim; jika tidak, hanya pengguna terdaftar yang dapat melihatnya.
  • IMAGE_URL dengan URL gambar eksternal yang digunakan untuk item katalog, atau jalur file untuk file gambar yang disimpan di portal, misalnya, /files/book-tree.jpg. Saat menentukan URL gambar eksternal, gambar tidak akan diupload ke aset Anda; selain itu, pemuatan gambar di portal terintegrasi akan tunduk pada ketersediaannya, yang dapat diblokir atau dibatasi oleh kebijakan keamanan konten.
  • CALLBACK_TRUE_OR_FALSE dengan true atau false (default), dengan true mengharuskan pengguna portal memasukkan URL saat mengelola aplikasi.
  • CATEGORY_ID dengan ID kategori. Misalnya, bf6505eb-2a0f-47af-a00a-ded40ac72960. Pisahkan beberapa ID kategori dengan koma. Dapatkan ID kategori dengan perintah list API categories.
  • PUBLISHED_TRUE_OR_FALSE dengan true atau false (default), dengan true menunjukkan bahwa API tersedia secara publik. Setelah dipublikasikan, Anda dapat mengizinkan akses ke semua pengguna, pengguna yang diautentikasi, atau pengguna tertentu.
  • API_PRODUCT dengan nama produk API. Misalnya, Hello World 2.

Payload respons:

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

Dengan:

  • modified: Waktu item katalog terakhir diubah dalam milidetik sejak epoch. Misalnya, 1698165480000.
  • id: ID item katalog. Misalnya, 399668.

Mengedit API

Setelah menambahkan API, gunakan UI atau panggilan API untuk melakukan pengeditan.

Bagian ini memberikan contoh mendetail tentang langkah-langkah yang harus dilakukan untuk mengubah API yang ada di portal Anda.

Lihat bagian berikutnya untuk mengetahui setelan modifikasi tertentu.

UI

Untuk mengedit API:

  1. Akses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik di baris API yang ingin Anda edit.
  4. Klik ikon editEdit.
  5. Di bagian Detail API, lakukan perubahan yang diperlukan. Lihat deskripsi opsi di Menambahkan API.
  6. Klik Simpan.

curl

Setelah menambahkan API, gunakan panggilan update untuk melakukan pengeditan.

Contoh ini akan memandu Anda melakukan langkah-langkah yang diperlukan untuk mengubah status API yang dipublikasikan di portal Anda dari true menjadi false. Anda dapat mengubah lebih dari satu setelan dalam satu panggilan API jika perlu.

  1. Untuk menemukan id yang dihasilkan yang secara unik mengidentifikasi setiap API, dapatkan daftar API di portal Anda seperti yang dijelaskan dalam Menjelajahi API.
  2. Menampilkan nilai saat ini untuk API tertentu:

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

    Ganti kode berikut:

    • ORG_NAME dengan nama organisasi. Misalnya, my-org.
    • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
    • API_DOC dengan id dokumen yang dibuat. Contoh, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.
    • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk mengetahui informasi selengkapnya tentang autentikasi dan token, lihat Mengautentikasi akses ke Edge API.

    Payload respons:

    {
      "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. Sertakan nilai yang dapat berubah yang ingin Anda pertahankan dalam panggilan update, dan ubah nilai yang ingin Anda ubah. Jika Anda menghapus baris, setelan default akan digunakan. Untuk contoh ini, ubah setelan dipublikasikan dari false menjadi true:

    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
     }'
    

    Ganti kode berikut:

    • TITLE dengan judul tampilan. Misalnya, Hello World 2.

    Payload respons:

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

Mengelola snapshot dokumen

Setelah memublikasikan API, kapan saja Anda dapat mengambil snapshot baru dari dokumen OpenAPI atau GraphQL untuk memperbarui dokumentasi referensi API yang dipublikasikan di portal Anda.

Untuk mengelola cuplikan dokumen:

  1. Akses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik di baris API yang ingin Anda edit.
  4. Periksa status snapshot. Jika sudah tidak berlaku, pesan berikut akan ditampilkan: Ikon dan pesan yang menunjukkan bahwa snapshot sudah tidak berlaku
  5. Klik ikon edit.
  6. Lakukan salah satu tugas berikut:
    • Untuk memperbarui snapshot dokumen OpenAPI yang sudah tidak berlaku, klik Perbarui Snapshot.
    • Untuk mengubah dokumen yang digunakan untuk membuat dokumentasi API, di bagian dokumentasi API, klik Pilih Dokumen, lalu pilih dokumen baru.
  7. Klik Simpan.

Memublikasikan atau membatalkan publikasi API di portal Anda

Publikasi adalah proses membuat API Anda tersedia bagi developer aplikasi untuk penggunaan.

Gunakan UI atau perintah curl untuk memublikasikan atau membatalkan publikasi API di portal Anda.

UI

Untuk memublikasikan atau membatalkan publikasi API di portal Anda:

  1. Akses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik di baris API yang ingin Anda edit.
  4. Klik Ikon edit Edit.
  5. Di bagian Detail API, pilih atau hapus Dipublikasikan (tercantum dalam katalog) untuk memublikasikan atau membatalkan publikasi API di portal Anda.
  6. Klik Simpan.

curl

Sertakan salah satu hal berikut dalam panggilan update:

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

Untuk mengedit API:

  1. Menampilkan nilai saat ini:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer ACCESS_TOKEN"
  2. Gunakan panggilan update untuk mengedit API. Sertakan nilai yang dapat diubah yang ingin Anda pertahankan dan ubah nilai yang ingin Anda ubah. Jika Anda menghilangkan setelan yang dapat diubah, setelan tersebut akan ditimpa dengan nilai default.

    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
    }

Lihat Mengelola versi dokumen untuk mengetahui contoh mendetail langkah-langkah, variabel, dan payload yang ditampilkan.

Mengelola visibilitas API di portal Anda

Mengelola visibilitas API di portal Anda dengan mengizinkan akses ke:

  • Publik (dapat dilihat oleh siapa saja)
  • Pengguna yang diautentikasi
  • Audiens yang dipilih (jika Anda telah mendaftar dalam rilis beta fitur pengelolaan audiens)

Gunakan perintah UI atau curl untuk mengelola visibilitas API di portal Anda:

UI

Untuk mengelola visibilitas API di portal Anda:

  1. Akses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik di baris API yang ingin Anda edit.
  4. Klik Ikon edit Edit.
  5. Pilih setelan visibilitas. Jika Anda telah mendaftar dalam rilis beta fitur audiens, pilih salah satu opsi berikut:

    • Publik (dapat dilihat oleh siapa saja) agar semua pengguna dapat melihat halaman.
    • Pengguna terautentikasi untuk mengizinkan hanya pengguna terdaftar yang melihat halaman.
    • Audiens yang dipilih untuk memilih audiens tertentu yang dapat melihat halaman. Lihat Mengelola audiens untuk portal Anda.
    Jika tidak, pilih salah satu opsi berikut:
    • Pengguna anonim untuk mengizinkan semua pengguna melihat halaman.
    • Pengguna terdaftar untuk mengizinkan hanya pengguna terdaftar yang dapat melihat halaman.

  6. Klik Kirim.

curl

Jika Anda telah mendaftar dalam rilis beta fitur pengelolaan audiens, gunakan UI untuk mengelola audiens.

Jika Anda belum mendaftar ke fitur pengelolaan audiens, visibilitas dikelola menggunakan anonAllowed.

Sertakan salah satu opsi berikut dalam panggilan update:

  # 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

Untuk mengedit API:

  1. Menampilkan nilai saat ini:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Gunakan panggilan update untuk mengedit API. Sertakan nilai yang dapat berubah yang ingin Anda pertahankan dan ubah nilai yang ingin Anda ganti. Jika Anda menghapus setelan yang dapat diubah, nilai default akan digunakan.

    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
         }'

Lihat Mengedit API untuk mengetahui contoh langkah-langkah, variabel, dan payload yang ditampilkan secara mendetail.

Mengelola URL callback untuk API

Mengelola URL callback untuk API. Lihat Tentang URL callback.

Gunakan perintah UI atau curl untuk mengelola URL panggilan balik untuk API:

UI

Untuk mengelola URL callback untuk API:

  1. Akses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik di baris API yang ingin Anda edit.
  4. Klik Ikon edit Edit.
  5. Di bagian Detail API, centang atau hapus centang pada kotak Wajibkan developer menentukan URL callback.
  6. Klik Simpan.

curl

Sertakan salah satu opsi berikut dalam panggilan update:

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

Untuk mengedit API:

  1. Menampilkan nilai saat ini:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Gunakan panggilan update untuk mengedit API. Sertakan nilai yang dapat berubah yang ingin Anda pertahankan dan ubah nilai yang ingin Anda ganti. Jika Anda menghapus setelan yang dapat diubah, nilai default akan digunakan.

    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
         }'

Lihat Mengedit API untuk mengetahui contoh langkah-langkah, variabel, dan payload yang ditampilkan secara mendetail.

Mengelola gambar untuk kartu API

Kelola gambar yang muncul dengan kartu API di halaman API dengan menambahkan atau mengubah gambar saat ini.

Gunakan UI atau perintah curl untuk mengelola gambar kartu API:

UI

Untuk mengelola gambar kartu API:

  1. Akses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik di baris API yang ingin Anda edit.
  4. Klik Ikon edit Edit.
  5. Di bagian Detail API:

    • Klik Pilih gambar untuk menentukan atau mengupload gambar jika tidak ada gambar yang dipilih.
    • Klik Ubah gambar untuk menentukan atau mengupload gambar lain.
    • Klik x pada gambar untuk menghapusnya.

    Saat menentukan gambar, tentukan gambar dengan URL eksternal yang digunakan untuk item katalog, atau jalur untuk file gambar yang disimpan di portal, misalnya, /files/book-tree.jpg. Saat menentukan URL gambar eksternal, gambar tidak akan diupload ke aset Anda; selain itu, pemuatan gambar di portal terintegrasi akan tunduk pada ketersediaannya, yang dapat diblokir atau dibatasi oleh kebijakan keamanan konten.

  6. Klik Simpan.

curl

Sertakan informasi berikut dalam panggilan update:

  # Omit line for no image file

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

Untuk mengedit API:

  1. Menampilkan nilai saat ini:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Gunakan panggilan update untuk mengedit API. Sertakan nilai yang dapat berubah yang ingin Anda pertahankan dan ubah nilai yang ingin Anda ganti. Jika Anda menghapus setelan yang dapat diubah, nilai default akan digunakan.

    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
         }'

Lihat Mengedit API untuk mengetahui contoh langkah-langkah, variabel, dan payload yang ditampilkan secara mendetail.

Memberi tag pada API menggunakan kategori

Menggunakan kategori membantu developer aplikasi menemukan API terkait. Lihat juga Mengelola kategori.

Beri tag pada API menggunakan kategori dengan salah satu cara berikut:

  • Mengelola kategori yang diberi tag pada API saat mengedit API, seperti yang dijelaskan di bawah.
  • Mengelola API yang diberi tag ke kategori saat mengedit kategori.

Gunakan UI atau perintah curl untuk memberi tag pada API menggunakan kategori:

UI

Untuk memberi tag pada API ke kategori saat mengedit API:

  1. Akses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik di baris API yang ingin Anda edit.
  4. Klik Ikon edit Edit.
  5. Klik di dalam kolom Kategori dan lakukan salah satu langkah berikut:
    • Pilih kategori dari menu drop-down.
    • Tambahkan kategori baru dengan mengetikkan namanya dan menekan Enter. Kategori baru akan ditambahkan ke halaman Kategori dan tersedia saat menambahkan atau mengedit API lain.
  6. Ulangi untuk memberi tag API ke lebih banyak kategori.
  7. Klik Simpan.

curl

Sertakan informasi berikut dalam panggilan update:

  # Omit line for no categories

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

Gunakan perintah list categories untuk mendapatkan nomor ID kategori.

Untuk mengedit API:

  1. Menampilkan nilai saat ini:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Gunakan panggilan update untuk mengedit API. Sertakan nilai yang dapat berubah yang ingin Anda pertahankan dan ubah nilai yang ingin Anda ganti. Jika Anda menghapus setelan yang dapat diubah, nilai default akan digunakan.

    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
         }'

Lihat Mengedit API untuk mengetahui contoh langkah-langkah, variabel, dan payload yang ditampilkan secara mendetail.

Mengedit judul dan deskripsi tampilan

Gunakan UI atau perintah curl untuk mengedit judul dan deskripsi tampilan:

UI

Untuk mengedit judul dan deskripsi tampilan:

  1. Akses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik di baris API yang ingin Anda edit.
  4. Klik Ikon edit Edit.
  5. Edit kolom Judul tampilan dan Deskripsi tampilan sesuai kebutuhan.
  6. Klik Simpan.

curl

Sertakan informasi berikut dalam panggilan update:

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

Untuk mengedit API:

  1. Menampilkan nilai saat ini:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Gunakan panggilan update untuk mengedit API. Sertakan nilai yang dapat berubah yang ingin Anda pertahankan dan ubah nilai yang ingin Anda ganti. Jika Anda menghapus setelan yang dapat diubah, nilai default akan digunakan.

    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
         }'

Lihat Mengedit API untuk mengetahui contoh langkah-langkah, variabel, dan payload yang ditampilkan secara mendetail.

Menghapus API dari portal Anda

Gunakan perintah UI atau curl untuk menghapus API dari portal Anda:

UI

Untuk menghapus API dari portal Anda:

  1. Akses katalog API.
  2. Pilih API, jika belum dipilih.
  3. Posisikan kursor Anda di atas API dalam daftar untuk menampilkan menu tindakan.
  4. Klik Ikon hapus Delete.

curl

Untuk menghapus API dari portal Anda:

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

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Misalnya, my-org.
  • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
  • API_DOC dengan id dokumen yang dibuat. Contoh, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk mengetahui informasi selengkapnya tentang autentikasi dan token, lihat Mengautentikasi akses ke Edge API.

Payload respons:

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

Mengelola dokumentasi API

Bagian berikut menjelaskan cara memperbarui, mendownload, atau menghapus dokumentasi API.

Dokumentasi Update API

Untuk mengupload versi lain dari dokumentasi API:

UI

  1. Akses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik di baris API yang ingin Anda edit.
  4. Periksa status snapshot. Jika sudah tidak berlaku, pesan berikut akan ditampilkan: Ikon dan pesan yang menunjukkan bahwa snapshot sudah tidak berlaku
  5. Klik Edit.
  6. Lakukan salah satu tugas berikut:
    • Untuk memperbarui snapshot dokumen OpenAPI yang sudah tidak berlaku, klik Perbarui Snapshot.
    • Untuk mengubah dokumen yang digunakan untuk membuat dokumentasi API, di bagian dokumentasi API, klik Pilih Dokumen, lalu pilih dokumen baru.
  7. Di panel API documentation, pilih salah satu opsi berikut:
    • Dokumen OpenAPI
    • Skema GraphQL
  8. Klik Pilih Dokumen, lalu pilih dokumen versi terbaru.
  9. Untuk GraphQL, tentukan URL Endpoint.
  10. Klik Simpan.

Dokumentasi referensi API dirender dari dokumen dan ditambahkan ke halaman Referensi API. Status snapshot diperbarui ke saat ini:

Ikon dan pesan menunjukkan bahwa ringkasan sudah terbaru

curl

Untuk memperbarui konten dokumentasi OpenAPI atau GraphQL:

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

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Misalnya, my-org.
  • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
  • API_DOC dengan id dokumen yang dibuat. Contoh, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.
  • DISPLAY_NAME dengan nama tampilan dokumentasi API. Misalnya, Hello World 2.
  • CONTENTS dengan string berenkode base64 dari isi dokumentasi API. Sebagian besar lingkungan pengembangan berisi utilitas konversi base64, atau ada banyak alat konversi online.

Payload respons:

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

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Misalnya, my-org.
  • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
  • API_DOC dengan id dokumen yang dibuat. Contoh, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.
  • DISPLAY_NAME dengan nama tampilan dokumentasi API. Misalnya, Hello World 2.
  • ENDPOINT_URI dengan nama domain URI endpoint Anda. Misalnya, https://demo.google.com/graphql.
  • CONTENTS dengan string berenkode base64 dari isi dokumentasi API. Sebagian besar lingkungan pengembangan berisi utilitas konversi base64, atau ada banyak alat konversi online.

Payload respons:

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

Dokumentasi referensi API dirender dari dokumen dan ditambahkan ke halaman API di portal aktif.

Mendownload dokumentasi API

Untuk mendownload dokumentasi API:

UI

curl

Untuk mendownload dokumentasi API menggunakan get documentation:

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

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Misalnya, my-org.
  • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
  • API_DOC dengan id dokumen yang dibuat. Contoh, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.

    Payload respons:

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

Dengan:

contents: String berenkode base64 dari konten dokumentasi API.

Menghapus dokumentasi API

Untuk menghapus dokumentasi API:

UI

  1. Akses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik di baris API yang ingin Anda edit.
  4. Klik Edit.
  5. Di panel API documentation, pilih No documentation.
  6. Klik Simpan.

curl

Untuk menghapus konten yang ada, gunakan update API:

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

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Misalnya, my-org.
  • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
  • API_DOC dengan id dokumen yang dibuat. Contoh, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.

Payload respons:

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

Mengelola kategori yang digunakan untuk menemukan API terkait

Beri tag pada API menggunakan kategori agar developer aplikasi dapat menemukan API terkait di halaman API di portal aktif. Tambahkan dan kelola kategori, seperti yang dijelaskan di bagian berikut.

Jelajahi kategori

Gunakan perintah UI atau curl untuk melihat API yang ada di portal Anda.

UI

Untuk melihat halaman Kategori:

  1. Pilih Publikasikan > Portal, lalu pilih portal Anda.
  2. Klik API catalog di halaman beranda portal.

    Atau, Anda dapat memilih API catalog di menu drop-down portal di panel navigasi atas.

  3. Klik tab Kategori.

Tab Kategori di katalog API menampilkan daftar kategori yang telah ditentukan untuk portal Anda.

Tab Kategori yang menampilkan nama kategori, serta nama dan jumlah total API yang ditetapkan

Seperti yang ditunjukkan pada gambar sebelumnya, halaman API memungkinkan Anda untuk:

curl

Untuk mencantumkan kategori:

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

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Misalnya, my-org.
  • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk mengetahui informasi selengkapnya tentang autentikasi dan token, lihat Mengautentikasi akses ke Edge API.

Payload respons:

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

Dengan:

  • id: ID item kategori. Contoh, 61c1014c-89c9-40e6-be3c-69cca3505620.

Menambahkan kategori

Tambahkan kategori dengan salah satu cara berikut:

Kategori baru akan ditambahkan ke halaman Kategori dan tersedia saat menambahkan atau mengedit API lainnya.

Gunakan UI atau perintah curl untuk menambahkan kategori:

UI

Untuk menambahkan kategori secara manual:

  1. Akses halaman Kategori.
  2. Klik + Tambahkan.
  3. Masukkan nama kategori baru Anda.
  4. Jika perlu, pilih satu atau beberapa API untuk diberi tag ke kategori.
  5. Klik Buat.

curl

Untuk menambahkan kategori:

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

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Misalnya, my-org.
  • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk mengetahui informasi selengkapnya tentang autentikasi dan token, lihat Mengautentikasi akses ke Edge API.
  • CATEGORY_NAME dengan nama kategori. Contoh, demo-backend.

Payload respons:

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

Mengedit kategori

Gunakan UI atau perintah curl untuk mengedit kategori:

UI

Untuk mengedit kategori:

  1. Akses halaman Kategori.
  2. Klik Edit.
  3. Edit nama kategori.
  4. Menambahkan atau menghapus tag API.
  5. Klik Simpan.

curl

Untuk mengedit kategori:

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

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Misalnya, my-org.
  • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
  • CATEGORY_ID dengan ID kategori. Misalnya, bf6505eb-2a0f-47af-a00a-ded40ac72960. Pisahkan beberapa ID kategori dengan koma. Dapatkan ID kategori dengan perintah list API categories.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk mengetahui informasi selengkapnya tentang autentikasi dan token, lihat Mengautentikasi akses ke Edge API.
  • CATEGORY_NAME dengan nama kategori. Contoh, demo-backend.

Payload respons:

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

Menghapus kategori

Saat Anda menghapus kategori, semua tag API untuk kategori tersebut juga akan dihapus.

Gunakan UI atau perintah curl untuk menghapus kategori:

UI

Untuk menghapus kategori:

  1. Akses halaman Kategori.
  2. Posisikan kursor Anda di atas kategori yang ingin diedit untuk menampilkan menu tindakan.
  3. Klik Delete.
  4. Klik Delete untuk mengonfirmasi.

curl

Untuk menghapus kategori:

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"

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Misalnya, my-org.
  • SITE_ID dengan nama portal, dalam bentuk ORG_NAME-PORTAL_NAME, dengan ORG_NAME adalah nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi huruf kecil semua dan tanpa spasi serta tanda hubung. Misalnya, my-org-myportal.
  • CATEGORY_ID dengan ID kategori. Misalnya, bf6505eb-2a0f-47af-a00a-ded40ac72960. Dapatkan ID kategori dengan perintah list API categories.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk mengetahui informasi selengkapnya tentang autentikasi dan token, lihat Mengautentikasi akses ke Edge API.

Payload respons:

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

Memecahkan masalah pada API yang dipublikasikan

Bagian berikut memberikan informasi untuk membantu Anda memecahkan masalah error tertentu dengan API yang kami publikasikan.

Error: Gagal mengambil error yang ditampilkan saat menggunakan Coba API ini

Saat menggunakan Coba API ini, jika error TypeError: Failed to fetch ditampilkan, pertimbangkan kemungkinan penyebab dan resolusi berikut:

  • Untuk error konten campuran, error mungkin disebabkan oleh masalah swagger-ui yang diketahui. Salah satu solusi yang mungkin adalah memastikan bahwa Anda menentukan HTTPS sebelum HTTP dalam definisi schemes di dokumen OpenAPI. Contoh:

    schemes:
       - https
       - http
    
  • Untuk error pembatasan Cross-Origin Resource Sharing (CORS), pastikan CORS didukung untuk proxy API Anda. CORS adalah mekanisme standar yang memungkinkan permintaan lintas origin sisi klien. Lihat Mengonfigurasi proxy API untuk mendukung Coba API ini.

Error: Header 'Access-Control-Allow-Origin' berisi beberapa nilai '*, *', tetapi hanya satu yang diizinkan

Saat menggunakan Coba API ini, Anda mungkin menerima pesan error berikut jika header Access-Control-Allow-Origin sudah ada:

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

Untuk memperbaiki error ini, ubah kebijakan AssignMessage agar menggunakan <Set> untuk menyetel header CORS, bukan <Add>, seperti yang ditunjukkan dalam kutipan di bawah. Untuk mengetahui informasi selengkapnya, lihat Error CORS : header berisi beberapa nilai '*, *', tetapi hanya satu yang diizinkan.

<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>

Error: Kolom header permintaan tidak diizinkan

Saat menggunakan Coba API ini, jika Anda menerima error Request header field not allowed, mirip dengan contoh di bawah, Anda mungkin perlu memperbarui header yang didukung dalam kebijakan CORS. Contoh:

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

Dalam contoh ini, Anda perlu menambahkan header content-type ke bagian Access-Control-Allow-Headers dalam kebijakan AssignMessage CORS, seperti yang dijelaskan dalam Melampirkan kebijakan Add CORS ke proxy API baru.

Error: Akses ditolak saat memanggil proxy API menggunakan OAuth2

Kebijakan OAuthV2 Apigee menampilkan respons token yang berisi properti tertentu yang tidak sesuai dengan RFC. Misalnya, kebijakan akan menampilkan token dengan nilai BearerToken, bukan nilai Bearer yang sesuai dengan RFC. Respons token_type yang tidak valid ini dapat menyebabkan error Access denied saat menggunakan Coba API ini.

Untuk memperbaiki masalah ini, Anda dapat membuat kebijakan JavaScript atau AssignMessage untuk mengubah output kebijakan menjadi format yang sesuai. Untuk mengetahui informasi selengkapnya, lihat perilaku yang tidak sesuai dengan RFC.