Árvore de páginas

Versões comparadas

Chave

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

...

Nota
titleRequisitos
  • Deverá ser configurado o Rest no ambiente, conforme documentação: https://tdn.totvs.com/x/nhHvGQ;
  • A chave Security deverá estar habilitada(Security=1) no .ini do ambiente;

Authorization - Basic Auth

Ao executar a chamada do webservice, deverá ser configurado para Basic Auth utilizando usuário e senha do Protheus.

Username <username>

Password <password>

Header

...

id0

...

idSolicitação de Serviço
labelSolicitação de Serviço

Campos que deverão ser adicionados no Header para possibilitar a inclusão de uma S.S..

...

Nota
titleImportante
  • O valor inserido na variável tenantId não deverá possuir espaço entre a vírgula;
  • No exemplo apresentado na tabela acima, T3 corresponde a uma empresa e M RJ 01 a uma filial.
  • O campo x-erp-module deve ser preenchido apenas com a abreviação de três letras do módulo, sem o prefixo "SIGA", conforme indicado no exemplo.

Header

Os parâmetros que deverão ser adicionados no header para possibilitar a utilização das api´s

...

idAbastecimento
labelAbastecimento

Campos que deverão ser adicionados no Header para possibilitar a inclusão de um Abastecimento.

...

Nota
titleImportante
  • O valor inserido na variável tenantId não deverá possuir espaço entre a vírgula;
  • No exemplo apresentado na tabela acima, T3 corresponde a uma empresa e M RJ 01 a uma filial.
  • O campo x-erp-module deve ser preenchido apenas com a abreviação de três letras do módulo, sem o prefixo "SIGA", conforme indicado no exemplo.

...

idOrdem de Serviço
labelOrdem de Serviço

...

VariávelDescriçãoObrigatórioExemplo
authorizationAo executar a chamada do webservice, deverá ser configurado para Basic Auth utilizando usuário e senha do Protheus.SimBasic Y0BuZ2kuY29tLmJyOjE
tenantIdCódigo da empresa + Código da FilialSimT3,M RJ 01
x-erp-moduleRepresenta o módulo do ProtheusSim

...

MNT
Nota
titleImportante
  • O valor inserido na variável tenantId não deverá possuir espaço entre a vírgula;
  • No exemplo apresentado na tabela acima, T3 corresponde a uma empresa e M RJ 01 a uma filial.
  • O campo x-erp-module deve ser preenchido apenas com a abreviação de três letras do módulo, sem o prefixo "SIGA", conforme indicado no exemplo.
  • Para a api de abastecimento deve ser utilizado o módulo Gestão de Frotas (GFR
ou MNT).
  • )

Endpoints / Body


Deck of Cards
startHiddenfalse
id0
effectTypefade
loopCardstrue
Card
labelSolcitação de Serviço
Deck of Cards
startHiddenfalse
id0
effectTypefade
loopCardstrue
Card
id0
labelInclusão de Solicitação de Serviço

Método: /mntsrws/api/v1/request

Tipo: POST

Inclui uma Solicitação de Serviço.

Ao executar a chamada do webservice o método irá:

  • Incluir uma Solicitação de Serviço;
  • Preencher os todos os campos obrigatórios para gerar uma Solicitação de Serviço: 

Body

Campos que compõe a requisição de inclusão da S.S..

CampoTipoTamanhoDescriçãoObrigatórioCampo Referência
locationLogic-Define se é para bem ou localizaçãoCondicionalTQB_TIPOSS
originString20Origem de RegistroSimTQB_ORIGEM
equipmentString16Código do Bem/LocalizaçãoSimTQB_CODBEM
descriptionString999Descrição da SolicitaçãoSimTQB_DESCSS
costCenterString20Código do Centro de Custo da S.S.NãoTQB_CCUSTO
counterNumeric09Primeiro Contador do EquipamentoCondicionalTQB_POSCON
secondCounterNumeric09Segundo Contador do EquipamentoCondicionalTQB_POSCO2
telephoneExtensionString10RamalCondicionalTQB_RAMAL
serviceTypeString06Código do Serviço da S.S.NãoTQB_CDSERV
priorityString01PrioridadeNãoTQB_PRIORI

