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 publikasi API ke portal Anda adalah proses dua langkah:

  1. Pilih produk API yang ingin Anda publikasikan ke portal.
  2. Render dokumentasi referensi API dari dokumen OpenAPI atau skema GraphQL Anda 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, update berikut akan otomatis dilakukan di 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 contoh portal) 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 API SmartDocs 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 output-nya. Coba API ini berfungsi dengan endpoint yang tidak aman atau endpoint yang aman 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 info yang menunjukkan cara memberikan otorisasi pada panggilan API Anda, melepaskan panel Coba API ini, mendownload spesifikasi yang relevan, dan menjalankan API.

Klik Layar penuh untuk meluaskan panel Coba API ini. Panel yang diperluas memungkinkan Anda melihat contoh kode dan panggilan curl 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 tempat bermain interaktif untuk menjalankan kueri terhadap API Anda. Penjelajah ini didasarkan pada GraphiQL, implementasi referensi IDE GraphQL yang dikembangkan oleh GraphQL Foundation.

Developer dapat menggunakan GraphQL Explorer untuk menjelajahi dokumentasi interaktif berbasis skema, mem-build 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 informasi selengkapnya tentang GraphQL, lihat graphql.org.

GraphQL Explorer di portal

Apa yang dimaksud dengan snapshot?

Setiap dokumen OpenAPI atau GraphQL berfungsi sebagai sumber tepercaya selama siklus proses API. Dokumen yang sama digunakan pada setiap fase dalam siklus proses API, mulai dari pengembangan hingga publikasi hingga pemantauan. Saat memodifikasi dokumen, Anda harus mengetahui dampak perubahan pada API 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 mewakili versi dokumen tertentu. Jika mengubah dokumen, Anda dapat memutuskan untuk mengambil snapshot lain dari dokumen tersebut untuk 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 kaki), 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 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 dapat mengubah setelan ini kapan saja, seperti yang dijelaskan dalam Mengelola URL callback 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 Coba API ini dalam dokumentasi referensi SmartDocs API, sebagai berikut:

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

    CORS adalah mekanisme standar yang memungkinkan panggilan XMLHttpRequest (XHR) JavaScript yang dijalankan di halaman web untuk 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 SmartDocs API berdasarkan akses autentikasi.

Akses autentikasi Persyaratan konfigurasi kebijakan
Tidak ada atau kunci API Tambahkan dukungan CORS ke proxy API Anda. Untuk memudahkan, gunakan contoh solusi CORS 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 memudahkan, gunakan contoh solusi CORS yang disediakan di GitHub atau ikuti langkah-langkah yang dijelaskan dalam Menambahkan dukungan CORS ke proxy API.
  2. Dalam kebijakan Tambahkan 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 memudahkan, gunakan contoh solusi CORS yang disediakan di GitHub atau ikuti langkah-langkah yang dijelaskan dalam Menambahkan dukungan CORS ke proxy API.
  2. Dalam kebijakan Tambahkan 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 mematuhi RFC dalam kebijakan OAuth2 Anda. Untuk memudahkan, gunakan contoh solusi OAuth2 yang disediakan di GitHub atau lakukan langkah-langkah berikut:
    • Pastikan elemen <GrantType> dalam kebijakan OAuth2 ditetapkan ke request.formparam.grant_type (param formulir). Untuk 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 UI atau perintah curl untuk melihat API yang ada di portal Anda.

UI

Untuk melihat katalog API:

  1. Pilih Publikasi > Portal, lalu pilih portal Anda.
  2. Klik Katalog API di halaman beranda portal. Atau, Anda dapat memilih Katalog API di menu drop-down portal di 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 perubahan

