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

# Funções e permissões

> O que cada função inclui, o catálogo completo de permissões, quais áreas do console cada uma libera, como o acesso a unidades e depósitos as limita, e o que o muveya oculta sem permissão.

O que uma pessoa pode fazer em uma clínica odontológica depende de três coisas, todas definidas nas telas de **Equipe** (veja [Equipe](/docs/pt/account/team)):

1. **Função:** **Proprietário**, **Administrador** ou **Membro**. Uma função é um modelo: inclui poucas permissões e alguns poderes extras sobre a equipe.
2. **Permissões:** as ações e as informações que a pessoa pode usar, concedidas uma a uma.
3. **Unidades e depósitos:** os locais onde essas permissões valem.

<Warning>
  As permissões **não** são herdadas do nome da função. Um **Proprietário** não vê estoque, pedidos, aprovações, entregas nem relatórios até que alguém marque essas permissões para ele, muitas vezes na própria página. Confira sempre a lista de permissões, não a função.
</Warning>

## Como o acesso é decidido

As **permissões efetivas** de uma pessoa são:

* as permissões que a função inclui, **mais**
* as permissões concedidas a ela nas telas de Equipe, **mais**
* as permissões que uma permissão concedida inclui: `inventory.adjust` (**Ajustar e contar estoque**) inclui `inventory.receive`, `inventory.consume` e `inventory.transfer`.

O muveya confere as permissões efetivas e o acesso a locais no servidor, a cada solicitação. O console oculta o que você não pode usar, mas isso é só uma conveniência: se você chegar a uma tela mesmo assim, o servidor recusa a ação (**Sua conta não tem permissão para esta ação.**), responde que o item não existe ou deixa de fora a informação que você não pode ver.

As mudanças de permissões e de acesso a locais valem a partir da próxima ação da pessoa. Ela não precisa entrar de novo.

## Modelos de função

| Função | Permissões incluídas | Poderes extras |
| - | - | - |
| **Proprietário** | `catalog.read`, `catalog.manage`, `members.manage`, `settings.manage` | Convidar administradores, mudar funções, transferir a propriedade, e suspender, reativar, remover ou mudar o acesso a unidades de outros proprietários. Importar e exportar o catálogo em CSV. |
| **Administrador** | `catalog.read`, `catalog.manage`, `members.manage`, `settings.manage` | Importar e exportar o catálogo em CSV. |
| **Membro** | `catalog.read` | Nenhum. |

* Quem cria uma clínica odontológica é o primeiro **Proprietário** dela, com acesso a todas as unidades e depósitos.
* Ninguém pode ser convidado como **Proprietário**: a propriedade é transferida. Uma clínica sempre mantém pelo menos um proprietário ativo.
* Só um proprietário muda funções, e só entre **Administrador** e **Membro**.
* Iniciar uma importação ou exportação CSV do catálogo exige a função **Proprietário** ou **Administrador**; `catalog.manage` sozinho não basta, embora o console mostre os botões aos membros que o têm.
* Nenhuma função inclui permissões de estoque, pedidos, aprovações, entregas, relatórios, custos, valores de pedidos ou referências de pacientes.

## Catálogo de permissões

Estas são as 26 permissões. O rótulo é o que as telas de Equipe mostram.

### Catálogo

| Permissão | Rótulo | O que permite |
| - | - | - |
| `catalog.read` | **Ler catálogo** | Ler insumos, categorias, apresentações e códigos. Todas as funções a incluem, então toda pessoa da equipe pode ler o catálogo. |
| `catalog.manage` | **Gerenciar catálogo** | Criar e editar insumos e categorias, ativar e desativar insumos, adicionar e retirar apresentações e códigos, e definir custos de insumos (junto com `catalog.cost.read`). |
| `catalog.cost.read` | **Ver custos dos materiais** | Ver os custos dos insumos no catálogo, na exportação CSV do catálogo e nas linhas de pedido. Sem ela, os campos de custo são removidos. |

### Estoque

