Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice
1. Informações Gerais

Especificação
Produto

 Microsiga Protheus

Módulo

 Jurídico

Segmento Executor

 Serviços

Projeto


IRM


Requisito


Subtarefa


2. Objetivo

Os serviços especificados neste serão consumidos pelo aplicativo Legal Process e tem por objetivo permitir ao usuário consultar os processos cadastrados na base Protheus de um smartphone ou tablet.

3. Definições de Serviços

3.1. GET/JURLEGALPROCESS/process

Retorna a lista de processos disponíveis para consulta, no formato indicado abaixo:

...

Exemplos: party.name, processes[n].instance[a].processNumber)

Em desenvolvimento:

(

                - area: Filtra pela área

                - subarea: Filtra pela subarea

                - status: Filtra pelo status do processoid

                - entryDateStart: Filtra pela data de entrada do processo, datas maiores ou iguais às informadas

                - entryDateEnd: Filtra pela data de entrada do processo, datas menores ou iguais às informadas

                - distributionDateStart: Filtra pela data de distribuição do processo, datas maiores ou iguais às informadas

                - distributionDateEnd: Filtra pela data de distribuição do processo, datas menores ou iguais às informadas

                - originInstance: Filtra pela instância de origem, será enviado o código da instância de origem

)

O retorno da requisição, em caso de sucesso, deve ser um HTTP 200 OK.

3.2. Get/JURLEGALPROCESS/processes/{processID}

Este serviço deve retornar somente um processo, com os detalhes do mesmo. Os atributos retornados seguem o mesmo padrão do serviço que retorna a lista de processos, porém, este serviço somente aceita o parâmetro fields.


O retorno da requisição, em caso de sucesso, deve ser um HTTP 200 OK.

3.2. Get/JURLEGALPROCESS/processes/{processID}

Este serviço deve retornar somente um processo, com os detalhes do mesmo. Os atributos retornados seguem o mesmo padrão do serviço que retorna a lista de processos, porém, este serviço somente aceita o parâmetro fields.

