Árvore de páginas

Versões comparadas

Chave

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


Índice

Objetivos 

Determinar os serviços que serão consumidos aplicativo Minha Gestão de Postos.


GET /rest/supervisorgs/checkin

Retorna a lista dos apontamentos disponíveis.

Parâmetros aceitos

Os parâmetros serão passados por queryParams e poderão ser utilizados em conjunto. Caso haja mais de um parâmetro enviado, a lógica utilizada dever ser "E".

ParâmetroTipoDescriçãoValor Default
cCodestringFiltra pelo código da Agenda-
cInOutstringTipo Marcação 1=Entrada/2=Saída-


Retorno

O serviço deve retornar as propriedades informadas, de acordo com os parâmetros passados na consulta.

PropriedadeTipoDescriçãoAdicional
checkin
ArrayLista com os objetos de checkin.-
checkin[].lat
stringLatitude do checkin-
checkin[].long
stringLongitude do checkin.

-

checkin[].hr
stringHora do checkin.-
checkin[].obs
stringCódigo do item do ativo-
checkin[].selfie
stringSelfie-
checkin[].additionalphotos
stringNovas fotos-
count
stringTotal de checkin-


Exemplo de retorno da requisição:

GET rest/SUPERVISORGS/checkin?cCode=000000000283&cInOut=1

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
   "checkin": [
       {
			"lat": "-23.5083524",
			"long": "-46.6497187",
			"hr": "11:11",
			"obs": ""
			"selfie": “Aqui vem o base64 da imagem”
			"additionalphotos": []
        }
    ],
    "count": 1
}

GET /rest/supervisorgs/appointments

Retorna a lista dos apontaentos na url.

Parâmetros aceitos

Os parâmetros serão passados por queryParams e poderão ser utilizados em conjunto. Caso haja mais de um parâmetro enviado, a lógica utilizada dever ser "E".

ParametroTipoDescriçãoValor Default
cStationstringCódigo do Local-
cStartstringHorário Inicial-
cEndstringHorário Final-
cMinutesStringDiferença de Minutos entre a agenda e o horário


Retorno

O serviço deve retornar as propriedades informadas, de acordo com os parâmetros passados na consulta.

PropriedadeTipoDescriçãoAdicional
appointments
ArrayArray com os apontamentos.-
appointments[x].code
StringCódigo do atendente.-
appointments[x].attendant

String

Nome do atendente.-
appointments[x].schedule
StringHora do schedule.-
appointments[x].realschedule
StringHora do real schedule-
appointments[x].inout
String
-
appointments[x].desc
String
-
appointments[x].late
String
-
appointments[x].executed
String
-
countNumericTotal de apontamentos.-


GET /rest/SUPERVISORGS/appointments?cStation=00000001&cStart=&cEnd=


Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "appointments": [

1. Informações Gerais

...

Especificação

...

Produto

...

 Microsiga Protheus

...

Módulo

...

Segmento Executor

...

 Serviços

...

Projeto

...

IRM

...

Requisito

...

Subtarefa

2. Objetivo

Os serviços especificados neste documento serão consumidos pelo aplicativo TOTVS Supervisor de Postos

3. Definições de Serviços

Todos os serviços devem obedecer às boas práticas de implementação de APIs presentes no Guia de Implementação de APIs TOTVS.

Deve-se tomar um cuidado especial com os retornos da requisição, inserindo o status HTTP correto de acordo com o erro encontrado (não enviar um status http 200 em uma mensagem de erro, por exemplo).

3.1. GET /rest/SUPERVISORGS/checkin

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

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "checkin": [
        {
			"lat": "-23.5083524",
			"long": "-46.6497187",
			"hr": "11:11",
			"obs": "",
			"selfie": “base64 da imagemi”
			"additionalphotos": [
				{Imagem 1},
				{Imagem 2},
				{Imagem 3}
			]
        }
    ],
    "count": 1
}

Descrição dos Campos:

...

checkin[n]lat: Latitude do checkin.

...

checkin[n]long: Longitude do checkin.

...

checkin[n]hr: Hora do checkin.

...

checkin[n]obs: Observação do checkin.

...

checkin[n]selfie: Foto do checkin.

...

checkin[n]description: Descrição do contrato

...

checkin[n]additionalphotos[x]: Array com as fotos.

...

Parâmetros aceitos:

  • Filtros

Deve suportar filtrar os resultados de acordo com alguns parâmetros:

    • cCode:
    • cInOut:

3.2. GET /rest/SUPERVISORGS/appointments

Este serviço deve retornar somente um contrato, com os detalhes do mesmo. O contrato que deve ser retornado será indicado pelos parâmetros contractID e rev, presentes na URL da requisição.

