---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Usando pontos de extensão para estender a funcionalidade da aplicação

# Usando pontos de extensão para estender a funcionalidade da aplicação {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 8 min. de leitura

Use pontos de extensão para estender a funcionalidade de uma aplicação sem alterar o código da aplicação original. Você pode usar pontos de extensão pré-existentes disponíveis em aplicações Now Platform selecionadas ou pode adicionar pontos de extensão ao desenvolver aplicações personalizadas em sua própria instância.

## Como usar pontos de extensão {#extension-points__section_blc_wft_pdb}

Ao usar pontos de extensão, você pode integrar personalizações sem realmente alterar os componentes principais no código da aplicação. Os pontos de extensão podem impedir a quebra das interações de código personalizado, o que geralmente ocorre após um upgrade se você incorporar diretamente o código personalizado ao código da aplicação.

Os pontos de extensão incorporados ao código da aplicação atuam como pontos de saída, onde os dados são passados para o código personalizado e como pontos de entrada que manipulam os resultados retornados. Ao criar uma aplicação, os dados ou objetos retornados devem estar em conformidade com os requisitos definidos para o ponto de extensão.  
Nota:  
Algumas regras de consulta do CSM configuradas prontas para uso não podem ser alteradas ou desabilitadas porque também são usadas em constantes em uma regra de negócio.

## Tipos de pontos de extensão {#extension-points__section_zm3_dvf_kgb}

Você pode criar pontos de extensão para processar o código personalizado que usa os seguintes tipos de artefatos:

Pontos de extensão com script
:   Pontos de extensão em inclusões de script do lado do servidor que armazenam funções JavaScript e classes de objeto. Para saber mais sobre inclusões de script e como implementar pontos de extensão com script na aplicação e no código personalizado, consulte:  
    * [Inclusões de script](https://servicenow-prod.fluidtopics.net/hBKCoLz4tMazFF7P4Z6kOw#c_ScriptIncludes "As inclusões de script são usadas para armazenar o JavaScript executado no servidor.")
    * [Criar e adicionar um ponto de extensão com script](https://servicenow-prod.fluidtopics.net/gBd8jx5L2V~gMgb2wORpbg "Ao desenvolver uma aplicação, crie pontos de extensão com script e adicione-os às inclusões de script no código da aplicação. Use um ponto de extensão com script para designar o local específico para onde dados ou objetos podem ser enviados para uma inclusão de script personalizada registrada e onde os resultados retornados são processados.")
    * [Usando pontos de extensão para estender a funcionalidade da aplicação](https://servicenow-prod.fluidtopics.net/ItedJghnFrSfOOiWnOQqgA "Use pontos de extensão para estender a funcionalidade de uma aplicação sem alterar o código da aplicação original. Você pode usar pontos de extensão pré-existentes disponíveis em aplicações Now Platform selecionadas ou pode adicionar pontos de extensão ao desenvolver aplicações personalizadas em sua própria instância.")
    {#extension-points__ul_vr2_kyc_cgb}

Pontos de extensão de IU

:   Pontos de extensão que são usados em macros de IU do lado do servidor, como extensões HTML. Macros de IU são componentes discretos em script que você pode adicionar à interface do usuário. Você os usa para adicionar conteúdo personalizado a uma página de IU, sem precisar modificar diretamente a página. Por exemplo, você pode usar macros de IU para adicionar cabeçalhos e rodapés à página de IU padrão Base de conhecimento Exibir (kb_view) na qual os artigos da base de conhecimento aparecem.

    Para saber mais sobre macros de IU e como implementar pontos de extensão de IU na aplicação e no código personalizado, consulte:

    * [Macros de IU](https://servicenow-prod.fluidtopics.net/dgFG18y~yGBcumzXueJ7Fw#c_UIMacros "Macros de IU são componentes discretos em script que os administradores podem adicionar à interface do usuário.")
    * [Criar e adicionar um ponto de extensão de IU](https://servicenow-prod.fluidtopics.net/3Xad6OClxXOE1~wiw7wbzg#impl-ui-ext-pts-base-code "Ao desenvolver uma aplicação, crie pontos de extensão de IU e adicione-os às macros de IU do lado do servidor, como extensões HTML, ou às páginas de IU no código da aplicação base.")
    * [Usando pontos de extensão para estender a funcionalidade da aplicação](https://servicenow-prod.fluidtopics.net/ItedJghnFrSfOOiWnOQqgA "Use pontos de extensão para estender a funcionalidade de uma aplicação sem alterar o código da aplicação original. Você pode usar pontos de extensão pré-existentes disponíveis em aplicações Now Platform selecionadas ou pode adicionar pontos de extensão ao desenvolver aplicações personalizadas em sua própria instância.")
    {#extension-points__ul_csp_ncd_cgb}

Pontos de extensão do cliente

:   Pontos de extensão que são usados em scripts de IU do lado do cliente, normalmente para modificar formulários. Os scripts de IU permitem que você empacote o JavaScript do lado do cliente em um formulário reutilizável, que é semelhante ao modo como as inclusões de script armazenam o JavaScript do lado do servidor. Você pode criar scripts de IU e executá-los a partir de client scripts, de outros objetos de script do lado do cliente e do código HTML.

    Para saber mais sobre scripts de IU e como implementar pontos de extensão do cliente na aplicação e no código personalizado, consulte:

    * [Scripts da IU](https://servicenow-prod.fluidtopics.net/Z8CJDuk6cuobXwgDikwKlg#c_UIScripts "Os scripts de IU fornecem uma maneira de empacotar o JavaScript do lado do cliente em um formulário reutilizável, semelhante ao modo como as inclusões de script armazenam o JavaScript do lado do servidor. Os administradores podem criar scripts de IU e executá-los a partir de client scripts e outros objetos de script do lado do cliente e do código HTML.")
    * [Criar e adicionar um ponto de extensão do cliente](https://servicenow-prod.fluidtopics.net/nuzfggJqa8O5B3enimxM7g "Crie pontos de extensão do cliente e adicione-os aos scripts de IU do lado do cliente no código da aplicação base.")
    * [Usando pontos de extensão para estender a funcionalidade da aplicação](https://servicenow-prod.fluidtopics.net/ItedJghnFrSfOOiWnOQqgA "Use pontos de extensão para estender a funcionalidade de uma aplicação sem alterar o código da aplicação original. Você pode usar pontos de extensão pré-existentes disponíveis em aplicações Now Platform selecionadas ou pode adicionar pontos de extensão ao desenvolver aplicações personalizadas em sua própria instância.")
    {#extension-points__ul_yvg_rcd_cgb}

Ao usar pontos de extensão para processar personalizações, você cria uma estrutura definida para integrar dados ou funcionalidades personalizadas em uma aplicação. Inclusões de script personalizadas do lado do servidor, macros de IU como extensões HTML e scripts de IU do lado do cliente são todos externos ao código da aplicação e só interagem com ele em pontos de extensão especificados.

## Código da aplicação {#extension-points__section_a2j_wgy_xgb}

O termo código da aplicação se refere a:

Código da aplicação padrão
:   Código da aplicação padrão, ou base, que compreende o Now Platform.  
    Pontos de extensão predefinidos já estão incorporados em determinadas aplicações, como Customer Service Management e Gestão de serviços de campo. Para saber mais sobre as aplicações Now Platform que contêm pontos de extensão predefinidos, consulte o seguinte:{#extension-points__table_qqv_xzh_zgb__entry__2}

    | Aplicação | Tópico de ponto de extensão |
    |-|-|
    | Coaching | [Solução de problemas de Coaching](https://www.servicenow.com/docs/access?context=coaching-troubleshooting&version=xanadu&pubname=xanadu-it-service-management&ft:locale=en-US) |
    | Gestão de melhoria contínua | [Melhoria com outras aplicações](https://www.servicenow.com/docs/access?context=cim-integration&version=xanadu&pubname=xanadu-it-service-management&ft:locale=en-US) |
    | Customer Service Management | [Pontos de extensão no Customer Service Management](https://www.servicenow.com/docs/access?context=extension-points-customer-service&version=xanadu&pubname=xanadu-customer-service-management&ft:locale=en-US) |
    | Customer Service Management | [Criação de funções de usuário personalizadas](https://www.servicenow.com/docs/access?context=creating-custom-csm-user-roles&version=xanadu&pubname=xanadu-customer-service-management&ft:locale=en-US) |
    | Customer Service Management | [Integração de CSM com Gestão de mudanças](https://www.servicenow.com/docs/access?context=csm-integration-sm-change&version=xanadu&pubname=xanadu-customer-service-management&ft:locale=en-US) |
    | Customer Service Management | [Integração de CSM com Gestão de incidentes](https://www.servicenow.com/docs/access?context=csm-integration-sm-incident&version=xanadu&pubname=xanadu-customer-service-management&ft:locale=en-US) |
    | Customer Service Management | [Integração do CSM com a Gestão de problemas](https://www.servicenow.com/docs/access?context=csm-integration-sm-problem&version=xanadu&pubname=xanadu-customer-service-management&ft:locale=en-US) |
    | Customer Service Management | [Integração do CSM com Gestão de solicitações](https://www.servicenow.com/docs/access?context=csm-integration-sm-request&version=xanadu&pubname=xanadu-customer-service-management&ft:locale=en-US) |
    | Gestão de serviços de campo | [Pontos de extensão na Gestão de serviços de campo](https://www.servicenow.com/docs/access?context=extension-points-field-service&version=xanadu&pubname=xanadu-field-service-management&ft:locale=en-US) |
    | Gestão de conhecimento | [Uso de pontos de extensão para a Gestão de conhecimento](https://www.servicenow.com/docs/access?context=extension-points-km-plugins&version=xanadu&pubname=xanadu-servicenow-platform&ft:locale=en-US) |
    | Orquestração | [Rede de extensão de distribuição de software cliente](https://www.servicenow.com/docs/access?context=c_CSDExtensionFramework&version=xanadu&pubname=xanadu-servicenow-platform&ft:locale=en-US) [Instalado com a Distribuição de software cliente](https://www.servicenow.com/docs/access?context=r_IWClientSWDist&version=xanadu&pubname=xanadu-servicenow-platform&ft:locale=en-US) |
    | Redefinição de senha | [Inclusões de script da Redefinição de senha](https://www.servicenow.com/docs/access?context=c_InstalledPasswordResetScripts&version=xanadu&pubname=xanadu-servicenow-platform&ft:locale=en-US) |
    [ ]

    {#extension-points__table_qqv_xzh_zgb}

Aplicações personalizadas desenvolvidas internamente para sua empresa
:   Você pode adicionar pontos de extensão para lidar com o registro de artefatos personalizados que são usados para modificar ou estender a funcionalidade de uma aplicação. Quando os desenvolvedores criam código personalizado, eles registram ou emparelham artefatos personalizados específicos com pontos de extensão específicos. A adição de pontos de extensão permite a integração de personalizações futuras sem a necessidade de alterar o código base.

## Como criar um ponto de extensão no código da aplicação {#extension-points__section_mf1_3pg_sdb}

Você deseja garantir que as aplicações desenvolvidas internamente que você cria para sua empresa possam ser personalizadas, combinadas e atualizadas conforme necessário. Os pontos de extensão permitem que você modifique a funcionalidade e a interface do usuário de uma aplicação sem editar seus componentes principais. O uso de pontos de extensão também cria uma estrutura altamente definida para extensões de funcionalidade.  
Ao criar um ponto de extensão, você pode restringir seu uso ao escopo da aplicação no qual ele está definido ou especificar que o ponto de extensão pode ser executado em todos os escopos globalmente. Se o escopo da aplicação for restrito, as personalizações registradas em relação ao ponto de extensão só poderão ser executadas no escopo da aplicação designado. Antes de projetar e criar uma aplicação que inclui pontos de extensão, você deve:

* Identifique onde colocar os pontos de extensão no código da aplicação para acomodar inclusões de script personalizadas, macros de IU ou scripts de IU.
* Determinar o conteúdo e a estrutura de um ponto de extensão. Esta definição deve descrever como uma personalização deve ser estruturada, como ela interage com o código da aplicação e como os dados retornados por uma personalização no ponto de extensão são processados.
{#extension-points__ul_mz5_1hj_vdb}  
Para criar pontos de extensão e incorporá-los ao código da aplicação, execute as seguintes tarefas:

1. Crie um ponto de extensão e defina sua interface personalizada. Este é um exemplo de um ponto de extensão com script.

2. Designe locais específicos no código da aplicação para onde os dados ou objetos podem ser enviados para uma personalização e para onde os dados são retornados.
3. Crie um artefato, como uma inclusão de script, macro de IU ou script de IU, que chama o método [GlideScriptedExtensionPoint - com escopo](https://servicenow-prod.fluidtopics.net/~OYYe9wP_KtO8S9NL8mIlQ#GlideScriptedExtPtScopedAPI "A API GlideScriptedExtensionPoint fornece um método que retorna as instâncias de extensão associadas a um ponto de extensão especificado."). Este método identifica o ponto de extensão no qual os artefatos personalizados registrados são executados no código da aplicação.

{#extension-points__ol_ffm_c2g_pfb}

## Habilitar depuração e registro em log {#extension-points__section_h5t_gty_xgb}

Ao criar um ponto de extensão, você também deve habilitar a depuração e o registro em log. A depuração e o registro em log ajudam a identificar e corrigir problemas relacionados ao uso de artefatos personalizados com um ponto de extensão. Ao habilitar o depurador, você pode definir pontos de interrupção em inclusões de script, macros de IU ou scripts de IU. Você pode verificar os logs para ver os seguintes detalhes:

* Quando um ponto de extensão encontra instâncias de extensão ativas, incluindo o número total de instâncias de extensão encontradas e a hora em que cada instância de extensão foi encontrada.
* Quando um ponto de extensão executa instâncias de extensão, incluindo o número total de artefatos personalizados executados e o tempo de execução de cada um. Também inclui o número total de que falharam na execução e a hora em que cada instância de extensão falhou.

{#extension-points__ul_wj3_vmr_rdb}  
Nota:  
Para saber mais sobre como habilitar a depuração e como ela funciona, consulte:

* [Depurador de script e Log da sessão](https://servicenow-prod.fluidtopics.net/xUxKRKYSGcMYUJrB60Y8lw "O Depurador de script permite que usuários com a função script_debugger depurem o JavaScript do lado do servidor. Usuários com a função log_debugger podem usar o Log da sessão para exibir e baixar os logs necessários.")
* [Depuração de aplicações](https://servicenow-prod.fluidtopics.net/ZvqBANFI6Y9vNCXtqSXnww#c_DebuggingApplications "Os desenvolvedores de aplicações podem exibir mensagens de depuração sobre registros de configuração para ajudá-los a solucionar problemas. O módulo Depurar escopos fornece informações sobre o sistema alternando entre aplicações personalizadas para executar scripts do lado do servidor.")
* [Gravação no log de depuração](https://servicenow-prod.fluidtopics.net/VtZ92UigSg0_Lk3YBcpn7A#c_WritingToTheDebugLog "Para gravar no log de depuração em suas políticas JavaScript ou de IU do lado do cliente, faça uma chamada para a função global jslog().")
{#extension-points__ul_rzj_psy_xgb}

## Registro de um artefato personalizado em relação a um ponto de extensão {#extension-points__section_up3_thj_vdb}

Ao personalizar uma aplicação, você estende a funcionalidade básica usando artefatos personalizados, como inclusões de script do lado do servidor, macros de IU ou scripts de IU do lado do cliente. Para projetar e criar artefatos personalizados, execute as seguintes tarefas:  
1. Revise a lista de pontos de extensão disponíveis que são apropriados para o tipo específico de artefato personalizado que você está criando.
   * Essas listagens incluem pontos de extensão que você criou e todos os pontos de extensão predefinidos que estão incorporados nas funções Now Platform.
   * Cada listagem inclui informações sobre um ponto de extensão no código da aplicação que chama um artefato personalizado e quais dados ou objetos devem ser retornados para ele.
   {#extension-points__ul_wsn_hxf_kgb}
2. Selecione um ponto de extensão.
3. Determine como estruturar o artefato personalizado. A estrutura deve ser baseada nas descrições do ponto de extensão. As descrições incluem os requisitos para usar o artefato com o código personalizado e onde o artefato será localizado no código da aplicação base.
4. Crie o artefato e o código personalizados ao registrá-los no ponto de extensão selecionado. Por meio do registro, você cria um registro de instância de extensão que vincula a definição do ponto de extensão à sua implementação no artefato personalizado.
{#extension-points__ol_xxk_nfg_pfb}

## Como os artefatos personalizados registrados são processados {#extension-points__section_gnb_nqy_rdb}

Quando o código da aplicação é executado e encontra uma chamada de API integrada que contém um ponto de extensão, ele:

1. Usa o ponto de extensão na chamada de API para determinar quais artefatos personalizados estão registrados em relação a ele.
2. Envia os dados ou objetos apropriados para os artefatos personalizados registrados.
3. Coleta a saída retornada de cada artefato personalizado.
4. Processa e incorpora os resultados retornados na aplicação base.
{#extension-points__ol_i1m_5vl_rdb}
* **[Usando pontos de extensão com script em scripts do lado do servidor](https://servicenow-prod.fluidtopics.net/kEa_ENhUTJvS6EYv0VFgQA)**   
  Use os pontos de extensão com script nas inclusões de script do lado do servidor que armazenam funções JavaScript e classes de objeto. Ao usar pontos de extensão, você pode integrar personalizações sem realmente alterar os componentes principais no código da aplicação.
* **[Usando pontos de extensão de IU em macros de IU do lado do servidor](https://servicenow-prod.fluidtopics.net/c9M5LGqcdqlWnTjxYzASDA)**   
  Use pontos de extensão de IU nas macros de IU do lado do servidor, como extensões HTML, para adicionar conteúdo personalizado a uma página de IU sem precisar modificar diretamente a página. Ao usar pontos de extensão de IU, você pode integrar personalizações sem realmente alterar os componentes principais no código da aplicação.
* **[Usando pontos de extensão do cliente em scripts de IU do lado do cliente](https://servicenow-prod.fluidtopics.net/Gvz1MwE5BFIs~g2gIWxCqQ)**   
  Use pontos de extensão do cliente no script de IU do lado do cliente para modificar formulários, para que você não precise modificar diretamente o formulário. Ao usar pontos de extensão do cliente, você pode integrar personalizações sem realmente alterar os componentes principais no código da aplicação.

