Memublikasikan API

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

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 agar developer aplikasi dapat mempelajari API Anda. (Untuk mengetahui informasi selengkapnya, lihat Tentang dokumentasi API)

Apa yang dipublikasikan ke portal?

Saat Anda memublikasikan API, pembaruan 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 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 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.

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 di bawah.

Panel Coba API ini yang diperluas

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, 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 informasi selengkapnya tentang GraphQL, lihat graphql.org.

GraphQL Explorer di portal

GraphQL Explorer di portal

Tentang dokumentasi API

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 mengubah 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 ke portal, Anda menyimpan versi dokumen OpenAPI atau GraphQL untuk merender dokumentasi referensi API. Jika mengubah dokumen, Anda dapat memutuskan untuk memperbarui dokumentasi referensi API yang dipublikasikan ke portal untuk mencerminkan perubahan terbaru.

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 mereka. 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 panel 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:

  • Tambahkan dukungan CORS ke proxy API Anda untuk menerapkan permintaan lintas origin sisi klien.
    CORS adalah mekanisme standar yang memungkinkan panggilan XMLHttpRequest (XHR) JavaScript yang dieksekusi 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 OAuth 2.0.

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, ikuti langkah-langkah yang dijelaskan dalam Menambahkan dukungan CORS ke proxy API.
Autentikasi dasar Lakukan langkah-langkah berikut:
  1. Tambahkan dukungan CORS ke proxy API Anda, ikuti langkah-langkah yang dijelaskan dalam Menambahkan dukungan CORS ke proxy API.
  2. Di kebijakan Tambahkan CORS, 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>
OAuth 2.0
  1. Tambahkan dukungan CORS ke proxy API Anda, ikuti langkah-langkah yang dijelaskan dalam Menambahkan dukungan CORS ke proxy API.
  2. Di kebijakan Tambahkan CORS, 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 OAuth 2.0 Anda. Untuk memudahkan, gunakan contoh solusi OAuth 2.0 yang disediakan di GitHub atau lakukan langkah-langkah berikut:
    • Pastikan elemen <GrantType> dalam kebijakan OAuth 2.0 ditetapkan ke request.formparam.grant_type (param formulir). Untuk informasi selengkapnya, lihat <GrantType>.
    • Pastikan token_type dalam kebijakan OAuth 2.0 ditetapkan ke Bearer, bukan BearerToken default.

Mengelola API

Kelola API Anda seperti yang dijelaskan di bagian berikut.

Jelajahi API

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

Konsol

Untuk melihat katalog API:

  1. Pilih Publikasikan > 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 diubah

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

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

curl

Untuk mencantumkan API menggunakan organizations.sites.apidocs/list:

curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.

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",
  "requestId": "1167960478",
  "data": [
    {
      "siteId": "my-org-myportal",
      "title": "Hello New World",
      "description": "Simple hello new world example",
      "specId": "hellowworld",
      "modified": "1695841621000",
      "anonAllowed": true,
      "imageUrl": "/files/camper1.jpg?v=1695841491415",
      "id": "381054",
      "categoryIds": [
        "e0518597-ece2-4d7d-ba7c-d1793df0f8db",
        "61c1014c-89c9-40e6-be3c-69cca3505620"
      ],
      "published": true,
      "apiProductName": "Hello New World"
    },
    {
      "siteId": "my-org-myportal",
      "title": "mock-product",
      "description": "Mock product",
      "specId": "apigee spec",
      "modified": "1698956849000",
      "anonAllowed": true,
      "id": "399638",
      "categoryIds": [
        "e0518597-ece2-4d7d-ba7c-d1793df0f8db"
      ],
      "published": true,
      "apiProductName": "mock-product"
    },
    {
      "siteId": "my-org-myportal",
      "title": "Hello World 2",
      "description": "Simple hello world example",
      "specId": "hello-new-world",
      "modified": "1698950207000",
      "anonAllowed": true,
      "imageUrl": "/files/book-tree.jpg?v=1698165437881",
      "id": "399668",
      "categoryIds": [
        "e0518597-ece2-4d7d-ba7c-d1793df0f8db",
        "61c1014c-89c9-40e6-be3c-69cca3505620"
      ],
      "published": true,
      "apiProductName": "Hello World 2"
    }
  ],
  "nextPageToken": ""
}