Exemplo de retorno:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "appointments": [
        {
			"code": "000000000283",
			"attendant": "MATHEUS LANDO RAIMUNDO",
			"schedule": "08:00",
			"realschedule": "",
			"inout": "1",
			"desc": "Entrada",
			"late": "1",
			"executed": " "
        },
        {
			"code": "000000000283",
			"attendant": "MATHEUS LANDO RAIMUNDO",
			"schedule": "1208:00",
			"realschedule": "",
			"descinout": "Saída1",
			"latedesc": "2Entrada",
			"inoutlate": "21",
			"executed": " "
        		},
		{
    ],
    "count": 2
}

Descrição dos Campos:

  • appontments: Array com os apontamentos.
  • appontments[n]code: Codigo do atendente.
  • appontments[N]attendant: Nome do atendente.
  • appontments[N]schedule: Hora do schedule.
  • appontments[N]realschedule: Real hora do schedule.
  • appontments[N]desc: Descrição do apontamento.
  • appontments[N]late: Apontamento em atraso
  • appontments[N]inout: 
  • appontments[N]executed: 
  • count: quantidade de apontamentos.

Parâmetros aceitos:

  • Filtros

Deve suportar filtrar os resultados de acordo com alguns parâmetros:

    • cStation:
    • cStart:
    • cEnd:

3.3. GET /rest/SUPERVISORGS/stations

Retorna a lista de estações disponíveis para filtrar os apontamento exibidos, no seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "stations": [
        {
			"code": "00000001",
			"desc": "TOTVS SITE SP",
			"type": "2",
			"lat": "-23.5085024",
			"long": "-46.6527313"
       }
    ],
    "count": 1
}

Descrição dos Campos:

  • stations: Array de clientes.
  • stations[n].code: Código de identificação do cliente.
  • stationsn].desc: Nome do cliente.
  • stationsn].type: Loja do cliente.

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

3.4. GET /wscnta300/suppliers

			"code": "000000000283",
			"attendant": "MATHEUS LANDO RAIMUNDO",
			"schedule": "12:00",
			"realschedule": "",
			"desc": "Saída",
			"late": "2",
			"inout": "2",
			"executed": " "
		}
    ],
    "count": 2
}


GET /rest/supervisorgs/stations

Retorna a lista das estações disponiveis na url.

Parâmetros aceitos

Os parâmetros serão passados por queryParams e poderão ser utilizados em conjunto. Caso haja mais de um parâmetro enviado, a lógica utilizada dever ser "E".

ParametroTipoDescriçãoValor Default
nSituationnumericSituação da estação (1 - Sem Pendencias, 2 - Pendentes, 3 - Todos)3
cStartstringHorario Inicial-
cEndstringHorario Final-
cMinutesstringMinutos-
cClientsstringCliente da estaçao-
cPlacesstringCódigo do Local-
cRegionsstringRegiao da estação-
cSupervisorstringSupervisores      -


Retorno

O serviço deve retornar as propriedades informadas, de acordo com os parâmetros passados na consulta.

PropriedadeTipoDescriçãoAdicional
stations
ArrayArray com as estações.-
stations[x].code
StringCódigo da estação.-
stations[x].desc

String

Descrição da estação.-
stations[x].type
StringTipo da estação.-
stations[x].lat
StringLatitude da estação.-
stations[x].long
StringLongitude da estação.-
count
NumericQantidade de estações.


GET rest/SUPERVISORGS/stations?nSituation=3&cStart=&cEnd=&cMinutes=&cClients=&cPlaces=&cRegionsRetorna a lista de fornecedores disponíveis para filtrar os contratos exibidos, no seguinte formato:


Bloco de código
languagejs
themeRDark
firstlinetitle1titleresponse.json
collapsetrue
{
    "hasNextstations": true,
    "suppliers": [
        {
            "id			"code": "000000100000001",
            "name			"desc": "TOTVS SASITE SP",
            "unit			"type": "01"
        },
        {
            "id2",
			"lat": "0000002-23.5085024",
            "name			"long": "OUTRO CLIENTE",
            "unit": "01"
        }
    ]
}

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).
  • suppliers: Array de fornecedores.
  • suppliers[n].id: Código de identificação do fornecedor
  • suppliers[n].name: Nome do fornecedor
  • suppliers[n].unit: Loja do fornecedor

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

3.5. GET /wscnta121/measurements

Retorna a lista de medições disponíveis para aprovação do usuário logado, no formato indicado abaixo:

-46.6527313"
		 }
	],
	"count": 1
}


GET /rest/supervisorgs/clients

Retorna a lista dos clientes disponiveis na url.

Parâmetros aceitos

ParâmetroTipoDescriçãoValor Default
nPageNumericPágina da Consulta-
nPageSizeNumericTamanho da Página (resultset)-
cSearchItemstringString de Busca que pode ser código ou descrição-


