Compartilhar via


Envio e uso de consultas e respostas da API da Pesquisa de empresa local do Bing

Aviso

Em 30 de outubro de 2020, as APIs de Pesquisa do Bing foram migradas dos serviços de IA do Azure para os Serviços de Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter a documentação atualizada, consulte a documentação da API de pesquisa do Bing. Para obter instruções sobre como criar novos recursos do Azure para a Pesquisa do Bing, consulte Criar um recurso de Pesquisa do Bing por meio do Azure Marketplace.

Você pode obter resultados locais da API de Pesquisa de Empresa Local do Bing enviando uma consulta de pesquisa para seu terminal e incluindo o Ocp-Apim-Subscription-Keycabeçalho, que é obrigatório. Juntamente com os cabeçalhos disponíveis e parâmetros, as pesquisas podem ser personalizadas especificando limites geográficos para a área a ser pesquisada e as categorias de locais retornados.

Criando uma solicitação

Para enviar uma solicitação à API de Pesquisa de Empresa Local do Bing, anexe um termo de pesquisa ao parâmetro q=antes de adicioná-lo ao ponto de extremidade da API e incluir o cabeçalhoOcp-Apim-Subscription-Key. Por exemplo:

https://api.cognitive.microsoft.com/bing/localbusinesses/v7.0/search?q=restaurant+in+Bellevue

A sintaxe completa da URL da solicitação é mostrada abaixo. Consulte as iniciações rápidas da API da Pesquisa de empresa local do Bing e o conteúdo de referência para cabeçalhos e parâmetros para obter mais informações sobre o envio de solicitações.

Para obter informações sobre categorias de pesquisa locais, consulte Categorias de pesquisa para a API da Pesquisa de empresa local do Bing.

https://api.cognitive.microsoft.com/bing/v7.0/localbusinesses/search[?q][&localCategories][&cc][&mkt][&safesearch][&setlang][&count][&first][&localCircularView][&localMapView]

Usar as respostas

As respostas JSON da API da Pesquisa de empresa local do Bing contêm um objeto SearchResponse. A API retornará resultados de pesquisa relevantes no campo places. Se nenhum resultado for encontrado, o campo places não será incluído na resposta.

Observação

Porque os formatos de URL e os parâmetros estão sujeitos a alterações sem aviso prévio, use todas as URLs no estado em que se encontram. Você não deveria receber dependências no formato de URL ou parâmetros, exceto o quando observado.

{
   "_type": "SearchResponse",
   "queryContext": {
      "originalQuery": "restaurant in Bellevue"
   },
   "places": {
      "totalEstimatedMatches": 10,
. . . 

Atributos de resultado de pesquisa

Os resultados do JSON retornados pela API incluem os seguintes atributos:

  • _type
  • address
  • entityPresentationInfo
  • área geográfica
  • id
  • name
  • routeablePoint
  • telefone
  • url

Para obter informações gerais sobre cabeçalhos, parâmetros, códigos de mercado, objetos de resposta, erros, etc., consulte a referência da API de Pesquisa Local do Bing v7.

Observação

Você, ou um terceiro em seu nome, não pode usar, reter, armazenar, armazenar em cache, compartilhar ou distribuir nenhum dado da API de pesquisa local com o objetivo de testar, desenvolver, treinar, distribuir ou disponibilizar qualquer serviço que não seja da Microsoft. ou recurso.

Resposta JSON de exemplo

A resposta JSON a seguir inclui os resultados de pesquisa especificados pela consulta ?q=restaurant+in+Bellevue.

Vary: Accept-Encoding
BingAPIs-TraceId: 5376FFEB65294E24BB9F91AD70545826
BingAPIs-SessionId: 06ED7CEC80F746AA892EDAAC97CB0CB4
X-MSEdge-ClientID: 112C391E72C0624204153594738C63DE
X-MSAPI-UserState: aeab
BingAPIs-Market: en-US
X-Search-ResponseInfo: InternalResponseTime=659,MSDatacenter=CO4
X-MSEdge-Ref: Ref A: 5376FFEB65294E24BB9F91AD70545826 Ref B: BY3EDGE0306 Ref C: 2018-10-16T16:26:15Z
apim-request-id: fe54f585-7c54-4bf5-8b92-b9bede2b710a
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
Cache-Control: max-age=0, private
Date: Tue, 16 Oct 2018 16:26:15 GMT
P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND"
Content-Length: 978
Content-Type: application/json; charset=utf-8
Expires: Tue, 16 Oct 2018 16:25:15 GMT

{
  "_type": "SearchResponse",
  "queryContext": {
    "originalQuery": "restaurant Bellevue"
  },
  "places": {
    "totalEstimatedMatches": 50,
    "value": [{
      "_type": "LocalBusiness",
      "id": "https:\/\/cognitivegblppe.azure-api.net\/api\/v7\/#Places.0",
      "name": "Facing East Taiwanese Restaurant",
      "url": "http:\/\/litadesign.wix.com\/facingeastrestaurant",
      "entityPresentationInfo": {
        "entityScenario": "ListItem",
        "entityTypeHints": ["Place", "LocalBusiness", "Restaurant"]
      },
      "geo": {
        "latitude": 47.6199188232422,
        "longitude": -122.202796936035
      },
      "routablePoint": {
        "latitude": 47.6199188232422,
        "longitude": -122.201713562012
      },
      "address": {
        "streetAddress": "1075 Bellevue Way NE Ste B2",
        "addressLocality": "Bellevue",
        "addressRegion": "WA",
        "postalCode": "98004",
        "addressCountry": "US",
        "neighborhood": "Bellevue",
        "text": "1075 Bellevue Way NE Ste B2, Bellevue, WA 98004"
      },
      "telephone": "(425) 688-2986"
    }],
    "searchAction": {
      "location": [{
        "name": "Bellevue, Washington"
      }],
      "query": "restaurant"
    }
  }
}
 

Solicitações de limitação

O serviço e o seu tipo de subscrição determinam o número de consultas por segundo (QPS) que você pode efetuar. Verifique se seu aplicativo inclui a lógica para permanecer dentro da sua cota. Se o limite de QPS for atingido ou excedido, a solicitação falhará e um código de status HTTP 429 será retornado. A resposta inclui o cabeçalho Retry-After, que indica o quanto você deve aguardar antes de enviar outra solicitação.

Negação de serviço versus limitação

O serviço faz uma diferenciação entre um ataque de negação de serviço (DoS) e uma violação QPS. Se o serviço suspeitar de um ataque DoS, a solicitação terá êxito (o código de status HTTP será 200 OK). No entanto, o corpo da resposta estará vazio.

Próximas etapas