Seperti yang ditandai 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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. Misalnya, my-org-myportal.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk 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 keterangan:

  • 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. Jumlah default-nya adalah 25, dan maksimumnya adalah 100. Jika ada halaman tambahan, nextPageToken akan 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 di 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 di 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:

  1. Mengakses 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. Konfigurasikan 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.
    Judul tampilan Perbarui judul API Anda yang ditampilkan di katalog. Secara default, nama produk API akan digunakan. Anda dapat mengubah judul tampilan nanti, seperti yang dijelaskan dalam Mengedit judul dan deskripsi tampilan.
    Menampilkan deskripsi Perbarui deskripsi API Anda yang ditampilkan di katalog. Secara default, deskripsi produk API akan 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 Dokumen OpenAPI.
    2. Klik Pilih dokumen.
    3. Lakukan salah satu langkah berikut:
      • Klik tab Spesifikasi Saya, lalu 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 menambahkannya nanti setelah API ditambahkan, seperti yang dijelaskan dalam Mengelola snapshot dokumen.

    Visibilitas API

    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 dapat melihat API.

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

    • Publik (terlihat oleh siapa saja) untuk mengizinkan semua pengguna melihat API.
    • Pengguna terautentikasi untuk mengizinkan hanya pengguna terdaftar yang dapat melihat API.
    • Audiens yang dipilih untuk memilih audiens tertentu yang Anda inginkan agar dapat melihat API.

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

    Gambar tampilan Untuk menampilkan gambar pada kartu API di halaman API, klik Pilih gambar. Di dialog Select image, pilih gambar yang ada, upload gambar baru, atau berikan URL gambar eksternal, lalu klik Select. Lihat 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 bergantung pada ketersediaannya, yang dapat diblokir atau dibatasi oleh kebijakan keamanan konten.
    Kategori

    Tambahkan kategori yang akan diberi tag API untuk memungkinkan developer aplikasi menemukan API terkait di halaman API. Untuk mengidentifikasi kategori:

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

  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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. Misalnya, my-org-myportal.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk 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 tersebut tidak akan diupload ke aset Anda. Selain itu, pemuatan gambar di portal terintegrasi akan bergantung 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. Saat 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 keterangan:

  • 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 setelan modifikasi tertentu.

UI

Untuk mengedit API:

  1. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  4. Klik ikon editEdit.
  5. Di bagian Detail API, buat perubahan. 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 dari true menjadi false. Anda dapat mengubah lebih dari satu setelan dalam satu panggilan API jika diperlukan.

  1. Untuk menemukan id yang dihasilkan yang mengidentifikasi setiap API secara unik, 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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. Misalnya, my-org-myportal.
    • API_DOC dengan id dokumen yang dihasilkan. Contoh, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.
    • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk 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 diubah yang ingin Anda simpan dalam panggilan update, dan ubah nilai yang ingin Anda ubah. Jika Anda menghapus baris, setelan default akan digunakan. Untuk contoh ini, ubah setelan yang 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, Anda dapat mengambil snapshot baru dari dokumen OpenAPI atau GraphQL kapan saja untuk memperbarui dokumentasi referensi API yang dipublikasikan di portal Anda.

Untuk mengelola snapshot dokumen:

  1. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  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 memuat ulang snapshot dokumen OpenAPI yang sudah tidak berlaku, klik Refresh Snapshot.
    • Untuk mengubah dokumen yang digunakan untuk membuat dokumentasi API, di bagian dokumentasi API, klik Select Document, lalu pilih dokumen baru.
  7. Klik Simpan.

Memublikasikan atau membatalkan publikasi API di portal

Publikasi adalah proses penyediaan API Anda kepada developer aplikasi untuk digunakan.

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. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  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 dari berikut ini 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, variabel, dan payload yang ditampilkan.

Mengelola visibilitas API di portal Anda

Kelola visibilitas API di portal Anda dengan mengizinkan akses ke:

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

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

UI

Untuk mengelola visibilitas API di portal Anda:

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

    • Publik (dapat dilihat oleh siapa saja) untuk mengizinkan semua pengguna melihat halaman.
    • Pengguna terautentikasi untuk mengizinkan hanya pengguna terdaftar yang dapat melihat halaman.
    • Audiens yang dipilih untuk memilih audiens tertentu yang Anda inginkan agar 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 terdaftar 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 dari berikut ini 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 diubah yang ingin Anda pertahankan dan ubah nilai yang ingin Anda ubah. 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 mendetail tentang langkah, variabel, dan payload yang ditampilkan.

Mengelola URL callback untuk API

Mengelola URL callback untuk API. Lihat Tentang URL callback.

Gunakan UI atau perintah curl untuk mengelola URL callback untuk API:

UI

Untuk mengelola URL callback untuk API:

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

curl

Sertakan salah satu dari berikut ini 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 diubah yang ingin Anda pertahankan dan ubah nilai yang ingin Anda ubah. 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 mendetail tentang langkah, variabel, dan payload yang ditampilkan.

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. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  4. Klik Ikon edit Edit.
  5. Di bagian API details:

    • Klik Pilih gambar untuk menentukan atau mengupload gambar jika tidak ada gambar yang dipilih.
    • Klik Ganti gambar untuk menentukan atau mengupload gambar lain.
    • Klik x di 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 bergantung pada ketersediaannya, yang dapat diblokir atau dibatasi oleh kebijakan keamanan konten.

  6. Klik Simpan.

curl

