Árvore de páginas

Versões comparadas

Chave

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

1.        Informações Informações Gerais

Especificação
Produto

 Microsiga Protheus

Módulo

 Jurídico

Segmento Executor

 Serviços

Projeto


IRM


Requisito


Subtarefa


2.        ObjetivoObjetivo

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 Definições de Serviços

3.1.             GET/JURLEGALPROCESS/process

...

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "operation": "ListProcess",
    "userName": "Totvers",
    "hasNext": false,
    "processes": [
        {
            "assJurDesc": "Contencioso",
            "assJur": "001",
            "entryDate": "20170928",
            "processId": "0000000062",
           "provisionValue": 10000,
           "oppositeParty": "Marcelo Araujo Dente",
            "area": [
                {
                    "description": "Trabalhista",
                    "code": "000001",
                }
            ],
            "instance": [
                 {
                         "processNumber": "84939439843924"'
                 }
            ],
             "company": [
                {
                    "name": "LEGALTASK 001",
                    "code": "JLT001-01",
                }
            ],
            "staff": [
                {
                    "position": "Responsável",
                    "initials": "WYK",
                    "name": "WILLIAN KAZAHAYA",
                },
                {
                    "position": "Advogado",
                    "initials": "",
                    "name": "",
                },
                {
                    "position": "Estagiário",
                    "initials": "",
                    "name": "",
                }
            ],
            "matter": [
                {
                    "description": "LEGALTASK 001//090807060504030201",
                    "code": "000001",
                }
            ],
            "subarea": [
                {
                    "description": "CONTENCIOSO",
                    "code": "000001",
                }
            ],
            "status": [
                {
                    "description": "Em andamento",
                    "code": "1",
                }
            ]
        }



Descrição dos Campos:

  • userName: Nome do usuário logado.
  • operation: Qual tipo de operação.
  • 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).
  • processes: Array de processos.
  • processes[n].processId: Identificador único do processo.
  • processes[n].oppositeParty: Nome da outra parte.
  • processes[n].assJurDesc: Descrição Assunto.
  • processes[n].assJur: Código Assunto.
  • processes[n].entryDate: Data de entrada, no formato Protheus YYYYMMDD.
  • processes[n].provisionValue: Valor total do processo (somatória dos valores e contingência)
  • processes[n].area: Array com as Áreas do processo.
  • processes[n].area[i].description: Descrição da área do processo.
  • processes[n].area[i].code: Código da área do processo.
  • processes[n].company: Array que indica dados da empresa.
  • processes[n].company[x].code: Código da empresa.
  • processes[n].staff: Array com os participantes do jurídico no processo.
  • processes[n].staff[m].position: Cargo do participante.
  • processes[n].staff[m].initials: Sigla do participante.
  • processes[n].staff[m].name: Nome do participante.
  • processes[n].matter: Array da Pasta (ou caso) do processo.
  • processes[n].matter[x]:code: Código do caso.
  • processes[n].matter[x]:Description: Descrição da pasta (ou caso).
  • processes[n].subArea: Array com as Subáreas do processo.
  • processes[n].subArea[i].description: Descrição da Subárea do processo.
  • processes[n].subArea[i].code: Código da Subárea do processo.
  • processes[n].status: Array com Status do processo. (Em Andamento, Encerrado)
  • processes[n].status.description: Descrição do Status.
  • processes[n].status.code: Código do Status.
  • processes[n].instance: Array com as Instâncias.
  • processes[n].instance[a].processNumber: Número do processo da Instância.

Parâmetros aceitos:

  • language

...

  • Indica o idioma que os labels

...

  • devem retornar. Todos os labels que

...

  • podem ser traduzidos devem ser traduzidos. Os seguintes idiomas

...

  • podem ser selecionados pelo app: "en"=Inglês, "pt"="Português", "es"="Espanhol. Qualquer valor diferente dos citados (ou a omissão do parâmetro) deve considerar como padrão o "pt".              
  • order 
    Ordem padrão.
  • page e pageSize