Bloco de código
languagejs
themeRDark
titleresponse.json
collapse
Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "operation": "ListProcess",
    "userName": "Totvers",
    "length": 11,
    "processes": [
        {
  			"processId": "0000000063",
            "fup": [
                               {
                    "tipFup": "1",
                    "id": "1000000017",
                    "status": "001",
                    "responsable": [
                        {
                            "id": "002183",
                            "acronym": "WYK",
                            "email": "[email protected]",
                            "name": "WILLIAN KAZAHAYA",
                            "fone": ""
                        }
                    ],
                    "tipFupDesc": "Pendente",
                    "title": "PROVIDENCIA",
                    "date": "20170928",
                    "hour": ":"
                }
            ],
            "injuctions": [
			           {
                            "id": "0000000001",
							"title": "Liminar Revogada", 
							"date": "20170322",
							"sentence": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."}],			
            "assJurDesc": "Contencioso",
            "status": [
                {
                    "description": "Em andamento",
                    "code": "1"
                }
            ],
            "values_and_contingency": [
                {
                    "values": [
                        {
                            "currency": "R$",
                            "description": "",
                            "value": 1000
                        }
                    ],
                    "description": "CT059-JURA162",
                    "probability_of_winning": ""
                }
            ],
            "party": [
                {
                    "position": "",
                    "id": "0000000066",
                    "relationName": "Reclamante",
                    "relationCode": "01",
                    "name": "LEGALTASK 001",
                    "main": "1",
                    "entity": "JLT00101",
                    "sourceEntity": "SA1",
                    "code": "JLT001-01",
                    "positionCode": ""
                }
            ],
            "oppositeParty": "Cliente Juridico",         
            "provisionValue": 10000, 
            "expenses": [
                {
                    "identifier": "Taxi",
                    "description": "CT-007",
                    "date": "20161208",
                    "value": ""
                },
                {
                    "identifier": "TIPO DE DESPESA EXCLUSIVO P/ CT013 (JURA099)",
                    "description": "CT013-JURA099",
                    "date": "20161208",
                    "value": ""
                },
            ],
				    "area": [
                {
                    "description": "Trabalhista",
                    "code": "001"
                }
            ],
            "subarea": [
                {
                    "description": "CONTENCIOSO",
                    "code": "000001"
                }
            ],
            "assJur": "001",
            "assJurDesc": "Contencioso",
            "instance": [
                {
                    "districtCourt": "Tribunal de Justica",
                    "distribution": "",
                    "processNumber": "090807060504030201",
                    "branch": "3a Camara do Tribunal de Justica do Estado de SP",
                    "id": "0000000063",
                    "instaAtual": "1",
                    "city": "",
                    "cityCode": "",
                    "numInstance": "1",
                    "natureCode": "001",
                    "local": "Sao Paulo",
                    "displayName": "1a Instancia",
                    "nature": "Judicial"
                }
            ],
            "decisions" : [
                {
					"id": "0000000001",
                    "title": "Setença Procedente",
                    "date": "20170222",
                    "sentence" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo 							                                   
						Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                    "instance": "1ª"
                }
            ],
            "guarantees" : [
                {
                    "identifier": "G",
                    "description": "Depósito Recursal",
                    "date": "20170222",
                    "value": 10000.00
                }
            ],
            "matter": [
                {
                    "description": "LEGALTASK 001//090807060504030201",
                    "code": "000001"
                }
            ],
            "entryDate": "20170928",
            "staff": [
                {
                    "position": "Responsável",
                    "initials": "WYK",
                    "name": "WILLIAN KAZAHAYA"
                },
                {
                    "position": "Advogado",
                    "initials": "",
                    "name": ""
                },
                {
                    "position": "Estagiário",
                    "initials": "",
                    "name": ""
                }
            ],
            "closure": [
                {
                    "veredict": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
                                consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                    "finalValue":  1000.00,,
                    "description": "VITÓRIA",
                    "date": "YYYYMMDD",
                    "type": "1"
                }
            ],
            "company": [
                {
                    "name": "LEGALTASK 001",
                    "code": "JLT001-01"
                }
            ],
            "history": [
                {
                    "id": "0000000010",
                    "title": "Acompanhamento Decisória",
                    "date": "20171017"
                },
                {
                    "id": "0000000013",
                    "title": "Acompanhamento Decisória",
                    "date": "20171023"
                }
            ]
        }
    ]
}

...

O retorno da requisição, em caso de sucesso, deve ser um HTTP 200 OK.

3.3. GET /JURLEGALPROCESS/processes/{processID}/fups

Retorna os Follow Ups dos Processos, no seguinte formato:

...

O retorno da requisição, em caso de sucesso, deve ser um HTTP 200 OK.

3.4. GET /JURLEGALPROCESS/areas

Retorna as áreas disponíveis, no seguinte formato:

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "hasNext": true,
    "areas": [
        {
            "subarea": [
                {
                    "descriptionSub": "SUBAREA TRABALHISTA",
                    "idSub": "00000"
                },
                {
                    {
                    "descriptionSub": "sub trab",
                    "idSub": "00001"
                }
            ],
            "id": "001",
            "description": "Trabalhista"
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).

  • areas: Array das areas.

  • areas[n].id: Id da area.

  • areas[n].description: Descrição da area.

  • areas[n].subareas: Array das subareas.

  • areas[n].subareas[n].idSub: Id da subarea.

  • areas[n].subareas[n].descriptionSub: Descrição da subarea.

...

   "descriptionSub": "sub trab",
                    "idSub": "00001"
                }
            ],
            "id": "001",
            "description": "Trabalhista"
        }
    ]
}

Descrição dos Campos:

  • hasNext: Indica se existe mais uma página de resultados ou se já está na última página (ver mais detalhes nos parâmetros aceitos: page e pageSize).

  • areas: Array das areas.

  • areas[n].id: Id da area.

  • areas[n].description: Descrição da area.

  • areas[n].subareas: Array das subareas.

  • areas[n].subareas[n].idSub: Id da subarea.

  • areas[n].subareas[n].descriptionSub: Descrição da subarea.

Os  parâmetros aceitos serão: searchKey, page e pageSize.

O retorno da requisição, em caso de sucesso, deve ser um HTTP 200 OK.

3.5. GET /JURLEGALPROCESS/tlprocess/grupoAprv

Retorna os grupos de aprovação, no seguinte formato:

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "groupApprover": [
        {
            "filial": "D MG 01 ",
            "id": "0000001",
            "codResp": "123456",
            "approver": "João da Silva",
            "minLimit": 1000,
            "maxLimit": 1500000
        }
    ]
}

