1. Objetivo Este documento descreve o serviço corporativo em termos de envolvimento, fornecendo restrições técnicas e de negócio, bem como informações de requisitos e semânticas para uso deste serviço. 2. Campo de Aplicação Governança de Serviços 3. Serviço 3.1 Descrição do Serviço O RMSServices é uma camada de serviços que faz a comunicação de outras aplicações ao ERP e vem para substituir pequenos aplicativos de apoio que tem objetivos específicos e não oferecem evolução e nem mesmo flexibilidade na sua arquitetura. 3.2 Direito de Acesso Toda requisição requer um Http Header chamado “x-rms-token’ que é utilizado para autenticar a requisição. Este token deve ser fornecido pela equipe RMS responsável pelo projeto. 3.3 Protocolo do Serviço Interno e externo: REST API Requisitos Não Funcionais Autenticação e autorização com OAuth2. 3.4 URL do Serviço http://<ip-do-servidor>:<porta>/RMSServices/api/<nome-do-metodo> 4. Capacidades
4.1 Descrição
# | Capacidade | Descrição |
---|
1 | | GET - Retorna uma lista de classificação mercadológica. GET/id – Retorna uma classificação específica. | 2 | | POST – Recebe um objeto cliente para salvar na base. | 3 | | GET – Retorna um objeto estoquepreco referente ao código do produto e filial passados via querystring | 4 | PedidoAux | POST – Recebe um objeto pedido para salvar no banco. PUT – Recebe um objeto pedido para atualizar no banco. | 5 | | GET – Lista todos os produtos. GET/id – Retorna um produto de acordo com o código RMS. |
4.2 Filtros padrões da API
Campo | Tipo | Descrição |
---|
limit | int | Quantidade (máxima) de registros retornados. Através deste parâmetro o limite pode ser alterado para o número de registros desejados. | START | INT | Número de registros que serão pulados na query. Este parâmetro pode ser utilizado em conjunto com limit. Por exemplo, se houver 300 registros no total, pode-se utilizar start=0&limit=100 para obter os primeiros 100 registros, para obter próximos 100 registros, usamos start=100&limit=100. |
4.3 Serviços 4.3.1 Classificacao 4.3.1.1 GET - http://<ip-do-servidor>:<porta>/RMSServices/api/Classificacao 4.3.1.2 Parâmetros de Entrada Não existem parâmetros de entrada nesta requisição 4.3.1.3 Parâmetros de Saída Campo | Tipo | Descrição |
---|
Id | Number | Id da classificação | Departamento | Varchar2(3) | Código do departamento | Secao | Varchar2(3) | Código da seção | Grupo | Varchar2(3) | Código do grupo | Subgrupo | Varchar2(3) | Código do subgrupo | Categoria | Varchar2(3) | Código da categoria | idExterno | Number | Id externo | idPai | Number | Id da classificação pai (se existir) | Descricao | Varchar2(255) | Nome da classificação |
4.3.1.4 Pré-Condição O sistema a consumir este serviço deve ter permissão para utilizá-lo. Se for passado o parâmetro count=true, será retornado a quantidade de classificação que está cadastrado no RMS.
4.3.1.5 Pós-Condição Não se aplica. 4.3.1.6 Sem Disponibilidade Contate o Administrador. 4.3.1.7 GET - http://<ip-do-servidor>:<porta>/RMSServices/api/Classificacao/<id> 4.3.1.8 Parâmetros de Entrada Campo | Tipo | Descrição |
---|
Id | string - Obrigatório | |
4.3.1.9 Parâmetros de Saída Campo | Tipo | Descrição |
---|
Id | Number | Id da classificação | Departamento | Varchar2(3) | Código do departamento | Secao | Varchar2(3) | Código da seção | Grupo | Varchar2(3) | Código do grupo | Subgrupo | Varchar2(3) | Código do subgrupo | Categoria | Varchar2(3) | Código da categoria | idExterno | Number | Id externo | idPai | Number | Id da classificação pai (se existir) | Descricao | Varchar2(255) | Nome da classificação |
4.3.1.10 Pré-Condição O sistema a consumir este serviço deve ter permissão para utilizá-lo. 4.3.1.11 Pós-Condição Não se aplica. 4.3.1.12 Sem Disponibilidade Contate o Administrador. 4.3.1.13 Exemplo de Requisição 4.3.2 Cliente 4.3.2.1 POST - http://<ip-do-servidor>:<porta>/RMSServices/api/Cliente 4.3.2.2 Parâmetros de Entrada Campo | Tipo | Descrição |
---|
count | true | Retorna a quantidade de classificação que está cadastrada no RMS. |
Campo | Tipo | Descrição |
---|
cgcCpf | Int64 - Obrigatório | | razaosocial | String | | endereco | String | | bairro | String | | cidade | String | | estado | String | | cep | Int64 | | dataCadastro | DateTime | | datafatura | DateTime | | inscricaoEstadual | String | | filler | String | |
4.3.2.3 Parâmetros de Saída A API retornará um Response Code 200 se o cliente for inserido com sucesso. 4.3.2.4 Pré-Condição O sistema a consumir este serviço deve ter permissão para utilizá-lo. 4.3.2.5 Pós-Condição Não se aplica. 4.3.2.6 Sem Disponibilidade Contate o Administrador. 4.3.3 EstoquePreco 4.3.3.1 GET - http://<ip-do-servidor>:<porta>/RMSServices/api/Estoquepreco?id=<id>&filialid=<filialid> 4.3.3.2 Parâmetros de Entrada Campo | Tipo | Descrição |
---|
id | int - Obrigatório | Código RMS do produto | filialid | int - Obrigatório | Código da Filial |
4.3.3.3 Parâmetros de Saída Campo | Tipo | Descrição |
---|
QuantidadeEstoque | Decimal | Quantidade disponível para venda | Preco | Decimal | Preço unitário | PrecoPromocao | Decimal | Preço de promoção (0,00 se não existir) | InicioPromocao | DateTime | Data de início (se existir) | FimPromocao | DateTime | Data final (se existir) | produtoid | String | Id do produto | filialid | int | Id da filial |
4.3.3.4 Pré-Condição O sistema a consumir este serviço deve ter permissão para utilizá-lo.
4.3.3.5 Pós-Condição Não se aplica. 4.3.3.6 Sem Disponibilidade Contate o Administrador. 4.3.4 PedidoAux 4.3.4.1 POST - http://<ip-do-servidor>:<porta>/RMSServices/api/PedidoAux 4.3.4.2 Parâmetros de Entrada Campo | Tipo | Descrição |
---|
idPedido | Number – Automático | Id do pedidoAux. Gerado automaticamente pela aplicação | idPedidoLoja | Number(8) – Obrigatório | Id do pedido na loja | idClienteLoja | Number – Obrigatório | Id do cliente na loja | valorTotal | Decimal – Obrigatório | Valor total = valor total + frete - desconto | ValorMercadoria | Decimal – Obrigatório | Valor do pedido sem frete -> valor do pedido sem frete e sem desconto | ValorDesconto | Decimal – Obrigatório | Valor de desconto | ValorFrete | Decimal – Obrigatório | Valor do frete | Data | DateTime – Obrigatório | Data de realização do pedido | FormaEntrega | Number – Obrigatório | Id da forma de entrega | DataEntrega | DateTime – Obrigatório | Data de entrega | observacaoPedido | Varchar2(60) – Opcional | Observações do pedido. Caso vazia, será 'loja eletronica' | EnderecoEntrega | Varchar2(40) – Obrigatório | Endereço de entrega | NumeroEntrega | Varchar2(10) – Obrigatório | Número de entrega | ComplementoEntrega | Varchar2(20) – Obrigatório | Complemento do endereço de entrega | BairroEntrega | Varchar2(20) – Obrigatório | Bairro de entrega | CidadeEntrega | Varchar2(20) – Obrigatório | Cidade de entrega | EstadoEntrega | Varchar2(2) – Obrigatório | UF | CepEntrega | Number(9) – Obrigatório | Cep | PaisEntrega | Varchar2(3) – Obrigatório | País (BRA) | FormaPagamento | Number – Obrigatório | Id da forma de pagamento | FilialOrigem | Number(8) – Obrigatório | Id da filial de origem | FilialVenda | Number(8) – Obrigatório | Id da filial de venda | CodigoVendedorRms | Number(8) – Obrigatório | Id do vendedor padrão | CodigoAgenda | Number – Obrigatório | ID da de agenda do lojista | AgendamentoEntrega | Number – Obrigatório | Id do agendamento de retirada da logística | FlagWeb | Number(1) – Obrigatório | Pedido feito pela Web | DiasAgenda | Number(2) – Obrigatório | Quantidade de dias definido pela agenda | CifFob | Number(1) – Obrigatório | 1 – CIF; 2 – FOB | PercentualDesconto | Decimal – Obrigatório | Percentual do desconto | CgcCpf | Number(17) – Obrigatório | CPF/CNPJ do cliente | Rg | Varchar2(20) – Obrigatório | RG do cliente | CondicaoPagamento | Number(3) – Obrigatório | Condicao de pagamento | RetiraEntrega | Number(1) – Obrigatório | 0 - Retira; 1 - Entrega | formaPgtoDescricao | Varchar2(40) – Obrigatório | Descrição da forma de pagamento | formaEntregaDescricao | Varchar2(40) – Obrigatório | Descrição da forma de entrega | NomeSistema | Varchar2(30) – Obrigatório | Nome do sistema | ConfirmacaoAutomatica | Number(1) – Obrigatório | 0 - Status suspenso; 1 - Status cadastrado | HoraEntregaInicio | Number(6) – Obrigatório | Horário de entrega inicial | HoraEntregaFim | Number(6) – Obrigatório | Horário de entrega final | ObservacaoEntrega | Varchar2(1000) – Obrigatório | Observação da entrega | Transportadora | Number(8) – Obrigatório | Id da transportadora | RazaoSocial | Varchar2(40) – Obrigatório | Nome do cliente | InscricaoEstadual | Varchar2(25) – Obrigatório | Inscrição estadual | Ddd | Number(4) – Obrigatório | DDD do telefone do cliente | Telefone | Number(10) – Obrigatório | Telefone do cliente | TipoPessoa | Varchar2(1) – Obrigatório | F - Física; J - Jurídica | Email | Varchar2(100) – Obrigatório | Email do cliente | GpsEntrega | Varchar2(40) – Opcional | Código GPS do endereço de entrega | GpsCobranca | Varchar2(40) – Opcional | Código GPS do endereço de cobrança | statusIntegracao | Number(1) – Automático | 0 – Pronto para integração; 1 - Integrado com sucesso; 2 – Aguardando liberação. Gerado automaticamente pela aplicação | PercentualMargem | Decimal – Obrigatório | Percentual da margem de lucro | Peso | Decimal – Obrigatório | Peso total dos produtos | Volume | Double – Obrigatório | Volume total dos produtos | Itens | List<ItemPedidoAux> – Obrigatório | Lista de produtos do pedido |
4.3.4.2.1 ItemPedidoAux Campo | Tipo | Descrição |
---|
idPedidoAux | Number – Obrigatório | Id do pedido aux | idPedidoLoja | Number – Obrigatório | Id do pedido na loja | idItemPedidoloja | Number – Obrigatório | Id do item no pedido da loja | idProdutoLoja | Number – Obrigatório | Id do produto na loja | idProdutoRms | Number(8) – Obrigatório | Id do produto no RMS com o dígito | valorUnitario | Decimal – Obrigatório | Valor unitário | descontoUnitario | Decimal – Obrigatório | Desconto do produto (individual) | valorTotal | Decimal – Obrigatório | Valor total dos itens -> ((vlUntario-vlDescontoUnitario)*Quantidade) | presente | Number(1) – Obrigatório | Embalar item para presente 0 – Não; 1 – Sim | quantidade | Number(10,3) – Obrigatório | Quantidade de itens solicitado pelo cliente | comentario | Varchar2(100) – Opcional | Comentários | peso | Numver(9,3) – Obrigatório | Peso do item | margem | Decimal – Obrigatório | Percentual da margem de lucro do item | ean | Number(14) – Obrigatório | EAN do produto |
4.3.4.3 Parâmetros de Saída Campo | Tipo | Descrição |
---|
status | Boolean | Indicador de sucesso da operação | mensagem | String | Mensagem informativa sobre a operação. |
4.3.4.4 Pré-Condição O sistema a consumir este serviço deve ter permissão para utilizá-lo. 4.3.4.5 Pós-Condição O Pedido não será mostrado no RMS até que tenha uma atualização do mesmo via PUT informando que o status do pedido é igual a 2. 4.3.4.6 Sem Disponibilidade Contate o Administrador. 4.3.4.7 PUT- http://<ip-do-servidor>:<porta>/RMSServices/api/PedidoAux 4.3.4.8 Parâmetros de Entrada Campo | Tipo | Descrição |
---|
idPedido | Number – Automático | Id do pedidoAux. Gerado automaticamente pela aplicação | idPedidoLoja | Number(8) – Obrigatório | Id do pedido na loja | idClienteLoja | Number – Obrigatório | Id do cliente na loja | valorTotal | Decimal – Obrigatório | Valor total = valor total + frete - desconto | ValorMercadoria | Decimal – Obrigatório | Valor do pedido sem frete -> valor do pedido sem frete e sem desconto | ValorDesconto | Decimal – Obrigatório | Valor de desconto | ValorFrete | Decimal – Obrigatório | Valor do frete | Data | DateTime – Obrigatório | Data de realização do pedido | FormaEntrega | Number – Obrigatório | Id da forma de entrega | DataEntrega | DateTime – Obrigatório | Data de entrega | observacaoPedido | Varchar2(60) – Opcional | Observações do pedido. Caso vazia, será 'loja eletronica' | EnderecoEntrega | Varchar2(40) – Obrigatório | Endereço de entrega | NumeroEntrega | Varchar2(10) – Obrigatório | Número de entrega | ComplementoEntrega | Varchar2(20) – Obrigatório | Complemento do endereço de entrega | BairroEntrega | Varchar2(20) – Obrigatório | Bairro de entrega | CidadeEntrega | Varchar2(20) – Obrigatório | Cidade de entrega | EstadoEntrega | Varchar2(2) – Obrigatório | UF | CepEntrega | Number(9) – Obrigatório | Cep | PaisEntrega | Varchar2(3) – Obrigatório | País (BRA) | FormaPagamento | Number – Obrigatório | Id da forma de pagamento | FilialOrigem | Number(8) – Obrigatório | Id da filial de origem | FilialVenda | Number(8) – Obrigatório | Id da filial de venda | CodigoVendedorRms | Number(8) – Obrigatório | Id do vendedor padrão | CodigoAgenda | Number – Obrigatório | Id da de agenda do lojista | AgendamentoEntrega | Number – Obrigatório | Id do agendamento de retirada da logística | FlagWeb | Number(1) – Obrigatório | Pedido feito pela Web | DiasAgenda | Number(2) – Obrigatório | Quantidade de dias definido pela agenda | CifFob | Number(1) – Obrigatório | 1 – CIF; 2 – FOB | PercentualDesconto | Decimal – Obrigatório | Percentual do desconto | CgcCpf | Number(17) – Obrigatório | CPF/CNPJ do cliente | Rg | Varchar2(20) – Obrigatório | RG do cliente | CondicaoPagamento | Number(3) – Obrigatório | Condicao de pagamento | RetiraEntrega | Number(1) – Obrigatório | 0 - Retira; 1 - Entrega | formaPgtoDescricao | Varchar2(40) – Obrigatório | Descrição da forma de pagamento | formaEntregaDescricao | Varchar2(40) – Obrigatório | Descrição da forma de entrega | NomeSistema | Varchar2(30) – Obrigatório | Nome do sistema | ConfirmacaoAutomatica | Number(1) – Obrigatório | 0 - Status suspenso; 1 - Status cadastrado | HoraEntregaInicio | Number(6) – Obrigatório | Horário de entrega inicial | HoraEntregaFim | Number(6) – Obrigatório | Horário de entrega final | ObservacaoEntrega | Varchar2(1000) – Obrigatório | Observação da entrega | Transportadora | Number(8) – Obrigatório | Id da transportadora | RazaoSocial | Varchar2(40) – Obrigatório | Nome do cliente | InscricaoEstadual | Varchar2(25) – Obrigatório | Inscrição estadual | Ddd | Number(4) – Obrigatório | DDD do telefone do cliente | Telefone | Number(10) – Obrigatório | Telefone do cliente | TipoPessoa | Varchar2(1) – Obrigatório | F - Física; J - Jurídica | Email | Varchar2(100) – Obrigatório | Email do cliente | GpsEntrega | Varchar2(40) – Opcional | Código GPS do endereço de entrega | GpsCobranca | Varchar2(40) – Opcional | Código GPS do endereço de cobrança | statusIntegracao | Number(1) – Automático | 0 – Pronto para integração; 1 - Integrado com sucesso; 2 – Aguardando liberação. Gerado automaticamente pela aplicação | PercentualMargem | Decimal – Obrigatório | Percentual da margem de lucro | Peso | Decimal – Obrigatório | Peso total dos produtos | Volume | Double – Obrigatório | Volume total dos produtos | Itens | List<ItemPedidoAux> – Obrigatório | Lista de produtos do pedido |
4.3.4.9 itemPedidoAux Campo | Tipo | Descrição |
---|
idPedidoAux | Number – Obrigatório | Id do pedido aux | idPedidoLoja | Number – Obrigatório | Id do pedido na loja | idItemPedidoloja | Number – Obrigatório | Id do item no pedido da loja | idProdutoLoja | Number – Obrigatório | Id do produto na loja | idProdutoRms | Number(8) – Obrigatório | Id do produto no RMS com o dígito | valorUnitario | Decimal – Obrigatório | Valor unitário | descontoUnitario | Decimal – Obrigatório | Desconto do produto (individual) | valorTotal | Decimal – Obrigatório | Valor total dos itens -> ((vlUntario-vlDescontoUnitario)*Quantidade) | presente | Number(1) – Obrigatório | Embalar item para presente 0 – Não; 1 – Sim | quantidade | Number(10,3) – Obrigatório | Quantidade de itens solicitado pelo cliente | comentario | Varchar2(100) – Opcional | Comentários | peso | Numver(9,3) – Obrigatório | Peso do item | margem | Decimal – Obrigatório | Percentual da margem de lucro do item | ean | Number(14) – Obrigatório | EAN do produto |
4.3.4.10 Parâmetros de Saída Campo Tipo Descrição status Boolean Indicador de sucesso da operação. mensagem String Mensagem informativa sobre a operação. 4.3.4.11 Pré-Condição Não se aplica. 4.3.4.12 Pós-Condição Não se aplica. 4.3.4.13 Sem Disponibilidade Contate o Administrador. 4.3.5 Produto 4.3.5.1 GET - http://<ip-do-servidor>:<porta>/RMSServices/api/Produto 4.3.5.2 Parâmetros de Entrada Campo Tipo Descrição categoria_id long Retorna os produtos da categoria referente. count true Retorna a quantidade de produtos que estão cadastrados no RMS. Serão contados todos os que estão marcados com a flag Internet SIM 4.3.5.3 Parâmetros de Saída Campo Tipo Descrição Codigo Number(7) Id do produto (sem o dígito) Digito Number(1) Dígito Ean Varchar2(13) Ean Departamento Number(3) Código do departamento Secao Number(3) Código da seção Grupo Number(3) Código do grupo SubGrupo Number(3) Código do subgrupo Categoria Number(3) Código da categoria Descricao Varchar2(40) Nome DescricaoReduzida Varchar2(22) Nome reduzido DescricaoComercial Varchar2(30) Nome comercial DescricaoWeb String Nome para a loja web DataEntradaLinha DateTime Data que o produto entrou em linha CodigoPai Number(8) Id do produto pai Peso decimal Peso TipoProduto Number(2) Tipo do produto EmbalagemVenda Varchar2(2) Tipo de embalagem de venda Gramatura Decimal Gramatura de venda TipoGramatura Varchar2(2) Tipo de medida do produto Marca Varchar2(20) Marca AlturaEmbalagemvenda decimal Altura do produto LarguraEmbalagemVenda decimal Largura do produto ComprimentoEmbalagemVenda decimal Comprimento do produto CodigoCor Varchar2(3) Id da Cor Tamanho Varchar2(4) Tamanho do produto Cor Varchar2(3) Nome da cor idClassificacaoExterna Number Id da classificação externa idExternoClassificacao Number Id da classificação na loja web idVinculo Number Vínculo inicial do produto (“Avô”, se houver) 4.3.5.4 Pré-Condição Não se aplica 4.3.5.5 Pós-Condição Não se aplica. 4.3.5.6 Sem Disponibilidade Contate o Administrador. 4.3.5.7 GET - http://<ip-do-servidor>:<porta>/RMSServices/api/Produto/<id> 4.3.5.8 Parâmetros de Entrada Campo Tipo Descrição Id Int - Obrigatório Código RMS do produto 4.3.5.9 Parâmetros de Saída Campo Tipo Descrição Codigo Number(7) Id do produto (sem o dígito) Digito Number(1) Dígito Ean Varchar2(13) Ean Departamento Number(3) Código do departamento Secao Number(3) Código da seção Grupo Number(3) Código do grupo SubGrupo Number(3) Código do subgrupo Categoria Number(3) Código da categoria Descricao Varchar2(40) Nome DescricaoReduzida Varchar2(22) Nome reduzido DescricaoComercial Varchar2(30) Nome comercial DescricaoWeb String Nome para a loja web DataEntradaLinha DateTime Data que o produto entrou em linha CodigoPai Number(8) Id do produto pai Peso decimal Peso TipoProduto Number(2) Tipo do produto EmbalagemVenda Varchar2(2) Tipo de embalagem de venda Gramatura Decimal Gramatura de venda TipoGramatura Varchar2(2) Tipo de medida do produto Marca Varchar2(20) Marca AlturaEmbalagemvenda decimal Altura do produto LarguraEmbalagemVenda decimal Largura do produto ComprimentoEmbalagemVenda decimal Comprimento do produto CodigoCor Varchar2(3) Id da Cor Tamanho Varchar2(4) Tamanho do produto Cor Varchar2(3) Nome da cor idClassificacaoExterna Number Id da classificação externa idExternoClassificacao Number Id da classificação na loja web idVinculo Number Vínculo inicial do produto (“Avô”, se houver) 4.3.5.10 Pré-Condição Não se aplica. 4.3.5.11 Pós-Condição Não se aplica. 4.3.5.12 Sem Disponibilidade Contate o Administrador. |