Memublikasikan API Anda

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca 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 terdiri dari dua langkah:

  1. Pilih produk API yang ingin dipublikasikan ke portal Anda.
  2. Render dokumentasi referensi API dari dokumen OpenAPI atau skema GraphQL agar developer aplikasi dapat mempelajari API Anda. (Untuk informasi lebih lanjut, lihat Tentang dokumentasi API)

Apa yang dipublikasikan ke portal?

Saat Anda memublikasikan API, update berikut akan otomatis dilakukan pada 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 dalam portal contoh) menyediakan daftar semua API yang dipublikasikan ke portal Anda, yang tercantum dalam urutan abjad, dengan link ke masing-masing dokumentasi referensi API untuk informasi lebih lanjut. Secara opsional, Anda dapat menyesuaikan hal berikut:

    • Gambar 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 live yang menampilkan dua kategori dan penggunaan gambar Halaman API di portal live yang menampilkan dua kategori dan penggunaan gambar

SmartDocs (OpenAPI)

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

Developer dapat meninjau dokumentasi referensi SmartDocs API dan menggunakan panel Coba API ini untuk membuat permintaan API dan melihat outputnya. Coba API ini berfungsi dengan endpoint yang tidak aman atau endpoint yang diamankan menggunakan Dasar, Kunci API, atau Autentikasi 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 mengizinkan panggilan API, melepas panel Coba API ini dari dok, mendownload spesifikasi yang relevan, dan menjalankan API.

Halaman dokumentasi referensi API dengan info yang menunjukkan cara mengizinkan panggilan API, melepas panel Coba API ini dari dok, mendownload spesifikasi yang relevan, dan menjalankan API.

Klik Layar Penuh untuk meluaskan panel Coba API ini. Panel yang diperluas memungkinkan Anda melihat panggilan dan contoh kode curl dalam berbagai format, seperti HTTP, Python, Node.js, dan lainnya, seperti yang ditunjukkan di bawah ini.

Luaskan panel Coba API ini

Luaskan panel Coba API ini

Penjelajah GraphQL

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

Developer dapat menggunakan GraphQL Explorer untuk mempelajari dokumentasi interaktif berbasis skema, membangun dan menjalankan kueri, melihat hasil kueri, dan mendownload skema. Untuk mengamankan akses ke API, developer dapat meneruskan header otorisasi di panel Request Headers. Untuk mengetahui informasi lebih lanjut tentang GraphQL, lihat graphql.org.

Penjelajah GraphQL di portal

Penjelajah GraphQL di portal

Tentang dokumentasi API

Setiap dokumen OpenAPI atau GraphQL berfungsi sebagai sumber kebenaran selama siklus proses API. Dokumen yang sama digunakan di setiap fase dalam siklus proses API, mulai dari pengembangan, publikasi, hingga pemantauan. Saat memodifikasi dokumen, Anda harus memahami dampak perubahan tersebut 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 Anda memodifikasi 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 three-legged OAuth), Anda dapat mewajibkan developer untuk menentukan URL callback saat mendaftarkan aplikasi mereka. URL callback biasanya menentukan URL aplikasi yang ditetapkan untuk menerima kode otorisasi atas nama aplikasi klien. Untuk informasi selengkapnya, lihat Mengimplementasikan jenis pemberian kode otorisasi.

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

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

Konfigurasikan proxy API Anda 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 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 umumnya diimplementasikan untuk kebijakan asal yang sama yang diterapkan oleh semua browser.
  • Update konfigurasi proxy API jika Anda menggunakan autentikasi dasar atau OAuth 2.0.

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

Akses Auth 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. Dalam kebijakan Add 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. Dalam kebijakan Add 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. Koreksi perilaku yang tidak sesuai dengan 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 disetel ke request.formparam.grant_type (parameter formulir). Untuk mengetahui informasi selengkapnya, lihat <GrantType>.
    • Pastikan token_type di kebijakan OAuth 2.0 ditetapkan ke Bearer, dan 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 dan 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 dalam 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 perubahan

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

    Seperti yang disorot dalam 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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. Contoh, my-org-myportal.