Exemplo de uma requisição básica:

Bloco de código
languagejs
themeEclipse
titleRaw
{
	"equipment":"001",
	"dateTime":"20220419 13:00",
	"description":"Não esta refrigerando",
	"serviceType": "000001",
	"telephoneExtension": "569",
	"counter":2300,
	"secondCounter":550,
	"location":true
}
Nota
titleAtenção
  • O campo dateTime deverá conter um espaço entre a data e hora("dateTime":"20220430 11:00").
  • Campos condicionais, são campos que se tornam obrigatórios em determinadas situações, por exemplo, caso a S.S. for inclusa para uma Localização, será necessário adicionar "location":true no body.
Card
id1
labelDistribuição de Solicitação de Serviço

Método: /mntsrws/api/v1/request/{value}/{operation}

Tipo: PUT

Distribui uma Solicitação de Serviço.

Ao executar a chamada do webservice o método irá:

  • Incluir uma S.S.;
  • Preencher os campos obrigatórios para distribuir a S.S.;
  • No value deverá ser informado o número da Solicitação de serviço: /mntsrws/api/v1/request/000298/distribute, que no caso do exemplo foi utilizado como 000298.

Body

Lista dos campos disponíveis no método de inclusão de O.S.:

CampoTipoTamanhoDescriçãoObrigatórioCampo Referência
executorString25Define se é para bem ou localizaçãoCondicionalTQB_CDEXEC
serviceTypeString20Origem de RegistroSimTQB_CDSERV


Exemplo de distribuição de uma S.S.:

Bloco de código
languagejs
themeEclipse
titleRaw
{   
    "executor":"000000",
    "serviceType":"000001"
}
Card
id1
labelInclusão de O.S. a partir de uma Solicitação de Serviço

Método: /mntsrws/api/v1/request/{value}/{operation}

Tipo: PUT

Inclui uma O.S. a partir de uma Solicitação de Serviço.

Ao executar a chamada do webservice o método irá:

  • Incluir uma O.S. para a Solicitação de Serviço já existente;
  • Preencher os campos obrigatórios para gerar a O.S.;
  • No value deverá ser informado o número da Solicitação de serviço: /mntsrws/api/v1/request/000298/order, que no caso do exemplo foi utilizado como 000298.

Body

Lista dos campos disponíveis no método de inclusão de O.S.:

CampoTipoTamanhoDescriçãoObrigatórioCampo Referência
locationLogic-Define se é para bem ou localizaçãoCondicionalTJ_TIPOOS
originString20Origem de RegistroSimTQB_ORIGEM
equipmentString16Código do Bem/LocalizaçãoSimTJ_CODBEM
costCenterString20Código do Centro de Custo da O.S.SimTJ_CCUSTO
startDateString08(data) + 05(hora)Data e Hora da abertura da O.S.( 20220419 13:00 )SimTJ_DTORIGI / TJ_HOMPINI / TJ_HORACO1 / TJ_HORACO2
service  String20Código do serviço da O.S.SimTJ_SERVICO
situationNumeric09Situação da O.S. ( P = Pendente / L = Liberada )SimTJ_SITUACA
counterNumeric09Primeiro Contador do EquipamentoCondicionalTJ_POSCON
secondCounterNumeric09Segundo Contador do EquipamentoCondicionalTJ_POSCO2
workCenterNumeric09Código do Centro de TrabalhoNãoTJ_CENTRAB
sequenceString10Sequência da ManutençãoNãoTJ_SEQRELA
downTimeString06Data e Hora de Para inicio do bem da O.S.( 20220430 11:00 )NãoTJ_DTPRINI / TJ_HOPRINI
inputs array999Array de Insumos previstos da O.S.Não-

Inputs

