rev. 20/07/2020 20:54:35
Encontrou alguma incorreção nesta documentação?
Envie um e-mail para cmti_desenvolvimento@mpma.mp.br
API PHP para acesso à base de dados do GESP e autenticação no Active Directory.
Configurar o apache com o virtualhost neste formato:
<VirtualHost *:80>
ServerName servername
DocumentRoot project_dir/public
<Directory project_dir/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
O uso desta API está limitado às aplicações previamente cadastradas. Os parâmetros a seguir devem ser enviados via POST, obrigatoriamente:
Exemplo:
Utilizando /auth/servidor/listar/matricula/000000 a partir de uma aplicação que possui ID PONTO-ELETRONICO e a chave f4ca0883d1f3401753b530d7f1fa0d2d
$url = '/auth/servidor/listar/matricula/000000';
$key = 'f4ca0883d1f3401753b530d7f1fa0d2d';
$otp = md5(date('YmdHis')); // b876aeb93d0b60ee657ab8ef67731731
$hash = sha1($url . $key . $otp); // 73a09b7a3ccb777a04c029d565c48a8cbb19cb2f
Logo, todas as consultas devem enviar
levelapi=2&idapi=PONTO-ELETRONICO&authapi=73a09b7a3ccb777a04c029d565c48a8cbb19cb2f&otpapi=b876aeb93d0b60ee657ab8ef67731731
via POST.
No caso da operação "servidor/autenticar", acrescente às variáveis POST o trecho:
&password=SENHA
A senha deve ser codificada usando base64.
Para solicitar uma chave de aplicação, entre em contato com a SADS (cmti_desenvolvimento@mpma.mp.br).
Veja uma classe cliente de exemplo: AuthConsumer.php
Lista todos os servidores cadastrados no GESP.
Ex.: POST /servidor/listar/all
{"result": [
{
"000000": {
"Matricula": 000000,
"Nome":"Fulano de Souza",
"Email":"fulano.silva@mpma.mp.br",
"uid":"fulano.silva",
"Lotacao": "INFORM\u00c1TICA",
"CargoEfetivo": "ANALISTA MINISTERIAL - INF \/ PROGRAMADOR",
"CargoComissionado": "Não informado",
"exoneracao": null,
"Admissao": "2019-01-15 00:00:00",
"Posse": "2019-01-15 00:00:00"
},
"111111": {
"Matricula": 111111,
"Nome":"Beltrano Silva de Souza",
"Email":"beltrano.silva",
"uid":"beltrano.silva@mpma.mp.br",
"Lotacao": "Gabinete do Procurador de Justiça xxxxxx",
"CargoEfetivo": "Promotor de Justiça",
"CargoComissionado": "Não informado",
"exoneracao": null,
"Admissao": "1985-03-08 00:00:00",
"Posse": "1985-03-09 00:00:00"
},
(...)
]}
Busca Servidor por uid.
Retorna JSON com os dados do servidor cujo UID foi informado:
Ex.: POST /servidor/listar/uid/fulano.souza
{"result":[{
"nome":"Fulano de Souza",
"matricula":"000000",
"email":"fulano.souza@mpma.mp.br",
"uid":"fulano.souza",
"rh":{
"cod_cargo":"127",
"cargo":"ANALISTA MINISTERIAL - INF \/ PROGRAMADOR",
"cod_comissao":"0",
"cargo_comissao":" ",
"cod_setor":"10",
"setor":"INFORM\u00c1TICA",
"cod_comarca":"205",
"comarca":"S\u00c3O LU\u00cdS",
"responsavel_setor": "N",
"gestor_patrimonio": "S",
"exonerado": "0",
"cod_tipo_vinculo":"1",
"tipo_vinculo":"Servidor"
}}]}
Retorna JSON com os dados do servidor cuja matrícula foi informada:
Ex.: POST /servidor/listar/matricula/000000
{"result":[{
"nome":"Fulano de Souza",
"matricula":"000000",
"email":"fulano.souza@mpma.mp.br",
"uid":"fulano.souza",
"rh":{
"cod_cargo":"127",
"cargo":"ANALISTA MINISTERIAL - INF \/ PROGRAMADOR",
"cod_comissao":"0",
"cargo_comissao":" ",
"cod_setor":"10",
"setor":"INFORM\u00c1TICA",
"cod_comarca":"205",
"comarca":"S\u00c3O LU\u00cdS "
"responsavel_setor": "N",
"gestor_patrimonio": "S",
"exonerado": "0"
}}]}
Retorna JSON com os dados do servidor cujo CPF foi informado:
Ex.: POST /servidor/listar/cpf/11122233344
{"result":[{
"nome":"Fulano de Souza",
"matricula":"000000",
"email":"fulano.souza@mpma.mp.br",
"uid":"fulano.souza",
"rh":{
"cod_cargo":"127",
"cargo":"ANALISTA MINISTERIAL - INF \/ PROGRAMADOR",
"cod_comissao":"0",
"cargo_comissao":" ",
"cod_setor":"10",
"setor":"INFORM\u00c1TICA",
"cod_comarca":"205",
"comarca":"S\u00c3O LU\u00cdS "
"responsavel_setor": "N",
"gestor_patrimonio": "S",
"exonerado": "0"
}}]}
Retorna JSON com a lista de matrículas e nomes dos servidores cujo nome contém o texto informado.
Ex.: POST /servidor/listar/nome/Silva
{"result":[
{
"nome":"Fulano Silva",
"matricula":"000000",
"uid":"fulano.silva"
},
{
"nome":"Beltrano Silva de Souza",
"matricula":"111111",
"uid":"fulano.silva"
},
...
{
"nome":"Silvamir Goes",
"matricula":"222222",
"uid":"fulano.silva"
}
]
}
Retorna JSON com a lista de matrículas e nomes dos servidores lotados nos setores informados (códigos) separados por vírgula:
Ex.: POST /servidor/listar/setor/16,10
{"result":[
{
"16":{
"123456":"CLAUDIA OLIVEIRA DO RH",
"234567":"LUIS MAURO PESSOAL",
"345678":"GEISA COORDENADORA DE MORAES",
},
"10":{
"000000":"FULANO DE SOUZA",
"111111":"LUIS FELIPE DE EXEMPLO SILVA",
"222222":"CARLOS HENRIQUE REGISTRO FALSO",
"333333":"PEDRO CLAUDIO INVENTADO LIMA",
}
}
]
}
Retorna JSON com a lista de ausências legais (férias, afastamentos, feriados) para a matrícula e o período informados (em formato AAAAMMDD):
Ex.: POST /servidor/listar-ausencias-legais/000000/20130101/20130301
{"result":[
{
"0":{
"dia_inicio":"2013-01-07",
"dia_fim":"2013-02-05",
"descricao":"F\u00e9rias"
},
"1":{
"dia_inicio":"2013-02-11",
"dia_fim":"2013-02-11",
"descricao":"Feriado"
},
"2":{
"dia_inicio":"2013-02-12",
"dia_fim":"2013-02-12",
"descricao":"Feriado"
},
"3":{
"dia_inicio":"2013-02-13",
"dia_fim":"2013-02-13",
"descricao":"Feriado"
}
}
]
}
Retorna JSON com os dados do servidor cujo UID foi informado na URL e senha passada via POST (parâmetro password). Verifique propriedade "auth" no JSON de retorno:
Ex.: POST /servidor/autenticar/fulano.souza
{"result":[
{
"nome":"Fulano de Souza",
"matricula":"000000",
"email":"fulano.souza@mpma.mp.br",
"uid":"fulano.souza",
"auth": true,
"rh":{
"cod_cargo":"127",
"cargo":"ANALISTA MINISTERIAL - INF \/ PROGRAMADOR",
"cod_comissao":"0",
"cargo_comissao":" ",
"cod_setor":"10",
"setor":"INFORM\u00c1TICA",
"cod_comarca":"205",
"comarca":"S\u00c3O LU\u00cdS "
"responsavel_setor": "N",
"gestor_patrimonio": "S",
"exonerado": "0"
},
"autorizacao":{
"grupos":{
"a":{
"id":1,
"nome":"nome",
"transacoes":{
"permissao 1":{
"id":1,
"descricao":"desc",
"permissoes":{
"alterar":true,
"incluir":false,
"excluir":true,
"consultar":false
}
}
}
}
},
}
}
]
}
Retorna JSON com os tipos de vínculo e dados dos servidores.
{"result":[{
"1":{
"1070738":{"nome":"AAR\u00c3O CARLOS LIMA CASTRO","uid":"aaraocarlos"},
"591537":{"nome":"ABEL JOS\u00c9 RODRIGUES NETO","uid":"abel"}},
"2":{
"1065481":{"nome":"ABIMAEL FREITAS LOPES","uid":"abimaelfreitas"},
"1069152":{"nome":"ABRAH\u00c3O JEFFERSON BATISTA SILVA","uid":"abrahaosilva"}}
}]}
Retorna JSON com os cargos e dados dos servidores.
{"result":[{
"PROMOTOR DE JUSTI\u00c7A":{
"1070738":{"nome":"AAR\u00c3O CARLOS LIMA CASTRO","uid":"aaraocarlos"},
"591537":{"nome":"ABEL JOS\u00c9 RODRIGUES NETO","uid":"abel"}
}}]}
Retorna JSON com as comarcas e dados dos servidores.
{"result":[
{"1":{
"1066828":{"nome":"ANA VIRGINIA PINHEIRO HOLANDA DE ALENCAR","uid":"anavirginia"},
"1070953":{"nome":"ANDREIA AZEVEDO DE ARA\u00daJO","uid":"andreiaazevedo"}}}
]}
Retorna servidores com lotações ativas em cidades com identificadores informados.
{"result": [{
"395": {
"cod_cnes": "211130",
"cod_ibge": null,
"cidade": "SAO LUIS",
"comarca": "Ilha de S\u00e3o Lu\u00eds",
"cod_comarca": "205",
"servidores": {
"1070081": {
"nome": "MAURANIR MARINHO DA COSTA",
"lotacoes": [{
"setor": "Assessoria do Procurador-Geral",
"cod_setor": "2",
"tipo_lotacao": "PRINCIPAL",
"data_inicio": "2007-01-16",
"data_fim": null
}]
}
}
}...
Retorna JSON com os códigos e nomes dos setores cujo nome inicia pelo padrão informado.
{"result":[
{
"2":"ASS. PROCURADOR-GERAL",
"19":"A\u00c7AIL\u00c2NDIA",
"20":"ALTO PARNA\u00cdBA",
"21":"ARAI\u00d3SES",
"93":"ASSESSORIA AUDITORIA INTERNA",
"94":"ARARI",
"99":"ALC\u00c2NTARA",
"105":"ANAJATUBA",
"116":"AMPEM",
"135":"AMARANTE DO MARANHAO",
"143":"ARAME",
"167":"A DISPOSI\u00c7\u00c3O ",
"168":"ASSESSORIA TECNICA",
"208":"ASSESSORIA CONTROLE INTERNO"
}
]
}
Retorna JSON com os códigos e nomes dos setores informados, separados por vírgula:
{"result":[
{
"10":"INFORM\u00c1TICA",
"11":"COORD DE GEST\u00c3O DE PESSOAS"
}
]
}
Retorna JSON com detalhes dos setores informados:
{"result":[
{
"10":{"nome":"INFORM\u00c1TICA","telefones":"X"},
"11":{"nome":"COORD DE GEST\u00c3O DE PESSOAS","telefones":"Y"},
}
]
}
Retorna JSON com os dados dos servidores lotados nos setores informados, separados por vírgula:
{"result":[
{
"10":{
"codigo":"10",
"setor":"INFORM\u00c1TICA",
"servidores":[
{
"matricula":"0000000",
"nome":"Fulano de Souza",
"codigo_cargo_efetivo":"126",
"cargo_efetivo":"ANALISTA MINISTERIAL - INF\/ SUPORTE",
"codigo_cargo_comissionado":"18",
"cargo_comissionado":"COORDENADOR CC-08"
},
{
"matricula":"0000001",
"nome":"Beltrano de Souza",
"cod_cargo":"127",
"cargo":"ANALISTA MINISTERIAL - INF \/ PROGRAMADOR",
"codigo_cargo_comissionado":"18",
"cargo_comissionado":""
}
]
}
"11":{
...
}
}
]
}
Retorna JSON com os dados das cidades da base. Opcionalmente, podem ser filtradas pelos códigos informados separados por vírgula:
Ex.: POST /setor/obter-cidade/9,35,49,61
{
"result": [
{
"9": "COELHO NETO",
"35": "IGARAPE GRANDE",
"49": "SAO BENTO",
"61": "TUNTUM"
}
]
}
Retorna JSON com os dados das unidades da base. Opcionalmente, podem ser filtradas pelos códigos informados separados por vírgula:
Ex.: POST /setor/obter-unidade/10,11
{
"result": [
{
"10": {
"idUnidade": 10,
"idUnidadePai": 14,
"idTipoUnidade": null,
"idEmpresa": 2,
"nome": "Coordenadoria de Modernização e Tecnologia da Informação",
"dataInicio": "2018-09-27",
"dataFim": null,
"descricao": "",
"email": "",
"aceitaEntregaProduto": "N",
"idCalendario": 2,
"sigla": "CMTI",
"idGrupo": null,
"endereco": "Avenida Carlos Cunha s/n - Jaracaty",
"numero": "",
"complemento": "",
"bairro": "",
"fone": "1641/1642/1745",
"idCidade": 395,
"idPais": 1,
"cep": "65076906",
"idUF": 15,
"latitude": null,
"longitude": null
},
"11": {
"idUnidade": 11,
"idUnidadePai": 14,
"idTipoUnidade": null,
"idEmpresa": 2,
"nome": "Coordenadoria de Gestão de Pessoas",
"dataInicio": "2018-09-27",
"dataFim": null,
"descricao": "",
"email": "",
"aceitaEntregaProduto": "N",
"idCalendario": 2,
"sigla": "CGP",
"idGrupo": null,
"endereco": "Avenida Carlos Cunha s/n - Jaracaty",
"numero": "",
"complemento": "",
"bairro": "",
"fone": "3219-1646/1647/1648/1760",
"idCidade": 395,
"idPais": 1,
"cep": "65076906",
"idUF": 15,
"latitude": null,
"longitude": null
}
}
]
}
Retorna JSON com o nome do vínculo associado ao identificador:
{"result":[{"1":"Membro"},{"2":"Servidor"}]}
Retorna JSON com os códigos e nomes dos vínculos cujo nome inicia pelo padrão informado.
{"result":[{"1":"Membro"}]}
Retorna JSON com o nome do vínculo associado ao identificador:
{"result":[{"8":"Mirador","9":"Riach\u00e3o","12":"Icatu"}]}
Retorna JSON com os códigos e nomes dos vínculos cujo nome inicia pelo padrão informado.
{"result":[{"205":"Ilha de S\u00e3o Lu\u00eds","120":"Pa\u00e7o do Lumiar","15":"Santa Luzia do Paru\u00e1","33":"Santa Luzia do Tide","50":"S\u00e3o Luiz Gonzaga"}]}
Retorna JSON com os códigos e nomes dos vínculos cujo nome inicia pelo padrão informado.
{"result":[{
"10":"INFORM\u00c1TICA",
"11":"COORD DE GEST\u00c3O DE PESSOAS"
}]}
Retorna JSON com os feriados válidos em um determinado local
{"result":[
{
"0":{
"dia_inicio":"2013-01-07",
"dia_fim":"2013-02-05",
},
"1":{
"dia_inicio":"2013-02-11",
"dia_fim":"2013-02-11",
"descricao":"Feriado"
},
"2":{
"dia_inicio":"2013-02-12",
"dia_fim":"2013-02-12",
"descricao":"Feriado"
},
"3":{
"dia_inicio":"2013-02-13",
"dia_fim":"2013-02-13",
"descricao":"Feriado"
}
}
]
}