Dengan keterangan:

  • modified: Waktu item katalog terakhir diubah dalam milidetik sejak epoch. Contoh, 1698165480000.
  • id: ID item katalog. Contoh, 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://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs?pageSize=PAGE_SIZE" \
       -H "Authorization: Bearer $(gcloud auth print-access-token)"
    

    Ganti:

    • PAGE_SIZE dengan jumlah item daftar yang akan ditampilkan di satu halaman. Contoh, 10.

    Payload respons:

    {
      "status": "success",
      "message": "one page of apidocs returned",
      "requestId": "918815495",
      "data": [
        {
          "siteId": "my-org-myportal",
          "title": "Hello New World",
          "description": "Simple hello new world example",
          "specId": "apigee",
          "modified": "1699146887000",
          "anonAllowed": true,
          "imageUrl": "/files/camper1.jpg?v=1695841491415",
          "id": "381054",
          "categoryIds": [
            "e0518597-ece2-4d7d-ba7c-d1793df0f8db",
            "61c1014c-89c9-40e6-be3c-69cca3505620"
          ],
          "published": true,
          "apiProductName": "Hello New World"
        }
      ],
      "nextPageToken": "7zcqrin9l6xhi4nbrb9"
    }
  • Token halaman:

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

    curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" \
          -H "Authorization: Bearer $(gcloud auth print-access-token)"
    

    Ganti:

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

Menambahkan API

Untuk menambahkan API ke portal:

Konsol

  1. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik Add.

    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.
    Judul tampilan Perbarui judul API 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 Upload File, lalu upload file.
      • Klik tab Impor dari URL dan impor spesifikasi dengan memberikan nama dan URL tempat impor.
    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 dokumentasi API.

    Visibilitas

    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.

    Menampilkan gambar 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 di Mengelola gambar untuk kartu API. 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.
    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 mengetik namanya dan menekan Enter. Kategori baru ditambahkan ke halaman Kategori dan tersedia saat menambahkan atau mengedit API lainnya.

  7. Klik Simpan.

curl

Untuk menambahkan API ke portal menggunakan organizations.sites.apidocs.create:

curl -X POST "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
         -H "Authorization: Bearer $(gcloud auth print-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. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.
  • TITLE dengan judul tampilan. Contoh, Hello World 2.
  • DESCRIPTION dengan deskripsi tampilan. Contoh, Simple hello world example.
  • ANON_TRUE_OR_FALSE dengan true atau false (default), dengan true mengaktifkan akses pengguna anonim. Setelan ini diabaikan jika Anda telah mendaftar ke rilis beta fitur pengelolaan audiens.
  • 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 tergantung 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. Contoh, 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 untuk publik.

  • API_PRODUCT dengan nama produk API. Contoh, Hello World 2.

Payload respons:

{
  "status": "success",
  "message": "API created",
  "requestId": "1662161889",
  "data": {
    "siteId": "my-org-myportal",
    "title": "Hello World 2",
    "description": "Simple hello world example",
    "modified": "1698948807000",
    "anonAllowed": true,
    "imageUrl": "/files/book-tree.jpg",
    "id": "409405",
    "requireCallbackUrl": true,
    "categoryIds": [
      "88fbfd1d-9300-49f7-bfc2-531ade4c63d4",
      "630c4cf9-109a-48b0-98cc-ef4c12ae4474"
    ],
    "published": true,
    "apiProductName": "Hello World 2"
  }
}

Dengan keterangan:

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

Mengedit API

Setelah menambahkan API, gunakan konsol 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.

Konsol

  1. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  4. Klik Edit.
  5. Di bagian Detail API, buat perubahan. Lihat deskripsi opsi di Menambahkan API.
  6. Klik Simpan.

curl

