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 Classificação 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 | filialOrigem | int - Obrigatório | Código da Filial de origem | filialVenda | int - Obrigatório | Código da Filial de venda |
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 | Condição 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 | Condição 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.
|