Lista dos campos que estão disponíveis para serem utilizados dentro do inputs:

CampoTipoTamanhoDescriçãoObrigatórioCampo Referência
operationString01C = Inclusão do InsumoSim-
taskString06Código da TarefaSimTL_TAREFA
typeString01Tipo de InsumoSimTL_TIPOREG
codeString30Código do InsumoSimTL_CODIGO
unityString02Unidade do InsumoSimTL_UNIDADE
amountNumeric09Quantidade do InsumoSimTL_QUANTID
isDoneLogic-Define se é Insumo previsto ou realizadoSim-
dateString08(data) + 05(hora)Data e Hora inicio previsto para o insumoSimTL_DTINICI / TL_HOINICI
destinyString01Destino do insumoCondicionalTL_DESTINO
resourceAmountNumeric03Quantidade do recursoCondicionalTL_QUANREC
warehouseString06AlmoxarifadoCondicionalTL_LOCAL
noteString             10Observações (MEMO)Condicional          TL_OBSERVA

Exemplo de inclusão de uma O.S. sem informar insumo:

Bloco de código
languagejs
themeEclipse
titleRaw
{   
    "equipment":"CLIO",
    "service":"CORGEN",
    "situation": "L",
    "costCenter": "099",
    "startDate":"20200101 14:00"
}

Exemplo de inclusão de uma O.S. informando um insumo do tipo produto:

Bloco de código
languagejs
themeEclipse
titleRaw
{  
    "equipment":"CLIO",
    "service":"CORGEN",
    "situation": "L",
    "costCenter": "099",
    "startDate":"20200101 14:00",
    "inputs":[  
      {  
         "operation":"C",
         "task":"0",
         "destiny":"A",
         "code":"PRODGEN",
         "type":"P",
         "warehouse":"01",
         "date":"20180701 09:00",
         "amount":3,
         "isDone":false,
         "unity":"UN"
      }
    ]
}
Nota
titleAtenção
  • O campo date deverá conter um espaço entre a data e hora("date":"20220430 11:00");
  • Campos condicionais, são campos que se tornam obrigatórios em determinadas situações, por exemplo, caso o insumo da O.S. a ser incluída for do tipo Produto, será necessário adicionar destiny ao body.
Card
labelAbastecimento
Deck of Cards
id0
effectTypefade
loopCardstrue
Card
id0
labelInclusão de Abastecimento

Método: mntFuelUp/api/v1/fuelup

Tipo: POST

Inclui um Abastecimento.

Ao executar a chamada do webservice o método irá:

  • Incluir um abastecimento;
  • Preencher os todos os campos obrigatórios para gerar um abastecimento: 

Body

Campos que compõe a requisição de um abastecimento.

CampoTipoTamanhoDescriçãoObrigatório
TQN_PLACAString8Placa do VeículoSim
TQN_FROTAString16Código do VeículoSim
TQN_CODCOMString03Código do CombustívelSim
TQN_POSTOString14Código do postoSim
TQN_LOJAString14Código do lojaSim
TQN_CNPJString14CNPJ do postoNão
TQN_DTABASDate08Data do abastecimentoSim
TQN_HRABASString05Hora da abastecimentoSim
TQN_TANQUEString02tanque do postoSim
TQN_BOMBAString03bomba do postoSim
TQN_QUANTNumeric09quantidade abastecidaSim
TQN_VALUNINumeric09valor unitário do combustívelSim
TQN_VALTOTNumeric15valor total do combustívelSim
TQN_HODOMNumeric09Contador do equipamentoCondicional
TQN_POSCO2Numeric09Segundo Contador do equipamentoCondicional
TQN_CODMOTString06Código do motoristaCondicional
TQN_NOTFISString09Código da nota fiscalCondicional
TQN_CODVIAString06Código da viagemCondicional
TQN_ESCALAString08Código da escalaCondicional


Exemplo de um abastecimento padrão:

Bloco de código
languagejs
themeEclipse
titleRaw
{
   "TQN_PLACA":"MNT-1234",
   "TQN_FROTA":"VEI-S10",
   "TQN_CODCOM":"MNT",
   "TQN_POSTO":"MNTPOS",
   "TQN_LOJA":"01",
   "TQN_CNPJ":"34236121000159",
   "TQN_DTABAS":"20230220",
   "TQN_HRABAS":"12:10",
   "TQN_TANQUE":"01",
   "TQN_BOMBA":"01",
   "TQN_QUANT":5,
   "TQN_VALUNI":4,
   "TQN_VALTOT":20
   
}
Nota
titleAtenção
  • Campos condicionais, são campos que se tornam obrigatórios em determinadas situações, por exemplo, um bem com contador, necessariamente precisa do campo "TQN_HODOM" preenchido, Exemplo: "TQN_HODOM": 50.
Card
labelAlteração de Abastecimento

Método: mntFuelUp/api/v1/fuelup

Tipo: PUT

Altera um Abastecimento.

Ao executar a chamada do webservice o método irá:

  • Alterar um abastecimento já existente;
  • Preencher os todos os campos obrigatórios para gerar um abastecimento: 

Body

Campos que compõe a alteração de um abastecimento.

CampoTipoTamanhoDescriçãoObrigatório
TQN_FROTAString16Código do VeículoSim
TQN_DTABASString08Data do abastecimentoSim
TQN_HRABASString05Hora da abastecimentoSim
Bloco de código
languagejs
themeEclipse
titleRaw
{
   "TQN_FROTA":"VEI-S10",
   "TQN_DTABAS":"20230320",
   "TQN_HRABAS":"12:10"
}
Card
labelDeleção de Abastecimento

Método: mntFuelUp/api/v1/fuelup

Tipo: DELETE

Excluí um Abastecimento.

Ao executar a chamada do webservice o método irá:

  • Excluir um abastecimento já existente;
  • Preencher os todos os campos obrigatórios para gerar um abastecimento: 

Body

Campos que compõe a alteração de um abastecimento.

CampoTipoTamanhoDescriçãoObrigatório
TQN_FROTAString16Código do VeículoSim
TQN_DTABASString08Data do abastecimentoSim
TQN_HRABASString05Hora da abastecimentoSim
Bloco de código
languagejs
themeEclipse
titleRaw
{
   "TQN_FROTA":"VEI-S10",
   "TQN_DTABAS":"20230320",
   "TQN_HRABAS":"12:10"
 }
Card
idOS
labelOrdem de Serviço
Deck of Cards
idoperation
Card
idcreate
labelInclusão

Método: mntng/create

Tipo: POST

Inclui uma Ordem de Serviço.

Ao executar a chamada do webservice o método irá:

  • Incluir uma ordem de serviço;
  • Preencher os todos os campos obrigatórios para gerar uma ordem de serviço: 

Body

A seguir é apresentado um exemplo do conteúdo da requisição.

Bloco de código
languagejs
{
   "equipment":"AC006",
   "service":"CORELE",
   "startDate":"20230623 08:30",
   "plan":"000000",
   "endDate":"20230623 08:30",
   "type":"C",
   "observation":"teste",
   "counter":[
      {
         "datetime":"20230623 08:30",
         "value":100
      },
      {
         "datetime":"20230623 08:30",
         "value":200
      }
   ],
   "inputs":[
      {
         "operation":"C",
         "task":"0",
         "destiny":"A",
         "code":"15.15029",
         "type":"P",
         "warehouse":"01",
         "date":"20230623 08:30",
         "amount":3,
         "isDone":true,
         "unity":"L"
      }
   ],
   "checklist":[
      {
         "isDone":true,
         "task":"ELE",
         "step":"000001"
      },
      {
         "isDone":false,
         "task":"ELE",
         "step":"000012"
      }
   ]
}
Card
idupdate
labelAlteração

Método: mntng/update

Tipo: POST

Altera uma Ordem de Serviço.

Body

A seguir é apresentado um exemplo do conteúdo da requisição.