Retorno

O serviço deve retornar as propriedades informadas, de acordo com os parâmetros passados na consulta.

PropriedadeTipoDescriçãoAdicional
clients
ArrayArray com os clientes.-
clients[x].code
StringCódigo do cliente.-
clients[x].desc

String

Descrição do cliente-
clients[x].store
StringLoja do cliente.-
clients[x].check
String
-
hasNext
booleanondica se há uma próxima página a ser retornada ou se atingiu a última página disponível

true = Há uma próxima página

false = É a última página disponível

count
NumericQantidade de clientes.


GET rest/SUPERVISORGS/clients


Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "clients": [
Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "measurements" : [
        {
            "number" : "297238",
            "contract" : {
                "number" {
			"code": "0937491347001",
                "rev" 			"store": "101",
            			"check": "false",
			"desc": "CLIENTE 001"
		},
		{
			"valuecode" : {"000001",
				"symbolstore" : "R$01",
				"totalcheck": 21000"false",
			}
            "spreadsheet" : {
                "number" : "3",
                "description" : "FIXO/FINANCEIRO"
            }"desc": "CLIENTE PADRAO P/ ORCAMENTO"
		},
		{
			"code": "EX0001",
			"store": "01",
			"competencecheck": "11/2017false",
			"historydesc": "CLIENTE :EXTERIOR [001"
				{
					"name" : "RODRIGO TOLEDO",
					"date" : "20171023",
					"justification" : ""
				}
			],
            "items" : [
                {
                    "product_code" : "000001",
                    "product_description" : "PRODUTO 1",
                    "quantity" : 8,
					"discount" : "20,5 %",}
    ],

    "hasNext": "false",
    "count": 3
}



GET /rest/supervisorgs/regions

Retorna a lista das regioes disponiveis na url.

Parâmetros aceitos

Não são aceitos parâmetros de URL para esta requisição.


Retorno

O serviço deve retornar as propriedades informadas, de acordo com os parâmetros passados na consulta.

PropriedadeTipoDescriçãoAdicional
regions
ArrayArray com as regiões.-
regions[x].code
stringCódigo da região.-
regions[x].desc
stringDescrição da região.-
count
NumericQantidade de clientes.-


GET rest/SUPERVISORGS/clients

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "regions": [
                    "unitary_value" : 16,
                    "total_value" : 128,,
					"value_symbol" : "R$",
					"delivery_date" : "20171123"
                },
                {
                    "product_code" : "000002",
                    "product_description" : "OUTRO PRODUTO 2",
                    "quantity" : 10,
                    "unitary_value" : 1.3,
					"discount" : "0 %",
                    "total_value" : 13,
					"value_symbol" : "R$",
					"delivery_date" : "20171123"
                }
            ]
        }
    ]
}

Descrição dos Campos:

  • measurements: Array com as medições pendentes de aprovação do usuário logado.
  • measurements[n].number: Número da medição
  • measurements[n].contract: Objeto do contrato ao qual a medição está vinculada
  • measurements[n].contract.number: Número do contrato
  • measurements[n].contract.rev: Revisão do contrato
  • measurements[n].value: Objeto do valor total da medição
  • measurements[n].value.symbol: Símbolo da moeda do valor total da medição
  • measurements[n].value.total: Valor total da medição
  • measurements[n].spreadsheet: Objeto da planilha relacionada à medição
  • measurements[n].spreadsheet.numberNúmero da planilha
  • measurements[n].spreadsheet.descriptionDescrição da planilha
  • measurements[n].competence: Mês da medição (YYYYMM)
  • measurements[n].history: Array de histórico de aprovações da medição
  • measurements[n].history[n].name: Nome do aprovador
  • measurements[n].history[n].date: Data da aprovação
  • measurements[n].history[n].justification: Justificativa (pode ser vazia)
  • measurements[n].items: Array com os itens da medição
  • measurements[n].items[n].product_codeCódigo do produto
  • measurements[n].items[n].product_descriptionDescrição do produto
  • measurements[n].items[n].quantityQuantidade
  • measurements[n].items[n].discount: Percentual de desconto
  • measurements[n].items[n].unitary_valueValor unitário
  • measurements[n].items[n].total_valueValor total
  • measurements[n].items[n].value_symbolSímbolo do valor a ser exibido

  • measurements[n].items[n].delivery_date: Data de entrega (YYYYMMDD)

NÃO PRECISA MANDAR FILTROS, POIS COMO NÃO HÁ PAGINAÇÃO, APP PODE FILTRAR NO FRONT

