Pular para o conteúdo principal

Cargas por patriarca

Os endpoints abaixo são usados quando a autorização de sistema permite editar todo um patriarca (por exemplo, todo o Governo do ES).

Rota base da API v3:

/v3/cargas/patriarcas

Headers comuns a todos os endpoints:

  • Authorization: Bearer {access_token}
  • Content-Type: application/json (para requisições com corpo)

Parâmetro de query comum aos endpoints de envio de carga (POST):

NomeTipoObrigatórioPadrãoDescrição
dryRunbooleanNãofalseQuando true, a carga é executada em modo de simulação: as validações e o cálculo de alterações são realizados, mas nada é persistido. O resultado pode ser consultado pelo relatório da carga.

POST /v3/cargas/patriarcas/{patriarcaId}/organograma

Envia a estrutura completa de órgãos e unidades de um patriarca.

POST /v3/cargas/patriarcas/{patriarcaId}/organograma?dryRun=false

Parâmetros de rota

NomeTipoObrigatórioDescrição
patriarcaIdGUIDSimIdentificador do patriarca onde a carga será aplicada.

Corpo (JSON)

O corpo da requisição deve seguir o modelo CargaOrganogramaEntrada, com:

  • PatriarcaId (deve ser igual ao patriarcaId da rota)
  • Orgaos[] (cada um com suas Unidades[])

Resposta

  • 201 Created com um Guid no corpo que identifica o pedido de carga.
  • Em caso de erro de validação ou autorização, retorna erro 4xx com mensagem explicando o problema.

O Guid retornado pode ser usado para consultar o status:

  • GET /v3/cargas/{cargaId}

POST /v3/cargas/patriarcas/{patriarcaId}/orgaos/{orgaoId}/organograma

Envia a estrutura de unidades de um órgão específico dentro de um patriarca autorizado, sem afetar os demais órgãos.

POST /v3/cargas/patriarcas/{patriarcaId}/orgaos/{orgaoId}/organograma?dryRun=false

Parâmetros de rota

NomeTipoObrigatórioDescrição
patriarcaIdGUIDSimIdentificador do patriarca onde a carga será aplicada.
orgaoIdGUIDSimIdentificador do órgão cuja subárvore está sendo enviada.

Corpo (JSON)

O corpo segue o modelo CargaOrgaoAvulsoOrganogramaEntrada, com:

  • RaizId
  • Orgao (um OrgaoEntrada com suas Unidades[])

Resposta

  • 201 Created com um Guid identificando o pedido de carga.
  • Erros de validação/autorização retornam 4xx.

POST /v3/cargas/patriarcas/{patriarcaId}/lotacoes

Envia a carga completa de lotações de um órgão específico dentro de um patriarca.

POST /v3/cargas/patriarcas/{patriarcaId}/lotacoes?dryRun=false

Parâmetros de rota

NomeTipoObrigatórioDescrição
patriarcaIdGUIDSimIdentificador do patriarca da autorização da carga.

Corpo (JSON)

O corpo da requisição deve ser um objeto seguindo o modelo CargaLotacaoEntrada , contendo:

  • PatriarcaId
  • ChaveExternaOrgao
  • OcupacaoServidor[], LotacoesServidor[], Gestores[]
  • OcupacaoComissao[], Comissoes[], LotacoesComissao[]

A carga é sempre completa para aquele órgão.

Resposta

  • 201 Created com um Guid identificando o pedido de carga.
  • Erros de validação/autorização retornam 4xx.

O Guid retornado pode ser usado para consultar o status:

  • GET /v3/cargas/{cargaId}

POST /v3/cargas/patriarcas/{patriarcaId}/lotacoes/pacote

Envia lotações de vários órgãos de uma vez, dentro de um mesmo patriarca.

POST /v3/cargas/patriarcas/{patriarcaId}/lotacoes/pacote?dryRun=false

Parâmetros de rota

NomeTipoObrigatórioDescrição
patriarcaIdGUIDSimIdentificador do patriarca da autorização da carga.

Corpo (JSON)

O corpo é um array de objetos CargaLotacaoEntrada:

[
{
"PatriarcaId": "GUID-DO-PATRIARCA",
"ChaveExternaOrgao": "ORG-SESA",
"OcupacaoServidor": [ ... ],
"LotacoesServidor": [ ... ],
"Gestores": [ ... ],
"OcupacaoComissao": [ ... ],
"Comissoes": [ ... ],
"LotacoesComissao": [ ... ]
},
{
"PatriarcaId": "GUID-DO-PATRIARCA",
"ChaveExternaOrgao": "ORG-SEJUS",
"OcupacaoServidor": [ ... ],
"LotacoesServidor": [ ... ],
"Gestores": [ ... ],
"OcupacaoComissao": [ ... ],
"Comissoes": [ ... ],
"LotacoesComissao": [ ... ]
}
]

Regras importantes:

  • Todos os itens do array devem referenciar o mesmo patriarca.
  • Não pode haver órgãos repetidos (ChaveExternaOrgao) na mesma carga.
  • Para cada órgão, o conteúdo é interpretado como carga completa.

Resposta

  • 201 Created com um Guid identificando o pedido de carga (pacote único).
  • Erros de validação/autorização retornam 4xx.

Quando há muitos órgãos dentro de um patriarca, este endpoint reduz o tempo total de atualização, evitando várias cargas sequenciais órgão a órgão.

POST /v3/cargas/patriarcas/{patriarcaId}/pacote-completo

Envia, em uma única chamada, o organograma completo do patriarca e as lotações de todos os seus órgãos.

POST /v3/cargas/patriarcas/{patriarcaId}/pacote-completo?dryRun=false

Parâmetros de rota

NomeTipoObrigatórioDescrição
patriarcaIdGUIDSimIdentificador do patriarca da autorização da carga.

Corpo (JSON)

O corpo segue o modelo CargaCompletaPatriarca:

{
"Organograma": {
"PatriarcaId": "GUID-DO-PATRIARCA",
"Orgaos": [ ... ]
},
"Lotacoes": [
{
"PatriarcaId": "GUID-DO-PATRIARCA",
"ChaveExternaOrgao": "ORG-SESA",
...
}
]
}
  • Organograma: um objeto CargaOrganogramaEntrada.
  • Lotacoes: um array de CargaLotacaoEntrada (um item por órgão, sem repetir ChaveExternaOrgao).

Resposta

  • 201 Created com um Guid identificando o pedido de carga (pacote único).
  • Erros de validação/autorização retornam 4xx.

GET /v3/cargas/patriarcas/{patriarcaId}

Retorna a situação dos últimos pedidos de carga para um patriarca.

GET /v3/cargas/patriarcas/{patriarcaId}?limit=10

Parâmetros de rota

NomeTipoObrigatórioDescrição
patriarcaIdGUIDSimIdentificador do patriarca cuja fila será consultada.

Parâmetros de query

NomeTipoObrigatórioPadrãoDescrição
limitinteiroNão10Número de itens retornados na consulta. Entre 1 e 10.

Resposta

  • 200 OK com uma lista de objetos de status (CargaViewModel) das cargas mais recentes daquele patriarca. Veja o formato em Consulta de status e relatório.
  • Erros de validação/autorização retornam 4xx.

Este endpoint é útil para monitorar as últimas cargas realizadas sem precisar guardar os Guid de cada pedido.

Para consultar uma carga específica, use:

  • GET /v3/cargas/{cargaId}