---
sourceDocument: Interface do usuário da Now Platform Yokohama
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/platform-user-interface

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Interface do usuário da Now Platform Yokohama

ft:clusterId :

    - platux

bundleId :

    - platux

workflow :

    - Platform


---

# Tutorial: Configure uma fonte de pesquisa da base de conhecimento externa

# Tutorial: Configure uma fonte de pesquisa da base de conhecimento externa {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 25 de jun. de 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 min. de leitura

Defina uma fonte de pesquisa avançada para retornar dados de qualquer fonte na Internet. Para entender o poder das fontes de pesquisa, siga este tutorial para configurar uma fonte de pesquisa da base de conhecimento externa.

## Antes de Iniciar

Função necessária: nenhuma

Para criar uma fonte de pesquisa avançada, você precisa de acesso autenticado a um site externo por meio de uma REST API e conhecimento básico de [AngularJS](https://angularjs.org/).

## Por Que e Quando Desempenhar Esta Tarefa

Nesta integração, você:  
* Crie um script de busca de dados que use o. ServiceNow [API de tabela](https://developer.servicenow.com/app.do#!/rest_api_doc?v=paris&id=c_TableAPI)para consultar uma base de conhecimento de outra ServiceNowinstância.
* Decodifique a resposta JSON e defina os campos que o widget de pesquisa espera.
* Atualize o modelo HTML das fontes de pesquisa para abrir o resultado da pesquisa no site externo.
{#search-sp-advanced-ext-kb__ul_gww_r5h_qz}

## Procedimento

1. Na IU da plataforma, navegue até Portal de serviçosPortais e selecione o portal ao qual você deseja adicionar a origem de pesquisa.
2. Em Fontes de pesquisa lista relacionada, clique em Novo .
3. Crie um nome e ID para a origem de pesquisa.  
   O ID deve ser exclusivo e não deve incluir espaços ou caracteres especiais.
4. Em Fonte de dados , selecione É origem com script caixa de seleção.
5. Adicione conteúdo ao campo de script de busca de dados.
   1. Defina a função de pesquisa a ser executada pela instância.  
      Este exemplo usa um [Exemplo RESTMessageV2 sem registro](https://www.servicenow.com/docs/access?context=r_RecordlessRESTMessageV2Example&version=yokohama&pubname=yokohama-api-reference&ft:locale=en-US), mas você pode modificar este exemplo para usar um pré-configurado [Serviço web REST de saída](https://www.servicenow.com/docs/access?context=c_OutboundRESTWebService&version=yokohama&pubname=yokohama-api-reference&ft:locale=en-US)se necessário, ou crie um perfil de autenticação mais seguro.

          (function(query) {  
          var results = [];  
          /* Calculate your results here. */ 
          var url= "https://myInstance.service-now.com/api/now/table/kb_knowledge?sysparm_query=GOTO123TEXTQUERY321%3D" + encodeURI(query) + "&sysparm_fields=sys_id%2Cnumber%2Cshort_description%2Ccategory%2Ctext";  
              var ws = new sn_ws.RESTMessageV2();
                  ws.setBasicAuth("search_user", "search");  
                  ws.setHttpMethod("get");  
                  ws.setEndpoint(url);  
            
                  var jsonOutput = ws.execute();  

          return results;  
          })(query);

      Nota:  
      No exemplo anterior, `ws.setBasicAuth `requer um nome de usuário e senha para a instância remota. Para obter mais detalhes, consulte [RESTMessageV2 - escopo, global](https://www.servicenow.com/docs/access?context=c_RESTMessageV2API&version=yokohama&pubname=yokohama-api-reference&ft:locale=en-US).
   2. Adicione uma instrução if ao script de busca de dados para decodificar o objeto JSON que está sendo retornado, iterar sobre cada resultado e definir os campos esperados.  
      O script de busca de dados final:

          (function(query) {  
          var results = [];  
          /* Calculate your results here. */  
          var url= "https://<my-instance>.service-now.com/api/now/table/kb_knowledge?sysparm_query=GOTO123TEXTQUERY321%3D" + 
          encodeURI(query) + "&sysparm_fields=sys_id%2Cnumber%2Cshort_description%2Ccategory%2Ctext";  
          var ws = new sn_ws.RESTMessageV2();  
              ws.setBasicAuth("search_user", "search");  
              ws.setHttpMethod("get");  
              ws.setEndpoint(url);  
            
              var jsonOutput = ws.execute(); 
              if (jsonOutput) {  
                  var response = new JSON().decode(jsonOutput.getBody());  
                  results = response.result;  
                  results.forEach(function(result) {  
                      result.url = "https://myInstance.service-now.com/kb_view.do?sysparm_article=" + result.number;            
                      result.target = "_blank";  
                      result.primary = result.short_description;  
                  });  
              }  

              if (jsonOutput.haveError()){
                  gs.addErrorMessage(jsonOutput.getErrorMessage());
              }

          return results;  
          })(query); 

      Neste exemplo, os seguintes campos são definidos no objeto de resultado:
      * url : Se estiver vinculando a um site externo em vez de abrir o registro em seu ServiceNow, define para onde o link leva.
      * destino : O destino do link. Defina a meta como <kbd class="ph userinput">_em branco </kbd>para abrir resultados em uma nova guia, caso contrário, deixe-a em branco.
      * primária : O campo primário exibido nos resultados da pesquisa.
      {#search-sp-advanced-ext-kb__ul_nqy_k23_qz}
   {#search-sp-advanced-ext-kb__substeps_egt_zxh_qz}
6. Atualize o modelo de página de pesquisa para abrir os resultados da pesquisa no site externo.  

       <div>
        <a href="https://myInstance.service-now.com/kb_view.do?sysparm_article={{item.number}}" target="_blank" class="h4 text-primary m-b-sm block">   
           <span ng-bind-html="highlight(item.primary, data.q)"></span>
         </a>
         <span class="text-muted" ng-repeat="f in item.fields | limitTo: 4">
           <span class="m-l-xs m-r-xs" ng-if="!$first"> · </span>
           {{f.label}}: <span ng-bind-html="highlight(f.display_value, data.q)"></span>
         </span>
       </div>

7. Clique em Atualizar.
{#search-sp-advanced-ext-kb__steps_qcx_dx1_qz}

## Resultado

Teste a pesquisa externa em seu portal. Os resultados são exibidos sob o valor do campo de nome definido na etapa três.

Cada resultado de pesquisa é aberto no site externo definido no modelo de página de pesquisa.