| Permissão | Rótulo | O que permite |
| - | - | - |
| `inventory.read` | **Ver estoque** | Ver estoque, caixas, lotes, alertas de estoque, contagens, reposição, uso por sala ou área, solicitações de correção de estoque e histórico de caixas. |
| `inventory.receive` | **Receber entregas** | Registrar estoque recebido na tela **Receber**. |
| `inventory.consume` | **Registrar consumo** | Registrar o consumo de uma caixa e atribuir uma saída a uma sala ou área. |
| `inventory.transfer` | **Transferir caixas entre depósitos** | Transferir uma caixa para outro depósito e separar parte de uma caixa. |
| `inventory.adjust` | **Ajustar e contar estoque** | Corrigir uma caixa, decidir solicitações de correção de estoque, definir mínimos, fazer contagens e campanhas de contagem, tirar uma caixa de uso (quarentena, vencida, descartada) e colocar um lote em quarentena. Inclui receber, registrar consumo e transferir. |

### Pedidos

| Permissão | Rótulo | O que permite |
| - | - | - |
| `orders.create` | **Criar pedidos de materiais** | Criar, editar, enviar e cancelar seus próprios pedidos, e ver seus próprios pedidos. |
| `orders.read.all` | **Ver todos os pedidos** | Ver todos os pedidos das suas unidades, não só os seus. |
| `orders.value.read` | **Ver valores dos pedidos** | Ver o total dos pedidos, o valor que uma regra de aprovação avaliou e os limites de valor das regras. Sem ela, esses valores são removidos. |
| `orders.clinical.create` | **Criar pedidos clínicos** | Marcar um pedido como **É para o tratamento de um paciente** e adicionar uma **Referência do paciente (opcional)**. Também exige `orders.create`. |
| `orders.patient_ref.read` | **Ver referências externas de pacientes** | Ver a referência do paciente nos pedidos e a referência de atendimento nos registros de uso. Sem ela, são removidas. |

### Aprovações

| Permissão | Rótulo | O que permite |
| - | - | - |
| `approvals.policy.manage` | **Gerenciar regras de aprovação** | Abrir e publicar a **Política de aprovação**. |
| `approvals.decide` | **Decidir aprovações** | Ver a caixa de aprovações, aprovar e rejeitar pedidos, e ver o histórico de decisões. Também permite ver todos os pedidos das suas unidades. |

### Atendimento (entregas)

| Permissão | Rótulo | O que permite |
| - | - | - |
| `fulfillment.pick` | **Preparar pedidos** | Abrir a lista de separação e registrar as caixas separadas para um pedido. |
| `fulfillment.dispatch` | **Despachar pedidos** | Despachar um pedido preparado. |
| `delivery.confirm` | **Confirmar entrega** | Confirmar que um pedido despachado foi entregue, ou informar um problema de entrega. |
| `receipt.confirm` | **Confirmar recebimento** | Confirmar ou contestar o recebimento das caixas entregues no destino. |
| `fulfillment.close` | **Encerrar atendimento** | Encerrar um pedido cuja custódia está completa. |
| `fulfillment.read` | **Ver atendimento** | Acompanhar a custódia e o histórico de um pedido, ver **Problemas de entrega** e receber caixa por caixa. |

Qualquer uma dessas seis permissões também permite ver todos os pedidos das suas unidades.

### Relatórios e auditoria

| Permissão | Rótulo | O que permite |
| - | - | - |
| `reports.read` | **Ver relatórios** | Abrir o relatório de consumo. |
| `audit.read` | **Ver histórico de auditoria** | Reservada. Nenhuma tela ou API lê o histórico de auditoria ainda, então concedê-la hoje não muda nada. |

### Administração

| Permissão | Rótulo | O que permite |
| - | - | - |
| `members.manage` | **Gerenciar acesso da equipe** | Usar as telas de Equipe: ver, convidar, mudar permissões e acesso a unidades, suspender, reativar e remover. As ações exclusivas de proprietários continuam exclusivas. |
| `settings.manage` | **Gerenciar configuração da clínica** | Criar, renomear, ativar e desativar unidades, depósitos e salas ou áreas. |
| `integrations.manage` | **Gerenciar integrações e chaves de API** | Reservada. O console ainda não tem tela para criar ou revogar chaves de API, então concedê-la hoje não muda nada. |

## O que cada área do console exige

