---
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


---

# BusinessServiceManager - Global

# BusinessServiceManager - Global {#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

A API BusinessServiceManager fornece métodos que unificam a gestão de serviços convertendo serviços criados manualmente em serviços de aplicações, preenchendo serviços de aplicações e adicionando/remover itens de configuração e conexões.

Use métodos BusinessServiceManager em scripts de servidor global. Você deve ter a função de administrador de serviço de aplicações \[app_service_admin\] para chamar esta API.

## BusinessServiceManager - BusinessServiceManager() {#ariaid-title2}

Instancia um objeto BusinessServiceManager.
{#BSM-BusinessServiceManager__table_djw_xl5_ndb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 1. Parâmetros]

{#BSM-BusinessServiceManager__table_djw_xl5_ndb}  

    var bsManager = new SNC.BusinessServiceManager();

## BusinessServiceManager - addCI(cadeia de caracteres service_id, cadeia de caracteres source_id, cadeia de caracteres target_id) {#ariaid-title3}

Adiciona um IC a um serviço de aplicativos criado manualmente.
{#BSM-addCI_S_S_S__table_ihq_zl5_ndb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| service_id | Cadeia de caracteres | Sys_id do serviço de aplicações ao qual um IC será adicionado. Deve ser do tipo cmdb_ci_service_discovered. |
| source_id | Cadeia de caracteres | Sys_id do IC cuja conexão de saída une-se ao IC de destino. |
| target_id | Cadeia de caracteres | Sys_id do IC a ser adicionado ao serviço. Não pode ser um item excluído. Itens excluídos são ICs configurados na tabela Inclusões/exclusões de IC manuais \[svc_manual_ci_exclusions_inclusions.list\]. |
[Tabela 2. Parâmetros]

{#BSM-addCI_S_S_S__table_ihq_zl5_ndb} {#BSM-addCI_S_S_S__table_jhq_zl5_ndb__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 3. Retorna]

{#BSM-addCI_S_S_S__table_jhq_zl5_ndb}  

    //Application service is 'PeopleSoft Portals'
    //Source CI is windows server 'PS Apache01'
    //Target CI is 'SAP WEB01'

    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.addCI('2fce42d80a0a0bb4004af34d7e3984c8','3a27d4370a0a0bb4006316812bf45439', '3a6cadc1c0a8ce01001f1e5d0d7d68fa');

### Adicionar um novo ponto de entrada {#BSM-addCI_S_S_S__section_ckd_wqg_cvb}

Use o método addCI() para adicionar um novo ponto de entrada a um serviço, fornecendo os seguintes valores de parâmetro em sua solicitação:

* Forneça o service_ID normalmente.
* Deixe o valor de source_ID em branco. Por exemplo, use `''`.
* Para target_ID, insira o SYS ID do IC sob o qual o novo ponto de entrada será adicionado.
{#BSM-addCI_S_S_S__ul_s3g_cqm_cvb}  
Como resultado, o método addCI() cria um novo ponto de entrada com uma conexão com o IC de destino especificado. A seguir está um exemplo de como adicionar um novo ponto de entrada:

    //Application service sys_id is '49de2b3187cd9d50d5c8a6880cbb35ea' 
    //Source CI is passed as an empty string as '' 
    //Target CI sys id is '15ca5fb187129910d5c8a6880cbb3537'   

    var bsManager = new SNC.BusinessServiceManager(); 
    var appService = bsManager.addCI('49de2b3187cd9d50d5c8a6880cbb35ea','', '15ca5fb187129910d5c8a6880cbb3537');

## BusinessServiceManager - addEntryPoint(serviceId, endpointGr) {#ariaid-title4}

Adiciona um ponto de entrada ao serviço de aplicativos e inicia a descoberta no ponto de entrada.
{#BSM-addEntryPoint_S_O__table_clj_sw2_zwb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| serviceId | Sting | Sys_id do serviço de aplicativos ao qual a conexão será adicionada. |
| endpointGr | Cadeia de caracteres | Objeto de registro do Glide na tabela Endpoint de IC \[cmdb_ci_endpoint\] ou sua tabela secundária para adicionar ao serviço de aplicativos. |
[Tabela 4. Parâmetros]

{#BSM-addEntryPoint_S_O__table_clj_sw2_zwb} {#BSM-addEntryPoint_S_O__table_dlj_sw2_zwb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador indicando que o ponto de entrada foi adicionado com sucesso ao serviço de aplicativos. Valores possíveis: * verdadeiro: a adição foi bem-sucedida. * falso: a adição não foi bem-sucedida. {#BSM-addEntryPoint_S_O__ul_f52_dg2_zwb} |
[Tabela 5. Retorna]

{#BSM-addEntryPoint_S_O__table_dlj_sw2_zwb}  
O método addEntryPoint() a seguir mostra como adicionar um novo ponto de entrada ao serviço de aplicativos.

    var now_GR = new GlideRecord("cmdb_ci_endpoint_tcp");
    now_GR.initialize(); 
    now_GR.setValue("host", "10.196.39.251");
    now_GR.setValue("port", "8080");
    now_GR.insert();
    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    bsManager.addEntryPoint(serviceId,now_GR);

Saída:

    true

## BusinessServiceManager - addEntryPointWithoutStartDiscovery(serviceId, endpointGr) {#ariaid-title5}

Adiciona um novo ponto de entrada sem iniciar a descoberta.
{#BSM-addEntryPtWoStartDiscovery_S_O__table_at2_252_zwb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| serviceId | Cadeia de caracteres | Sys_id do serviço de aplicativos ao qual a conexão será adicionada. |
| endpointGr | Cadeia de caracteres | Objeto de registro do Glide na tabela Endpoint de IC \[cmdb_ci_endpoint\] ou sua tabela secundária para adicionar ao serviço de aplicativos. |
[Tabela 6. Parâmetros]

{#BSM-addEntryPtWoStartDiscovery_S_O__table_at2_252_zwb} {#BSM-addEntryPtWoStartDiscovery_S_O__table_bt2_252_zwb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador indicando que o ponto de entrada foi adicionado com sucesso ao serviço de aplicativos. Valores possíveis: * verdadeiro: a adição foi bem-sucedida. * falso: a adição não foi bem-sucedida. {#BSM-addEntryPtWoStartDiscovery_S_O__ul_f52_dg2_zwb} |
[Tabela 7. Retorna]

{#BSM-addEntryPtWoStartDiscovery_S_O__table_bt2_252_zwb}  
O exemplo a seguir mostra como usar o método addEntryPointWithoutStartDiscovery() para adicionar um novo ponto de entrada ao serviço de aplicativos sem iniciar a descoberta.

    var now_GR = new GlideRecord("cmdb_ci_endpoint_tcp");
    now_GR.initialize(); 
    now_GR.setValue("host", "10.196.39.251");
    now_GR.setValue("port", "8080");
    now_GR.insert();
    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    bsManager.addEntryPointWithoutStartDiscovery(serviceId,now_GR);

Saída:

    true

## BusinessServiceManager - addManualConnection(cadeia de caracteres source_id, objeto manual_endpoint, cadeia de caracteres service_id) {#ariaid-title6}

Adiciona uma conexão criada manualmente a um serviço de aplicativos.
{#BSM-addManualConnection_S_O_S__table_fkl_1bb_sdb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| source_id | Cadeia de caracteres | SYS ID do IC a ser adicionado à conexão. |
| endpoint_manual | Objeto | Objeto GlideRecord na tabela cmdb_ci_endpoint_manual a ser adicionado ao serviço de aplicativos. |
| service_id | Cadeia de caracteres | SYS ID do serviço de aplicativos ao qual a conexão será adicionada. |
[Tabela 8. Parâmetros]

{#BSM-addManualConnection_S_O_S__table_fkl_1bb_sdb} {#BSM-addManualConnection_S_O_S__table_gkl_1bb_sdb__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 9. Retorna]

{#BSM-addManualConnection_S_O_S__table_gkl_1bb_sdb}  

    var now_GR = new GlideRecord("cmdb_ci_endpoint_manual");
    now_GR.initialize(); 
    now_GR.name='myEndpoint'; 
    now_GR.insert();

    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.addManualConnection("3a307c930a0a0bb400353965d0b8861f", now_GR, "2fce42d80a0a0bb4004af34d7e3984c8");

## BusinessServiceManager - isReadingPermitted(Object gr, String userSysID) {#ariaid-title7}

Verifica as funções de um usuário especificado e os dados de permissões configurados para um serviço/grupo de serviços especificado e retorna um valor booliano que indica se o usuário pode exibir o serviço/grupo de serviços.
O seguinte define o fluxo do processo que o método usa para determinar se o usuário pode exibir o serviço/grupo de serviços:  
1. Se o registro especificado for um grupo de serviço, verificará as funções do usuário e a política de grupo. Para obter mais informações sobre funções atribuídas para grupos de serviço, consulte [Assign a role to a service group](https://www.servicenow.com/docs/access?context=t_EMAssignRoleSvcGroup&version=xanadu&pubname=xanadu-it-operations-management&ft:locale=en-US).
2. Se a lista de funções contiver "itil", mas não contiver "app_service_admin" e "sam_core_user", retorne verdadeiro.
3. Se a lista de funções contiver "manutenção", retorne verdadeiro.
4. Se a lista de funções contiver "app_serivce_user", mas não contiver "app_service_admin" e "sm_app_owner", e o serviço não estiver operacional, retorne falso.
5. Verifique o grupo do serviço.
   1. Se o serviço pertencer a um único grupo e o grupo for "todos", retorne verdadeiro.
   2. Para qualquer grupo diferente de "todos", verifica a política para funções de usuário e grupo com base nas regras especificadas em [Assign a role to a service group](https://www.servicenow.com/docs/access?context=t_EMAssignRoleSvcGroup&version=xanadu&pubname=xanadu-it-operations-management&ft:locale=en-US). Se algum deles retornar verdadeiro, retorne verdadeiro.
   {#BSM-isReadingPermitted_O_S__ol_wrc_tjy_dzb}
{#BSM-isReadingPermitted_O_S__table_snj_253_kyb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| gr | GlideRecord | GlideRecord do serviço/grupo de serviços. Este GlideRecord pode ser de uma das seguintes tabelas: * Serviço de aplicações \[cmdb_ci_service_auto\] * Grupo de serviço de aplicações \[cmdb_ci_service_group\] * Grupo de IC dinâmico \[cmdb_ci_query_based_service\] * Serviços manuais \[cmdb_ci_service_manual\] * Serviço de aplicações mapeadas \[cmdb_ci_service_discovered\] * Serviço \[cmdb_ci_service\] |
| userSysId | Cadeia de caracteres | Sys_id do registro do usuário. Localizado na tabela Usuário \[sys_user\]. |
[Tabela 10. Parâmetros]

{#BSM-isReadingPermitted_O_S__table_snj_253_kyb} {#BSM-isReadingPermitted_O_S__table_tnj_253_kyb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se o usuário tem permissão para exibir o serviço/grupo de serviços especificado. Valores possíveis: * verdadeiro: o usuário pode exibir o serviço/grupo de serviços especificado. * falso: o usuário não pode exibir o serviço/grupo de serviços especificado. |
[Tabela 11. Retorna]

{#BSM-isReadingPermitted_O_S__table_tnj_253_kyb}  
O exemplo de código a seguir mostra como chamar este método para verificar a capacidade do usuário especificado de acessar o grupo de serviço especificado.

    var cmdbServGr = new GlideRecord('cmdb_ci_service_discovered');
    cmdbServGr.addQuery('sys_id', "123123123123123123123123");
    cmdbServGr.query();
    var userId = gs.getUserID();

    var bsManager = new SNC.BusinessServiceManager();
    while (cmdbServGr.next()) {
      var answer = bsManager.isReadingPermitted(cmdbServGr, userId);

      //do something with / according to the answer

    }

## BusinessServiceManager - migrateManualToApplicationService(cadeia de caracteres service_id) {#ariaid-title8}

Converte um serviço manual em um serviço de aplicativos.
{#BSM-migrateManualToITService_S__table_xjk_w41_sdb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| service_id | Cadeia de caracteres | SYS ID do serviço manual a ser convertido. |
[Tabela 12. Parâmetros]

{#BSM-migrateManualToITService_S__table_xjk_w41_sdb} {#BSM-migrateManualToITService_S__table_yjk_w41_sdb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Verdadeiro se a migração para um serviço de aplicativos for bem-sucedida. |
[Tabela 13. Retorna]

{#BSM-migrateManualToITService_S__table_yjk_w41_sdb}  

    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.migrateManualToApplicationService("451047c6c0a8016400de0ae6df9b9d76");

## BusinessServiceManager - populateApplicationService(cadeia de caracteres service_id, níveis de número, cadeia de caracteres black_listed_relation_types) {#ariaid-title9}

Preenche um serviço de aplicativos com relações e ICs do ponto de entrada designado.
{#BSM-populateDiscoveredService_S_N_S__table_crl_yx1_sdb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| service_id | Cadeia de caracteres | SYS ID do serviço de aplicativos a ser preenchido. |
| níveis | Número | Número de níveis de ICs a serem adicionados do CMDB. |
| black_listed_relation_types | Cadeia de caracteres | Tipos de relação a serem excluídos ao preencher o serviço de aplicativos. |
[Tabela 14. Parâmetros]

{#BSM-populateDiscoveredService_S_N_S__table_crl_yx1_sdb} {#BSM-populateDiscoveredService_S_N_S__table_drl_yx1_sdb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Verdadeiro se a operação for bem-sucedida. |
[Tabela 15. Retorna]

{#BSM-populateDiscoveredService_S_N_S__table_drl_yx1_sdb}  

    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.populateApplicationService("5bf65ebeedb91300964f6fa662989533", 10, "Depends on::Used by");

## BusinessServiceManager - removeCI(cadeia de caracteres service_id, cadeia de caracteres target_id) {#ariaid-title10}

Remove um IC criado manualmente de um serviço de aplicativos.
{#BSM-removeManualCi_O_O__table_bcz_py1_sdb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| service_id | Cadeia de caracteres | SYS ID do serviço de aplicativos do qual um IC será removido. Nota: A passagem de um objeto GlideRecord também é compatível. |
| target_id | Cadeia de caracteres | SYS ID do IC a ser removido do serviço de aplicativos. Nota: A passagem de um objeto GlideRecord também é compatível. |
[Tabela 16. Parâmetros]

{#BSM-removeManualCi_O_O__table_bcz_py1_sdb} {#BSM-removeManualCi_O_O__table_ccz_py1_sdb__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 17. Retorna]

{#BSM-removeManualCi_O_O__table_ccz_py1_sdb}  

    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeCI("2fce42d80a0a0bb4004af34d7e3984c8", "3a290cc60a0a0bb400000bdb386af1cf");

## BusinessServiceManager - removeEntryPoint(serviceId, endpointSysId) {#ariaid-title11}

Remove um ponto de entrada existente do serviço de aplicativos.
{#BSM-removeEntryPoint_S_S__table_xj2_n32_zwb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| serviceId | Cadeia de caracteres | Sys_id do serviço de aplicativos ao qual a conexão será adicionada. |
| endpointSysId | Cadeia de caracteres | Sys_id do endpoint do ponto de entrada a ser removido. |
[Tabela 18. Parâmetros]

{#BSM-removeEntryPoint_S_S__table_xj2_n32_zwb} {#BSM-removeEntryPoint_S_S__table_yj2_n32_zwb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador indicando que o ponto de entrada foi removido com sucesso do serviço de aplicativos. Valores possíveis: * verdadeiro: a atualização foi bem-sucedida. * falso: a atualização não foi bem-sucedida. |
[Tabela 19. Retorna]

{#BSM-removeEntryPoint_S_S__table_yj2_n32_zwb}  
O exemplo a seguir remove o ponto de entrada associado ao Sys_id "aa65ebeedb91300964f6fa6629895ss" do serviço de aplicativos fornecido.

    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    var entrypointId = "aa65ebeedb91300964f6fa6629895ss";
    bsManager.removeEntryPoint(serviceId, entrypointId);

Saída:

    true

## BusinessServiceManager - removeManualConnection(cadeia de caracteres source_id, cadeia de caracteres endpoint_id, cadeia de caracteres service_id) {#ariaid-title12}

Remove uma conexão criada manualmente e o IC conectado de um serviço de aplicativos.
{#BSM-removeManualConnection_S_S_S__table_spm_sbb_sdb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| source_id | Cadeia de caracteres | SYS ID do IC conectado ao endpoint. |
| endpoint_id | Cadeia de caracteres | SYS ID da conexão criada manualmente a ser removida do serviço de aplicações |
| service_id | Cadeia de caracteres | SYS ID do serviço de aplicativos do qual a conexão será removida. |
[Tabela 20. Parâmetros]

{#BSM-removeManualConnection_S_S_S__table_spm_sbb_sdb} {#BSM-removeManualConnection_S_S_S__table_tpm_sbb_sdb__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 21. Retorna]

{#BSM-removeManualConnection_S_S_S__table_tpm_sbb_sdb}  

    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeManualConnection("3a307c930a0a0bb400353965d0b8861f", "60ce3176edb91300964f6fa6629895d1", "2fce42d80a0a0bb4004af34d7e3984c8");

## BusinessServiceManager - updateEntryPoint(serviceId, endpointGr) {#ariaid-title13}

Atualiza um ponto de entrada existente no serviço de aplicativos.
{#BSM-updateEntryPoint_S_O__table_oht_422_zwb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| serviceId | Cadeia de caracteres | Sys_id do serviço de aplicativos ao qual a conexão será adicionada. |
| endpointGr | Objeto | Objeto de registro do Glide na tabela Endpoint de IC \[cmdb_ci_endpoint\] ou sua tabela secundária para adicionar ao serviço de aplicativos. |
[Tabela 22. Parâmetros]

{#BSM-updateEntryPoint_S_O__table_oht_422_zwb} {#BSM-updateEntryPoint_S_O__table_pht_422_zwb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador indicando que a atualização foi aplicada com sucesso ao ponto de entrada. Valores possíveis: * verdadeiro: a atualização foi bem-sucedida. * falso: a atualização não foi bem-sucedida. {#BSM-updateEntryPoint_S_O__ul_f52_dg2_zwb} |
[Tabela 23. Retorna]

{#BSM-updateEntryPoint_S_O__table_pht_422_zwb}  
O exemplo de updateEntryPoint() a seguir mostra como atualizar a conexão com um novo ponto de entrada.

    var now_GR = new GlideRecord("cmdb_ci_endpoint_http");
    now_GR.get("11f65ebeedb91300964f6fa66298951");
    now_GR.setValue("protocol", "https");
    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    bsManager.updateEntryPoint(serviceId,now_GR);

Saída:

    true