Setelah menambahkan API, gunakan panggilan organizations.sites.apidocs.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 perlu.

  1. Dapatkan daftar API di portal Anda menggunakan organizations.sites.apidocs/list untuk menemukan id yang dihasilkan yang mengidentifikasi setiap API secara unik:

    curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
        -H "Authorization: Bearer $(gcloud auth print-access-token)"
    

    Ganti kode berikut:

    • ORG_NAME dengan nama organisasi. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.

    Payload respons:

    {
      "status": "success",
      "message": "one page of apidocs returned",
      "requestId": "1167960478",
      "data": [
        {
          "siteId": "my-org-myportal",
          "title": "Hello New World",
          "description": "Simple hello new world example",
          "specId": "hellowworld",
          "modified": "1695841621000",
          "anonAllowed": true,
          "imageUrl": "/files/camper1.jpg?v=1695841491415",
          "id": "381054",
          "categoryIds": [
            "e0518597-ece2-4d7d-ba7c-d1793df0f8db",
            "61c1014c-89c9-40e6-be3c-69cca3505620"
          ],
          "published": true,
          "apiProductName": "Hello New World"
        },
        {
          "siteId": "my-org-myportal",
          "title": "mock-product",
          "description": "Mock product",
          "specId": "apigee spec",
          "modified": "1698956849000",
          "anonAllowed": true,
          "id": "399638",
          "categoryIds": [
            "e0518597-ece2-4d7d-ba7c-d1793df0f8db"
          ],
          "published": true,
          "apiProductName": "mock-product"
        },
        {
          "siteId": "my-org-myportal",
          "title": "Hello World 2",
          "description": "Simple hello world example",
          "specId": "hello-new-world",
          "modified": "1698950207000",
          "anonAllowed": true,
          "imageUrl": "/files/book-tree.jpg?v=1698165437881",
          "id": "399668",
          "categoryIds": [
            "e0518597-ece2-4d7d-ba7c-d1793df0f8db",
            "61c1014c-89c9-40e6-be3c-69cca3505620"
          ],
          "published": true,
          "apiProductName": "Hello World 2"
        }
      ]
    }

    Dengan keterangan:

    • modified: Waktu item katalog terakhir diubah dalam milidetik sejak epoch. Contoh, 1698165480000.
    • id: ID item katalog. Contoh, 399668.
  2. Gunakan panggilan organizations.sites.apidocs.get untuk menampilkan nilai saat ini untuk API tertentu:

    curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
        -H "Authorization: Bearer $(gcloud auth print-access-token)"
    

    Ganti kode berikut:

    • ORG_NAME dengan nama organisasi. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.
    • API_DOC dengan id dokumen yang dihasilkan. Contohnya, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.

    Payload respons:

    {
      "status": "success",
      "message": "apidoc returned",
      "requestId": "2072952505",
      "data": {
        "siteId": "my-org-myportal",
        "title": "Hello World 2",
        "description": "Simple hello world example",
        "specId": "hello-new-world",
        "modified": "1698950207000",
        "anonAllowed": true,
        "imageUrl": "/files/book-tree.jpg?v=1698165437881",
        "id": "399668",
        "categoryIds": [
          "e0518597-ece2-4d7d-ba7c-d1793df0f8db",
          "61c1014c-89c9-40e6-be3c-69cca3505620"
        ],
        "published": true,
        "apiProductName": "Hello World 2"
      }
    }
  3. Sertakan nilai yang dapat diubah yang ingin Anda simpan dalam panggilan organizations.sites.apidocs.update, dan ubah nilai yang ingin Anda ubah. Jika Anda menghilangkan baris, setelan default akan digunakan. Untuk contoh ini, ubah setelan published dari true menjadi false:

    curl -X PUT "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-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": false,
            "apiProductName": "API_PRODUCT",
         }'
    

    Ganti kode berikut:

    • TITLE dengan judul tampilan. Contoh, Hello World 2.
    • DESCRIPTION dengan deskripsi tampilan. Contoh, Simple hello world example.
    • ANON_TRUE_OR_FALSE dengan true atau false (default), dengan true mengaktifkan akses pengguna anonim. Setelan ini diabaikan jika Anda telah mendaftar ke rilis beta fitur pengelolaan audiens.
    • 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 tergantung 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. Contoh, bf6505eb-2a0f-47af-a00a-ded40ac72960. Pisahkan beberapa ID kategori dengan koma. Dapatkan ID kategori dengan perintah list API categories.
    • API_PRODUCT dengan nama produk API. Contoh, Hello World 2.

    Payload respons:

    {
      "status": "success",
      "message": "ApiDoc updated",
      "requestId": "197181831",
      "data": {
        "siteId": "my-org-myportal",
        "title": "Hello World 2",
        "description": "Simple hello world example.",
        "modified": "1698884328000",
        "anonAllowed": true,
        "imageUrl": "/files/book-tree.jpg",
        "id": "408567",
        "requireCallbackUrl": true,
        "categoryIds": [
          "88fbfd1d-9300-49f7-bfc2-531ade4c63d4",
          "630c4cf9-109a-48b0-98cc-ef4c12ae4474"
        ],
        "published": PUBLISHED_TRUE_OR_FALSE,
        "apiProductName": "Hello World 2"
      }
    }