| Item do menu | Aparece para | O que as permissões mudam |
| - | - | - |
| **Início** | Todas as pessoas | Cartões de **Para começar a operar**: **Crie a primeira unidade** e **Crie um depósito** com `settings.manage`; **Adicione o primeiro insumo** e **Adicione como os insumos são embalados** com `catalog.manage`; **Convide a sua equipe** com `members.manage`; o aviso de política de aprovação com `approvals.policy.manage`. Cartões de **Trabalho pendente**: **Pedidos aguardando a sua aprovação** (`approvals.decide`), **Pedidos a preparar** (`fulfillment.pick` ou `fulfillment.dispatch`), **Entregas a confirmar** (`delivery.confirm`), **Pedidos a receber** (`receipt.confirm`), **Pedidos a encerrar** (`fulfillment.close`), **Rascunhos de pedidos** (`orders.create`), **Alertas de estoque abertos** e **Caixas a contar** (`inventory.read`). |
| **Pedidos** | Quem tem `orders.create`, `orders.read.all`, `approvals.decide` ou qualquer permissão de atendimento | **Novo pedido** e editar seus rascunhos exigem `orders.create`. A opção clínica exige `orders.clinical.create`. **Valor do pedido** e **Referência do paciente** aparecem só com as permissões correspondentes. |
| **Aprovação de pedidos** | Quem tem `approvals.decide` ou `approvals.policy.manage` | A caixa de aprovações, **Aprovar**, **Rejeitar** e **Decisões** exigem `approvals.decide`; **Política de aprovação** exige `approvals.policy.manage`. Os campos de valor da política exigem `orders.value.read`. |
| **Entregas** | Quem tem qualquer permissão de atendimento | Seções **A preparar** (separar ou despachar), **A entregar** (`delivery.confirm`), **A receber** (`receipt.confirm`), **A encerrar** (`fulfillment.close`) e **Problemas de entrega** (`fulfillment.read`). |
| **Unidades** e **Depósitos** | Todas as pessoas | **Nova unidade**, **Novo depósito**, **Nova sala ou área**, renomear e ativar exigem `settings.manage`. |
| **Catálogo** | Todas as pessoas | **Novo insumo**, **Nova categoria**, editar, **Adicionar apresentação**, **Importar CSV** e **Exportar CSV** exigem `catalog.manage` (o CSV também exige a função Proprietário ou Administrador). A coluna **Custo** exige `catalog.cost.read`; editar o **Custo do insumo** exige as duas. |
| **Inventário**, **Reposição**, **Correções de estoque** | Todas as pessoas | O conteúdo exige `inventory.read`. **Receber** exige `inventory.receive`. **Consumir** e **Atribuir** exigem `inventory.consume`. **Transferir** e **Separar parte desta caixa** exigem `inventory.transfer`. **Corrigir esta caixa**, **Tirar a caixa de uso**, **Definir um mínimo**, as contagens e as campanhas de contagem exigem `inventory.adjust`. |
| **Relatórios** | Quem tem `reports.read` | Sem ela, a tela diz **Você precisa da permissão Ver relatórios**. |
| **Equipe** | Quem tem `members.manage` | Veja [Equipe](/docs/pt/account/team). |

**Segurança da conta** (`console.muveya.com/account/security`) não exige permissão.

Telas que avisam que falta uma permissão:

| Tela | Permissão ausente | Mensagem |
| - | - | - |
| **Receber** | `inventory.receive` | **Você não tem permissão para receber entregas. Peça a um administrador a permissão “Receber entregas”.** |
| **Recolhimento de lote** | `inventory.read` | **Você não tem permissão para ver o estoque. Peça acesso a um administrador.** |
| Mínimos e contagem rápida | `inventory.adjust` | **Somente um membro que pode corrigir o estoque pode definir mínimos.** / **Somente um membro que pode corrigir o estoque pode contá-lo.** |
| **Novo pedido** | `orders.create` | **Você não pode criar pedidos. Peça ao administrador da sua clínica a permissão para solicitar insumos.** |
| **Aprovação de pedidos** | `approvals.decide` | **Você não decide aprovações de pedidos. Se deveria, peça a permissão ao administrador da sua clínica.** |
| **Política de aprovação** | `approvals.policy.manage` | **Você não pode alterar a política de aprovação. Peça a permissão ao administrador da sua clínica.** |
| **Entregas** | as seis | **Você não participa das entregas. Pergunte ao administrador da sua clínica se você deveria preparar, entregar ou receber pedidos.** |
| Separação | `fulfillment.pick` | **Você não pode preparar pedidos. Peça ao administrador da sua clínica a permissão para separar.** |
| Entrega | `delivery.confirm` | **Você não pode confirmar entregas. Peça a permissão ao administrador da sua clínica.** |
| Recebimento | `receipt.confirm`, depois `fulfillment.read` | **Você não pode receber pedidos. Peça a permissão ao administrador da sua clínica.** / **Para receber caixa por caixa você também precisa de permissão para ver entregas. Peça ao administrador da sua clínica.** |
| Acompanhamento do pedido | `fulfillment.read` | **Você não pode ver entregas. Peça a permissão ao administrador da sua clínica.** |
| **Equipe** | `members.manage` | **Você não tem acesso à administração da equipe. Consulte o administrador da sua clínica.** |

