Especificação | |||
Produto | Microsiga Protheus | Módulo | |
Segmento Executor | Serviços | ||
Projeto | IRM | ||
Requisito | Subtarefa |
Os serviços especificados neste documento serão consumidos pelo aplicativo TOTVS Supervisor de Postos
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).
Retorna a lista de checkins disponíveis para consulta, no formato indicado abaixo:
{ "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:
count: 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).
Parâmetros aceitos:
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 que existam 32 registros na base):
Deve suportar filtrar os resultados de acordo com alguns parâmetros:
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 chamada: GET /gct/contracts/0192390283/1
Exemplo de retorno:
{ "number" : "0192390283", "rev" : "1", "type" : 1, "startDate" : "20171103", "endDate" : "20180615", "description" : "Contrato de Compra fixo", "balance": { "symbol" : "R$", "total" : 43000.1 }, "current_value": { "symbol" : "R$", "total" : 127000 }, "spreadsheets" : [ { "number" : "0001", "description" : "FIXO/FINANCEIRO", "related" : "GRUPO JLIMA", "balance" : { "symbol" : "R$", "total" : 21000.1 } }, { "number" : "0002", "description" : "SERVIÇOS", "related" : "GRUPO JLIMA", "balance" : { "symbol" : "R$", "total" : 22000 } } ] } |
Descrição dos Campos:
Parâmetros aceitos:
Este endpoint não irá aceitar nenhum parâmetro.
Retorna a lista de clientes disponíveis para filtrar os contratos exibidos, no seguinte formato:
{ "hasNext": true, "clients": [ { "id": "0000001", "name": "TOTVS SA", "unit": "01" }, { "id": "0000002", "name": "OUTRO CLIENTE", "unit": "01" } ] } |
Descrição dos Campos:
Os parâmetros aceitos serão: searchKey, page e pageSize.
Retorna a lista de fornecedores disponíveis para filtrar os contratos exibidos, no seguinte formato:
{ "hasNext": true, "suppliers": [ { "id": "0000001", "name": "TOTVS SA", "unit": "01" }, { "id": "0000002", "name": "OUTRO CLIENTE", "unit": "01" } ] } |
Descrição dos Campos:
Os parâmetros aceitos serão: searchKey, page e pageSize.
Retorna a lista de medições disponíveis para aprovação do usuário logado, no formato indicado abaixo:
{ "measurements" : [ { "number" : "297238", "contract" : { "number" : "0937491347", "rev" : "1" }, "value" : { "symbol" : "R$", "total": 21000 } "spreadsheet" : { "number" : "3", "description" : "FIXO/FINANCEIRO" }, "competence": "11/2017", "history" : [ { "name" : "RODRIGO TOLEDO", "date" : "20171023", "justification" : "" } ], "items" : [ { "product_code" : "000001", "product_description" : "PRODUTO 1", "quantity" : 8, "discount" : "20,5 %", "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[n].items[n].value_symbol: Símbolo do valor a ser exibido
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:
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.
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:
{ "approval_status" : false, "justification" : "Justificativa" } |
Campos do payload da requisição:
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).
OBS: Caso o usuário aprove ou reprove a requisição e o Protheus rejeite esta operação, o retorno não poderá ser enviado em uma mensagem de sucesso (http 200).