...

  • - Utilizados para fazer paginação.

             A primeira página é a 1

             Se não for enviado um page, considerar a página 1.

             Se não for passado um pageSize, considerar o tamanho de página como 10.

             TODA requisição de lista deve retornar um atributo hasNext indicando se atingiu a última página ou não.

             Exemplos: (Supondo supondo que existam 32 registros na base):

...

            Informa quais campos devem ser retornados na requisição.

            Se o fields não for informado, trazer todos os campos disponíveis.

            Exemplos:

            GET /processess?fields=processId,client,detailing -> Retorna somente os campos ID do processo, Cliente e Detalhamento.

...

                - searchKey: Filtro chave, capaz de filtrar em diversos campos diferentes do processo (máximo de lugares possível.

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


Em desenvolvimento:

(

                - area: Filtra pela área

...

                - status: Filtra pelo status do processoid

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

...

  • userName: Nome do usuário logado.

  • 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).

  • processes: Array de processos.

  • processes[n].processId: Identificador único do processo.

  • operation: Qual tipo de operação.

  • processes[n].oppositeParty: Nome da parte contraria.

  • processes[n].provisionValue: Valor total do processo (somatória dos valores e contingência)

  • processes[n].fups: Array de Follow Ups do processo. Trazer somente os últimos 4 (ver parâmetro abaixo).

  • processes[n].fups[e].tipFup: Tipo do FUP.

  • processes[n].fups[e].id: Identificador único do FUP.

  • processes[n].fups[e].status: Status do Follow-up: 0->Pendente, 1->Concluído, 2->em andamento.

  • processes[n].fups[e].responsable: Array de Responsável pelo Follow-up.

  • processes[n].fups[e].responsable[x].id: Id do responsável do Follow-up.

  • processes[n].fups[e].responsable[x].acronym: Acrónimo do responsável do Follow-up.

  • processes[n].fups[e].responsable[x].email: E-mail do responsável do Follow-up.

  • processes[n].fups[e].responsable[x].name: Nome do responsável do Follow-up.

  • processes[n].fups[e].responsable[x].fone: Fone do responsável do Follow-up.

  • processes[n].fups[e].title: Título do follow-up.

  • processes[n].fups[e].date: Data do Follow-up no formato YYYYMMDD.

  • processes[n].fups[e].hour: Hora do follow-up no formato HH:mm.

  • processes[n].injuctions: Array com liminares do processo.

  • processes[n].injuctions[w].id: Código da liminar.

  • processes[n].injuctions[w].title: Título da liminar.

  • processes[n].injuctions[w].date: Data da liminar.

  • processes[n].injuctions[w].sentence: Texto da liminar.

  • processes[n].status: Array com Status do processo. (Em Andamento, Encerrado)

  • processes[n].status.description: Descrição do Status.

  • processes[n].status.code: Código do Status.

  • processes[n].values_and_contingency: Array de Objetos.

  • processes[n].values_and_contingency.values: Array de valores do Objeto.

  • processes[n].values_and_contingency.values[y].currency: Descrição do valor.

  • processes[n].values_and_contingency.values[y].description: Símbolo da moeda do valor.

  • processes[n].values_and_contingency.values[y].value: Valor.

  • processes[n].values_and_contingency.description: Descrição 

  • processes[n].values_and_contingency.probability_of_winning: probabilidade de vitória

  • processes[n].party: Array com as partes envolvidas no processo.

  • processes[n].party[k].position: Cargo do envolvido.

  • processes[n].party[k].id: ID do envolvido.

  • processes[n].party[k].relationName: Nome da relação do envolvido.

  • processes[n].party[k].relationCode: Código da relação do envolvido.

  • processes[n].party[k].name: Nome do envolvido.

  • processes[n].party[k].main: Main do envolvido.

  • processes[n].party[k].entity: Entidade do envolvido.

  • processes[n].party[k].sourceEntity: Tabela do envolvido.

  • processes[n].party[k].code: Código do envolvido.

  • processes[n].party[k].positionCode: Código da posição do envolvido.

  • processes[n].expenses: Array com as despesas do processo.

  • processes[n].expenses[g].identifier: Identificador do tipo de despesa (D, etc).

  • processes[n].expenses[g].description: Descrição da despesa.

  • processes[n].expenses[g].date: Data da despesa.

  • processes[n].expenses[g].value: Valor da despesa.

  • processes[n].subArea: Array com as Subáreas do processo.

  • processes[n].subArea[i].description: Descrição da Subárea do processo.

  • processes[n].subArea[i].code: Código da Subárea do processo.

  • processes[n].assJur: Código Assunto.

  • processes[n].assJurDesc: Descrição Assunto.

  • processes[n].instance: Array com as Instâncias.

  • processes[n].instance[a].districtCourt:Tipo do tribunal da Instância.

  • processes[n].instance[a].distribution: Distribuição da Instância.

  • processes[n].instance[a].processNumber: Número do processo da Instância.

  • processes[n].instance[a].branch: Ramo da Instância.

  • processes[n].instance[a].id:Id da Instância.

  • processes[n].instance[a].instaAtual: Instância atual do processo (1=Sim; 2=Não)

  • processes[n].instance[a].city: Cidade da Instância.

  • processes[n].instance[a].cityCode: Código da cidade da Instância.

  • processes[n].instance[a].numInstance: Número da Instância.

  • processes[n].instance[a].natureCode: Código da natureza da Instância.

  • processes[n].instance[a].local: Local da Instância.

  • processes[n].instance[a].displayName: Nome da Instância.

  • processes[n].instance[a].nature: Natureza da Instância.

  • processes[n].decisions: Array de decisões prévias do processo.

  • processes[n].decisions[t].id: Código do parecer.

  • processes[n].decisions[t].title: Título do parecer.

  • processes[n].decisions[t].date: Data do parecer, no formato Protheus YYYYMMDD.

  • processes[n].decisions[t].sentence: Texto do parecer (SE FOR MUITO GRANDE SEPARAR).

  • processes[n].decisions[t].instance: Instância.

  • processes[n].guarantees: Array com as garantias do processo.

  • processes[n].guarantees[z].identifier: Identificador do tipo de garantia (G, A).

  • processes[n].guarantees[z].description: Descrição da garantia.

  • processes[n].guarantees[z].date: Data da garantia.

  • processes[n].guarantees[z].value: Valor da garantia.

  • processes[n].matter: Array da Pasta (ou caso) do processo.

  • processes[n].matter[x]:code: Código do caso.

  • processes[n].matter[x]:Description: Descrição da pasta (ou caso).

  • processes[n].entryDate: Data de entrada, no formato Protheus YYYYMMDD.

  • processes[n].staff: Array com os participantes do jurídico no processo.

  • processes[n].staff[m].position: Cargo do participante.

  • processes[n].staff[m].initials: Sigla do participante.

  • processes[n].staff[m].name: Nome do participante.

  • processes[n].closure: Array que indica dados do encerramento.

  • processes[n].closure[a].veredict: Texto do encerramento do processo.

  • processes[n].closure[a].finalValue: Valor final do processo.

  • processes[n].closure[a].Description: Indica a descrição do motivo do encerramento, campo tabelado.

  • processes[n].closure[a].date: Data do encerramento.

  • processes[n].closure[a].Type: Indica o código do motivo do encerramento, campo tabelado.

  • processes[n].company: Array que indica dados da empresa.

  • processes[n].company[x].name: Nome da empresa.

  • processes[n].company[x].code: Código da empresa.

  • processes[n].area: Array com as Áreas do processo.

  • processes[n].area[i].description: Descrição da área do processo.

  • processes[n].area[i].code: Código da área do processo.

  • processes[n].history: Array de andamentos do processo.

  • processes[n].history[q].id: Id do andamento.

  • processes[n].history[q].title: Título do andamento.

  • processes[n].history[q].date: Data do andamento.

...

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

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

...

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


3.4.             GET /JURLEGALPROCESS/areas

...

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

...

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

...