Bloco de código
languagejs
{
   "code":"000070",
   "plan":"000003",
   "service":"PREGEN",
   "sequence":"1",
   "startDate":"20230602 08:00",
   "endDate":"20230602 08:00",
   "equipment":"MAQ-0096",
   "type":"P",
   "observation":"",
   "checklist":[
      
   ],
   "inputs":[
      {
         "operation":"U",
         "isDone":true,
         "sequence":"1  ",
         "keytask":"0",
         "keycode":"000001",
         "task":"ELE",
         "code":"000001",
         "type":"M"
      }
   ]
}
Card
idfinish
labelFinalização

Método: mntng/finish

Tipo: POST

Finaliza uma Ordem de Serviço.

Body

Bloco de código
languagejs
{
   "startDate":"20230501 08:30",
   "observation":"",
   "plan":"000000",
   "order":"013610",
   "endDate":"20230501 09:30",
   "fault":"001"
}
Card
idcancel
labelCancelamento

Método: mntng/cancel

Tipo: POST

Cancela uma Ordem de Serviço.

Body

A seguir é apresentado um exemplo do conteúdo da requisição.

Bloco de código
languagejs
{  
 "plan":"000000",
 "order":"013921",
 "message":"ordem aberta indevidamente",
}
Card
iddetail
labelDetalhes dos campos

Chaves da ordem de serviço (objeto principal)

Campo

Descrição

Tipo
code

Código da ordem. Não é obrigatória apenas na inclusão.

string
plan

Código do plano. Não é obrigatória apenas na inclusão.

string
startDate

Data e hora inicial. Chave obrigatória.

string
endDateData e hora final. Chave obrigatória.string
equipmentCódigo do equipamento. Chave obrigatória.string
type

Indica o tipo da ordem. Chave obrigatória.

C=Corretiva

P=Preventiva

string
observationDescrição. Chave obrigatória.string
counterContadores. Chave não obrigatória.array de objetos
checklistEtapas. Chave obrigatória. Caso não houver etapas é necessário enviar um array vazio.array de objetos
inputs

Insumos. Chave obrigatória. Caso não houver insumos é necessário enviar um array  vazio.


array de objetos


Chaves dos contadores (objeto counter)

ChaveDescrição
datetimeData e hora do contador

value

Valor do contador
Informações

Os valores do primeiro objeto do array "counter" são considerados para o primeiro contador, assim como os valores do segundo objeto, caso existir serão considerados para o segundo contador.


Chaves das etapas (objeto checklist)

ChaveDescrição
taskCódigo da tarefa.
stepCódigo da etapa.
isDoneSe a etapa está executada (true) ou prevista (false)


Chaves dos insumos (objeto inputs)

ChaveDescriçãoTipo
operation

Tipo da operação. Chave obrigatória:

C=Create;

U=Update;

D=Delete.

string
isDone

Indica se o insumo é realizado. Chave obrigatória.

boolean
sequenceSequência do insumo já aplicado. Chave não obrigatória apenas na operação create. string
taskCódigo da tarefa. Chave obrigatória na operação create. Chave utilizada na operação update para alteração da tarefa.
keyTaskCódigo da tarefa. Chave não obrigatória apenas na operação create. Esta chave é utilizada para a busca do insumo nas operações update e delete.string
codeCódigo do insumo. Chave obrigatória na operação create. Chave utilizada na operação update para alteração da tarefa.
keyCodeChave código do insumo. Chave não obrigatória apenas na operação create. Esta chave é utilizada para a busca do insumo nas operações update e delete.string
typeTipo do insumo. Chave obrigatóriastring
unityUnidade. Corresponde ao campo TL_UNIDADE do insumo.string
destiny

Destino. Chave obrigatória. 

A=Apoio;

T=Troca;

S=Substituição.

string
resourceAmountQuantidade de recurso. Corresponde ao campo TL_QUANRECstring
startDateData e hora inicial.string
endDateData e hora final.

...