Parâmetros aceitos, ao recebidos devem filtrar a lista de medições retornadas:

  • contractNúmero do contrato
  • rev: Revisão contrato
  • competence: Data da competência, no formato YYYYMM
  • measurement: Número da medição
  • searchKey: Filtro chave, capaz de filtrar em diversos campos diferentes da medição, como cliente ou fornecedor, número, descrição, etc (máximo de lugares possíveis).

Este endpoint não irá suportar paginação, logo não serão enviados os parâmetros page e pageSize, nem será necessário a utilização do hasNext.

3.6. PUT /wscnta121/contracts/{contractID}/{rev}/measurements/{measurementID}/approval_status

Este endpoint deverá efetuar a aprovação ou reprovação da medição por parte do usuário logado.

Ao ser requisitado, será enviado um payload junto à requisição, com o seguinte formato:

Bloco de código
languagejs
themeRDark
firstline1
titleresponse.json
collapsetrue
{
    "approval_status" : false,
    "justification" : "Justificativa"
}

Campos do payload da requisição:

  • approval_status: Resultado a aprovação (true se o usuário aprovou a medição, false se o usuário reprovou a medição)
  • justification: Justificativa do usuário em caso de reprovação (em caso de aprovação, este campo não é obrigatório)

O retorno da requisição deverá ser uma mensagem de OK (http 200) em caso de atualização com sucesso ou enviar no retorno a mensagem de erro resultante da operação (utilizar padrão de erro do framework). 

...

{
			"code": "001",
			"desc": "Norte"
		},
		{
			"code": "002",
			"desc": "Sul"
		},
		{
			"code": "003",
			"desc": "Leste"
		},
		{
			"code": "004",
			"desc": "Oeste"
		},
		{
			"code": "005",
			"desc": "Centro"
		},
		{
			"code": "006",
			"desc": "Centro oeste"
		}
	],
	"count": 5
}



GET /rest/supervisorgs/places

Retorna a lista dos locais disponiveis na url.

Parâmetros aceitos

Não são aceitos parâmetros de URL para esta requisição.

ParâmetroTipoDescriçãoValor Default
nPageNumericPágina da Consulta-
nPageSizeNumericTamanho da Página (resultset)-
cSearchTermstringString de Busca que pode ser código ou descrição-

Retorno

O serviço deve retornar as propriedades informadas, de acordo com os parâmetros passados na consulta.

PropriedadeTipoDescriçãoAdicional
regions
ArrayArray com os locais-
regions[x].code
stringCódigo do local.-
regions[x].desc
stringDescrição do local.-
count
NumericQuantidade de locais.-


GET rest/SUPERVISORGS/places

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "places": [
        {
			"code": "00000001",
			"desc": "TOTVS SITE SP"
		},
		{
			"code": "00000002",
			"desc": "TOTVS MATRIZ - 1000"
		},
		{
			"code": "00000003",
			"desc": "CASA DO GUILHERME"
		},
		{
			"code": "00000004",
			"desc": "IBIRAPUERA"
       }
    ],
    "count": 4
}


POST /rest/supervisorgs/operationalDecision


Envia requisição

Parâmetros aceitos

Não são aceitos parâmetros de URL para esta requisição.


Payload

O payload que será enviado na requisição conterá as seguintes propriedades:

PropriedadeTipoDescriçãoAdicional
cCode
stringcódigo do operador-
cInOutStringTipo da operação 1=Entrada/2=Saída
cobsstringcampo de observação-


Post /rest/SUPERVISORGS/operationalDecision

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
cCode: "000000000283", 
cObs: "teste"


}


GET /rest/supervisorgs/supervisor

Retorna a lista dos supervisores disponiveis na url.

Parâmetros aceitos

Não são aceitos parâmetros de URL para esta requisição.

ParâmetroTipoDescriçãoValor Default
nPageNumericPágina da Consulta-
nPageSizeNumericTamanho da Página (resultset)-
cSearchTermstringString de Busca que pode ser código ou descrição-

Retorno

O serviço deve retornar as propriedades informadas, de acordo com os parâmetros passados na consulta.

PropriedadeTipoDescriçãoAdicional
supervisor
ArrayArray com os locais-
supervisor[x].code
stringCódigo do local.-
supervisor[x].desc
stringDescrição do local.-
count
NumericQuantidade de locais.-


GET rest/SUPERVISORGS/supervisor

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
    "supervisor": [
        {
            "code": "D MG  01000023",
            "desc": "FUNCIONARIO A"
        },
        {
            "code": "D MG  01000025",
            "desc": "FUNCIONARIO C"
        },
        {
            "code": "D MG  01000029",
            "desc": "FUNCIONARIO AA"
        },
        {
            "code": "D MG  01000030",
            "desc": "FUNCIONARIO BB"
        }
    ],
    "hasNext": "false"
}