<Note>
  O botão **Despachar pedido** fica na tela de separação, que exige `fulfillment.pick`. Conceda **Preparar pedidos** a quem despacha. Sem `inventory.read`, **Alertas de estoque**, **Contagens** e as campanhas de contagem mostram só a mensagem de carregamento.
</Note>

## Acesso por local

Cada pessoa tem uma opção para unidades e outra para depósitos:

| Opção | Significado |
| - | - |
| **Todas as unidades desta conta** / **Todos os depósitos desta conta** | Todos os locais, incluindo os criados depois. |
| **Unidades selecionadas** / **Depósitos selecionados** | Exatamente os locais marcados. |
| **Nenhuma unidade** / **Nenhum depósito** | Nenhum. |

O acesso a unidades vale para pedidos, aprovações e custódia. O acesso a depósitos vale para o estoque. A permissão decide **o que** a pessoa pode fazer; o acesso a locais decide **onde**.

| Área | Como o acesso a locais a limita |
| - | - |
| **Pedidos** | As listas mostram só pedidos das suas unidades. Um pedido de outra unidade aparece como inexistente. Para criar um pedido, você precisa da unidade dele e do depósito de destino (**Você não tem unidades atribuídas para criar pedidos. Peça acesso a um administrador.**, **Você não tem nenhum depósito desta clínica atribuído. Peça acesso a um administrador.**). |
| **Aprovação de pedidos** | A caixa de aprovações mostra só pedidos das suas unidades. Decidir um pedido de outra unidade responde que ele não existe. |
| **Entregas** | Separar e acompanhar um pedido são conferidos contra a unidade do pedido. Despachar e confirmar a entrega são conferidos contra a unidade do depósito que abastece o pedido (a própria unidade do pedido quando o estoque vem de um depósito central). Confirmar o recebimento e encerrar são conferidos contra a unidade de destino; se as suas unidades selecionadas incluem tanto a unidade que abastece quanto a de destino desse pedido, você não pode confirmar o recebimento nem encerrá-lo (quem tem todas as unidades pode). Uma caixa escaneada fora dos seus depósitos não confere. |
| **Inventário** | Estoque, caixas, contagens, alertas, reposição e uso mostram só os seus depósitos. Agir sobre uma caixa ou um depósito fora deles responde que não existe. Sem nenhum depósito, as telas dizem **Você não tem depósitos atribuídos. Peça acesso a um administrador.** |
| **Relatórios** | Com depósitos selecionados, o relatório de consumo diz **Inclui apenas os depósitos atribuídos a você, não a clínica inteira.** |
| **Catálogo** | Não é limitado: o catálogo pertence à clínica odontológica inteira. |
| Listas de **Unidades** e **Depósitos** | Não são limitadas: toda pessoa da equipe vê todas as unidades e todos os depósitos da clínica, qualquer que seja seu acesso. |
| **Equipe** | Você só pode conceder locais que alcança, e nunca mudar o seu. |

Chaves de API não são pessoas: sempre alcançam todos os locais da clínica.

## O que o muveya oculta sem permissão

O muveya remove estas informações no servidor antes que cheguem ao console, à API ou ao MCP. O campo não aparece; não fica em branco.

| Informação | Exige | Onde é removida |
| - | - | - |
| Custo de insumos (custo, moeda, status e unidade de medida do custo) | `catalog.cost.read` | Telas do catálogo, exportação CSV do catálogo (as colunas de custo ficam de fora), custo unitário nas linhas de pedido. |
| Valor do pedido (total e moeda), o valor que uma regra de aprovação avaliou e os limites de valor de uma regra | `orders.value.read` | Pedidos, detalhe do pedido, caixa de aprovações, resumo da política de aprovação. No editor da política, quem não tem a permissão vê **Esta regra também tem condições que você não pode alterar aqui; elas são mantidas.** |
| Referência do paciente (`patientRef`) | `orders.patient_ref.read` | Detalhe do pedido. É guardada criptografada e só é descriptografada para quem tem esta permissão. |
| Referência de atendimento no uso | `orders.patient_ref.read` | **Uso por sala ou área** mostra que existe uma referência, sem o valor. |