Sertakan hal 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 diubah yang ingin Anda pertahankan dan ubah nilai yang ingin Anda ubah. 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 mendetail tentang langkah, variabel, dan payload yang ditampilkan.

Memberi tag pada API menggunakan kategori

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

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

  • Kelola kategori yang diberi tag API saat mengedit API, seperti 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. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  4. Klik Ikon edit Edit.
  5. Klik dalam kolom Kategori dan lakukan salah satu langkah berikut:
    • Pilih kategori dari menu drop-down.
    • Tambahkan kategori baru dengan mengetik namanya dan menekan Enter. Kategori baru akan ditambahkan ke halaman Kategori dan tersedia saat menambahkan atau mengedit API lainnya.
  6. Ulangi untuk memberi tag pada API ke lebih banyak kategori.
  7. Klik Simpan.

curl

Sertakan hal 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 diubah yang ingin Anda pertahankan dan ubah nilai yang ingin Anda ubah. 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 mendetail tentang langkah, variabel, dan payload yang ditampilkan.

Mengedit judul dan deskripsi tampilan

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

UI

Untuk mengedit judul dan deskripsi tampilan:

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

curl

Sertakan hal 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 diubah yang ingin Anda pertahankan dan ubah nilai yang ingin Anda ubah. 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 mendetail tentang langkah, variabel, dan payload yang ditampilkan.

Menghapus API dari portal

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

UI

Untuk menghapus API dari portal:

  1. Mengakses katalog API.
  2. Pilih API, jika belum dipilih.
  3. Posisikan kursor ke 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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. Misalnya, my-org-myportal.
  • API_DOC dengan id dokumen yang dihasilkan. Contoh, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk 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 dokumentasi API yang berbeda:

UI

  1. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  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 memuat ulang snapshot dokumen OpenAPI yang sudah tidak berlaku, klik Refresh Snapshot.
    • Untuk mengubah dokumen yang digunakan untuk membuat dokumentasi untuk API, di bagian dokumentasi API, klik Select Document, lalu pilih dokumen baru.
  7. Di panel Dokumentasi API, pilih salah satu opsi berikut:
    • Dokumen OpenAPI
    • Skema GraphQL
  8. Klik Select Document, lalu pilih versi terbaru dokumen.
  9. Untuk GraphQL, tentukan Endpoint URL.
  10. Klik Simpan.

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

Ikon dan pesan menunjukkan bahwa snapshot sudah yang 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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. Misalnya, my-org-myportal.
  • API_DOC dengan id dokumen yang dihasilkan. 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 konten dokumentasi API yang dienkode base64. 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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. Misalnya, my-org-myportal.
  • API_DOC dengan id dokumen yang dihasilkan. 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 konten dokumentasi API yang dienkode base64. 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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. Misalnya, my-org-myportal.
  • API_DOC dengan id dokumen yang dihasilkan. 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 keterangan:

contents: String konten dokumentasi API yang dienkode base64.

Menghapus dokumentasi API

Untuk menghapus dokumentasi API:

UI

  1. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  4. Klik Edit.
  5. Di panel Dokumentasi API, pilih Tidak ada dokumentasi.
  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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. Misalnya, my-org-myportal.
  • API_DOC dengan id dokumen yang dihasilkan. 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 UI atau perintah curl untuk melihat API yang ada di portal Anda.

UI

Untuk melihat halaman Kategori:

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

    Atau, Anda dapat memilih Katalog API di menu drop-down portal di menu 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 ditandai 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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. Misalnya, my-org-myportal.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk 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 keterangan:

  • 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 lain.

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 ingin, 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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. Misalnya, my-org-myportal.
  • ACCESS_TOKEN dengan token autentikasi yang digunakan untuk mengakses Apigee Edge API. Untuk 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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. 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 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. Arahkan kursor ke 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 ke huruf kecil semua dan dengan spasi dan tanda hubung dihapus. 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 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 terkait API yang dipublikasikan

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

Error: Gagal mengambil error yang ditampilkan saat menggunakan Try this API

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

  • Untuk error konten campuran, error tersebut mungkin disebabkan oleh masalah swagger-ui yang umum. 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 menetapkan header CORS, bukan <Add>, seperti yang ditunjukkan dalam cuplikan di bawah. Untuk 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 CORS AssignMessage, seperti yang dijelaskan dalam Menambahkan kebijakan 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 mematuhi RFC. Misalnya, kebijakan akan menampilkan token dengan nilai BearerToken, bukan nilai Bearer yang sesuai dengan RFC yang diharapkan. 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 mematuhi kebijakan. Untuk mengetahui informasi selengkapnya, lihat perilaku yang tidak mematuhi RFC.