Lihat Catatan penomoran halaman untuk mengetahui petunjuk cara menggunakan penomoran halaman di 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. Defaultnya adalah 25, dan maksimum 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 dalam 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 dalam satu halaman. Contoh, 10.
    • PAGE_TOKEN dengan nilai nextPageToken. Misalnya, 7zcqrin9l6xhi4nbrb9.

Menambahkan API

Untuk menambahkan API ke portal Anda:

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 ditambahkan ke portal Anda.

  5. Klik Next. Halaman Detail API akan ditampilkan.

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

    Kolom Deskripsi
    Dipublikasikan Pilih Dipublikasikan untuk memublikasikan API ke portal Anda. Kosongkan kotak centang 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 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.
    Deskripsi tampilan Perbarui deskripsi API Anda yang ditampilkan dalam katalog. Secara default, deskripsi produk API akan digunakan. Anda dapat mengubah deskripsi tampilan nanti, seperti yang dijelaskan dalam Mengedit judul dan deskripsi tampilan.
    Wajibkan 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 Select Document.
    3. Lakukan salah satu langkah berikut:
      • Klik tab Upload File lalu upload file.
      • Klik tab Import from a URL dan impor spesifikasi dengan memberikan nama dan URL asal yang akan diimpor.
    4. Klik Select.

    Untuk menggunakan skema GraphQL:

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

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

    Visibilitas

    Jika Anda belum terdaftar dalam rilis beta fitur pengelolaan audiens, pilih salah satu opsi berikut:

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

    Jika Anda terdaftar dalam rilis beta fitur pengelolaan audiens, pilih salah satu opsi berikut:

    • Publik (terlihat oleh siapa saja) untuk mengizinkan semua pengguna melihat API.
    • Pengguna yang diautentikasi agar 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.

    Gambar sampul Untuk menampilkan gambar pada kartu API di halaman API, klik Select image. Pada dialog Select image, pilih gambar yang sudah ada, upload gambar baru, atau berikan URL gambar eksternal, lalu klik Select. Lihat pratinjau thumbnail API, lalu klik Select. Anda dapat menambahkan gambar nanti, seperti yang dijelaskan dalam Mengelola gambar untuk kartu API. Saat menentukan URL gambar eksternal, gambar tidak akan diupload ke aset Anda; selain itu, pemuatan gambar di portal terintegrasi bergantung pada ketersediaannya, yang dapat diblokir atau dibatasi oleh kebijakan keamanan konten.
    Kategori

    Tambahkan kategori yang akan diberi tag 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, lalu menekan Enter. Kategori baru ditambahkan ke halaman Kategori dan disediakan saat menambahkan atau mengedit API lain.

  7. Klik Save.

curl

Untuk menambahkan API ke portal Anda 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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. Contoh, my-org-myportal.
  • TITLE dengan judul tampilan. Contoh, Hello World 2.
  • DESCRIPTION dengan deskripsi tampilan. Misalnya, Simple hello world example.
  • ANON_TRUE_OR_FALSE dengan true atau false (default), dengan true memungkinkan 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 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 untuk 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 category.

  • PUBLISHED_TRUE_OR_FALSE dengan true atau false (default), dengan true menunjukkan API tersedia untuk publik.

  • API_PRODUCT dengan nama produk API. Misalnya, 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 Anda menambahkan API, gunakan konsol atau panggilan API untuk melakukan pengeditan.

Bagian ini memberikan contoh terperinci 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 Anda edit.
  4. Klik Edit.
  5. Di bagian Detail API, lakukan perubahan apa pun. Lihat deskripsi opsi di Menambahkan API.
  6. Klik Save.

curl

Setelah menambahkan API, gunakan panggilan organizations.sites.apidocs.update untuk melakukan pengeditan.

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

  1. Dapatkan daftar API di portal Anda menggunakan organizations.sites.apidocs/list untuk menemukan id yang dihasilkan dan 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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. 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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. 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 berubah yang ingin Anda pertahankan dalam panggilan organizations.sites.apidocs.update, dan ubah nilai yang ingin Anda ubah. Jika Anda menghilangkan suatu 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. Misalnya, Simple hello world example.
    • ANON_TRUE_OR_FALSE dengan true atau false (default), dengan true memungkinkan 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 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 untuk 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 category.
    • API_PRODUCT dengan nama produk API. Misalnya, 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 membuat API Anda tersedia untuk digunakan oleh developer aplikasi.

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 Anda edit.
  4. Klik Edit.
  5. Di bagian Detail API, pilih atau hapus centang Dipublikasikan (tercantum dalam katalog) untuk memublikasikan atau membatalkan publikasi API di portal Anda.
  6. Klik Save.

