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:
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.
count: quantidade de checkins.
Parâmetros aceitos:
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 retorno:
{ "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": "12:00", "realschedule": "", "desc": "Saída", "late": "2", "inout": "2", "executed": " " }, ], "count": 2 } |
Descrição dos Campos:
Parâmetros aceitos:
Deve suportar filtrar os resultados de acordo com alguns parâmetros:
Retorna a lista de estações disponíveis para filtrar os apontamento exibidos, no seguinte formato:
{ "stations": [ { "code": "00000001", "desc": "TOTVS SITE SP", "type": "2", "lat": "-23.5085024", "long": "-46.6527313" } ], "count": 1 } |
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).