Memublikasikan atau membatalkan publikasi API

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

Untuk memublikasikan atau membatalkan publikasi API di portal Anda:

Konsol

  1. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  4. Klik Edit.
  5. Di bagian API details, pilih atau hapus centang pada Published (listed in the catalog) 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. Gunakan panggilan organizations.sites.apidocs.get untuk menampilkan nilai saat ini:

    curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-access-token)"
    
  2. Gunakan panggilan organizations.sites.apidocs.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://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-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",
         }'

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

Mengelola visibilitas API

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)

Untuk mengelola visibilitas API di portal Anda:

Konsol

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

    • 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 ingin Anda izinkan untuk melihat halaman. Lihat Mengelola audiens untuk portal Anda.

    Jika tidak, pilih salah satu opsi berikut di bagian Audiens:

    • 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 konsol 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. Gunakan panggilan organizations.sites.apidocs.get untuk menampilkan nilai saat ini:

    curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-access-token)"
    
  2. Gunakan panggilan organizations.sites.apidocs.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://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-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",
         }'

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.

Untuk mengelola URL callback untuk API:

Konsol

  1. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  4. Klik Edit.
  5. Di bagian Detail API, pilih atau hapus centang pada Wajibkan developer untuk menentukan URL callback untuk menentukan apakah URL callback diperlukan atau tidak.
  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. Gunakan panggilan organizations.sites.apidocs.get untuk menampilkan nilai saat ini:

    curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-access-token)"
    
  2. Gunakan panggilan organizations.sites.apidocs.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://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-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",
         }'

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.

Untuk mengelola gambar kartu API:

Konsol

  1. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  4. Klik Edit.
  5. Di bagian API details:

    • Klik Pilih gambar untuk menentukan gambar jika tidak ada gambar yang dipilih.
    • Klik Ganti gambar untuk menentukan gambar lain.
    • Klik x di gambar untuk menghapusnya.

    Saat menentukan gambar, tentukan gambar dengan URL 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 terpadu 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. Gunakan panggilan organizations.sites.apidocs.get untuk menampilkan nilai saat ini:

    curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-access-token)"
    
  2. Gunakan panggilan organizations.sites.apidocs.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://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-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",
         }'

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.

Untuk memberi tag pada API dengan kategori:

Konsol

  1. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  4. Klik Edit.
  5. Klik 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 lain.
  6. Ulangi untuk memberi tag pada API dengan kategori lainnya.

  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. Gunakan panggilan organizations.sites.apidocs.get untuk menampilkan nilai saat ini:

    curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-access-token)"
    
  2. Gunakan panggilan organizations.sites.apidocs.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://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-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",
         }'

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

Mengedit judul dan deskripsi tampilan

Untuk mengedit judul dan deskripsi tampilan:

Konsol

  1. Mengakses katalog API.
  2. Klik tab APIs, jika belum dipilih.
  3. Klik baris API yang ingin diedit.
  4. Klik 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. Gunakan panggilan organizations.sites.apidocs.get untuk menampilkan nilai saat ini:

    curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-access-token)"
    
  2. Gunakan panggilan organizations.sites.apidocs.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://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer $(gcloud auth print-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",
         }'

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