curl

Sertakan salah satu hal berikut dalam panggilan update:

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

Untuk mengedit API:

  1. 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 berubah yang ingin dipertahankan dan ubah nilai yang ingin diubah. Jika Anda menghilangkan 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",
         }'

Baca artikel Mengedit API untuk mengetahui contoh mendetail tentang langkah-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 yang diautentikasi
  • 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 Anda edit.
  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 (terlihat oleh siapa saja) untuk memungkinkan semua pengguna melihat halaman.
    • Pengguna yang diautentikasi untuk hanya mengizinkan pengguna terdaftar yang 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 di bagian Audiens:

    • Pengguna anonim untuk mengizinkan semua pengguna melihat halaman.
    • Pengguna terdaftar untuk hanya mengizinkan pengguna terdaftar yang melihat halaman.
  6. Klik Submit.

curl

Jika Anda telah terdaftar dalam rilis beta fitur pengelolaan audiens, gunakan konsol untuk mengelola audiens.

Jika Anda belum terdaftar dalam fitur pengelolaan audiens, visibilitas akan dikelola menggunakan anonAllowed.

Sertakan salah satu hal berikut dalam panggilan update:

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

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

Untuk mengedit API:

  1. 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 berubah yang ingin dipertahankan dan ubah nilai yang ingin diubah. Jika Anda menghilangkan 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",
         }'

Baca artikel Mengedit API untuk mengetahui contoh mendetail tentang langkah-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 Anda edit.
  4. Klik Edit.
  5. Di bagian Detail API, pilih atau hapus Wajibkan developer untuk menentukan URL callback untuk menentukan apakah URL callback wajib diisi atau tidak diperlukan.
  6. Klik Save.

curl

Sertakan salah satu hal berikut dalam panggilan update:

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

Untuk mengedit API:

  1. 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 berubah yang ingin dipertahankan dan ubah nilai yang ingin diubah. Jika Anda menghilangkan 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",
         }'

Baca artikel Mengedit API untuk mengetahui contoh mendetail tentang langkah-langkah, variabel, dan payload yang ditampilkan.

Mengelola gambar untuk kartu API

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

Untuk mengelola image kartu API:

Konsol

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

    • Klik Select image untuk menentukan gambar jika tidak ada gambar yang dipilih.
    • Klik Ubah gambar untuk menetapkan gambar lain.
    • Klik x pada 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 terintegrasi akan bergantung pada ketersediaannya, yang mungkin akan diblokir atau dibatasi oleh kebijakan keamanan konten.

  6. Klik Save.

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 berubah yang ingin dipertahankan dan ubah nilai yang ingin diubah. Jika Anda menghilangkan 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",
         }'

Baca artikel Mengedit API untuk mengetahui contoh mendetail tentang langkah-langkah, variabel, dan payload yang ditampilkan.

Memberi tag pada API menggunakan kategori

Menggunakan kategori akan membantu developer aplikasi menemukan API terkait. Lihat juga bagian 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 Anda edit.
  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, lalu 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 Save.

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 daftar kategori 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 berubah yang ingin dipertahankan dan ubah nilai yang ingin diubah. Jika Anda menghilangkan 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",
         }'

Baca artikel Mengedit API untuk mengetahui contoh mendetail tentang langkah-langkah, variabel, dan payload yang ditampilkan.

Edit 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 Anda edit.
  4. Klik Edit.
  5. Edit kolom Judul tampilan dan Deskripsi tampilan, sesuai kebutuhan.
  6. Klik Save.

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 berubah yang ingin dipertahankan dan ubah nilai yang ingin diubah. Jika Anda menghilangkan 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",
         }'

Baca artikel Mengedit API untuk mengetahui contoh mendetail tentang langkah-langkah, variabel, dan payload yang ditampilkan.

Menghapus API

Untuk menghapus API dari portal Anda:

Konsol

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

curl

Untuk menghapus API dari portal Anda 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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. 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 mengupdate, mendownload, atau menghapus dokumentasi API.

