Portal de serviços API - ServiceNow Fluent

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 14 min. de leitura
  • . Portal de serviçosA API define widgets personalizados [sp_widget] para páginas do portal.

    Para obter informações gerais sobre portais, consulte Service Portal.

    Objeto do SPWidget

    Crie um widget personalizado [sp_widget] para incluir em uma página do portal.

    Para obter mais informações sobre como criar widgets personalizados, consulte Developing custom widgets.

    Tabela 1. Propriedades
    Nome Tipo Descrição
    id Cadeia de caracteres ou número Necessário. Um ID exclusivo para o objeto de metadados. Quando você cria a aplicação, este ID é hash em um sys_id exclusivo. Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.

    Formato: Now.ID['Cadeia de caracteres' ou número]

    nome Cadeia de caracteres Necessário. Um nome para o widget.
    categoria Cadeia de caracteres O tipo de widget.
    Valores válidos:
    • padrão
    • Outras aplicações
    • Personalizado
    • amostra
    • Base de conhecimento
    • ServicePortal
    • ServiceCatalog

    Padrão: Personalizado

    clientScript Script Um script do lado do cliente que define o controlador AngularJS. Esta propriedade oferece suporte a JavaScript em linha ou a uma referência a outro arquivo na aplicação que contém um script.
    Formato:
    • Para usar conteúdo de texto de outro arquivo, consulte um arquivo na aplicação usando o seguinte formato: Now.include('path/to/file') . Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.
    • Para fornecer um script em linha, use literais de cadeia de caracteres ou literais de modelo para várias linhas de código: "Script" ou "Script" .
    Padrão:
    api.controller=function() { /* widget controller */ var c = this;};
    ServerScript Script Um script do lado do servidor que define o estado inicial do widget envia dados para o script do cliente do widget usando o. dados ou executa consultas do lado do servidor. Esta propriedade oferece suporte a JavaScript em linha ou a uma referência a outro arquivo na aplicação que contém um script.
    Formato:
    • Para usar conteúdo de texto de outro arquivo, consulte um arquivo na aplicação usando o seguinte formato: Now.include('path/to/file') . Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.
    • Para fornecer um script em linha, use literais de cadeia de caracteres ou literais de modelo para várias linhas de código: "Script" ou "Script" .
    Padrão:
    (function () { /* populate the 'data' object */ /* e.g., data.table = $sp.getValue('table'); */ })();
    controllerAs Cadeia de caracteres Uma variável para uma referência ao controlador no escopo da diretiva. O script do cliente acessa o objeto de dados do servidor usando o. c.dados variável por padrão.

    Padrão: c

    HtmlTemplate Cadeia de caracteres O código HTML do corpo que define o que é renderizado quando a página é mostrada. Ele pode conter XHTML estático, conteúdo gerado dinamicamente definido como Jelly ou inclusões de script de chamada e macros de IU. Esta propriedade oferece suporte a uma referência a outro arquivo na aplicação que contém HTML ou HTML em linha.
    Formato:
    • Para usar conteúdo de texto de outro arquivo, consulte um arquivo na aplicação usando o seguinte formato: Now.include('path/to/file') . Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.
    • Para fornecer HTML em linha, use literais de cadeia de caracteres ou literais de modelo para várias linhas de código: "HTML" ou "html" .
    Padrão:
    <div><!-- your widget template --></div>
    CustomCss Cadeia de caracteres O CSS ou SCSS que define o estilo do widget. Esta propriedade oferece suporte a uma referência a outro arquivo na aplicação que contém CSS ou CSS em linha.
    Formato:
    • Para usar conteúdo de texto de outro arquivo, consulte um arquivo na aplicação usando o seguinte formato: Now.include('path/to/file') . Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.
    • Para fornecer CSS em linha, use literais de cadeia de caracteres ou literais de modelo para várias linhas de código: "CSS" ou "css" .
    DataTable Cadeia de caracteres A tabela na qual armazenar opções de instância do widget. Para definir um esquema de opção personalizado, você pode adicionar campos a uma tabela que estende a tabela Instância do widget [sp_instance] e definir seu widget para usar a tabela de extensão como fonte de dados. Para obter mais informações, consulte Store instance options in a table.

    Padrão: sp_instance

    DemoData Cadeia de caracteres ou objeto Dados que demonstram a funcionalidade do widget. Esta propriedade é compatível com cadeias de caracteres em linha, uma referência a outro arquivo na aplicação que contém JSON ou objetos serializáveis JSON em linha.
    Formato:
    • Para usar conteúdo de texto de outro arquivo, consulte um arquivo na aplicação usando o seguinte formato: Now.include('path/to/file') . Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.
    • Para fornecer JSON em linha, use um objeto com pares de chave e valor: chave: valor .
    descrição Cadeia de caracteres Uma descrição do widget e sua finalidade.
    documentos Referência O identificador de variável do Portal de serviçosdocumentação [sp_documentation] que fornece informações adicionais sobre o widget e sua finalidade.

    Para definir Portal de serviçosdocumentação, consulte API de registro - ServiceNow Fluent.

    campos Matriz Uma lista de nomes de colunas da tabela de dados a serem usadas no esquema de opção do widget.
    TemVisualização Booliano Sinalizador que indica se você pode visualizar o widget no Editor de widgets.
    Valores válidos:
    • Verdadeiro: Você pode visualizar o widget no Editor de widgets.
    • Falso: Você não pode visualizar o widget no Editor de widgets.

    Padrão: falso

    id Cadeia de caracteres Um ID exclusivo para o widget. O ID não pode conter espaços.
    Link Script Script Uma função de link que usa AngularJS para manipular diretamente o DOM. Esta propriedade oferece suporte a JavaScript em linha ou a uma referência a outro arquivo na aplicação que contém um script.
    Formato:
    • Para usar conteúdo de texto de outro arquivo, consulte um arquivo na aplicação usando o seguinte formato: Now.include('path/to/file') . Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.
    • Para fornecer um script em linha, use literais de cadeia de caracteres ou literais de modelo para várias linhas de código: "Script" ou "Script" .
    Padrão:
    function link(scope, element, attrs, controller) { }
    funções Matriz Uma lista de identificadores de variáveis de Função objetos ou nomes de funções que podem acessar o. widget. Para obter mais informações, consulte API de função - ServiceNow Fluent.
    OptionSchema Matriz Uma lista de parâmetros que são Portal de serviçoso administrador (sp_admin) pode configurar uma instância de widget. O esquema de opção de widget oferece suporte à reutilização de um widget e à configuração exclusiva de instâncias do widget em páginas diferentes. Para obter mais informações, consulte Widget option schema.
    optionSchema: [
      {
        name: 'String',
        label: 'String',
        section: 'String',
        type: 'String',
        defaultValue: 'String',
        hint: 'String'
      },
    ...
    ]
    • Nome: Obrigatório. O nome do parâmetro.
    • Rótulo: Obrigatório. Um rótulo para o parâmetro que aparece nas opções de instância do widget.
    • Seção: Obrigatório. A seção das opções de instância do widget na qual o parâmetro aparece.
      Valores válidos:
      • dados
      • behavior
      • documentação
      • apresentação
      • outro
    • Tipo: Obrigatório. O tipo de dados do parâmetro.
      Valores válidos:
      • Cadeia de caracteres
      • booliano
      • inteiro
      • referência
      • escolha
      • FieldList
      • fieldName
      • GlideList
      • GlyphIcon
    • DefaultValue: O valor padrão do parâmetro.
    • Dica: Uma descrição resumida do parâmetro que é exibido como dica de ferramenta ao passar o mouse sobre ele.
    público Booliano Sinalizador que indica se o widget está disponível para usuários não autenticados.
    Valores válidos:
    • Verdadeiro: Usuários não autenticados podem acessar o widget.
    • Falso: Somente usuários autenticados podem acessar o widget.

    Padrão: falso

    dependências Matriz Uma lista de identificadores de variáveis de SPWidgetDependency nomes ou objetos ou sys_ids de dependências para o widget. Para obter mais informações, consulte Objeto SPWidgetDependency.
    AngularProviders Matriz Uma lista de identificadores de variáveis de Provedor de SPAngular Nomes ou objetos ou sys_ids de provedores Angular para o widget. Para obter mais informações, consulte Objeto Provedor de SPAngular.
    modelos Matriz Uma lista de ng-modeletes angulares [sp_ng_template] a serem associados ao widget. Os ng-models angulares contêm conteúdo renderizado somente quando você instrui-lo a renderizar.
    templates: [
      {
        $id: Now.ID['String' or Number]
        id: 'String'
        htmlTemplate: 'HTML' or `HTML` 
      },
      ...
    ]
    • ID: Obrigatório. Um ID exclusivo para o objeto de metadados. Quando você cria a aplicação, este ID é hash em um sys_id exclusivo.

      Formato: Now.ID['Cadeia de caracteres' ou número]

    • id: Obrigatório. O ID do modelo ng angular.
    • HtmlTemplate: Obrigatório. O conteúdo do modelo HTML. Esta propriedade oferece suporte a uma referência a outro arquivo na aplicação que contém HTML ou HTML em linha.
    meta Objeto Metadados dos metadados da aplicação.
    Com o. Método de instalação , você pode mapear os metadados da aplicação para um diretório de saída que carrega somente em circunstâncias específicas.
    $meta: {
          installMethod: 'String'
    }
    Valores válidos para Método de instalação :
    • Demonstração: Gera os metadados da aplicação para o. metadados/unload.demo diretório a ser instalado com a aplicação quando Carregar dados de demonstração a opção está selecionada.
    • Primeira instalação: Gera os metadados da aplicação para o. metadados/descarregamento diretório a ser instalado somente na primeira vez que uma aplicação for instalada em uma instância.
    import { SPWidget } from '@servicenow/sdk/core'
    
    SPWidget({
        $id: 'my_simple_widget',
        name: 'My Simple Widget',
        category: 'knowledgeBase',
        clientScript: Now.include('./client.js'),
        serverScript: Now.include('./server.js'),
        controllerAs: '$ctrl',
        customCss: Now.include('./custom_css.css'),
        dataTable: 'sp_instance',
        demoData: { message: 'Hello, World!' },
        description: 'This is a test widget',
        docs: widgetDoc,
        htmlTemplate: Now.include('./template.html'),
        fields: ['color', 'class_name'],
        hasPreview: true,
        id: 'my-simple-widget',
        linkScript: Now.include('./link.client.js'),
        optionSchema: [
            {
                name: 'my_option',
                label: 'My Option',
                type: 'string',
                section: 'behavior'
            }
        ],
        roles: [manager, 'admin'],
    })

    Objeto Provedor de SPAngular

    Crie um provedor angular [sp_angular_provider] para reutilizar componentes em vários widgets e melhorar o desempenho do portal.

    Tabela 2. Propriedades
    Nome Tipo Descrição
    id Cadeia de caracteres ou número Necessário. Um ID exclusivo para o objeto de metadados. Quando você cria a aplicação, este ID é hash em um sys_id exclusivo. Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.

    Formato: Now.ID['Cadeia de caracteres' ou número]

    nome Cadeia de caracteres Necessário. Um nome para o provedor Angular.
    clientScript Script Um script do lado do cliente para reutilizar em widgets.Esta propriedade oferece suporte a JavaScript em linha ou a uma referência a outro arquivo na aplicação que contém um script.
    Formato:
    • Para usar conteúdo de texto de outro arquivo, consulte um arquivo na aplicação usando o seguinte formato: Now.include('path/to/file') . Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.
    • Para fornecer um script em linha, use literais de cadeia de caracteres ou literais de modelo para várias linhas de código: "Script" ou "Script" .
    tipo Cadeia de caracteres O tipo de provedor angular.
    Valores válidos:
    • diretiva
    • fábrica
    • serviço

    Padrão: diretiva

    necessário Matriz Uma lista de identificadores de variáveis de outros Provedor de SPAngular Nomes ou objetos ou sys_ids de provedores Angular.
    meta Objeto Metadados dos metadados da aplicação.
    Com o. Método de instalação , você pode mapear os metadados da aplicação para um diretório de saída que carrega somente em circunstâncias específicas.
    $meta: {
          installMethod: 'String'
    }
    Valores válidos para Método de instalação :
    • Demonstração: Gera os metadados da aplicação para o. metadados/unload.demo diretório a ser instalado com a aplicação quando Carregar dados de demonstração a opção está selecionada.
    • Primeira instalação: Gera os metadados da aplicação para o. metadados/descarregamento diretório a ser instalado somente na primeira vez que uma aplicação for instalada em uma instância.
    import { SPAngularProvider } from '@servicenow/sdk/core'
    const OTHER_ANGULAR_PROVIDER = 'd11f285fe069e1f119b44bd05c0770aa'
    
    SPAngularProvider({
        $id: 'my_angular_provider',
        name: 'my_angular_provider',
        clientScript: Now.include('my_angular_provider.client.js'),
        type: 'directive',
        requires: [OTHER_ANGULAR_PROVIDER]
    })

    Objeto SPWidgetDependency

    Crie uma dependência de widget [sp_dependency] para vincular arquivos JavaScript e CSS a widgets e usar bibliotecas de terceiros, folhas de estilo externas ou módulos Angular.

    As dependências são carregadas de forma assíncrona do servidor quando necessário. Os widgets podem ter quantas dependências forem necessárias. No entanto, quanto mais você adicionar, mais conteúdo um widget precisa baixar para renderizar na página. Mantenha as dependências o menor possível para tempos de carregamento mais eficientes. Para obter mais informações, consulte Create a widget dependency.

    Tabela 3. Propriedades
    Nome Tipo Descrição
    id Cadeia de caracteres ou número Necessário. Um ID exclusivo para o objeto de metadados. Quando você cria a aplicação, este ID é hash em um sys_id exclusivo. Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.

    Formato: Now.ID['Cadeia de caracteres' ou número]

    nome Cadeia de caracteres Necessário. O nome da dependência do widget.
    AngularModuleModuleName Cadeia de caracteres O nome do módulo Angular a ser carregado se a inclusão JS for um módulo Angular.
    IncludeOnPageLoad Booliano Sinalizador que indica quando a dependência é carregada em uma página.
    Valores válidos:
    • Verdadeiro: A dependência é carregada com o carregamento da página inicial.
    • Falso: A dependência é carregada somente quando o widget vinculado é carregado em uma página.

    Padrão: falso

    Cssincludes Matriz Uma lista de identificadores de variáveis de Incluir Objetos ou sys_ids de inclusões de CSS e sua ordem. Para obter mais informações, consulte Inclua objeto.
    cssIncludes: [
      {
        order: Number,
        include: 'String' or Reference,
      },
      ...
    ]
    JsIncludes Matriz Identificadores de variáveis de lista de JsIncluir Objetos ou sys_ids de inclusões JS e sua ordem. Para obter mais informações, consulte JsIncluir objeto.
    jsIncludes: [
      {
        order: Number,
        include: 'String' or Reference,
      },
      ...
    ]
    PortosForPageLoad Matriz Uma lista de sys_ids de portais [sp_portal] que carregam a dependência do widget. Se estiver vazia, a dependência será incluída no carregamento da página para todos os portais.
    meta Objeto Metadados dos metadados da aplicação.
    Com o. Método de instalação , você pode mapear os metadados da aplicação para um diretório de saída que carrega somente em circunstâncias específicas.
    $meta: {
          installMethod: 'String'
    }
    Valores válidos para Método de instalação :
    • Demonstração: Gera os metadados da aplicação para o. metadados/unload.demo diretório a ser instalado com a aplicação quando Carregar dados de demonstração a opção está selecionada.
    • Primeira instalação: Gera os metadados da aplicação para o. metadados/descarregamento diretório a ser instalado somente na primeira vez que uma aplicação for instalada em uma instância.
    import { SPWidgetDependency } from '@servicenow/sdk/core'
    
    SPWidgetDependency({
        $id: 'samplejs',
        name: 'Sample',
        angularModuleName: 'samplejs',
        includeOnPageLoad: true,
        portalsForPageLoad: ['b4572a48262a16df3032b48cef75a853', 'fe12dbbed14bd3f712f0787141c2f656'],
        cssIncludes: [
            {
                order: 100,
                include: localCss,
            },
            {
                order: 200,
                include: '94112ccb0fb3c2ed072b01d3cb401196',
            },
        ],
        jsIncludes: [
            {
                order: 100,
                include: localJs,
            },
            {
                order: 200,
                include: 'f8af18a5e6c71a3702c4f2038b43cf62',
            },
        ],
    })

    Inclua objeto

    Crie uma inclusão de CSS [sp_css_include] para fazer referência a uma folha de estilos ou CSS externo em uma dependência de widget.

    Tabela 4. Propriedades
    Nome Tipo Descrição
    id Cadeia de caracteres ou número Necessário. Um ID exclusivo para o objeto de metadados. Quando você cria a aplicação, este ID é hash em um sys_id exclusivo. Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.

    Formato: Now.ID['Cadeia de caracteres' ou número]

    nome Cadeia de caracteres Necessário. O nome da inclusão de CSS.
    URL Cadeia de caracteres A URL para um arquivo CSS externo. Esta propriedade será necessária se uma folha de estilos não for fornecida com SPCss propriedade.
    SPCss Cadeia de caracteres O sys_id de uma folha de estilos [sp_css]. Esta propriedade será necessária se um arquivo CSS externo não for fornecido com o. url propriedade.
    RtlCssUrl Cadeia de caracteres O URL para um arquivo CSS externo da direita para a esquerda (RTL) para espelhar a direção de um widget quando o idioma da sessão é um idioma da direita para a esquerda, como hebraico. Para obter mais informações, consulte Styling for right-to-left languages in portals.
    LazyLoad Booliano Sinalizador que indica como carregar a inclusão de CSS. Esta propriedade se aplica somente se você usar SPCSS propriedade para especificar uma folha de estilos.
    Valores válidos:
    • Verdadeiro: A inclusão de CSS é carregada de forma assíncrona para melhorar o tempo de carregamento da página.
    • Falso: A inclusão de CSS não carrega de forma assíncrona.

    Padrão: falso

    meta Objeto Metadados dos metadados da aplicação.
    Com o. Método de instalação , você pode mapear os metadados da aplicação para um diretório de saída que carrega somente em circunstâncias específicas.
    $meta: {
          installMethod: 'String'
    }
    Valores válidos para Método de instalação :
    • Demonstração: Gera os metadados da aplicação para o. metadados/unload.demo diretório a ser instalado com a aplicação quando Carregar dados de demonstração a opção está selecionada.
    • Primeira instalação: Gera os metadados da aplicação para o. metadados/descarregamento diretório a ser instalado somente na primeira vez que uma aplicação for instalada em uma instância.
    import { CssInclude } from '@servicenow/sdk/core'
    
    const localCss = CssInclude({
        $id: '22bcf16da81e2bc0340c53d50d531adf',
        name: 'Sample Styles',
        spCss: '50e3e32aa321b1c7d1945c5f423228bd',
    })

    JsIncluir objeto

    Crie uma inclusão de JS [sp_js_include] para fazer referência a um script de IU ou código JavaScript externo em uma dependência de widget.

    Tabela 5. Propriedades
    Nome Tipo Descrição
    id Cadeia de caracteres ou número Necessário. Um ID exclusivo para o objeto de metadados. Quando você cria a aplicação, este ID é hash em um sys_id exclusivo. Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.

    Formato: Now.ID['Cadeia de caracteres' ou número]

    nome Cadeia de caracteres Necessário. O nome da inclusão de JS.
    URL Cadeia de caracteres A URL para um arquivo JavaScript externo. O URL deve ser um caminho absoluto. Esta propriedade será necessária se um script de IU não for fornecido com o. SysUiScript propriedade.
    SysUiScript Cadeia de caracteres O sys_id de um script de IU [sys_ui_script]. Esta propriedade será necessária se um arquivo JavaScript externo não for fornecido com o. url propriedade.
    meta Objeto Metadados dos metadados da aplicação.
    Com o. Método de instalação , você pode mapear os metadados da aplicação para um diretório de saída que carrega somente em circunstâncias específicas.
    $meta: {
          installMethod: 'String'
    }
    Valores válidos para Método de instalação :
    • Demonstração: Gera os metadados da aplicação para o. metadados/unload.demo diretório a ser instalado com a aplicação quando Carregar dados de demonstração a opção está selecionada.
    • Primeira instalação: Gera os metadados da aplicação para o. metadados/descarregamento diretório a ser instalado somente na primeira vez que uma aplicação for instalada em uma instância.
    import { JsInclude } from '@servicenow/sdk/core'
    
    const localJs = JsInclude({
        $id: '98239e4eadfac88b01cce7daa23b6fc3',
        name: 'Sample Framework',
        sysUiScript: 'b67af05645f738df1f286bb3e9ecd55f',
    })