Referência da API v7 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.
A API de pesquisa de empresa local envia uma consulta de pesquisa ao Bing para obter resultados que incluam restaurantes, hotéis ou outras empresas locais. A API de pesquisa de empresa local envia uma consulta de pesquisa ao Bing para obter resultados que incluam restaurantes, hotéis ou outras empresas locais. Os resultados de entidade incluem pessoas, lugares ou coisas. Coloque neste contexto entidades empresariais, estados, países/regiões etc.
Esta seção fornece detalhes técnicos sobre os objetos de resposta e os parâmetros e cabeçalhos de consulta que afetam os resultados da pesquisa. Para exemplos que mostram como fazer solicitações, consulte Início rápido da Pesquisa C# de empresa local ou Início rápido de Java da Pesquisa de empresa local.
Para obter informações sobre os cabeçalhos que devem ser incluídos nas solicitações, confira Cabeçalhos.
Para obter informações sobre os parâmetros de consulta que devem ser incluídos nas solicitações, confira Parâmetros de consulta.
Para obter informações sobre os objetos JSON incluídos na resposta, confira Objetos de resposta.
Para obter informações sobre o uso permitido e a exibição de resultados, confira Requisitos de uso e exibição.
Ponto de extremidade
Para solicitar resultados de negócios locais, envie uma solicitação GET para:
https://api.cognitive.microsoft.com/bing/v7.0/localbusinesses/search
A solicitação deve usar o protocolo HTTPS.
Observação
O tamanho máximo da URL é de 2.048 caracteres. Para garantir que o tamanho da URL não exceda o limite, o tamanho máximo dos parâmetros de consulta deve ser inferior a 1.500 caracteres. Se a URL excede 2.048 caracteres, o servidor retorna 404 Não encontrado.
Cabeçalhos
Veja a seguir os cabeçalhos que podem ser incluídos em uma solicitação e uma resposta.
parâmetro | Descrição |
---|---|
Aceitar | Cabeçalho de solicitação opcional. O tipo de mídia padrão é application/json. Para especificar que a resposta usará JSON-LD, defina o cabeçalho Accept como application/ld+json. |
Accept-Language | Cabeçalho de solicitação opcional. Uma lista delimitada por vírgula de idiomas a serem usados para as cadeias de caracteres de interface do usuário. A lista está em ordem decrescente de preferência. Para obter mais informações, incluindo o formato esperado, confira RFC2616. Esse cabeçalho e o parâmetro de consulta setLang são mutuamente exclusivos – não especifique ambos. Se você definir esse cabeçalho, também deverá especificar o parâmetro de consulta cc. Para determinar o mercado para o qual retornar os resultados, o Bing usa o primeiro idioma compatível suporte encontrado na lista e combina-o com o valor de parâmetro cc . Se a lista não inclui um idioma compatível, o Bing encontra o idioma e o mercado mais próximos que dão suporte à solicitação ou usa um mercado padrão ou agregado para os resultados. Para determinar o mercado usado pelo Bing, confira o cabeçalho BingAPIs-Market.Use esse cabeçalho e o parâmetro de consulta cc somente se você especificar vários idiomas. Caso contrário, use os parâmetros de consulta mkt e setLang.Uma cadeia de caracteres de interface do usuário é uma cadeia de caracteres que é usada como um rótulo em uma interface do usuário. Há poucas cadeias de caracteres de interface do usuário nos objetos de resposta JSON. Todos os links para as propriedades de Bing.com nos objetos de resposta aplicam o idioma especificado. |
BingAPIs-Market | Cabeçalho de resposta. O mercado usado pela solicitação. O formulário é <languageCode>-<countryCode>. Por exemplo, en-US. |
BingAPIs-TraceId | Cabeçalho de resposta. A ID da entrada de log que contém os detalhes da solicitação. Quando ocorrer um erro, capture essa ID. Se você não conseguir determinar e resolver o problema, inclua essa ID juntamente com outras informações fornecidas à equipe de Suporte. |
Ocp-Apim-Subscription-Key | Cabeçalho de solicitação obrigatório. A chave de assinatura que você recebeu quando se inscreveu nesse serviço nos serviços de IA do Azure. |
Pragma | Cabeçalho de solicitação opcional Por padrão, o Bing retorna o conteúdo armazenado em cache se disponível. Para impedir que o Bing retorne o conteúdo armazenado em cache, defina o cabeçalho Pragma como no-cache (por exemplo, Pragma: no-cache). |
User-Agent | Cabeçalho de solicitação opcional. O agente do usuário que originou a solicitação. O Bing usa o agente do usuário para fornecer uma experiência otimizada aos usuários móveis. Embora isso seja opcional, você é incentivado a sempre especificar esse cabeçalho. O agente do usuário deve ter a mesma cadeia de caracteres enviada por qualquer navegador geralmente usado. Para obter informações sobre agentes do usuário, confira RFC 2616. Veja a seguir exemplos de cadeias de caracteres de agente do usuário.
|
X-MSEdge-ClientID | Cabeçalho de solicitação e resposta opcional. O Bing usa esse cabeçalho para fornecer aos usuários um comportamento consistente nas chamadas à API do Bing. Em geral, o Bing faz o pré-lançamento de novos recursos e novas melhorias e usa a ID do cliente como uma chave para atribuição de tráfego em versões de pré-lançamento diferentes. Se você não usar a mesma ID do cliente para um usuário em várias solicitações, o Bing poderá atribuir o usuário a várias versões de pré-lançamento conflitantes. A atribuição a várias versões de pré-lançamento conflitantes pode levar a uma experiência do usuário inconsistente. Por exemplo, se a segunda solicitação tem uma atribuição de versão de pré-lançamento diferente da primeira, a experiência pode ser inesperada. Além disso, o Bing pode usar a ID do cliente para adaptar os resultados da Web ao histórico de pesquisa dessa ID do cliente, fornecendo uma experiência mais rica para o usuário. O Bing também usa esse cabeçalho para ajudar a melhorar as classificações de resultado pela análise da atividade gerada por uma ID do cliente. As melhorias de relevância ajudam com uma melhor qualidade dos resultados fornecidos pelas APIs do Bing e, por sua vez, permitem taxas de clickthrough mais altas para o consumidor da API. IMPORTANTE: embora isso seja opcional, você deve considerar esse cabeçalho obrigatório. A persistência da ID do cliente em várias solicitações para a mesma combinação de usuário final e dispositivo permite 1) ao consumidor da API receber uma experiência do usuário consistente e 2) taxas de clickthrough mais altas por meio de uma melhor qualidade dos resultados das APIs do Bing. Veja a seguir as regras de uso básicas que se aplicam a esse cabeçalho.
OBSERVAÇÃO: as respostas do Bing podem ou não incluir esse cabeçalho. Se a resposta incluir esse cabeçalho, capture a ID do cliente e use-a para todas as solicitações seguintes do Bing para o usuário no dispositivo. OBSERVAÇÃO: se você incluir o X-MSEdge-ClientID, não deverá incluir cookies na solicitação. |
X-MSEdge-ClientIP | Cabeçalho de solicitação opcional. O endereço IPv4 ou IPv6 do dispositivo cliente. O endereço IP é usado para descobrir o local do usuário. O Bing usa as informações de local para determinar o comportamento da pesquisa segura. OBSERVAÇÃO: embora isso seja opcional, você é incentivado a sempre especificar esse cabeçalho e o cabeçalho X-Search-Location. Não oculte o endereço (por exemplo, alterando o último octeto para 0). Se você ocultar o endereço, isso fará com que o local não fique em nenhum lugar próximo ao local real do dispositivo, o que poderá resultar no fornecimento de resultados incorretos pelo Bing. |
X-Search-Location | Cabeçalho de solicitação opcional. Uma lista delimitada por ponto-e-vírgula de pares chave/valor que descrevem a localização geográfica do cliente. O Bing usa as informações de local para determinar o comportamento da pesquisa segura e retornar o conteúdo local relevante. Especifique o par chave/valor como <key>:<value>. Veja a seguir as chaves usadas para especificar o local do usuário.
OBSERVAÇÃO: você é incentivado a sempre especificar a localização geográfica do usuário. O fornecimento do local é especialmente importante se o endereço IP do cliente não reflete precisamente o local físico do usuário (por exemplo, se o cliente usa VPN). Para obter melhores resultados, você deve incluir esse cabeçalho e o cabeçalho X-MSEdge-ClientIP, mas, no mínimo, você deve incluir esse cabeçalho. |
Observação
Lembre-se de que os Termos de Uso exigem conformidade com todas as leis aplicáveis, incluindo o uso desses cabeçalhos. Por exemplo, em algumas jurisdições, como na Europa, há requisitos para obter o consentimento do usuário antes de colocar determinados dispositivos de monitoramento em dispositivos do usuário.
Parâmetros de consulta
A solicitação pode incluir os parâmetros de consulta a seguir. Confira a coluna Obrigatório para obter os parâmetros necessários. É necessário codificar os parâmetros de consulta em URL.
Nome | Valor | Tipo | Obrigatório |
---|---|---|---|
Contagem | O número de resultados a serem retornados, começando com o índice especificado pelo parâmetro offset . |
String | Não |
localCategories | Lista de opções que definem a pesquisa por categoria de negócio. Consulte categorias de negócios locais de pesquisa | String | Não |
mkt | O mercado do qual os resultados são obtidos. Para obter uma lista dos possíveis valores de mercado, confira Códigos de mercado. OBSERVAÇÃO: Atualmente, a API de pesquisa de empresa local suporta apenas o mercado e o idioma do en-us. |
String | Sim |
deslocamento | O índice para iniciar os resultados especificados pelo parâmetro count . |
Integer | Não |
q | Termo de pesquisa do usuário. | String | Não |
responseFormat | O tipo de mídia a ser usado para a resposta. Veja a seguir os possíveis valores que não diferenciam maiúsculas de minúsculas.
O padrão é JSON. Para obter informações sobre os objetos JSON contidos na resposta, confira Objetos de resposta. Se você especificar JsonLd, o corpo da resposta incluirá objetos JSON-LD que contêm os resultados da pesquisa. Para obter informações sobre o JSON-LD, confira JSON-LD. |
String | Não |
Pesquisa Segura | Um filtro usado para filtrar o conteúdo para adulto. Veja a seguir os possíveis valores de filtro que não diferenciam maiúsculas de minúsculas.
O padrão é Moderado. OBSERVAÇÃO: se a solicitação for proveniente de um mercado cuja política de conteúdo para adulto do Bing exija que safeSearch seja definido como Estrito, o Bing ignorará o valor safeSearch e usará Estrito.OBSERVAÇÃO: se você usar o operador de consulta site: , há a possibilidade de que a resposta possa trazer um conteúdo para adulto, seja qual for a definição do parâmetro de consulta safeSearch . Só use site: se estiver ciente do conteúdo do site e se o cenário der suporte à possibilidade de conteúdo para adulto. |
String | Não |
setLang | O idioma a ser usado para cadeias de caracteres de interface do usuário. Especifique o idioma usando o código de idioma ISO 639-1 de 2 letras. Por exemplo, o código de idioma para o inglês é EN. O padrão é EN (inglês). Embora isso seja opcional, você sempre deve especificar o idioma. Normalmente, você define setLang com o mesmo idioma especificado por mkt , a menos que o usuário deseje exibir as cadeias de caracteres de interface do usuário em outro idioma.Esse parâmetro e o cabeçalho Accept-Language são mutuamente exclusivos – não especifique ambos. Uma cadeia de caracteres de interface do usuário é uma cadeia de caracteres que é usada como um rótulo em uma interface do usuário. Há poucas cadeias de caracteres de interface do usuário nos objetos de resposta JSON. Além disso, todos os links para as propriedades de Bing.com nos objetos de resposta aplicam o idioma especificado. |
String | Não |
Objetos de resposta
A seguir estão os objetos de resposta JSON que a resposta pode incluir. Se a solicitação for bem-sucedida, o objeto de nível superior na resposta é o objeto SearchResponse. Se a solicitação falha, o objeto de nível superior é o objeto ErrorResponse.
Objeto | Descrição |
---|---|
Local | Define informações sobre uma empresa local, como um restaurante ou hotel. |
Erro
Define o erro ocorrido.
Elemento | Descrição | Type |
---|---|---|
code | O código de erro que identifica a categoria de erro. Para obter uma lista dos possíveis códigos, confira Códigos de erro. | String |
message | Uma descrição do erro. | String |
moreDetails | Uma descrição que fornece informações adicionais sobre o erro. | String |
parameter | O parâmetro de consulta na solicitação que causou o erro. | String |
subCode | O código de erro que identifica o erro. Por exemplo, se code é InvalidRequest, subCode pode ser ParameterInvalid ou ParameterInvalidValue. |
String |
value | O valor do parâmetro de consulta inválido. | String |
ErrorResponse
O objeto de nível superior incluído pela resposta quando a solicitação falha.
Nome | Valor | Tipo |
---|---|---|
_type | Dica de tipo. | String |
errors | Uma lista de erros que descreve os motivos pelos quais a solicitação falhou. | Error[] |
Licença
Define a licença sob a qual a foto ou o texto pode ser usado.
Nome | Valor | Tipo |
---|---|---|
name | O nome da licença. | String |
url | A URL para um site em que o usuário pode obter mais informações sobre a licença. Use o nome e a URL para criar um hiperlink. |
String |
Link
Define os componentes de um hiperlink.
Nome | Valor | Tipo |
---|---|---|
_type | Dica de tipo. | String |
text | O texto de exibição. | String |
url | Uma URL. Use a URL e exiba o texto para criar um hiperlink. | String |
Organização
Define um editor.
Observe que um editor pode fornecer seu nome, seu site ou ambos.
Nome | Valor | Tipo |
---|---|---|
name | O nome do editor. | String |
url | A URL para o site do editor. Observe que o editor pode não fornecer um site. |
String |
Posicionar
Define informações sobre uma empresa local, como um restaurante ou hotel.
Nome | Valor | Tipo |
---|---|---|
_type | Digite hint, que pode ser definido como um dos seguintes:
|
String |
address | O endereço postal em que a entidade está localizada. | PostalAddress |
entityPresentationInfo | Informações adicionais sobre a entidade, como dicas que você pode usar para determinar o tipo da entidade. Por exemplo, seja um restaurante ou hotel. O campo entityScenario está definido como ListItem. |
EntityPresentationInfo |
name | O nome da entidade. | String |
telefone | Número de telefone da entidade. | String |
url | A URL para o site da entidade. Use este URL junto com o nome da entidade para criar um hiperlink que, quando clicado, leva o usuário ao site da entidade. |
String |
webSearchUrl | A URL para o resultado da pesquisa do Bing para esse local. | String |
QueryContext
Define o contexto de consulta usado pelo Bing para a solicitação.
Elemento | Descrição | Type |
---|---|---|
adultIntent | Um valor booliano que indica se a consulta especificada é direcionada para adultos. O valor é true se a consulta é direcionada para adultos; caso contrário, false. | Boolean |
alterationOverrideQuery | A cadeia de caracteres de consulta a ser usada para forçar o Bing a usar a cadeia de caracteres original. Por exemplo, se a cadeia de caracteres de consulta for velejando na direção do vento, a cadeia de caracteres de consulta de substituição será +velejando na direção do vento. Lembre-se de codificar a cadeia de caracteres de consulta que resulta em %2Bvelejando+na direção do vento. Esse campo é incluído somente se a cadeia de caracteres de consulta original contém um erro de ortografia. |
String |
alteredQuery | A cadeia de caracteres de consulta usada pelo Bing para executar a consulta. O Bing usa a cadeia de caracteres de consulta alterada se a cadeia de caracteres de consulta original contém erros de ortografia. Por exemplo, se a cadeia de caracteres de consulta for saling downwind , a cadeia de caracteres de consulta alterada será sailing downwind .Esse campo é incluído somente se a cadeia de caracteres de consulta original contém um erro de ortografia. |
String |
askUserForLocation | Um valor booliano que indica se o Bing exige o local do usuário para fornecer resultados precisos. Se você especificou o local do usuário usando os cabeçalhos X-MSEdge-ClientIP e X-Search-Location, ignore esse campo. Para consultas com reconhecimento de local, como "clima de hoje" ou "restaurantes próximos ao meu local" que precisam do local do usuário para fornecer resultados precisos, esse campo é definido como true. Para consultas com reconhecimento de local que incluem o local (por exemplo, "clima de Seattle"), esse campo é definido como false. Esse campo também é definido como false para consultas sem reconhecimento de local, como "campeões de venda". |
Boolean |
originalQuery | A cadeia de caracteres de consulta especificada na solicitação. | String |
Identifiable
Nome | Valor | Tipo |
---|---|---|
id | Um identificador de recurso | String |
RankingGroup
Define um grupo de resultados da pesquisa, como linha principal.
Nome | Valor | Tipo |
---|---|---|
itens | Uma lista de resultados da pesquisa a serem exibidos no grupo. | RankingItem |
RankingItem
Define um item de resultado da pesquisa a ser exibido.
Nome | Valor | Tipo |
---|---|---|
resultIndex | Um índice baseado em zero do item na resposta a ser exibido. Se o item não incluir esse campo, exiba todos os itens na resposta. Por exemplo, exiba todos os artigos de notícias na resposta Notícias. | Integer |
answerType | A resposta que contém o item a ser exibido. Por exemplo, Notícias. Use o tipo para encontrar a resposta no objeto SearchResponse. O tipo é o nome de um campo SearchResponse. No entanto, use o tipo de resposta somente se esse objeto incluir o campo de valor; caso contrário, ignore-o. |
String |
textualIndex | O índice da resposta em textualAnswers a ser exibido. | Inteiro sem sinal |
value | A ID que identifica uma resposta a ser exibida ou um item de uma resposta a ser exibido. Se a ID identificar uma resposta, exiba todos os itens da resposta. | Identifiable |
RankingResponse
Define o local em que o conteúdo da página de resultados da pesquisa deve ser colocado e em qual ordem.
SearchResponse
Define o objeto de nível superior incluído pela resposta quando a solicitação é bem-sucedida.
Observe que se o serviço suspeitar de um ataque de negação de serviço, a solicitação será bem-sucedida (o código de status HTTP é 200 OK); no entanto, o corpo da resposta estará vazio.
Nome | Valor | Tipo |
---|---|---|
_type | Dica de tipo, que é definida como SearchResponse. | String |
Locais | Uma lista de entidades que são relevantes para a consulta de pesquisa. | Objeto JSON |
queryContext | Um objeto que contém a cadeia de caracteres de consulta Bing usado para a solicitação. Este objeto contém a cadeia de caracteres de consulta, conforme inserido pelo usuário. Ele também pode conter uma cadeia de caracteres de consulta alterada Bing usado para a consulta se a cadeia de caracteres de consulta continha um erro de ortografia. |
QueryContext |
Códigos do Erro
Veja a seguir os possíveis códigos de status HTTP retornados por uma solicitação.
Código de status | Descrição |
---|---|
200 | Êxito. |
400 | Um dos parâmetros de consulta está ausente ou não é válido. |
401 | A chave de assinatura está ausente ou é inválida. |
403 | O usuário foi autenticado (por exemplo, ele usou uma chave de assinatura válida), mas não tem permissão para acessar o recurso solicitado. O Bing também pode retornar esse status se o chamador excedeu suas consultas em relação à cota do mês. |
410 | A solicitação usou HTTP em vez do protocolo HTTPS. HTTPS é o único protocolo compatível. |
429 | O chamador excedeu suas consultas em relação à cota de segundos. |
500 | Erro de servidor inesperado. |
Se a solicitação falha, a resposta contém um objeto ErrorResponse, que contém uma lista de objetos Error que descrevem a causa do erro. Se o erro está relacionado a um parâmetro, o campo parameter
identifica o parâmetro que causa o problema. Além disso, se o erro está relacionado a um valor de parâmetro, o campo value
identifica o valor que é inválido.
{
"_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."
}
]
}
Veja a seguir os possíveis valores de código de erro e de código de suberro.
Código | Subcódigo | Descrição |
---|---|---|
ServerError | UnexpectedError ResourceError NotImplemented |
O código de status HTTP é 500. |
InvalidRequest | ParameterMissing ParameterInvalidValue HttpNotAllowed Bloqueado |
O Bing retornará InvalidRequest sempre que qualquer parte da solicitação não for válida. Por exemplo, um parâmetro obrigatório está ausente ou um valor de parâmetro não é válido. Se o erro for ParameterMissing ou ParameterInvalidValue, o código de status HTTP será 400. Se você usar o protocolo HTTP em vez de HTTPS, o Bing retornará HttpNotAllowed, e o código de status HTTP será 410. |
RateLimitExceeded | Nenhum subcódigo | O Bing retornará RateLimitExceeded sempre que você exceder a cota de consultas por segundo (QPS) ou consultas por mês (QPM). Se você exceder o QPS, o Bing retornará o código de status HTTP 429 e, se você exceder o QPM, o Bing retornará 403. |
InvalidAuthorization | AuthorizationMissing AuthorizationRedundancy |
O Bing retorna InvalidAuthorization quando o Bing não pode autenticar o chamador. Por exemplo, o cabeçalho Ocp-Apim-Subscription-Key está ausente ou a chave de assinatura não é válida.A redundância ocorrerá se você especificar mais de um método de autenticação. Se o erro for InvalidAuthorization, o código de status HTTP será 401. |
InsufficientAuthorization | AuthorizationDisabled AuthorizationExpired |
O Bing retorna InsufficientAuthorization quando o chamador não tem permissões para acessar o recurso. Isso pode ocorrer se a chave de assinatura foi desabilitada ou expirou. Se o erro for InsufficientAuthorization, o código de status HTTP será 403. |