Memperbarui dokumentasi API

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

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 Anda edit.
  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 Endpoint URL.
  8. Klik Save.

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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. 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. Misalnya, Hello World 2.
  • CONTENTS dengan string konten berenkode base64 yang ada di dokumentasi API. Sebagian besar lingkungan pengembangan berisi utilitas konversi base64, atau ada banyak alat konversi online.

Payload respons:

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

GraphQL

curl -X PATCH "https://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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. 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. Misalnya, Hello World 2.
  • ENDPOINT_URI dengan nama domain URI endpoint Anda. Misalnya, https://demo.google.com/graphql.
  • CONTENTS dengan string konten berenkode base64 yang ada di dokumentasi API. Sebagian besar lingkungan pengembangan berisi utilitas konversi base64, atau ada banyak alat konversi online.

Payload respons:

{
 "status":"success",
 "message":"Api documentation updated",
 "requestId":"645138278"
  "data": {
    "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 live.

Download dokumentasi API

Setelah memublikasikan API, Anda dapat mendownload dokumentasi referensi OpenAPI atau GraphQL yang dipublikasikan di portal Anda 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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. 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 berenkode base64 pada dokumentasi API.

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 Anda edit.
  4. Klik Edit.
  5. Di panel API documentation, pilih No documentation.
  6. Klik Save.

curl

Untuk menghapus konten dokumen API menggunakan API, hapus 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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. 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"
}

Kelola kategori

Beri tag pada API menggunakan kategori agar developer aplikasi dapat menemukan API terkait di halaman API pada portal live. 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 dan 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 dalam katalog API menampilkan daftar kategori yang telah ditentukan untuk portal Anda.

    Tab kategori yang menjelaskan nama kategori, nama, dan jumlah total API yang ditetapkan.

    Tab kategori yang menjelaskan nama kategori, nama, dan jumlah total API yang ditetapkan.

    Seperti yang disorot dalam 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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. 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.

Tambahkan kategori

Untuk menambahkan kategori:

Konsol

  1. Akses halaman Kategori.
  2. Klik Add.
  3. Masukkan nama kategori baru.
  4. Secara opsional, pilih satu atau beberapa API untuk diberi tag pada 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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. Contoh, my-org-myportal.
  • CATEGORY_NAME dengan nama kategori. Misalnya, 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. Arahkan kursor ke kategori yang ingin Anda edit untuk menampilkan menu tindakan.
  3. Klik Edit.
  4. Edit nama kategori.
  5. Menambahkan atau menghapus tag API.
  6. Klik Save.

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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. Contoh, my-org-myportal.
  • CATEGORY_ID dengan ID kategori. Misalnya, bf6505eb-2a0f-47af-a00a-ded40ac72960. Dapatkan ID kategori dengan perintah list API category.
  • CATEGORY_NAME dengan nama kategori. Misalnya, 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 sebuah kategori, semua tag API pada kategori tersebut juga akan dihapus.

Untuk menghapus kategori:

Konsol

  1. Akses halaman Kategori.
  2. Arahkan kursor ke kategori yang ingin Anda edit untuk menampilkan menu tindakan.
  3. Klik Delete.
  4. Klik Delete 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 sebagai nama organisasi dan PORTAL_NAME adalah nama portal yang dikonversi menjadi semua huruf kecil serta spasi dan tanda hubung dihapus. Contoh, my-org-myportal.
  • CATEGORY_ID dengan ID kategori. Misalnya, bf6505eb-2a0f-47af-a00a-ded40ac72960. Dapatkan ID kategori dengan perintah list API category.

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 pada API yang kami publikasikan.

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

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

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

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

Error: Bidang header permintaan tidak diizinkan

Saat menggunakan Coba API ini, jika Anda menerima error Request header field not allowed, seperti contoh berikut, Anda mungkin perlu mengupdate 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 TetapkanMessage CORS, seperti yang dijelaskan dalam Melampirkan kebijakan Tambahkan kebijakan 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 sesuai dengan RFC. Misalnya, kebijakan akan menampilkan token dengan nilai BearerToken, bukan nilai yang sesuai dengan RFC yang diharapkan Bearer. 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 DefineMessage untuk mengubah output kebijakan ke dalam format yang mematuhi kebijakan. Untuk informasi selengkapnya, lihat perilaku yang tidak sesuai dengan RFC.