Menghapus API

Untuk menghapus API dari portal:

Konsol

  1. Mengakses katalog API.
  2. Pilih tab APIs, jika belum dipilih.
  3. Posisikan kursor ke atas API dalam daftar untuk menampilkan menu tindakan.
  4. Klik Delete.

curl

Untuk menghapus API dari portal menggunakan organizations.sites.apidocs.delete:

curl -X DELETE "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.
  • API_DOC dengan id dokumen yang dihasilkan. Contohnya, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.

Payload respons:

{
  "status":"success",
  "message":"Apidoc deleted",
  "requestId":"645138256"
}

Mengelola dokumentasi API

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

Dokumentasi Update API

Setelah memublikasikan API, Anda dapat mengupload versi baru dokumen OpenAPI atau GraphQL kapan saja.

Untuk mengupload versi dokumentasi API yang berbeda:

Konsol

  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 salah satu opsi berikut:
    • Dokumen OpenAPI
    • Skema GraphQL
  6. Klik Select Document, lalu pilih versi terbaru dokumen.
  7. Untuk GraphQL, tentukan URL Endpoint.
  8. Klik Simpan.

curl

Untuk memperbarui konten dokumentasi OpenAPI atau GraphQL menggunakan organizations.sites.apidocs.updateDocumentation:

OpenAPI

curl -X PATCH "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"oasDocumentation": {
           "spec":{ "displayName":"DISPLAY_NAME",
                    "contents":"CONTENTS"}
            }
        }'

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.
  • API_DOC dengan id dokumen yang dihasilkan. Contohnya, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.
  • DISPLAY_NAME dengan nama tampilan dokumentasi API. Contoh, 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://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
  -H "Authorization: Bearer $(gcloud auth print-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. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.
  • API_DOC dengan id dokumen yang dihasilkan. Contohnya, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.
  • DISPLAY_NAME dengan nama tampilan dokumentasi API. Contoh, Hello World 2.
  • ENDPOINT_URI dengan nama domain URI endpoint Anda. Contoh, 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":"Api documentation updated",
 "requestId":"645138278"
  "data": {
    "graphqlDocumentation": {
      "schema": {
        "displayName": "Hello World 2"
      },
     "endpointUri": "https://demo.google.com/graphql"
    }
  }
}

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

Mendownload dokumentasi API

Setelah memublikasikan API, Anda dapat mendownload dokumentasi referensi OpenAPI atau GraphQL yang dipublikasikan di portal kapan saja.

Untuk mendownload dokumentasi API menggunakan organizations.sites.apidocs.getDocumentation:

curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.
  • API_DOC dengan id dokumen yang dihasilkan. Contohnya, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.

    Payload respons:

{
  "status":"success",
  "message":"Api documentation downloaded",
  "requestId":"645138256",
  "data": {
      "oasDocumentation":{
          "spec":{
            "displayName":"Hello World 2",
            "contents":"c3dhZ2dlcjogJzIuMCcKaW5mbzoKICBkZXNlI ..."
          },
          "Format": YAML
      }
  }
}

Dengan keterangan:

contents: String konten dokumentasi API yang dienkode base64.

Menghapus dokumentasi API

Untuk menghapus dokumentasi API:

Konsol

  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 dokumen API menggunakan API, Anda harus menghapus setelan yang ada dengan mengirim isi permintaan kosong.

Untuk mengirim isi permintaan kosong dan menghapus konten yang ada menggunakan organizations.sites.apidocs.updateDocumentation:

curl -X PATCH "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{}'

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.
  • API_DOC dengan id dokumen yang dihasilkan. Contohnya, 399668. Gunakan perintah list API docs untuk menemukan nilai ini.

Payload respons:

{
   "status":"success",
   "message":"Api documentation updated",
   "requestId":"645138279"
}

Mengelola kategori

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

Jelajahi Kategori

Gunakan konsol atau perintah curl untuk melihat kategori.

Konsol

Untuk melihat halaman Kategori:

  1. Pilih Publikasikan > 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.

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

    Seperti yang ditandai pada gambar sebelumnya, halaman API memungkinkan Anda:

curl

Untuk mencantumkan kategori menggunakan organizations.sites.apicategories.list:

curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.

Payload respons:

{
  "data": [
    {
      "siteId": "my-org-myportal",
      "name": "Get Started",
      "id": "e0518597-ece2-4d7d-ba7c-d1793df0f8db"
    },
    {
      "siteId": "my-org-myportal",
      "name": "Test",
      "id": "61c1014c-89c9-40e6-be3c-69cca3505620"
    }
  ],
  "status": "success",
  "message": "all ApiCategory items returned",
  "requestId": "602661435"
}

Dengan keterangan:

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

Menambahkan kategori

Untuk menambahkan kategori:

Konsol

  1. Akses halaman Kategori.
  2. Klik Add.
  3. Masukkan nama kategori baru Anda.
  4. Jika ingin, pilih satu atau beberapa API untuk diberi tag ke kategori.
  5. Klik Create.

curl

Untuk menambahkan kategori menggunakan organizations.sites.apicategories.create:

curl  -X POST "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"name": "CATEGORY_NAME" }'

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.
  • CATEGORY_NAME dengan nama kategori. Contoh, demo-backend.

Payload respons:

{
  "data": {
    "siteId": "my-org-myportal",
    "name": "demo-backend",
    "id": "ed0b6c1d-eb49-419f-8475-9a428ed5b8d1"
  },
  "status": "success",
  "message": "API category created",
  "requestId": "295617049"
}

Mengedit kategori

Untuk mengedit kategori:

Konsol

  1. Akses halaman Kategori.
  2. Posisikan kursor di atas kategori yang ingin diedit untuk menampilkan menu tindakan.
  3. Klik Edit.
  4. Edit nama kategori.
  5. Menambahkan atau menghapus tag API.
  6. Klik Simpan.

curl

Untuk mengedit kategori menggunakan organizations.sites.apicategories.patch:

curl -X PATCH "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories/CATEGORY_ID"  \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"name": "CATEGORY_NAME" }'

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.
  • CATEGORY_ID dengan ID kategori. Contoh, bf6505eb-2a0f-47af-a00a-ded40ac72960. Dapatkan ID kategori dengan perintah list API categories.
  • CATEGORY_NAME dengan nama kategori. Contoh, demo-backend.

Payload respons:

{
  "data": {
    "siteId": "my-org-myportal",
    "name": "demo-backend-test",
    "id": "ed0b6c1d-eb49-419f-8475-9a428ed5b8d1"
  },
  "status": "success",
  "message": "ApiCategory updated",
  "requestId": "192211979"
}

Menghapus kategori

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

Untuk menghapus kategori:

Konsol

  1. Akses halaman Kategori.
  2. Arahkan kursor ke kategori yang ingin diedit untuk menampilkan menu tindakan.
  3. Klik Delete.
  4. Klik Hapus untuk mengonfirmasi.

curl

Untuk menghapus kategori menggunakan organizations.sites.apicategories.delete:

curl -X DELETE "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories/CATEGORY_ID" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json"

Ganti kode berikut:

  • ORG_NAME dengan nama organisasi. Contoh, 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 dan tanpa spasi dan tanda hubung. Contoh, my-org-myportal.
  • CATEGORY_ID dengan ID kategori. Contoh, bf6505eb-2a0f-47af-a00a-ded40ac72960. Dapatkan ID kategori dengan perintah list API categories.

Payload respons:

{
  "status": "success",
  "message": "ApiCategory deleted",
  "requestId": "1610396471"
}

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 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 tersebut mungkin disebabkan oleh masalah swagger-ui yang umum. Salah satu solusi yang mungkin adalah memastikan 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-asal sisi klien. Lihat Mengonfigurasi proxy API untuk mendukung panel Coba API ini.

Error: Kolom header permintaan tidak diizinkan

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

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 Add CORS ke proxy API baru.

Error: Akses ditolak saat memanggil proxy API menggunakan OAuth 2.0

Kebijakan OAuthV2 konsol Google Cloud 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 Try this API.

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.