Descrição dos Campos:

  • groupApprover: Array das grupo de aprovador.
  • groupApprover[n].id: Id do aprovador na tabela de Aprovadores.

  • groupApprover[n].codResp: Id do responsável vinculado ao Aprovador.

  • groupApprover[n].approver: Nome do responsável.

  • groupApprover[n].minLimit: Valor minimo do aprovador.

  • groupApprover[n].maxLimit: Valor máximo do aprovador.

O retorno da requisição, em caso de sucesso, deve ser um HTTP 200 OK.

3.6. GET /JURLEGALPROCESS/tlprocess/tabGen/{codTabela}

Retorna dados da tabela genérica (SX5), filtrando pelo código da tabela informado, no seguinte formato:

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "result": [
        {
            "filial": "D MG 01 ",
            "tabela": "05",
            "chave": "BOL",
            "descricao": "Boleto",
            "descrispa": "Boleta",
            "descrieng": "Docket"
        }
    ]
}

Descrição dos Campos:

  • result: Array de resultado.
  • result[n].filial: Filial da tabela.

  • result[n].tabela: Código da tabela.

  • result[n].chave: Chave do registro.

  • result[n].descricao: Descrição em Português.

  • result[n].descrispa: Descrição em Espanhol.

  • result[n].descrieng: Descrição em Inglês.

Os  parâmetros aceitos serão: searchKey, chaveTab.

O retorno da requisição, em caso de sucesso, deve ser um HTTP 200 OK.

3.7. GET /JURLEGALPROCESS/tlprocess/sysParam/{codParam}

Retorna o valor do parâmetro informado, no seguinte formato:

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "sysParam":{
		"name":"MV_JGERDES",
		"value":"2"
	}
}

Descrição dos Campos:

  • sysParam: Array de dados do parâmetro.
  • sysParam.name: nome do parâmetro
  • sysParam.value: valor do parâmetro

O retorno da requisição, em caso de sucesso, deve ser um HTTP 200 OK.


3.8. GET /JURLEGALPROCESS/fields

Retorna a lista de campos disponíveis para pesquisa, no seguinte formato:

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
"result": [{"codigo": "000000867"
"field": "NSY_COD",
"table": "NSYT10",
"title": "Codigo OBJETO",
"type": "C","f3fields": "NSP_COD-NSP_DESC","comboOptions": [[ "1","Sim"],
["2","Não"]]
}]}

Descrição dos Campos:

  • codigo: Código do registro na tabela NVH.
  • field: Nome do campo
  • table: Nome da Tabela
  • title: Título do campo
  • type: Tipo de dado do campo que pode ser: ("C"aracter, "N"umérico, "D"ata, "COMBO" ou "F3" Tabelado)
  • f3fields: Traz o nome do campo chave e do campo Label para montagem do como F3. Só é exibido caso o tipo for F3
  • comboOptions: Array com as opções do

O retorno da requisição, em caso de sucesso, deve ser um HTTP 200 OK.


3.9. GET /JURLEGALPROCESS/f3list/{campof3}

Retorna a lista de ítens do campo tabelado requisitado, no seguinte formato:

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "f3Options": [
        [
            "0001",
            "Horas extras"
        ]
    ]
}

Descrição dos Campos:

  • f3Options: Array trazendo as opções para o campo F3

O retorno da requisição, em caso de sucesso, deve ser um HTTP 200 OK.


4. Mensagens de Erro

As mensagens de erro deveram obedecer um padrão único, independente do serviço solicitado, de acordo com a ocorrência.

4.1. Corpo padrão da resposta

Todas as mensagens de erro devem possuir a mesma estrutura de campos na resposta:

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "code": "Código do Erro", 
    "message": "Título da mensagem de erro",
    "detailMessage": "Mensagem de erro detalhada"
}

4.2. Tentativa de acesso à um dado restrito

Deve retornar um status http 403 FORBIDDEN.

...

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "code": "403", 
    "message": "Acesso Negado",
    "detailMessage": "O usuário informado não tem acesso à informação solicitada"
}

4.3. Não conseguiu identificar o usuário logado

Deve retornar um status http 400 UNAUTHORIZED.

...