Referensi Bing Local Business Search API v7
Peringatan
Pada 30 Oktober 2020, API Bing Search dipindahkan dari layanan Azure AI ke Bing Search Services. Dokumentasi ini disediakan hanya untuk referensi. Untuk dokumentasi terbaru, lihat dokumentasi Bing Search API. Untuk petunjuk tentang cara membuat sumber daya Azure baru untuk pencarian Bing, lihat Membuat sumber daya Pencarian Bing melalui Marketplace Azure.
Local Business Search API mengirimkan kueri pencarian ke Bing untuk mendapatkan hasil yang mencakup restoran, hotel, atau bisnis lokal lainnya. Untuk tempat, kueri dapat menentukan nama bisnis lokal atau kategori (misalnya, restoran di dekat saya). Hasil entitas meliputi orang, tempat, atau berbagai hal. Tempat dalam konteks ini adalah entitas, negara bagian, negara/wilayah, dll.
Bagian ini menyediakan detail teknis tentang objek respons, serta parameter dan header kueri yang memengaruhi hasil pencarian. Misalnya yang menunjukkan cara membuat permintaan, lihat Mulai cepat Pencarian Bisnis Lokal C# atau mulai cepat Java Pencarian Bisnis Lokal.
Untuk mengetahui informasi tentang header yang harus disertakan oleh permintaan, lihat Header.
Untuk informasi tentang parameter kueri yang harus disertakan oleh permintaan, lihat Parameter kueri.
Untuk informasi tentang objek JSON yang disertakan respons, lihat Objek respons.
Untuk informasi tentang penggunaan dan tampilan hasil yang diizinkan, lihat Persyaratan penggunaan dan tampilan.
Titik akhir
Untuk meminta hasil bisnis lokal, kirim permintaan GET ke:
https://api.cognitive.microsoft.com/bing/v7.0/localbusinesses/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 |
---|---|
Terima | Header permintaan opsional. Jenis media default adalah aplikasi/json. Untuk menentukan bahwa respons menggunakan JSON-LD, atur header Terima ke application/ld+json. |
Accept-Language | Header permintaan opsional. Daftar bahasa yang dibatasi koma untuk digunakan untuk string antarmuka pengguna. Daftar ini dalam urutan preferensi yang menurun. Untuk mengetahui informasi selengkapnya, termasuk format yang diharapkan, lihat RFC2616. Header ini dan parameter kueri setLang saling eksklusif jangan tentukan keduanya. Jika mengatur header ini, Anda juga harus menentukan parameter kueri cc. Untuk menentukan pasar guna menampilkan hasil, Bing menggunakan bahasa pertama yang didukung yang ditemukannya dari daftar dan menggabungkannya dengan nilai parameter cc . Jika daftar tidak menyertakan bahasa yang didukung, Bing menemukan bahasa dan pasar terdekat yang mendukung permintaan atau menggunakan pasar agregat atau default untuk hasilnya. Untuk menentukan pasar yang digunakan Bing, lihat header BingAPIs-Market.Gunakan header ini dan parameter kueri cc hanya jika Anda menentukan beberapa bahasa. Jika tidak, gunakan parameter kueri mkt dan setLang.String antarmuka pengguna adalah string yang digunakan sebagai label di antarmuka pengguna. Ada beberapa string antarmuka pengguna di objek respons JSON. Setiap tautan ke properti Bing.com dalam objek respons menerapkan bahasa yang ditentukan. |
BingAPIs-Market | Header respons. Pasar yang digunakan oleh permintaan. Bentuknya adalah <languageCode>-<countryCode>. Misalnya, en-US. |
BingAPIs-TraceId | Header respons. ID entri log yang berisi detail permintaan. Saat terjadi kesalahan, ambil ID ini. Jika Anda tidak dapat menentukan dan mengatasi masalah tersebut, sertakan ID ini bersama dengan informasi lain yang Anda berikan kepada tim Dukungan. |
Ocp-Apim-Subscription-Key | Header permintaan yang diperlukan. Kunci langganan yang Anda terima saat mendaftar untuk layanan ini di layanan Azure AI. |
Pragma | Header permintaan opsional Secara default, Bing menampilkan konten yang di-cache, jika tersedia. Untuk mencegah Bing menampilkan konten yang di-cache, atur header Pragma ke no-cache (misalnya, Pragma: no-cache). |
User-Agent | Header permintaan opsional. Agen pengguna yang berasal dari permintaan. Bing menggunakan agen pengguna untuk memberikan pengalaman yang dioptimalkan kepada pengguna seluler. Meskipun opsional, Anda dianjurkan untuk selalu menentukan header ini. User-agent harus berupa string yang sama dengan yang dikirim oleh browser yang umum digunakan. Untuk mengetahui informasi tentang agen pengguna, lihat RFC 2616. Berikut adalah contoh string user-agent.
|
X-MSEdge-ClientID | Permintaan dan header respons opsional. Bing menggunakan header ini untuk memberi perilaku yang konsisten kepada pengguna di seluruh panggilan Bing API. Bing sering kali menerbangkan fitur dan peningkatan baru, dan menggunakan ID klien sebagai kunci untuk menetapkan lalu lintas pada penerbangan yang berbeda. Jika Anda tidak menggunakan ID klien yang sama untuk pengguna di beberapa permintaan, Bing dapat menetapkan pengguna ke beberapa penerbangan yang bertentangan. Ditetapkan ke beberapa penerbangan yang bertentangan dapat menyebabkan pengalaman pengguna yang tidak konsisten. Misalnya, jika permintaan kedua memiliki penetapan penerbangan yang berbeda dengan yang pertama, pengalaman tersebut mungkin tidak diharapkan. Selain itu, Bing dapat menggunakan ID klien untuk menyesuaikan hasil web dengan riwayat pencarian ID klien tersebut, memberikan pengalaman yang lebih kaya bagi pengguna. Bing juga menggunakan header ini untuk membantu meningkatkan peringkat hasil dengan menganalisis aktivitas yang dibuat oleh ID klien. Peningkatan relevansi membantu terkait kualitas hasil yang lebih baik yang disampaikan oleh Bing API dan pada gilirannya memungkinkan rasio klik-tayang yang lebih tinggi untuk konsumen API. PENTING: Meskipun opsional, Anda harus menganggap header ini diperlukan. Mempertahankan ID klien di beberapa permintaan untuk kombinasi pengguna akhir dan perangkat yang sama memungkinkan 1) konsumen API menerima pengalaman pengguna yang konsisten, dan 2) rasio klik-tayang yang lebih tinggi melalui kualitas hasil yang lebih baik dari Bing API. Berikut adalah aturan dasar penggunaan yang berlaku untuk header ini.
CATATAN: Respons Bing mungkin atau mungkin tidak menyertakan header ini. Jika respons menyertakan header ini, tangkap ID klien dan gunakan untuk semua permintaan Bing berikutnya untuk pengguna di perangkat tersebut. CATATAN: Jika Anda menyertakan X-MSEdge-ClientID, Anda tidak boleh menyertakan cookie dalam permintaan. |
X-MSEdge-ClientIP | Header permintaan opsional. Alamat IPv4 atau IPv6 perangkat klien. Alamat IP digunakan untuk menemukan lokasi pengguna. Bing menggunakan informasi lokasi untuk menentukan perilaku pencarian yang aman. CATATAN: Meskipun opsional, Anda dianjurkan untuk selalu menentukan header ini dan header X-Search-Location. Jangan mengaburkan alamat (misalnya, dengan mengubah oktet terakhir menjadi 0). Mengaburkan alamat mengakibatkan lokasi tidak berada di dekat lokasi aktual perangkat, yang dapat mengakibatkan Bing memberikan hasil yang salah. |
X-Search-Location | Header permintaan opsional. Daftar pasangan kunci/nilai yang dibatasi titik koma yang menjelaskan lokasi geografis klien. Bing menggunakan informasi lokasi untuk menentukan perilaku pencarian yang aman dan menampilkan konten lokal yang relevan. Tentukan pasangan kunci/nilai sebagai <kunci>:<nilai>. Berikut adalah kunci yang Anda gunakan untuk menentukan lokasi pengguna.
CATATAN: Anda dianjurkan untuk selalu menentukan lokasi geografis pengguna. Menyediakan lokasi sangat penting jika alamat IP klien tidak secara akurat mencerminkan lokasi fisik pengguna (misalnya, jika klien menggunakan VPN). Untuk hasil yang optimal, Anda harus menyertakan header ini dan header X-MSEdge-ClientIP, tetapi minimal, Anda harus menyertakan header ini. |
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
Permintaan dapat mencakup parameter kueri berikut. Lihat kolom Wajib untuk parameter yang diperlukan. Anda harus mengodekan URL parameter kueri.
Nama | Nilai | Jenis | Diperlukan |
---|---|---|---|
jumlah | Jumlah hasil yang akan ditampilkan, dimulai dengan indeks yang ditentukan oleh parameter offset . |
String | Tidak |
localCategories | Daftar opsi yang menentukan pencarian menurut kategori bisnis. Lihat Pencarian Kategori Bisnis Lokal | String | Tidak |
mkt | Pasar tempat hasilnya berasal. Untuk daftar kemungkinan nilai pasar, lihat Kode Pasar. CATATAN: Local Business Search API saat ini hanya mendukung pasar dan bahasa en-us. |
String | Ya |
offset | Indeks untuk memulai hasil yang ditentukan oleh parameter count . |
Bilangan bulat | Tidak |
q | Istilah pencarian pengguna. | String | Tidak |
responseFormat | Jenis media yang digunakan untuk respons tersebut. Berikut adalah nilai yang mungkin tidak peka huruf besar/kecil.
Defaultnya adalah JSON. Untuk mengetahui informasi tentang objek JSON yang ada dalam respons, lihat Objek Respons. Jika Anda menentukan JsonLd, isi respons menyertakan objek JSON-LD yang berisi hasil pencarian. Untuk mengetahui informasi tentang JSON-LD, lihat JSON-LD. |
String | Tidak |
safeSearch | Filter yang digunakan untuk memfilter konten dewasa. Berikut adalah kemungkinan nilai filter tidak sensitif huruf besar/kecil.
Defaultnya adalah Moderate. CATATAN: Jika permintaan berasal dari pasar yang diperlukan oleh kebijakan dewasa Bing bahwa safeSearch diatur ke Strict, Bing mengabaikan nilai safeSearch dan menggunakan Strict.CATATAN: Jika Anda menggunakan operator kueri site: , ada kemungkinan respons berisi konten dewasa terlepas dari untuk apa parameter kueri safeSearch ditetapkan. Gunakan site: hanya jika Anda mengetahui konten di situs dan skenario Anda mendukung kemungkinan konten dewasa. |
String | Tidak |
setLang | Bahasa yang digunakan untuk string antarmuka pengguna. Tentukan bahasa menggunakan kode bahasa ISO 639-1 2 huruf. Misalnya, kode bahasa untuk bahasa Inggris adalah EN. Defaultnya adalah EN (Inggris). Meskipun opsional, Anda harus selalu menentukan bahasa. Biasanya, Anda mengatur setLang ke bahasa yang sama dengan yang ditentukan oleh mkt kecuali pengguna ingin string antarmuka pengguna ditampilkan dalam bahasa yang berbeda.Parameter dan header Accept-Language ini saling eksklusif—jangan tentukan keduanya. String antarmuka pengguna adalah string yang digunakan sebagai label di antarmuka pengguna. Ada beberapa string antarmuka pengguna di objek respons JSON. Selain itu, setiap tautan ke properti Bing.com dalam objek respons menerapkan bahasa yang ditentukan. |
String | Tidak |
Objek Respons
Berikut adalah objek respons JSON yang mungkin disertakan oleh respons. Jika permintaan berhasil, objek tingkat atas dalam respons adalah objek SearchResponse. Jika permintaan gagal, objek tingkat atas adalah objek ErrorResponse.
Objek | Deskripsi |
---|---|
Tempat | Mendefinisikan informasi tentang bisnis lokal seperti restoran atau hotel. |
Kesalahan
Mendefinisikan kesalahan yang terjadi.
Elemen | Deskripsi | Jenis |
---|---|---|
code | Kode kesalahan yang mengidentifikasi kategori kesalahan. Untuk daftar kode yang mungkin, lihat Kode Kesalahan. | String |
message | Deskripsi kesalahan. | String |
moreDetails | Deskripsi yang menyediakan informasi tambahan tentang kesalahan tersebut. | String |
parameter | Parameter kueri dalam permintaan yang menyebabkan kesalahan. | String |
subCode | Kode kesalahan yang mengidentifikasi kesalahan. Misalnya, jika code InvalidRequest, subCode mungkin berupa ParameterInvalid atau ParameterInvalidValue. |
String |
value | Nilai parameter kueri yang tidak valid. | String |
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[] |
Lisensi
Menentukan lisensi yang mengizinkan teks atau foto dapat digunakan.
Nama | Nilai | Jenis |
---|---|---|
name | Nama lisensi. | String |
url | URL ke situs web tempat pengguna bisa mendapatkan informasi selengkapnya tentang lisensi. Gunakan nama dan URL untuk membuat hyperlink. |
String |
Tautan
Menentukan komponen hyperlink.
Nama | Nilai | Jenis |
---|---|---|
_type | Ketik petunjuk. | String |
teks | Teks tampilan. | String |
url | URL. Gunakan URL dan tampilkan teks untuk membuat hyperlink. | String |
Organisasi
Mendefinisikan penerbit.
Perhatikan bahwa penerbit dapat memberikan nama atau situs web mereka atau keduanya.
Nama | Nilai | Jenis |
---|---|---|
name | Nama penerbit. | String |
url | URL ke situs web penerbit. Perhatikan bahwa penerbit mungkin tidak menyediakan situs web. |
String |
Tempat
Mendefinisikan informasi tentang bisnis lokal, seperti restoran atau hotel.
Nama | Nilai | Jenis |
---|---|---|
_type | Ketik petunjuk, yang mungkin diatur ke salah satu hal berikut:
|
String |
address | Alamat pos tempat entitas berada. | PostalAddress |
entityPresentationInfo | Informasi tambahan tentang entitas seperti petunjuk yang dapat Anda gunakan untuk menentukan jenis entitas. Misalnya, apakah itu restoran atau hotel. Bidang entityScenario diatur ke ListItem. |
EntityPresentationInfo |
name | Nama entitas. | String |
telephone | Nomor telepon entitas. | String |
url | URL ke situs web entitas. Gunakan URL ini bersama dengan nama entitas untuk membuat hyperlink yang saat diklik membawa pengguna ke situs web entitas. |
String |
webSearchUrl | URL untuk hasil pencarian Bing untuk tempat ini. | String |
QueryContext
Menentukan konteks kueri yang digunakan Bing untuk permintaan tersebut.
Elemen | Deskripsi | Jenis |
---|---|---|
adultIntent | Nilai Boolean yang menunjukkan apakah kueri yang ditentukan memiliki niat dewasa. Nilainya adalah true jika kueri memiliki niat dewasa; jika tidak, false. | Boolean |
alterationOverrideQuery | String kueri yang digunakan untuk memaksa Bing menggunakan string asli. Misalnya, jika string kueri saling downwind, string kueri penimpaan akan +saling downwind. Ingatlah untuk mengodekan string kueri yang menghasilkan %2Bsaling+downwind. Bidang ini disertakan hanya jika string kueri asli berisi kesalahan ejaan. |
String |
alteredQuery | String kueri yang digunakan oleh Bing untuk melakukan kueri. Bing menggunakan string kueri yang diubah jika string kueri asli berisi kesalahan ejaan. Misalnya, jika string kueri adalah saling downwind , string kueri yang diubah akan menjadi sailing downwind .Bidang ini disertakan hanya jika string kueri asli berisi kesalahan ejaan. |
String |
askUserForLocation | Nilai Boolean yang menunjukkan apakah Bing memerlukan lokasi pengguna untuk memberikan hasil yang akurat. Jika Anda menentukan lokasi pengguna menggunakan header X-MSEdge-ClientIP dan X-Search-Location, Anda dapat mengabaikan bidang ini. Untuk kueri dengan info lokasi, seperti "cuaca hari ini" atau "restoran di dekat saya" yang membutuhkan lokasi pengguna untuk memberikan hasil yang akurat, bidang ini diatur ke true. Untuk kueri dengan info lokasi yang menyertakan lokasi (misalnya, "Cuaca Seattle"), bidang ini diatur ke false. Bidang ini juga diatur ke false untuk kueri dengan info lokasi, seperti "best seller". |
Boolean |
originalQuery | String kueri seperti yang ditentukan dalam permintaan. | String |
Dapat diidentifikasi
Nama | Nilai | Jenis |
---|---|---|
id | Pengidentifikasi sumber daya | String |
RankingGroup
Menentukan grup hasil pencarian, seperti jalur utama.
Nama | Nilai | Jenis |
---|---|---|
items | Daftar hasil pencarian untuk ditampilkan dalam grup. | RankingItem |
RankingItem
Menentukan item hasil pencarian untuk ditampilkan.
Nama | Nilai | Jenis |
---|---|---|
resultIndex | Indeks item berbasis nol dalam jawaban untuk ditampilkan. Jika item tidak menyertakan bidang ini, tampilkan semua item dalam jawabannya. Misalnya, tampilkan semua artikel berita di jawaban Berita. | Bilangan bulat |
answerType | Jawaban yang berisi item yang akan ditampilkan. Misalnya, Berita. Gunakan jenis untuk menemukan jawaban di objek SearchResponse. Jenis tersebut adalah nama bidang SearchResponse. Namun, gunakan jenis jawaban hanya jika objek ini menyertakan bidang nilai; jika tidak, abaikan saja. |
String |
textualIndex | Indeks jawaban dalam textualAnswers yang akan ditampilkan. | Bilangan Bulat Tidak Bertanda |
value | ID yang mengidentifikasi jawaban untuk menampilkan atau item jawaban untuk ditampilkan. Jika ID mengidentifikasi jawaban, tampilkan semua item jawabannya. | Dapat diidentifikasi |
RankingResponse
Menentukan tempat konten halaman hasil pencarian harus ditempatkan dan dalam urutan apa.
SearchResponse
Menentukan objek tingkat atas yang disertakan respons saat permintaan berhasil.
Perhatikan bahwa jika layanan mencurigai penolakan serangan layanan, permintaan akan berhasil (kode status HTTP adalah 200 OK); namun, isi respons akan kosong.
Nama | Nilai | Jenis |
---|---|---|
_type | Ketik petunjuk, yang diatur ke SearchResponse. | String |
places | Daftar entitas yang relevan dengan kueri pencarian. | Objek JSON |
queryContext | Objek yang berisi string kueri yang digunakan Bing untuk permintaan tersebut. Obyek ini memuat string kueri seperti yang dimasukkan oleh pengguna. Ini mungkin juga berisi string kueri yang diubah yang digunakan Bing untuk kueri jika string kueri berisi kesalahan ejaan. |
QueryContext |
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. |
403 | Pengguna diautentikasi (misalnya, mereka menggunakan kunci langganan yang valid) tetapi tidak memiliki izin ke sumber daya yang diminta. Bing juga dapat menampilkan status ini jika penelepon melebihi kuota kueri per bulan. |
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. |
InsufficientAuthorization | AuthorizationDisabled AuthorizationExpired |
Bing menampilkan InsufficientAuthorization saat pemanggil tidak memiliki izin untuk mengakses sumber daya. Ini dapat terjadi jika kunci langganan telah dinonaktifkan atau telah kedaluwarsa. Jika kesalahannya adalah InsufficientAuthorization, kode status HTTP adalah 403. |