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


---

# OnCallRotation - Global

# OnCallRotation - Global {#ariaid-title1}

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

A inclusão de script OnCallRotation fornece métodos para gerenciar cronogramas de plantão.

Para obter informações, consulte [Agendamento de plantão](https://www.servicenow.com/docs/access?context=c_OnCallScheduling&version=xanadu&pubname=xanadu-it-service-management&ft:locale=en-US).

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

Cria uma instância da classe OnCallRotation.
{#r_OCR-OnCallRotation__table_pzm_w3f_2w__entry__3}

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

{#r_OCR-OnCallRotation__table_pzm_w3f_2w}  

    var oncall = new OnCallRotation();

## OnCallRotation - addCurrentToNotified() {#ariaid-title3}

Adicione o membro de escalação atual à lista de usuários notificados para que a API saiba quem foi contatado. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
{#OCR-addCurrentToNotified__table_wd4_rbk_3gb__entry__3}

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

{#OCR-addCurrentToNotified__table_wd4_rbk_3gb} {#OCR-addCurrentToNotified__table_xd4_rbk_3gb__entry__2}

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

{#OCR-addCurrentToNotified__table_xd4_rbk_3gb}

## OnCallRotation - cancelEscalations(GlideRecord escalationGr) {#ariaid-title4}

Cancela todas as escalações do GlideRecord que foram iniciadas com a API startEscalations. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
{#OCR-cancelEscalations_GR__table_gv4_hbk_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| escalonamentoGr | GlideRecord | GlideRecord de escalação de rotação (cmn_rota_escalation |
[Tabela 4. Parâmetros]

{#OCR-cancelEscalations_GR__table_gv4_hbk_3gb} {#OCR-cancelEscalations_GR__table_hv4_hbk_3gb__entry__2}

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

{#OCR-cancelEscalations_GR__table_hv4_hbk_3gb}

## OnCallRotation - continueEscalations(GlideRecord escalationGr) {#ariaid-title5}

Continue as escalações para um documento (incident now_GR) e grupo. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
{#OCR-continueEscalations_GR__table_a5h_x1k_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| escalonamentoGr | GlideRecord | GlideRecord de escalação de rotação (cmn_rota_escalation |
[Tabela 6. Parâmetros]

{#OCR-continueEscalations_GR__table_a5h_x1k_3gb} {#OCR-continueEscalations_GR__table_b5h_x1k_3gb__entry__2}

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

{#OCR-continueEscalations_GR__table_b5h_x1k_3gb}

## OnCallRotation - getCatchAll(cadeia de caracteres rotaID) {#ariaid-title6}

Obtém o sys_id da pessoa que atende tudo. Use junto com o método getCatchAllType() para determinar a origem do ID retornado. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
{#r_OCR-getCatchAll_S__table_g3f_cbg_2w__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rotaID | Cadeia de caracteres | O sys_id da escala. |
[Tabela 8. Parâmetros]

{#r_OCR-getCatchAll_S__table_g3f_cbg_2w} {#r_OCR-getCatchAll_S__table_h3f_cbg_2w__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | O sys_id de um sys_user, um cmn_rota_roster ou nulo. |
[Tabela 9. Retorna]

{#r_OCR-getCatchAll_S__table_h3f_cbg_2w}  


    var rotaSysId = '349f399173062300e7af6238edf6a75e';
    var onCallRotation = new OnCallRotation();
    var catchAll = onCallRotation.getCatchAll(rotaSysId);
    gs.log(catchAll);

Saída:

    46d44a23a9fe19810012d100cca80666

## OnCallRotation - getCatchAllType(cadeia de caracteres rotaID) {#ariaid-title7}

Obtém o tipo de _catch all_ que reside no final da cadeia de escalação. Quando a cadeia de escalação termina sem atribuir uma pessoa de plantão, se configurada, o incidente é atribuído ao _catch all_. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
{#r_OCR-getCatchAllType_S__table_gsz_g1g_2w__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rotaID | Cadeia de caracteres | O sys_id da escala. |
[Tabela 10. Parâmetros]

{#r_OCR-getCatchAllType_S__table_gsz_g1g_2w} {#r_OCR-getCatchAllType_S__table_hsz_g1g_2w__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | * Nulo: ID de escala inválido ou contato alternativo não está disponível. * Group_manager: o gerente do grupo vinculado à escala é a pessoa que pega tudo. * Individual: um usuário configurado é a pessoa que pega tudo. * Todos: todos os membros da listagem configurada são a pessoa de contato alternativo. {#r_OCR-getCatchAllType_S__ul_yw2_51g_2w} |
[Tabela 11. Retorna]

{#r_OCR-getCatchAllType_S__table_hsz_g1g_2w}  

    var rotaSysId = '349f399173062300e7af6238edf6a75e';
    var onCallRotation = new OnCallRotation();
    var catchAllType = onCallRotation.getCatchAllType(rotaSysId);
    gs.log(catchAllType);

Saída:

    group_manager

## OnCallRotation - getEscalateeAt(cadeia de caracteres groupID, GlideDateTime dateTime, posição do número) {#ariaid-title8}

Obtém um item para escalar, seja um usuário \[sys_user\], grupo ou dispositivo de notificação \[cmn_notif_device\], para o turno de um grupo na data e hora especificadas e em uma determinada posição na linha de escalação. Esta API é aplicável a um único turno.
O método retornará nulo se uma posição ou grupo inválido for passado como um argumento.

Você pode usar o método getTableName() para verificar se o GlideRecord de retorno vem da tabela sys_user ou cmn_notif_device.
{#r_OCR-getEscalateeAt_S_GDT_N__table_txq_hxf_2w__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| groupID | Cadeia de caracteres | O sys_id do grupo do qual o item será escalado. |
| data/hora | GlideDateTime | A data e a hora em que a escalação deve começar. |
| posição | Número | A posição na linha para determinar o item a ser escalonado (baseado em 1, o que significa que a contagem começa com 1). |
[Tabela 12. Parâmetros]

{#r_OCR-getEscalateeAt_S_GDT_N__table_txq_hxf_2w} {#r_OCR-getEscalateeAt_S_GDT_N__table_uxq_hxf_2w__entry__2}

| Tipo | Descrição |
|-|-|
| GlideRecord | O item a ser escalonado, ou seja, escalados (um usuário, grupo ou registros de dispositivo, dependendo das regras de notificação) em um horário e posição específicos. Retorna nulo se nada for encontrado. |
[Tabela 13. Retorna]

{#r_OCR-getEscalateeAt_S_GDT_N__table_uxq_hxf_2w}  


    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var escalatee = onCallRotation.getEscalateeAt(groupSysId, currentTime, 1);
    gs.log(escalatee.name);

Saída:

    Abel Tuter

## OnCallRotation - getEscalatees(cadeia de caracteres groupSysIds, cadeia de caracteres rotaSysIds, cadeia de caracteres rosterSysIds, GlideDateTime gdt, GlideRecord taskGr) {#ariaid-title9}

Obtém uma lista de escalações que estão de plantão por um determinado tempo. Se nenhuma hora for especificada, a hora atual será usada. Se nenhum groupSysIds for fornecido, a lista vazia será retornada. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
Nota:  
Defina o parâmetro taskGR para habilitar a avaliação do plano de escalação.
{#OCR-getEscalatees_S_S_S_GDT__table_ixr_4jk_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| groupSysIds | Cadeia de caracteres | Lista separada por vírgulas de sys_ids do sys_user_group para filtrar os registros. |
| rotaSysIds | Cadeia de caracteres | Lista separada por vírgulas de cmn_rota sys_ids para filtrar os registros. |
| rosterSysIds | Cadeia de caracteres | Lista separada por vírgulas de cmn_rota_roster sys_ids para filtrar os registros. |
| gdt | GlideDateTime | Data no fuso horário UTC |
| taskGr | GlideRecord | Opcional. Registro de tarefa atual. Se taskGr estiver vazio, este método retornará o plano de escalação padrão. Se taskGr for aprovado, as políticas de escalação serão avaliadas na ordem e este método retornará o plano de escalação correspondente. |
[Tabela 14. Parâmetros]

{#OCR-getEscalatees_S_S_S_GDT__table_ixr_4jk_3gb} {#OCR-getEscalatees_S_S_S_GDT__table_jxr_4jk_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Informações do escalonando, como userIds, deviceIds e escalationGroups. |
[Tabela 15. Retorna]

{#OCR-getEscalatees_S_S_S_GDT__table_jxr_4jk_3gb}  


    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var result = onCallRotation.getEscalatees(groupSysId, "", "", currentTime);
    gs.log(JSON.stringify(result));

Saída:

Para turno único:

    [
      {
        "memberId": "119f399173062300e7af6238edf6a7e7",
        "memberIds": [],
        "userId": "62826bf03710200044e0bfc8bcbe5df1",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 1,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "9d9f399173062300e7af6238edf6a7ec"
      },
      {
        "memberId": "1d9f399173062300e7af6238edf6a7e8",
        "memberIds": [],
        "userId": "a8f98bb0eb32010045e1a5115206fe3a",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 2,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "d99f399173062300e7af6238edf6a7ef"
      },
      {
        "memberId": "dd9f399173062300e7af6238edf6a7e9",
        "memberIds": [],
        "userId": "0a826bf03710200044e0bfc8bcbe5d7a",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 3,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "519f399173062300e7af6238edf6a7f2"
      }
    ]

Para turno sobreposto:

    [
      {
        "memberId": "119f399173062300e7af6238edf6a7e7",
        "memberIds": [],
        "userId": "62826bf03710200044e0bfc8bcbe5df1",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 1,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "9d9f399173062300e7af6238edf6a7ec"
      },
      {
        "memberId": "7daf799173062300e7af6238edf6a7a2",
        "memberIds": [],
        "userId": "d2826bf03710200044e0bfc8bcbe5dc9",
        "userIds": [],
        "roster": "b5af799173062300e7af6238edf6a7a2",
        "rota": "35af799173062300e7af6238edf6a79e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 1,
        "isOverride": false,
        "rotationScheduleId": "3daf799173062300e7af6238edf6a79e",
        "memberScheduleId": "06af799173062300e7af6238edf6a7cd"
      },
      {
        "memberId": "1d9f399173062300e7af6238edf6a7e8",
        "memberIds": [],
        "userId": "a8f98bb0eb32010045e1a5115206fe3a",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 2,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "d99f399173062300e7af6238edf6a7ef"
      },
      {
        "memberId": "f5af799173062300e7af6238edf6a7c9",
        "memberIds": [],
        "userId": "ee826bf03710200044e0bfc8bcbe5def",
        "userIds": [],
        "roster": "b5af799173062300e7af6238edf6a7a2",
        "rota": "35af799173062300e7af6238edf6a79e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 2,
        "isOverride": false,
        "rotationScheduleId": "3daf799173062300e7af6238edf6a79e",
        "memberScheduleId": "8aaf799173062300e7af6238edf6a7cf"
      },
      {
        "memberId": "dd9f399173062300e7af6238edf6a7e9",
        "memberIds": [],
        "userId": "0a826bf03710200044e0bfc8bcbe5d7a",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 3,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "519f399173062300e7af6238edf6a7f2"
      },
      {
        "memberId": "8aaf799173062300e7af6238edf6a7ca",
        "memberIds": [],
        "userId": "e2826bf03710200044e0bfc8bcbe5de0",
        "userIds": [],
        "roster": "b5af799173062300e7af6238edf6a7a2",
        "rota": "35af799173062300e7af6238edf6a79e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 3,
        "isOverride": false,
        "rotationScheduleId": "3daf799173062300e7af6238edf6a79e",
        "memberScheduleId": "02af799173062300e7af6238edf6a7d2"
      }
    ]

Para escalação personalizada

    [
      {
        "memberId": "",
        "memberIds": [],
        "userId": "",
        "userIds": [
          "62826bf03710200044e0bfc8bcbe5df1",
          "46d44a23a9fe19810012d100cca80666"
        ],
        "roster": "",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [
          "a715cd759f2002002920bde8132e7018"
        ],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 1,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": ""
      },
      {
        "memberId": "",
        "memberIds": [
          "119f399173062300e7af6238edf6a7e7"
        ],
        "userId": "",
        "userIds": [
          "62826bf03710200044e0bfc8bcbe5df1"
        ],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 2,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": ""
      }
    ]

    /**
     * create a custom escalation for service desk shift with condition as P1 for Incident
     * taskGr is optional parameter
     * if taskGr is empty then it returns list of escalatees in default escalation plan
     * if taskGr is passed then escalation policies are executed evaluated in order and list of escalatees in corresponding escalation plan is returned
    **/
    var serviceDeskSysId = 'd625dccec0a8016700a222a0f7900d06';
    var taskGr = new GlideRecord('incident');
    taskGr.get('ed92e8d173d023002728660c4cf6a7bc');

    var ocRotation = new OnCallRotation();
    var escalatees = ocRotation.getEscalatees(serviceDeskSysId, null, null, null, null, taskGr);
    gs.log(JSON.stringify(escalatees));

## OnCallRotation - getEscalationPlan(cadeia de caracteres groupSysId, GlideDateTime gdt, cadeia de caracteres rotaSysIds, GlideRecord taskGr) {#ariaid-title10}

Obtém uma lista de objetos para os quais escalar, planos de escalação que consistem em um usuário \[sys_user\] ou dispositivo de notificação \[cmn_notif_device\] para o turno de um grupo na data e hora especificadas. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
O objeto Escalação contém os seguintes campos:

* Ordem numérica: a ordem de escalação na escalação
* Cadeia de caracteres userId: sys_id do registro sys_user ou nulo
* Cadeia de caracteres deviceId: sys_id do registro cmn_notif_device ou nulo
* Booliano isDevice: verdadeiro ou falso, dependendo se o item a ser escalonado é um dispositivo ou usuário
* GlideDuration timeBetweenReminders: o tempo entre o envio de lembretes
* Número lembreteNum: número de lembretes a serem enviados para cada item a ser escalado
{#r_OCR-getEscalationPlan_S_GDT__ul_isy_tyf_2w}  
Nota:  
Defina o parâmetro taskGR para habilitar a avaliação do plano de escalação.
{#r_OCR-getEscalationPlan_S_GDT__table_bs2_lyf_2w__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| groupID | Cadeia de caracteres | sys_id para o grupo para o qual você precisa do plano de escalação. |
| gdt | GlideDateTime | Data e hora em que a escalação deve começar. O padrão é agora. aaaa-MM-dd HH:mm:ss é o formato no fuso horário UTC. |
| rotaSysIds | Cadeia de caracteres | Lista separada por vírgulas de cmn_rota sys_ids para filtrar os registros. |
| taskGr | GlideRecord | Opcional. Registro de tarefa atual. Se taskGr estiver vazio, este método retornará o plano de escalação padrão. Se taskGr for aprovado, as políticas de escalação serão avaliadas na ordem e este método retornará o plano de escalação correspondente. |
[Tabela 16. Parâmetros]

{#r_OCR-getEscalationPlan_S_GDT__table_bs2_lyf_2w} {#r_OCR-getEscalationPlan_S_GDT__table_cs2_lyf_2w__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Uma lista de objetos de escalação para os quais escalonar. |
[Tabela 17. Retorna]

{#r_OCR-getEscalationPlan_S_GDT__table_cs2_lyf_2w}  

    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var result = onCallRotation.getEscalationPlan(groupSysId, currentTime);
    gs.log(JSON.stringify(result));

Saída:

Para turno único:

    [
      {
        "order": 1,
        "userId": "62826bf03710200044e0bfc8bcbe5df1",
        "userIds": [],
        "deviceId": "",
        "deviceIds": [],
        "escalationGroups": [],
        "isDevice": false,
        "timeToNextStep": null,
        "cmnRotaEscStepDefId": null,
        "reminderNum": 1,
        "rosterId": "9d9f399173062300e7af6238edf6a7e5",
        "memberId": "119f399173062300e7af6238edf6a7e7",
        "memberIds": [],
        "isOverride": false,
        "additionalEscalatees": [],
        "forcedCommunicationChannel": "",
        "rotaId": "349f399173062300e7af6238edf6a75e",
        "groupId": "096fb59173062300e7af6238edf6a783",
        "rotaScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "9d9f399173062300e7af6238edf6a7ec"
      },
      {
        "order": 2,
        "userId": "a8f98bb0eb32010045e1a5115206fe3a",
        "userIds": [],
        "deviceId": "",
        "deviceIds": [],
        "escalationGroups": [],
        "isDevice": false,
        "timeToNextStep": null,
        "cmnRotaEscStepDefId": null,
        "reminderNum": 1,
        "rosterId": "9d9f399173062300e7af6238edf6a7e5",
        "memberId": "1d9f399173062300e7af6238edf6a7e8",
        "memberIds": [],
        "isOverride": false,
        "additionalEscalatees": [],
        "forcedCommunicationChannel": "",
        "rotaId": "349f399173062300e7af6238edf6a75e",
        "groupId": "096fb59173062300e7af6238edf6a783",
        "rotaScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "d99f399173062300e7af6238edf6a7ef"
      },
      {
        "order": 3,
        "userId": "0a826bf03710200044e0bfc8bcbe5d7a",
        "userIds": [],
        "deviceId": "",
        "deviceIds": [],
        "escalationGroups": [],
        "isDevice": false,
        "timeToNextStep": null,
        "cmnRotaEscStepDefId": null,
        "reminderNum": 1,
        "rosterId": "9d9f399173062300e7af6238edf6a7e5",
        "memberId": "dd9f399173062300e7af6238edf6a7e9",
        "memberIds": [],
        "isOverride": false,
        "additionalEscalatees": [],
        "forcedCommunicationChannel": "",
        "rotaId": "349f399173062300e7af6238edf6a75e",
        "groupId": "096fb59173062300e7af6238edf6a783",
        "rotaScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "519f399173062300e7af6238edf6a7f2"
      }
    ]

Para turno sobreposto:

    [
      {
        "order": 1,
        "userId": "62826bf03710200044e0bfc8bcbe5df1",
        "userIds": [],
        "deviceId": "",
        "deviceIds": [],
        "escalationGroups": [],
        "isDevice": false,
        "timeToNextStep": null,
        "cmnRotaEscStepDefId": null,
        "reminderNum": 1,
        "rosterId": "9d9f399173062300e7af6238edf6a7e5",
        "memberId": "119f399173062300e7af6238edf6a7e7",
        "memberIds": [],
        "isOverride": false,
        "additionalEscalatees": [
          {
            "order": 1,
            "userId": "d2826bf03710200044e0bfc8bcbe5dc9",
            "userIds": [],
            "deviceId": "",
            "deviceIds": [],
            "escalationGroups": [],
            "isDevice": false,
            "timeToNextStep": null,
            "cmnRotaEscStepDefId": null,
            "reminderNum": 1,
            "rosterId": "b5af799173062300e7af6238edf6a7a2",
            "memberId": "7daf799173062300e7af6238edf6a7a2",
            "memberIds": [],
            "isOverride": false,
            "additionalEscalatees": [],
            "forcedCommunicationChannel": "",
            "rotaId": "35af799173062300e7af6238edf6a79e",
            "groupId": "096fb59173062300e7af6238edf6a783",
            "rotaScheduleId": "3daf799173062300e7af6238edf6a79e",
            "memberScheduleId": "06af799173062300e7af6238edf6a7cd"
          }
        ],
        "forcedCommunicationChannel": "",
        "rotaId": "349f399173062300e7af6238edf6a75e",
        "groupId": "096fb59173062300e7af6238edf6a783",
        "rotaScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "9d9f399173062300e7af6238edf6a7ec"
      },
      {
        "order": 2,
        "userId": "a8f98bb0eb32010045e1a5115206fe3a",
        "userIds": [],
        "deviceId": "",
        "deviceIds": [],
        "escalationGroups": [],
        "isDevice": false,
        "timeToNextStep": null,
        "cmnRotaEscStepDefId": null,
        "reminderNum": 1,
        "rosterId": "9d9f399173062300e7af6238edf6a7e5",
        "memberId": "1d9f399173062300e7af6238edf6a7e8",
        "memberIds": [],
        "isOverride": false,
        "additionalEscalatees": [
          {
            "order": 2,
            "userId": "ee826bf03710200044e0bfc8bcbe5def",
            "userIds": [],
            "deviceId": "",
            "deviceIds": [],
            "escalationGroups": [],
            "isDevice": false,
            "timeToNextStep": null,
            "cmnRotaEscStepDefId": null,
            "reminderNum": 1,
            "rosterId": "b5af799173062300e7af6238edf6a7a2",
            "memberId": "f5af799173062300e7af6238edf6a7c9",
            "memberIds": [],
            "isOverride": false,
            "additionalEscalatees": [],
            "forcedCommunicationChannel": "",
            "rotaId": "35af799173062300e7af6238edf6a79e",
            "groupId": "096fb59173062300e7af6238edf6a783",
            "rotaScheduleId": "3daf799173062300e7af6238edf6a79e",
            "memberScheduleId": "8aaf799173062300e7af6238edf6a7cf"
          }
        ],
        "forcedCommunicationChannel": "",
        "rotaId": "349f399173062300e7af6238edf6a75e",
        "groupId": "096fb59173062300e7af6238edf6a783",
        "rotaScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "d99f399173062300e7af6238edf6a7ef"
      },
      {
        "order": 3,
        "userId": "0a826bf03710200044e0bfc8bcbe5d7a",
        "userIds": [],
        "deviceId": "",
        "deviceIds": [],
        "escalationGroups": [],
        "isDevice": false,
        "timeToNextStep": null,
        "cmnRotaEscStepDefId": null,
        "reminderNum": 1,
        "rosterId": "9d9f399173062300e7af6238edf6a7e5",
        "memberId": "dd9f399173062300e7af6238edf6a7e9",
        "memberIds": [],
        "isOverride": false,
        "additionalEscalatees": [
          {
            "order": 3,
            "userId": "e2826bf03710200044e0bfc8bcbe5de0",
            "userIds": [],
            "deviceId": "",
            "deviceIds": [],
            "escalationGroups": [],
            "isDevice": false,
            "timeToNextStep": null,
            "cmnRotaEscStepDefId": null,
            "reminderNum": 1,
            "rosterId": "b5af799173062300e7af6238edf6a7a2",
            "memberId": "8aaf799173062300e7af6238edf6a7ca",
            "memberIds": [],
            "isOverride": false,
            "additionalEscalatees": [],
            "forcedCommunicationChannel": "",
            "rotaId": "35af799173062300e7af6238edf6a79e",
            "groupId": "096fb59173062300e7af6238edf6a783",
            "rotaScheduleId": "3daf799173062300e7af6238edf6a79e",
            "memberScheduleId": "02af799173062300e7af6238edf6a7d2"
          }
        ],
        "forcedCommunicationChannel": "",
        "rotaId": "349f399173062300e7af6238edf6a75e",
        "groupId": "096fb59173062300e7af6238edf6a783",
        "rotaScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "519f399173062300e7af6238edf6a7f2"
      }
    ]

Para escalação personalizada:

    [
      {
        "order": 1,
        "userId": "",
        "userIds": [
          "62826bf03710200044e0bfc8bcbe5df1",
          "46d44a23a9fe19810012d100cca80666"
        ],
        "deviceId": "",
        "deviceIds": [],
        "escalationGroups": [
          "a715cd759f2002002920bde8132e7018"
        ],
        "isDevice": false,
        "timeBetweenReminders": {},
        "timeToNextStep": {},
        "cmnRotaEscStepDefId": "655042d173062300e7af6238edf6a738",
        "reminderNum": 1,
        "rosterId": "",
        "memberId": "",
        "memberIds": [],
        "isOverride": false,
        "additionalEscalatees": [],
        "forcedCommunicationChannel": "",
        "rotaId": "349f399173062300e7af6238edf6a75e",
        "groupId": "096fb59173062300e7af6238edf6a783",
        "rotaScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": ""
      },
      {
        "order": 2,
        "userId": "",
        "userIds": [],
        "deviceId": "",
        "deviceIds": [],
        "escalationGroups": [],
        "isDevice": false,
        "timeBetweenReminders": {},
        "timeToNextStep": {},
        "cmnRotaEscStepDefId": "8b6042d173062300e7af6238edf6a7f3",
        "reminderNum": 1,
        "rosterId": "",
        "memberId": "",
        "memberIds": [],
        "isOverride": false,
        "additionalEscalatees": [],
        "forcedCommunicationChannel": "",
        "rotaId": "349f399173062300e7af6238edf6a75e",
        "groupId": "096fb59173062300e7af6238edf6a783",
        "rotaScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": ""
      }
    ]

    /**
    * create a custom escalation for service desk shift with condition as P1 for Incident
    * taskGr is optional parameter
    * if taskGr is empty then it returns default escalation plan
    * if taskGr is passed then escalation policies are executed evaluated in order and corresponding escalation plan is returned
    **/

    var serviceDeskSysId = 'd625dccec0a8016700a222a0f7900d06';
    var taskGr = new GlideRecord('incident');
    taskGr.get('ed92e8d173d023002728660c4cf6a7bc');

    var ocRotation = new OnCallRotation();
    var escalationPlan = ocRotation.getEscalationPlan(serviceDeskSysId, null, null, taskGr);
    gs.log(JSON.stringify(escalationPlan));

## OnCallRotation - getEscalationType(cadeia de caracteres rotaID) {#ariaid-title11}

Obtém o tipo de escalação com base em um cálculo simples. Se houver uma escala ativa na escala, faça a rotação entre os membros. Se houver mais de uma escala ativa na escala, alterne entre as escalas. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
{#r_OCR-getEscalationType_S__table_avq_4zf_2w__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rotaID | Cadeia de caracteres | O sys_id da escala para verificar escalas. |
[Tabela 18. Parâmetros]

{#r_OCR-getEscalationType_S__table_avq_4zf_2w} {#r_OCR-getEscalationType_S__table_bvq_4zf_2w__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | * Membro: se houver uma listagem na escala. * Escala: se houver mais de uma escala na escala. * Não há escalas nesta escala: se não houver nenhuma das opções acima. * Personalizado: se a escalação personalizada for aplicável. {#r_OCR-getEscalationType_S__ul_kxq_xzf_2w} |
[Tabela 19. Retorna]

{#r_OCR-getEscalationType_S__table_bvq_4zf_2w}  

    var rotaSysId = '349f399173062300e7af6238edf6a75e';
    var onCallRotation = new OnCallRotation();
    var escalationType = onCallRotation.getEscalationType(rotaSysId);
    gs.log(escalationType);

Saída:

    custom

## OnCallRotation - getEscalateesAt(cadeia de caracteres groupSysId, GlideDateTime gdt, posição do número, GlideRecord taskGr) {#ariaid-title12}

Obtém os escalonados (registros de usuário, grupo ou dispositivo, dependendo das regras de notificação) em um horário e posição específicos. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
Nota:  
Defina o parâmetro taskGR para habilitar a avaliação do plano de escalação.
{#OCR-getEscalateesAt_S_GDT_N__table_o1s_x5j_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| groupSysId | Cadeia de caracteres | ys_id do grupo. |
| gdt | GlideDateTime | aaaa-MM-dd Formato HH:mm:ss no fuso horário UTC. O padrão é agora. |
| posição | Número | Posição da etapa de escalação. |
| taskGr | GlideRecord | Opcional. Registro de tarefa atual. Se taskGr estiver vazio, este método retornará o plano de escalação padrão. Se taskGr for aprovado, as políticas de escalação serão avaliadas na ordem e este método retornará o plano de escalação correspondente. |
[Tabela 20. Parâmetros]

{#OCR-getEscalateesAt_S_GDT_N__table_o1s_x5j_3gb} {#OCR-getEscalateesAt_S_GDT_N__table_nmd_wvj_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| GlideRecord | Matriz de escalações (um usuário, grupo ou registros de dispositivo, dependendo das regras de notificação) em um horário e posição específicos. |
[Tabela 21. Retorna]

{#OCR-getEscalateesAt_S_GDT_N__table_nmd_wvj_3gb}  

    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var escalatees = onCallRotation.getEscalateesAt(groupSysId, currentTime, 1);
    for (var i = 0; i < escalatees.length; i++) {
    gs.log(escalatees[i].name);
    }

Saída:

Para turnos sobrepostos:

    Abel Tuter
    Barbara Hindley

Para escalação personalizada:

    Abel Tuter
    Beth Anglin
    Change Management
    Barbara Hindley

    // Create a custom escalation for service desk shift with condition as P1 for Incident
    var serviceDeskSysId = 'd625dccec0a8016700a222a0f7900d06';
    // optional parameter taskGR
    var taskGr = new GlideRecord('incident');
    taskGr.get('ed92e8d173d023002728660c4cf6a7bc');

    var ocRotation = new OnCallRotation();
    var position = 1;
    var escalatees = ocRotation.getEscalateesAt(serviceDeskSysId, new GlideDateTime(), position, taskGr);

    // if taskGr is empty then it returns escalatees at a position in default escalation plan
    // if taskGr is passed then escalation policies are executed evaluated in order and escalatees at a position in corresponding escalation plan is returned
    for (var i = 0; i < escalatees.length; i++) {
        gs.log(escalatees[i].getDisplayValue());
    }

## OnCallRotation - getPrimaryUser() {#ariaid-title13}

Obtém o sys_id do contato primário atual quando há um único turno.
{#OCR-getPrimaryUser__table_zt1_qrj_3gb__entry__3}

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

{#OCR-getPrimaryUser__table_zt1_qrj_3gb} {#OCR-getPrimaryUser__table_a51_qrj_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | sys_id do contato primário atual. |
[Tabela 23. Retorna]

{#OCR-getPrimaryUser__table_a51_qrj_3gb}  
Exemplo:


    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var result = onCallRotation.who(groupSysId, currentTime);
    var primaryUser = onCallRotation.getPrimaryUser();

Saída:

    62826bf03710200044e0bfc8bcbe5df1

## OnCallRotation - getPrimaryUserByRota(cadeia de caracteres rotaId) {#ariaid-title14}

Obtém o sys_id do usuário primário atual do turno especificado. Esta API é aplicável para um único turno e turnos sobrepostos.
{#OCR-getPrimaryUserByRota_S__table_n3s_zsj_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rotaId | Cadeia de caracteres | sys_id do cmn_rota. |
[Tabela 24. Parâmetros]

{#OCR-getPrimaryUserByRota_S__table_n3s_zsj_3gb} {#OCR-getPrimaryUserByRota_S__table_o3s_zsj_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | sys_id do usuário primário atual do turno especificado. |
[Tabela 25. Retorna]

{#OCR-getPrimaryUserByRota_S__table_o3s_zsj_3gb}  


    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var rotaId = '349f399173062300e7af6238edf6a75e';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var result = onCallRotation.who(groupSysId, currentTime);
    var primaryUser = onCallRotation.getPrimaryUserByRota(rotaId);
    gs.log(primaryUser);

Saída:

    62826bf03710200044e0bfc8bcbe5df1

## OnCallRotation - getPrimaryUserName() {#ariaid-title15}

Obtém o nome do contato primário atual. Esta API é aplicável a um único turno.
{#OCR-getPrimaryUserName__table_yzz_4sj_3gb__entry__3}

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

{#OCR-getPrimaryUserName__table_yzz_4sj_3gb} {#OCR-getPrimaryUserName__table_zzz_4sj_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Nome do contato primário atual. |
[Tabela 27. Retorna]

{#OCR-getPrimaryUserName__table_zzz_4sj_3gb}  


    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var result = onCallRotation.who(groupSysId, currentTime);
    var primaryUser = onCallRotation.getPrimaryUserName();
    gs.log(primaryUser);

Saída:

    Abel Tuter

## OnCallRotation - getPrimaryUserNameByRota(cadeia de caracteres rotaId) {#ariaid-title16}

Obtém o nome do usuário primário atual do turno especificado. Esta API é aplicável para um único turno e turnos sobrepostos.
{#OCR-getPrimaryUserNameByRota_S__table_k43_15j_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rotaId | Cadeia de caracteres | sys_id do cmn_rota. |
[Tabela 28. Parâmetros]

{#OCR-getPrimaryUserNameByRota_S__table_k43_15j_3gb} {#OCR-getPrimaryUserNameByRota_S__table_l43_15j_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Nome do usuário primário atual do turno especificado. |
[Tabela 29. Retorna]

{#OCR-getPrimaryUserNameByRota_S__table_l43_15j_3gb}  


    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var rotaId = '349f399173062300e7af6238edf6a75e';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var result = onCallRotation.who(groupSysId, currentTime);
    var primaryUser = onCallRotation.getPrimaryUserNameByRota(rotaId);
    gs.log(primaryUser);

Saída:

    Abel Tuter

## OnCallRotation - getPrimaryUsers() {#ariaid-title17}

Obtém a lista de contatos primários de um turno. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
{#OCR-getPrimaryUsers__table_jbs_bsj_3gb__entry__3}

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

{#OCR-getPrimaryUsers__table_jbs_bsj_3gb} {#OCR-getPrimaryUsers__table_kbs_bsj_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Lista de contatos primários. |
[Tabela 31. Retorna]

{#OCR-getPrimaryUsers__table_kbs_bsj_3gb}  


    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var result = onCallRotation.who(groupSysId, currentTime);
    var primaryUser = onCallRotation.getPrimaryUser();
    gs.log(JSON.stringify(primaryUser));

Saída:

    {
      "349f399173062300e7af6238edf6a75e": {
        "userSysId": "62826bf03710200044e0bfc8bcbe5df1",
        "userName": "Abel Tuter"
      },
      "35af799173062300e7af6238edf6a79e": {
        "userSysId": "d2826bf03710200044e0bfc8bcbe5dc9",
        "userName": "Barbara Hindley"
      }
    }

## OnCallRotation - spansOverlap(ArrayList primário, ArrayList secundário, cadeia de caracteres timeZone) {#ariaid-title18}

Verifica se o período primário e os períodos secundários se sobrepõem.
{#r_OCR-spansOverlap_AL_AL_S__table_pzn_tjf_2w__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| primário | ArrayList | Os períodos primários a serem comparados. |
| secundário | ArrayList | Os períodos secundários a serem comparados. |
| fuso horário | Cadeia de caracteres | O nome do fuso horário. |
[Tabela 32. Parâmetros]

{#r_OCR-spansOverlap_AL_AL_S__table_pzn_tjf_2w} {#r_OCR-spansOverlap_AL_AL_S__table_qzn_tjf_2w__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Retorna verdadeiro se os períodos primário e secundário se sobrepõem. |
[Tabela 33. Retorna]

{#r_OCR-spansOverlap_AL_AL_S__table_qzn_tjf_2w}  

    var onCall = new OnCallRotation();
     
    // get a time range we are interested in
    var timeZone = gs.getSession().getTimeZoneName();
    var dateStart = new GlideDateTime();
    var dateEnd = new GlideDateTime().addMonths(1);
     
    // convert glidedatime to scheduledatetime because it is required
    // by the function being called below
    var scheduleStart = new GlideScheduleDateTime(dateStart);
    var scheduleEnd =  new GlideScheduleDateTime(dateEnd);
    scheduleStart.setTimeZone(timeZone);
    scheduleEnd.setTimeZone(timeZone);
     
    // calculate rotation items based on the date and time given
    // for all the groups the currently logged in user is a member of
    gs.include("OnCallRotationPersonal");
    var rotation = new OnCallRotationPersonal();
    var myGroups = gs.getUser().getMyGroups();
    var groupIter = myGroups.iterator();
     
    while(groupIter.hasNext()){
    	var rotaItems = rotation.onCallDuringPeriod(groupIter.next(), scheduleStart, scheduleEnd);
     
    	// loop through rotation schedules
    	for (var i = 0; i < rotaItems.length - 1; i++) {
    		var parentItem = rotaItems[i];
    		var nextItem = rotaItems[i + 1];
     
    		// check if previous and next time spans overlap
    		var overlaps = onCall.spansOverlap(parentItem.getTimeSpans(), nextItem.getTimeSpans(), 
    			gs.getSession().getTimeZoneName());
    	}
    }

## OnCallRotation - startEscalations(GlideRecord now_GR, cadeia de caracteres eventName, cadeia de caracteres escalationScriptName) {#ariaid-title19}

Inicie as escalações para um documento (incident now_GR) e grupo e especifique o nome do evento para as notificações de escalação. Além disso, especifique o nome da regra de negócio a ser chamada quando ocorrer uma escalação. Este método deve ser usado após uma chamada bem-sucedida para os métodos Who ou WhoAt. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
{#OCR-startEscalations_GR_S_S__table_nh2_xzj_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| now_GR | GlideRecord | Registro de glide de documento. Por exemplo, Incident now_GR. |
| eventName | Cadeia de caracteres | Nome do evento para as notificações de escalação. |
| escalationScriptName | Cadeia de caracteres | Regra de negócio para chamar quando ocorre escalação |
[Tabela 34. Parâmetros]

{#OCR-startEscalations_GR_S_S__table_nh2_xzj_3gb} {#OCR-startEscalations_GR_S_S__table_oh2_xzj_3gb__entry__2}

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

{#OCR-startEscalations_GR_S_S__table_oh2_xzj_3gb}

## OnCallRotation - quem(cadeia de caracteres groupSysId, GlideDateTime gdt, booliano nullifyOverrideRoster, cadeia de caracteres rotaSysIds, booliano overrideCustomEscalation, GlideRecord taskGR) {#ariaid-title20}

Especifica se há um usuário, grupo ou dispositivo de plantão. Este método é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
Nota:  
Passe o parâmetro taskGR para habilitar a avaliação do plano de escalação.
{#OCR-who_S_GDT_B_S__table_xgb_ypj_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| groupSysId | Cadeia de caracteres | Sys_id do grupo a ser verificado. |
| gdt | [GlideDateTime](https://servicenow-prod.fluidtopics.net/74dRL3OB4d2gb46mm9hgnw#c_GlideDateTimeAPI "A classe GlideDateTime fornece métodos para executar operações em objetos GlideDateTime.") | Data e hora. Formato: aaaa-MM-dd HH:mm:ss no fuso horário UTC Padrão: data e hora atuais |
| nullifyOverrideRoster | Booliano | Sinalizador que indica se a lista de notificação do grupo é para uma listagem específica. Valores válidos: * verdadeiro: não para uma listagem específica. * falso: para uma listagem específica. |
| rotaSysIds | Cadeia de caracteres | Lista separada por vírgulas de cmn_rota sys_ids para filtrar os registros. |
| overrideCustomEscalation | Booliano | Sinalizador que indica se a política de escalação padrão deve ser substituída pela escalação personalizada. Valores válidos: * verdadeiro: substitua a política de escalação padrão. * falso: não substitua a política de escalação padrão. |
| taskGR | [GlideRecord](https://servicenow-prod.fluidtopics.net/MVDQAzAUPvxIFzjBauTu9Q#c_GlideRecordAPI "A API GlideRecord é usada para operações de banco de dados.") | Opcional. Registro de tarefa atual. Se aprovado, o método preencherá os escalonados com base nas condições de escalação. |
[Tabela 36. Parâmetros]

{#OCR-who_S_GDT_B_S__table_xgb_ypj_3gb} {#OCR-who_S_GDT_B_S__table_lzh_1rj_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se uma correspondência foi encontrada. Valores possíveis: * verdadeiro: pelo menos uma correspondência foi encontrada. * falso: nenhuma correspondência foi encontrada. {#OCR-who_S_GDT_B_S__ul_f4h_qjk_lrb} |
[Tabela 37. Retorna]

{#OCR-who_S_GDT_B_S__table_lzh_1rj_3gb}  

    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var result = onCallRotation.who(groupSysId, currentTime);
    gs.log(result);

Saída:

    true

O exemplo a seguir mostra como criar uma escalação personalizada para o turno da central de serviços com a condição P1 para um incidente.

    /**
     * When the who() method is invoked with the optional taskGr parameter, 
     * escalatees are populated based on the conditional escalations
    **/

    var serviceDeskSysId = 'd625dccec0a8016700a222a0f7900d06';
    var taskGr = new GlideRecord('incident');
    taskGr.get('ed92e8d173d023002728660c4cf6a7bc');

    var ocRotation = new OnCallRotation();
    ocRotation.who(serviceDeskSysId, null, null, null, null, taskGr);
    while (ocRotation.next()) {
        gs.log(ocRotation.getUserName());
    }

Saída:

    Beth Anglin

## OnCallRotation - WhoAt(cadeia de caracteres groupSysId, GlideDateTime gdt, cadeia de caracteres rotaSysIds) {#ariaid-title21}

Especifica se há um usuário, grupo ou dispositivo de plantão. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
{#OCR-whoAt_S_GDT_S__table_xgb_ypj_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| groupSysId | Cadeia de caracteres | SYS ID do grupo. |
| gdt | GlideDateTime | aaaa-MM-dd Formato HH:mm:ss no fuso horário UTC. O padrão é agora. |
| rotaSysIds | Cadeia de caracteres | Lista separada por vírgulas de SYS IDs cmn_rota para filtrar os registros. |
[Tabela 38. Parâmetros]

{#OCR-whoAt_S_GDT_S__table_xgb_ypj_3gb} {#OCR-whoAt_S_GDT_S__table_ygb_ypj_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Verdadeiro se houver pelo menos um usuário, grupo ou dispositivo de plantão; caso contrário, falso. |
[Tabela 39. Retorna]

{#OCR-whoAt_S_GDT_S__table_ygb_ypj_3gb}  


    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var result = onCallRotation.whoAt(groupSysId, currentTime);
    gs.log(result);

Saída:

    true

## OnCallRotation - WhoIsOnCall(cadeia de caracteres groupSysIds, cadeia de caracteres rotaSysIds, cadeia de caracteres rosterSysIds, GlideDateTime gdt) {#ariaid-title22}

Obtém a lista de usuários que estão de plantão em um determinado momento. Se nenhuma hora for especificada, a hora atual será usada. Esta API é aplicável para um único turno e turnos sobrepostos.
{#OCR-whoIsOnCall_S_S_S_GDT__table_ixr_4jk_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| groupSysIds | Cadeia de caracteres | Lista separada por vírgulas de sys_ids do sys_user_group para filtrar os registros. |
| rotaSysIds | Cadeia de caracteres | Lista separada por vírgulas de cmn_rota sys_ids para filtrar os registros. |
| rosterSysIds | Cadeia de caracteres | Lista separada por vírgulas de cmn_rota_roster sys_ids para filtrar os registros. |
| gdt | GlideDateTime | Data no fuso horário UTC |
[Tabela 40. Parâmetros]

{#OCR-whoIsOnCall_S_S_S_GDT__table_ixr_4jk_3gb} {#OCR-whoIsOnCall_S_S_S_GDT__table_ubq_ykk_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Lista de usuários, grupos ou dispositivos que estão de plantão em um determinado momento. Por exemplo, informações sobre userIds, deviceIdse escalationGroups. |
[Tabela 41. Retorna]

{#OCR-whoIsOnCall_S_S_S_GDT__table_ubq_ykk_3gb}  

    var groupSysId = '096fb59173062300e7af6238edf6a783';
    var currentTime = new GlideDateTime();
    var onCallRotation = new OnCallRotation();
    var escalatees = onCallRotation. whoIsOnCall(groupSysId, "", "", currentTime);
    gs.log(JSON.stringify(escalatees));

Saída:

Para turno único:

    [
      {
        "memberId": "119f399173062300e7af6238edf6a7e7",
        "memberIds": [],
        "userId": "62826bf03710200044e0bfc8bcbe5df1",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 1,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "9d9f399173062300e7af6238edf6a7ec"
      },
      {
        "memberId": "1d9f399173062300e7af6238edf6a7e8",
        "memberIds": [],
        "userId": "a8f98bb0eb32010045e1a5115206fe3a",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 2,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "d99f399173062300e7af6238edf6a7ef"
      },
      {
        "memberId": "dd9f399173062300e7af6238edf6a7e9",
        "memberIds": [],
        "userId": "0a826bf03710200044e0bfc8bcbe5d7a",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 3,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "519f399173062300e7af6238edf6a7f2"
      }
    ]

Para turno sobreposto:

    [
      {
        "memberId": "119f399173062300e7af6238edf6a7e7",
        "memberIds": [],
        "userId": "62826bf03710200044e0bfc8bcbe5df1",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 1,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "9d9f399173062300e7af6238edf6a7ec"
      },
      {
        "memberId": "7daf799173062300e7af6238edf6a7a2",
        "memberIds": [],
        "userId": "d2826bf03710200044e0bfc8bcbe5dc9",
        "userIds": [],
        "roster": "b5af799173062300e7af6238edf6a7a2",
        "rota": "35af799173062300e7af6238edf6a79e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 1,
        "isOverride": false,
        "rotationScheduleId": "3daf799173062300e7af6238edf6a79e",
        "memberScheduleId": "06af799173062300e7af6238edf6a7cd"
      },
      {
        "memberId": "1d9f399173062300e7af6238edf6a7e8",
        "memberIds": [],
        "userId": "a8f98bb0eb32010045e1a5115206fe3a",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 2,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "d99f399173062300e7af6238edf6a7ef"
      },
      {
        "memberId": "f5af799173062300e7af6238edf6a7c9",
        "memberIds": [],
        "userId": "ee826bf03710200044e0bfc8bcbe5def",
        "userIds": [],
        "roster": "b5af799173062300e7af6238edf6a7a2",
        "rota": "35af799173062300e7af6238edf6a79e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 2,
        "isOverride": false,
        "rotationScheduleId": "3daf799173062300e7af6238edf6a79e",
        "memberScheduleId": "8aaf799173062300e7af6238edf6a7cf"
      },
      {
        "memberId": "dd9f399173062300e7af6238edf6a7e9",
        "memberIds": [],
        "userId": "0a826bf03710200044e0bfc8bcbe5d7a",
        "userIds": [],
        "roster": "9d9f399173062300e7af6238edf6a7e5",
        "rota": "349f399173062300e7af6238edf6a75e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 3,
        "isOverride": false,
        "rotationScheduleId": "119f399173062300e7af6238edf6a7df",
        "memberScheduleId": "519f399173062300e7af6238edf6a7f2"
      },
      {
        "memberId": "8aaf799173062300e7af6238edf6a7ca",
        "memberIds": [],
        "userId": "e2826bf03710200044e0bfc8bcbe5de0",
        "userIds": [],
        "roster": "b5af799173062300e7af6238edf6a7a2",
        "rota": "35af799173062300e7af6238edf6a79e",
        "group": "096fb59173062300e7af6238edf6a783",
        "escalationGroups": [],
        "deviceId": "",
        "deviceIds": [],
        "isDevice": false,
        "order": 3,
        "isOverride": false,
        "rotationScheduleId": "3daf799173062300e7af6238edf6a79e",
        "memberScheduleId": "02af799173062300e7af6238edf6a7d2"
      }
    ]

## OnCallRotation - WhoIsNext(GlideRecord escalationGr) {#ariaid-title23}

As regras de negócios de escalação determinam quem no turno deve ser contatado em seguida. O registro de escalação passado para o método rastreia a escalação entre invocações da regra de negócio. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada.
{#OCR-whoIsNext_GR__table_h4n_fck_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| escalonamentoGr | GlideRecord | GlideRecord de escalação de rotação \[cmn_rota_escalation\]. |
[Tabela 42. Parâmetros]

{#OCR-whoIsNext_GR__table_h4n_fck_3gb} {#OCR-whoIsNext_GR__table_i4n_fck_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum |   |
[Tabela 43. Retorna]

{#OCR-whoIsNext_GR__table_i4n_fck_3gb}