Alguns lugares nunca mostram esses valores a ninguém: o histórico de custódia, as listas de separação, os alertas de estoque, os relatórios e exportações de análise, e as mensagens do WhatsApp. Chaves de API nunca podem ler valores de pedidos nem referências de pacientes. Veja [Segurança e privacidade](/docs/pt/trust/security-and-privacy).

## Escopos de API e permissões

As chaves de API têm **escopos**, escritos com dois-pontos. Cada escopo corresponde a uma permissão:

| Escopo de API | Permissão que concede | Usado em |
| - | - | - |
| `clinics:read` | `clinics.read` (só API) | `GET /v1/clinics`, `GET /v1/warehouses` |
| `catalog:read` | `catalog.read` | Insumos e categorias do catálogo |
| `catalog.cost:read` | `catalog.cost.read` | Campos de custo dos insumos |
| `inventory:read` | `inventory.read` | Saldos, caixas e movimentos de estoque |
| `orders:read` | `orders.read.all` | Pedidos |
| `fulfillment:read` | `fulfillment.read` | Atendimentos |
| `analytics:read` | `reports.read` | Análises, incluindo `POST /v1/analytics/exports` |

* Não existe escopo para `orders.value.read` nem `orders.patient_ref.read`: esses valores sempre são removidos para chaves de API.
* Não há escopos de escrita nem curingas.
* O console ainda não tem tela para criar ou revogar chaves de API; escreva para [team@muveya.com](mailto:team@muveya.com). Veja [Escopos](/docs/pt/api-reference/scopes).

## Configurações comuns

Estas combinações funcionam com a forma como o muveya confere o acesso hoje. Ajuste os locais para cada pessoa.

| Pessoa | Função | Permissões a marcar |
| - | - | - |
| Auxiliar que registra consumo | **Membro** | **Ver estoque**, **Registrar consumo** |
| Pessoa que recebe entregas em um depósito | **Membro** | **Ver estoque**, **Receber entregas** |
| Responsável pelo depósito que corrige e conta estoque | **Membro** | **Ver estoque**, **Ajustar e contar estoque** |
| Dentista ou coordenador que solicita insumos | **Membro** | **Criar pedidos de materiais** (mais **Criar pedidos clínicos** e **Ver referências externas de pacientes** para pedidos de pacientes) |
| Pessoa que aprova | **Membro** | **Decidir aprovações** (mais **Ver valores dos pedidos** se as suas regras usam valores, e qualquer permissão que uma etapa de regra exija) |
| Operador do depósito central | **Membro** | **Ver estoque**, **Preparar pedidos**, **Despachar pedidos**, **Confirmar entrega**, **Ver atendimento** |
| Pessoa que recebe pedidos em uma unidade | **Membro** | **Confirmar recebimento**, **Ver atendimento**, **Encerrar atendimento** |
| Proprietário que opera a clínica inteira | **Proprietário** | Tudo de que precisa, na própria página: por exemplo **Ver estoque**, **Ajustar e contar estoque**, **Criar pedidos de materiais**, **Ver todos os pedidos**, **Ver valores dos pedidos**, **Gerenciar regras de aprovação**, **Decidir aprovações** e **Ver relatórios** |

Quem aprova não pode aprovar o próprio pedido, e uma etapa de uma regra de aprovação pode exigir uma permissão extra de quem aprova. Veja [Política de aprovação](/docs/pt/orders/approval-policy).

## Páginas relacionadas

<CardGroup cols={2}>
  <Card title="Equipe" icon="users" href="/docs/pt/account/team">
    Mude funções, permissões e acesso a locais.
  </Card>

  <Card title="Segurança e privacidade" icon="lock" href="/docs/pt/trust/security-and-privacy">
    Isolamento, omissão de dados e auditoria.
  </Card>

  <Card title="Unidades" icon="building" href="/docs/pt/locations/clinics">
    Os locais que você atribui às pessoas.
  </Card>

  <Card title="Escopos" icon="code" href="/docs/pt/api-reference/scopes">
    Escopos para chaves de API.
  </Card>
</CardGroup>


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