Referensi API Autosuggest Kustom v7
Peringatan
API Pencarian Bing berpindah dari Cognitive Services ke Layanan Pencarian Bing. Mulai 30 Oktober 2020, setiap instans baru Bing Search perlu diprovisikan dengan mengikuti proses yang didokumentasikan di sini. Bing Search API yang diprovisikan menggunakan Cognitive Services akan didukung selama tiga tahun ke depan atau hingga akhir Perjanjian Enterprise Anda, mana saja yang lebih dulu. Untuk instruksi migrasi, lihat Layanan Pencarian Bing.
API Autosuggest Kustom memungkinkan Anda mengirim string kueri pencarian parsial untuk Bing dan mendapatkan kembali daftar kueri yang disarankan. Biasanya, Anda menggunakan API ini untuk mendukung pengalaman pencarian yang lebih kaya. Misalnya, saat pengguna memasukkan setiap karakter istilah pencarian mereka, Anda akan memanggil API ini dan mengisi daftar drop-down kotak pencarian dengan string kueri yang disarankan.
Untuk informasi tentang mengonfigurasi saran kustom, lihat Mengonfigurasi pengalaman Autosuggest Kustom Anda.
Untuk informasi tentang header yang harus Anda sertakan dalam permintaan, lihat Header Permintaan.
Untuk informasi tentang parameter kueri yang harus Anda sertakan dalam permintaan, lihat Parameter Kueri.
Untuk informasi tentang objek JSON yang mungkin disertakan respons, lihat Objek Respons.
Untuk informasi tentang penggunaan dan tampilan hasil yang diizinkan, lihat persyaratan Penggunaan dan Tampilan SEARCH API Bing.
Catatan
Karena format dan parameter URL dapat berubah tanpa pemberitahuan, gunakan semua URL apa adanya. Anda tidak boleh mengambil dependensi pada format atau parameter URL kecuali jika dicatat.
Titik akhir
Untuk meminta saran kueri kustom, kirim permintaan GET ke:
https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/suggestions/search
Permintaan harus menggunakan protokol HTTPS.
Catatan
Panjang URL maksimum adalah 2.048 karakter. Untuk memastikan bahwa panjang URL Anda tidak melebihi batas, panjang maksimum parameter kueri Anda harus kurang dari 1.500 karakter. Jika URL melebihi 2.048 karakter, server menampilkan 404 Tidak ditemukan.
Header
Berikut adalah header yang mungkin disertakan oleh permintaan dan respons.
| Header | Deskripsi |
|---|---|
| Ocp-Apim-Subscription-Key | Header permintaan yang diperlukan. Kunci langganan yang Anda terima saat mendaftar untuk layanan ini di Cognitive Services. |
| Retry-After | Header respons. Respons mencakup header ini jika Anda melebihi jumlah kueri yang diizinkan per detik (QPS) atau per bulan (QPM). Header berisi jumlah detik yang harus Anda tunggu sebelum mengirim permintaan lain. |
Catatan
Ingatlah bahwa Ketentuan Penggunaan memerlukan kepatuhan terhadap semua hukum yang berlaku, termasuk mengenai penggunaan header ini. Misalnya, di wilayah hukum tertentu, seperti Eropa, ada persyaratan untuk mendapatkan persetujuan pengguna sebelum menempatkan perangkat pelacakan tertentu pada perangkat pengguna.
Parameter kueri
Berikut adalah parameter kueri yang dapat disertakan dalam permintaan. Kolom Wajib diisi menunjukkan bahwa Anda harus menentukan parameter. Anda harus mengodekan nilai parameter kueri ke dalam URL.
| Nama | Nilai | Jenis | Diperlukan |
|---|---|---|---|
| customConfig | Pengidentifikasi unik yang mengidentifikasi instans pencarian kustom Anda. |
String | Ya |
| q | String kueri pencarian pengguna. String kueri tidak boleh kosong. Jika kosong atau tidak ditentukan, daftar saran dalam respons kosong. API tidak mendukung Operator Tingkat Lanjut Bing. Jika string kueri menyertakan operator Bing, operator diperlakukan sebagai bagian dari string kueri, bukan sebagai operator. |
String | Tidak |
Objek respons
Berikut ini adalah objek JSON yang mungkin disertakan oleh respons. Jika permintaan berhasil, objek tingkat atas dalam respons adalah objek Saran . Jika permintaan gagal, objek tingkat atas adalah ErrorResponse.
| Objek | Deskripsi |
|---|---|
| Kesalahan | Mendefinisikan kesalahan yang terjadi. |
| ErrorResponse | Objek tingkat atas yang disertakan respons saat permintaan gagal. |
| QueryContext | Menentukan istilah kueri yang Bing digunakan untuk permintaan. |
| SearchAction | Menentukan kueri pencarian yang disarankan. |
| SuggestionGroup | Menentukan sekelompok saran dengan jenis yang sama. |
| Saran | Objek tingkat atas yang disertakan respons saat permintaan berhasil. |
Kesalahan
Mendefinisikan kesalahan yang terjadi.
ErrorResponse
Objek tingkat atas yang disertakan respons saat permintaan gagal.
| Nama | Nilai | Jenis |
|---|---|---|
| _type | Ketik petunjuk. | String |
| errors | Daftar kesalahan yang menjelaskan alasan permintaan gagal. | Error[] |
SearchAction
Menentukan saran pencarian kueri.
SuggestionGroup
Menentukan sekelompok saran dengan jenis yang sama.
| Nama | Nilai | Jenis |
|---|---|---|
| Nama | Nama grup. Nama mengidentifikasi jenis saran yang dikandung grup. Misalnya, saran pencarian web. Berikut ini adalah kemungkinan nama grup.
|
untai |
| searchSuggestions | Daftar hingga 8 saran. Jika tidak ada saran, array kosong. Anda harus menampilkan semua saran dalam urutan yang disediakan. Daftar ini dalam urutan penurunan relevansi. Saran pertama adalah yang paling relevan dan saran terakhir adalah yang paling tidak relevan. Ukuran daftar dapat berubah. |
SearchAction[] |
Saran
Objek tingkat atas yang disertakan respons saat permintaan berhasil.
Jika layanan mencurigai penolakan serangan layanan, permintaan berhasil (kode status HTTP adalah 200 OK). Namun, body responsnya kosong.
| Nama | Nilai | Jenis |
|---|---|---|
| _type | Petunjuk jenis, yang diatur ke Saran. | untai |
| queryContext | String kueri pengguna. | QueryContext |
| suggestionGroups | Daftar string kueri yang disarankan yang dikelompokkan menurut jenis. Misalnya, saran pencarian web. | SuggestionGroup[] |
Kode kesalahan
Berikut adalah kemungkinan kode status HTTP yang ditampilkan permintaan.
| Kode Status | Deskripsi |
|---|---|
| 200 | Berhasil. |
| 400 | Salah satu parameter kueri hilang atau tidak valid. |
| 401 | Kunci langganan hilang atau tidak valid. |
| 410 | Permintaan yang digunakan HTTP, bukan protokol HTTPS. HTTPS adalah satu-satunya protokol yang didukung. |
| 429 | Penelepon melebihi kueri mereka per kuota kedua. |
| 500 | Kesalahan server tidak terduga. |
Jika permintaan gagal, respons berisi objek ErrorResponse, yang berisi daftar objek Kesalahan yang menjelaskan apa yang menyebabkan kesalahan. Jika kesalahan terkait dengan parameter, bidang parameter mengidentifikasi parameter yang menjadi masalah. Dan jika kesalahan terkait dengan nilai parameter, bidang value mengidentifikasi nilai yang tidak valid.
{
"_type": "ErrorResponse",
"errors": [
{
"code": "InvalidRequest",
"subCode": "ParameterMissing",
"message": "Required parameter is missing.",
"parameter": "q"
}
]
}
{
"_type": "ErrorResponse",
"errors": [
{
"code": "InvalidAuthorization",
"subCode": "AuthorizationMissing",
"message": "Authorization is required.",
"moreDetails": "Subscription key is not recognized."
}
]
}
Berikut adalah kemungkinan nilai kode kesalahan dan kode sub-kesalahan.
| Kode | SubCode | Deskripsi |
|---|---|---|
| ServerError | UnexpectedError ResourceError NotImplemented |
Kode status HTTP adalah 500. |
| InvalidRequest | ParameterMissing ParameterInvalidValue HttpNotAllowed Diblokir |
Bing menampilkan InvalidRequest setiap kali bagian mana pun dari permintaan tidak valid. Misalnya, parameter yang diperlukan hilang atau nilai parameter tidak valid. Jika kesalahannya adalah ParameterMissing atau ParameterInvalidValue, kode status HTTP adalah 400. Jika Anda menggunakan protokol HTTP alih-alih HTTPS, Bing menampilkan HttpNotAllowed, dan kode status HTTP adalah 410. |
| RateLimitExceeded | Tidak ada sub-kode | Bing menampilkan RateLimitExceed setiap kali Anda melebihi kuota kueri per detik (QPS) atau kueri per bulan (QPM) Anda. Jika Anda melebihi QPS, Bing menampilkan kode status HTTP 429, dan jika Anda melebihi QPM, Bing menampilkan 403. |
| InvalidAuthorization | AuthorizationMissing AuthorizationRedundancy |
Bing menampilkan InvalidAuthorization saat Bing tidak dapat mengautentikasi pemanggil. Misalnya, header Ocp-Apim-Subscription-Key hilang atau kunci langganan tidak valid.Redundansi terjadi jika Anda menentukan lebih dari satu metode autentikasi. Jika kesalahannya adalah InvalidAuthorization, kode status HTTP adalah 401. |
| NoSuggestions | Tidak ada sub-kode | Tidak ada saran yang ditemukan, kode status HTTP adalah 404. |