> ## Documentation Index
> Fetch the complete documentation index at: https://suporte.deumboom.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Conector BOOM: Pulso

> Tools do conector BOOM para listar, consultar, criar e editar Pulsos, com datas de envio, início do disparo e fim, e audiência por público do template.

O conector BOOM expõe o Sensor **Pulso** por cinco tools. Elas seguem as mesmas regras da tela em **Sensores > Pulso**: o que a tela recusa, o conector também recusa.

> [!NOTE]
>
> O conector aceita JWT (`eyJ…`) e token OAuth (`mct_…`). Com OAuth, o `companyId` é opcional. Um `companyId` de outra empresa retorna `401`.

Cancelar e excluir Pulsos **não estão disponíveis** no conector. O `templateId` de um Pulso novo vem de um template publicado e ativo, da BOOM ou da empresa (veja **Cadastros > Templates**).

***

## Tools

| Tool | Método e caminho | O que faz |
| - | - | - |
| `core_pulsos_list` | `GET /v2/pulsos` | Lista os Pulsos, com status, período, template e conversão |
| `core_pulsos_get` | `GET /v2/pulsos/{pulsoId}` | Detalhe: datas, template, conversão por cluster e por público |
| `core_pulsos_dispatches` | `GET /v2/pulsos/{pulsoId}/dispatches` | Aba Disparo: métricas e lista de disparos por colaborador |
| `core_pulsos_create` | `POST /v2/pulsos` | Cria um Pulso, que entra direto como Programado |
| `core_pulsos_update` | `PUT /v2/pulsos/{pulsoId}` | Edita um Pulso conforme o status |

### `core_pulsos_list`

| Parâmetro | Descrição |
| - | - |
| `companyId` | UUID da empresa (opcional com OAuth) |
| `status` | `PROGRAMADO`, `ENVIADO` ou `ENCERRADO` |
| `cycleId` | Filtra por ciclo (UUID) |
| `page` | Página, começando em `0` |
| `size` | Itens por página (padrão `20`, máximo `100`) |

A resposta traz `statusCounts` com o total por status. Esse total **ignora** o filtro de `status`.

### `core_pulsos_get`

Retorna as informações gerais (nome, descrição, ciclo, datas, status), o template (id, nome e origem `BOOM` ou `EMPRESA`) e a conversão (Aptos, Respondidos, Pendentes e taxa). Os números são os mesmos da tela.

A conversão traz:

* `clusters`: conversão por cluster, incluindo WhiteLabels;
* `publicos`: a mesma conversão por público do template, cada um com os seus clusters;
* os públicos do template com a situação de cada um (`active`, colaboradores, respondidos e pendentes).

`editableFields` indica o que pode ser alterado no status atual. Respostas individuais, e-mails e WhatsApp nunca são expostos.

> [!NOTE]
>
> Para RH Business Partner, a conversão e os clusters de cada público mostram **apenas a área do perfil**, igual à tela. Clusters dos colaboradores que ficam fora dessa área não aparecem.

### `core_pulsos_dispatches`

| Parâmetro | Descrição |
| - | - |
| `pulsoId` | UUID do Pulso (obrigatório) |
| `status` | `RESPONDIDO` ou `PENDENTE` |
| `surveyTemplateAudienceId` | Filtra por público do template |
| `page`, `size` | Página (começa em `0`) e tamanho (padrão `50`, máximo `200`) |

A resposta traz a grade de métricas (total, respondidos, pendentes, taxa, disparos por canal e por público) e a lista de disparos por colaborador com status, canal, público, clusters, classificação e idioma. Em `porPublico`, cada público traz `respondidos` e `pendentes`. A lista não traz e-mail, WhatsApp, token nem link individual.

***

## O que cada perfil faz

| Perfil | Listar e consultar | Criar e editar |
| - | - | - |
| Admin Cliente | Sim | Sim |
| RH Estratégico | Sim | Sim |
| RH Business Partner | Sim | Não (`editableFields` vem vazio) |
| GPS Admin Cliente | Sim | Não (`editableFields` vem vazio) |
| Liderança | Erro de permissão | Não |

***

## Criar e editar

`core_pulsos_create` segue as quatro etapas da tela.

| Etapa | Campos |
| - | - |
| Pesquisa | `name` (até 100 caracteres), `description`, `cycleId` |
| Template | `templateId` (publicado e ativo, da BOOM ou da empresa) |
| Disparo | `sendDate`, `startDate`, `endDate` |
| Audiência | `audiences` |

Na criação, `name`, `templateId`, `sendDate` e `endDate` são obrigatórios. Sem `cycleId`, vale o ciclo em andamento. Ciclo encerrado não é aceito. Descrição vazia fica vazia: ela não vira o nome.

O Pulso **não tem rascunho**: ao ser criado, entra direto como **Programado**. A resposta traz o `summary` com data de envio, data de fim e colaboradores por público.

### Datas do disparo

| Campo | Significado | Regra |
| - | - | - |
| `sendDate` | Data e hora de envio | Pelo menos 24 horas à frente (horas corridas, horário de Brasília) |
| `startDate` | **Início do disparo**, como na tela | Opcional. Pelo menos 24 horas à frente e antes do fim. Omitido, acompanha o `sendDate` |
| `endDate` | Data e hora de fim | Depois do envio e no futuro |

Na resposta, `startDate` sempre vem preenchido: sem valor próprio, repete o `sendDate`.

Use ISO 8601. Sem fuso (`2026-11-10T09:00:00`) vale o horário de Brasília. Com fuso (`Z` ou `+hh:mm`), o servidor converte para Brasília.

### O que cada status permite editar

| Status | Edição |
| - | - |
| `PROGRAMADO` | `name`, `description`, `cycleId`, `endDate`, `audiences`, `sendDate` e `startDate`. As duas últimas só com mais de 24 horas até o disparo |
| `ENVIADO` | Os mesmos, sem `sendDate` e `startDate` |
| `ENCERRADO` | Não edita |

O template **nunca muda** depois da criação. Em `core_pulsos_update`, campos omitidos são preservados e `description` vazia limpa a descrição. A resposta traz o Pulso atualizado com `editableFields`, `summary` e `warnings`, por exemplo quando colaboradores que já responderam foram mantidos.

***

## Audiência por público

Template com mais de um público pede **um item de `audiences` por público**, identificado por `surveyTemplateAudienceId`. Cada público tem a sua audiência.

| Campo | Descrição |
| - | - |
| `surveyTemplateAudienceId` | UUID do público do template. Omitido quando o template não tem públicos |
| `active` | `false` desativa o público. Precisa sobrar ao menos um ativo, e público com respostas não desativa |
| `employeeIds` | UUIDs de colaboradores Ativos ou Afastados |
| `clusters` | Filtros por UN, Diretoria, Departamento, Alocação e WhiteLabel. OU dentro do mesmo tipo, E entre tipos |
| `classifications` | `LIDERANCA` e/ou `COLABORADOR` |
| `languages` | Idiomas, como `pt-BR`, `en-US`, `es-ES` |
| `statuses` | `ATIVO` e/ou `AFASTADO` (padrão: os dois) |
| `mode` | Na edição: `REPLACE` (padrão) substitui os colaboradores do público; `ADD` acrescenta |

Regras:

* Um colaborador **não pode estar em dois públicos** do mesmo Pulso.
* Um público ativo sem seleção usa os clusters e idiomas que o próprio template define para ele.
* Na edição, `audiences` omitido preserva tudo. Colaboradores que já responderam nunca saem.

Tipos de cluster: `BUSINESS_UNIT`, `DIRECTORATE`, `DEPARTMENT`, `ALLOCATION` e `WHITE_LABEL_A` a `WHITE_LABEL_E`. Para descobrir ids, use `core_clusters_list` e `core_colaboradores_list`.

### Exemplo

```json theme={null}
{
  "name": "Pulso de clima",
  "cycleId": "00000000-0000-7000-8000-000000000001",
  "templateId": "00000000-0000-7000-8000-000000000002",
  "sendDate": "2026-11-20T09:00:00",
  "startDate": "2026-11-20T10:00:00",
  "endDate": "2026-11-27T18:00:00",
  "audiences": [
    {
      "surveyTemplateAudienceId": "00000000-0000-7000-8000-000000000003",
      "classifications": ["COLABORADOR"],
      "languages": ["pt-BR"]
    },
    {
      "surveyTemplateAudienceId": "00000000-0000-7000-8000-000000000004",
      "classifications": ["LIDERANCA"]
    }
  ]
}
```

***

## Pergunte ao Claude

* "Quais Pulsos estão programados para este ciclo?"
* "Qual a conversão por público do Pulso de clima?"
* "Adie o início do disparo do Pulso de clima para amanhã às 10h."


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.