Páginas filhas
  • DR VA Integração API Produto - Requisições de Produto

Versões comparadas

Chave

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

...

Totvs custom tabs box
tabsClassificação de Produto, Preço do Produto, Saldo de Produtos por Grupo, Saldo de Produto por Lote, Saldo de Produto por Empresa
idsclassificacaoproduto,precoproduto,saldogrupo,saldoloteproduto,saldoproduto
Totvs custom tabs box items
defaultyes
referenciaclassificacaoproduto

01. INTRODUÇÃO

Obter classificação de produto 

Totvs custom tabs box items
defaultno
referenciaconsultarclassificacoesdeproduto
precoproduto
Bloco de código
titleURL
https://www30.bhan.com.br:9443/api/v1/produto/classificacaoproduto
Bloco de código
titleMÉTODO
POST
Bloco de código
titleCABEÇALHO
Token: "XXXXXXXXXXXXXX"
Bloco de código
titleEXEMPLO REQUISIÇÃO
collapsetrue
{
    "cdProduto": 999999999,
    "cdBarra": "XXXXXXXXXXXXX"
}
Bloco de código
titleEXEMPLO RESPOSTA
collapsetrue
[
    {
        "cdProduto": 10,						//Código do produto
        "cdBarra": "5809600000107",				//Código de barras do produto

01. INTRODUÇÃO

Requisição que tem a finalidade de retornar os preços de um ou mais produtos, incluindo os valores promocionais.

Observação: Se a grade possuir um produto padrão configurado, todos os produtos receberão o mesmo valor do produto padrão.

02. UTILIZAÇÃO

Totvs custom tabs box
tabsEnvio, Retorno, Exemplo de Implementação
idsenvio,retorno,cod
{ "produtos": [ {

        
"
cdProduto
dsProduto": "
XXXXXXXXXXXXXXXXXXXX"
BASICA AMARELO DV",		//Descrição do 
}
produto
    
],
    "
cdPreco
cdTpClassificacao": 
9999, "inPromocao": 9,
22,				//Código do tipo de classificação
    
"empresas":
 
[
   "dsTpClassificacao": "MARCA",			//Descrição do tipo de 
{
classificação
        
"cdClassificacao": "3",					//Código da classificação
        "
cdEmpresa
dsClassificacao": 
9999,
"CLAS 3",			//Descrição classificação
        
"
nrCNPJEmpresa
cdGrupo": "
XXXXXXXXXXXXXX"
2",							//Código do grupo
        
}
"dsGrupo": "BASICA",					//Descrição do grupo
    
] }

URL

HEADER

BODY

{ "produtos": [ {
    "cdNivel": "300 2",						//Código do nível
        "dsNivel": "BASICA",					//Descrição do nível
        "cdCor": "1",							//Código da cor
        
"
cdProduto
dsCor": "
100" }
UN",							//Descrição da cor
    
],
    "
cdPreco
cdTamanho": 1,							//Código do tamanho
    
"inPromocao": 1,
    "
empresas
dsTamanho": 
[ {
"34",						//Descrição do tamanho
        
"
cdEmpresa
cdEspecie": 
1
"SVC"						//Código da espécie
    
}
]
}
Totvs custom tabs box items
defaultyes
referenciaenvio
Totvs custom tabs box
tabsURL, Body, Exemplo de Requisição, Detalhamento dos Campos
idsurlE,corpoE,exE,campE
Totvs custom tabs box items
defaultyes
referenciaurlE

Button
Cor#61affe
TextoPOST
Link.
 https://www30.bhan.com.br:9443/api/v1/produto/precoproduto

Totvs custom tabs box items
defaultno
referenciacorpoE
Bloco de código
languagexml
themeRDark
firstline1
titleBody
linenumberstrue
Totvs custom tabs box items
defaultno
referenciaexE

Button
Cor#61affe
TextoPOST
Link.
 https://www30.bhan.com.br:9443/api/v1/produto/precoproduto

AuthorizationBearer {{token}}
Bloco de código
languagexml
themeRDark
firstline1
titleBody
linenumberstrue
Totvs custom tabs box items
defaultno
referenciaprecoproduto

01. INTRODUÇÃO

Requisição que tem a finalidade de retornar os preços de um ou mais produtos, incluindo os valores promocionais.

Observação: Se a grade possuir um produto padrão configurado, todos os produtos receberão o mesmo valor do produto padrão.

02. UTILIZAÇÃO


Totvs custom tabs box
tabsEnvio, Retorno, Exemplo de Implementação
idsenvio,retorno,cod

Image RemovedImage Removed

*Neste campo podemos informar o código sku do produto ou o código de barras do produto.

**Neste campo podemos informar 1 (um) para retornar os valores promocionais ou 0 (zero) para NÃO retornar os valores promocionais.

***Neste campo quando Código da Empresa for informado, não existe a necessidade de informar o CNPJ. Porém, caso o Código não for informado, o documento se torna obrigatório!

Totvs custom tabs box items
defaultyes
referenciaenvio
Totvs custom tabs box
tabsURL, Body, Exemplo de Requisição, Detalhamento dos Campos
idsurlE,corpoE,exE,campE
Totvs custom tabs box items
defaultyes
referenciaurlE

Button
Cor#61affe
TextoPOST
Link.
 https://www30.bhan.com.br:9443/api/v1/produto/precoproduto

Totvs custom tabs box items
defaultno
referenciacorpoE
Bloco de código
language
campE
NomeTipoDescriçãoExemploVA
cdProdutostringCódigo do produto *"cdProduto": "100"Referência 1
cdPrecointCódigo do Preço"cdPreco": 1Referência 2
inPromocaointValor de Promoção **"inPromocao": 1--
cdEmpresaintCódigo da Empresa ***"cdEmpresa": 1Referência 3
nrCNPJEmpresastringCNPJ da Empresa ***"nrCNPJEmpresa": "12345678901234"--
Informações

Todos os campos são obrigatórios. Caso possua a opção de informar  código e/ou documento, pelo menos um dos campos deve ser informado!

Totvs custom tabs box items
defaultno
referenciaretorno
Totvs custom tabs box
tabsSucesso, Erro
idssucesso,erro
Totvs custom tabs box items
defaultyes
referenciasucesso
Bloco de código
languagexml
themeRDark
firstline1
titleStatus 200 OKBody
linenumberstrue
{
    "precosprodutos": [
        {
            "cdSKUcdProduto": 9999999,"XXXXXXXXXXXXXXXXXXXX"
        }
    "cdProduto": "XXXXXXXXXX"],
            "dsProduto"cdPreco": "XXXXXXXXXX"9999,
            "cdReferencia"inPromocao": "XXXXXXXXXX"9,
            "cdCorempresas": "XXXXXXXXX",[
            "dsTamanho": "XXXXXXXXXX",{
            "cdEmpresa": 9999999999999,
            "nrCNPJEmpresa": "XXXXXXXXXXXXXXXXXXXXXXXXX",
            "vlPreco": 999999999.99,
            "vlPrecoPromocao": 999999999.99
   }
     }
    ]
}
Totvs custom tabs box items
defaultno
referenciaerroexE
code

URL

language

Button

xml

Cor

theme

#61affe

RDark

Texto

firstline

POST

1

Link

titleStatus 400 Bad Request
linenumberstrue
{
    "dsErro": "Mensagem informativa do erro"
}
Totvs custom tabs box items
defaultno
referenciacod

.
 https://www30.bhan.com.br:9443/api/v1/produto/precoproduto


HEADER

AuthorizationBearer {{token}}


BODY


Bloco de código
languagexml
themeRDark
firstline1
titleBody
linenumberstrue
{
    "produtos": [
    
Totvs custom tabs box
tabsConsulta Preço Produto, Token, Preço Produto
idsapi,token,prproduto
Totvs custom tabs box items
defaultyes
referenciaapi
public class ApiPrecoProduto
    {
        
static
   
void Main(string[] args)
 "cdProduto": "100"
        
{
}
    ],
    "cdPreco": 1,
   
var
 
token = Token.ObterToken();
"inPromocao": 1,
    "empresas": [
       
var dto = PopularDto();
 {
            
PrecoProduto.PrecoProdutoConsulta(token, dto);
"cdEmpresa": 1
        }
    ]
}
Totvs custom tabs box
tabsMain, DtoBuilder, DtoEnvioPrecoProdutoBuilder,
idsmain,dtoB,dtoI,envioPrecoProduto
Totvs custom tabs box items
defaultyes
referenciamain
Bloco de código
languagec#
themeRDark
firstline1
titleMain
linenumberstrue
Totvs custom tabs box items
defaultno
referenciacampE

Image AddedImage Added


NomeTipoDescriçãoExemploVA
cdProdutostringCódigo do produto *"cdProduto": "100"Referência 1
cdPrecointCódigo do Preço"cdPreco": 1Referência 2
inPromocaointValor de Promoção **"inPromocao": 1--
cdEmpresaintCódigo da Empresa ***"cdEmpresa": 1Referência 3
nrCNPJEmpresastringCNPJ da Empresa ***"nrCNPJEmpresa": "12345678901234"--



*Neste campo podemos informar o código sku do produto ou o código de barras do produto.

**Neste campo podemos informar 1 (um) para retornar os valores promocionais ou 0 (zero) para NÃO retornar os valores promocionais.

***Neste campo quando Código da Empresa for informado, não existe a necessidade de informar o CNPJ. Porém, caso o Código não for informado, o documento se torna obrigatório!

Informações

Todos os campos são obrigatórios. Caso possua a opção de informar  código e/ou documento, pelo menos um dos campos deve ser informado!

Totvs custom tabs box items
defaultno
referenciaretorno
Totvs custom tabs box
tabsSucesso, Erro
idssucesso,erro
Totvs custom tabs box items
defaultyes
referenciasucesso
public class DtoBuilder
"cdEmpresa": 999999999,
    
{
        
private readonly PrecoProdutoDTO.Envio _dto;
"nrCNPJEmpresa": "XXXXXXXXXXX",
        
public
 
DtoBuilder()
   
{
"vlPreco": 999999999.99,
            
_dto = new PrecoProdutoDTO.Envio();
"vlPrecoPromocao": 999999999.99
        }
    ]
}
Bloco de código
languagexml
themeRDark
firstline1
titleStatus 200 OK
linenumberstrue
{
    "precos": [
private static PrecoProdutoDTO.Envio PopularDto() { var dto = new DtoBuilder() .ComProdutos(ObterProduto()) .Build(); return dto; } private static List<PrecoProdutoDTO.EnvioPrecoProduto> ObterProduto() { var produtos = new List<PrecoProdutoDTO.EnvioPrecoProduto>(); produtos.Add( new DtoEnvioPrecoProdutoBuilder() .ComCodigoProduto("100") .ComCodigoPreco(1) .ComIncluiPromocao(1)
        {
    
.ComCodigoEmpresa(1)
        "cdSKU": 9999999,
            
.ComNumeroCNPJEmpresa("12345678901234")
"cdProduto": "XXXXXXXXXX",
            "dsProduto": "XXXXXXXXXX",
        
.Build()
    "cdReferencia": "XXXXXXXXXX",
            
);
"cdCor": "XXXXXXXXX",
            
return produtos;
"dsTamanho": "XXXXXXXXXX",
        
}
    
}
Totvs custom tabs box items
defaultno
referenciadtoB
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
Totvs custom tabs box items
defaultno
referenciaerro
Bloco de código
languagexml
themeRDark
firstline1
titleStatus 400 Bad Request
linenumberstrue
{
    "dsErro": "Mensagem informativa do erro"
}
Totvs custom tabs box items
defaultno
referenciacod
Totvs custom tabs box
tabsConsulta Preço Produto, Token, Preço Produto
idsapi,token,prproduto
Totvs custom tabs box items
defaultyes
referenciaapi
Totvs custom tabs box
tabsMain, DtoBuilder, DtoEnvioProdutoBuilder, DtoEnvioEmpresaBuilder
idsmain,dtoB,dtoProduto,dtoEmpresa
Totvs custom tabs box items
defaultyes
referenciamain
Bloco de código
languagec#
themeRDark
firstline1
titleMain
linenumberstrue
public class ApiPrecoProduto
    {
        static void Main(string[] args)
        {
   public DtoBuilder ComProdutos(PrecoProdutoDTO.EnvioPrecoProduto _produto)
        {
            _dto.Produtos.Add(_produto);
            return this;
        }

        public DtoBuilder ComProdutos(List<PrecoProdutoDTO.EnvioPrecoProduto> _produtos)
        {
            _dto.Produtos = _produtos;
            return this;
        }

        public PrecoProdutoDTO.Envio Build()var token => _dto Token.ObterToken();
     }
Totvs custom tabs box items
defaultno
referenciadtoI
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
    public class DtoEnvioPrecoProdutoBuilder
 var dto = {PopularDto();
        private readonly   PrecoProdutoDTO.EnvioPrecoProduto _produto;

RequisicaoPrecoProduto.PrecoProdutoConsulta(token, dto);
        }

        private public DtoEnvioPrecoProdutoBuilderstatic PrecoProdutoDTO.Envio PopularDto()
        {
            var _produtodto = new PrecoProdutoDTO.EnvioPrecoProdutoDtoBuilder();
        }

        public DtoEnvioPrecoProdutoBuilder ComCodigoProduto(string codigoProduto.ComProdutos(ObterProduto())
        {
        .ComCodigoPreco(1)
    _produto.CodigoProduto = codigoProduto;
          .ComIncluiPromocao(1)
   return this;
        }
    .ComEmpresas(ObterEmpresa())    public  DtoEnvioPrecoProdutoBuilder ComCodigoPreco(int codigoPreco)
        {
            _produto.CodigoPreco = codigoPreco    .Build();
            return thisdto;
        }

        private publicstatic DtoEnvioPrecoProdutoBuilderList<Empresa> ComIncluiPromocaoObterEmpresa(int incluiPromocao)
        {
            _produto.IncluiPromocao var empresas = incluiPromocaonew List<Empresa>();

            return this;empresas.Add(
        }
        publicnew DtoEnvioPrecoProdutoBuilder ComCodigoEmpresa(int codigoEmpresaDtoEnvioEmpresaBuilder()
        {
        .ComCodigoEmpresa(1)
     _produto.CodigoEmpresa  = codigoEmpresa;
        .ComNumeroCNPJEmpresa("12345678901234")
    return this;
        }
   .Build()
     public DtoEnvioPrecoProdutoBuilder ComNumeroCNPJEmpresa(string numeroCNPJEmpresa)
        {);
            _produto.NumeroCNPJEmpresa = numeroCNPJEmpresareturn empresas;
        }

        private static return this;List<Produto> ObterProduto()
        }{
        public PrecoProdutoDTO.EnvioPrecoProduto Build() => _produto;

    }
Totvs custom tabs box items
defaultno
referenciatoken
Totvs custom tabs box
tabsObter Token, LoginDTO
idsobterToken,login
Totvs custom tabs box items
defaultyes
referenciaobterToken
Bloco de código
languagec#
themeRDark
firstline1
titleToken
linenumberstrue
public class Token
    {
 var produtos = new List<Produto>();

            produtos.Add(
  private const string _applicationJson = "application/json";
        private const string _baseUri = @"http://www30.bhan.com.br:9443/api/v1/";
new DtoEnvioProdutoBuilder()
           private const string _usuario = .ComCodigoProduto("desen100";)
        private const string _senha = "123456";


        public static string ObterToken()
        {.Build()
            LoginDTO.Envio login = new LoginDTO.Envio(_usuario, _senha);

            var cliente = PopularCliente()return produtos;
            }
    }
Totvs custom tabs box items
defaultno
referenciadtoB
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
public class DtoBuilder
    {        
            var uri = @"autorizacao/token";
        private readonly PrecoProdutoDTO.Envio  var conteudo = new StringContent(_applicationJson);_dto;

        public DtoBuilder()
        {
    var response        _dto = clientenew PrecoProdutoDTO.PostAsyncEnvio(uri, conteudo).Result;

        }

    if (!response.IsSuccessStatusCode)
   public DtoBuilder ComProdutos(Produto _produto)
          throw new Exception();

{
            var retorno = JsonConvert.DeserializeObject<LoginDTO.Retorno>(response.Content.ReadAsStringAsync().Result_dto.Produtos.Add(_produto);
            return retorno.Token.Replace("Bearer", "").Trim()this;

        }


        privatepublic staticDtoBuilder HttpClient PopularCliente()
 ComProdutos(List<Produto> _produtos)
        {
            HttpClient cliente_dto.Produtos = new HttpClient()_produtos;
            cliente.BaseAddress = new Uri($"{_baseUri}");
return this;
        }

      cliente.DefaultRequestHeaders.Accept.Clear();
  public DtoBuilder ComCodigoPreco(int codigoPreco)
       cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson)); {
            cliente.DefaultRequestHeaders.Add("usuario", _usuario);
  _dto.CodigoPreco = codigoPreco;
            return this;
        }

        public DtoBuilder cliente.DefaultRequestHeaders.Add("senha", _senha);ComIncluiPromocao(int incluiPromocao)
        {
            cliente_dto.TimeoutIncluiPromocao = TimeSpan.FromDays(1)incluiPromocao;

            return clientethis;
        }

        }
Totvs custom tabs box items
defaultno
referencialogin
Bloco de código
languagec#
themeRDark
firstline1
titleLogin
linenumberstrue
public class LoginDTOpublic DtoBuilder ComEmpresas(Empresa _empresa)
        {
        public class Envio
  _dto.Empresas.Add(_empresa);
      {
      return this;
     [JsonProperty("usuario")]
   }

         public stringDtoBuilder Usuario { get; set; }

ComEmpresas(List<Empresa> _empresas)
            [JsonProperty("senha")]{
            public string Senha { get; set; }

_dto.Empresas = _empresas;
            public Envio(string usuario, string senha)return this;
        }

    {
    public PrecoProdutoDTO.Envio Build() => _dto;
    }    Usuario = usuario;
       
Totvs custom tabs box items
defaultno
referenciadtoProduto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
    public class DtoEnvioProdutoBuilder
    {
        private Senhareadonly =Produto senha_produto;

        public DtoEnvioProdutoBuilder()
   }
     {
   }

         public class Retorno_produto = new Produto();
        {}

        public DtoEnvioProdutoBuilder   [JsonProperty("cdToken")]ComCodigoProduto(string codigoProduto)
        {
    public string Token { get; set; }

  _produto.CodigoProduto = codigoProduto;
        [JsonProperty("dtExpiracao")]
    return   this;
     public string DataExpiracao { get; set; }

        public Produto   public Retorno(string token, string dataExpitacao)Build() => _produto;
    }
Totvs custom tabs box items
defaultno
referenciadtoEmpresa
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
 public class DtoEnvioEmpresaBuilder
         {
        private readonly Empresa _empresa;

     Token   = token;public DtoEnvioEmpresaBuilder()
        {
        DataExpiracao = dataExpitacao;
  _empresa = new Empresa();
        }

        }

public DtoEnvioEmpresaBuilder ComCodigoEmpresa(int  }
Totvs custom tabs box items
defaultno
referenciaprproduto
Totvs custom tabs box
tabsConsultarPrecoProduto, ConsultarPrecoProdutoDTO
idsconsultar,dto
Totvs custom tabs box items
defaultyes
referenciaconsultar
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
codigoEmpresa)
     public class PrecoProduto
    {
        private  const string _balseUriempresa.CodigoEmpresa = @"http://www30.bhan.com.br:9443/api/v1/"codigoEmpresa;
        private const string _applicationJson = "application/json";

return this;
        }

        public static PrecoProdutoDTO.Retorno PrecoProdutoConsultaDtoEnvioEmpresaBuilder ComNumeroCNPJEmpresa(string token, PrecoProdutoDTO.Envio dtonumeroCNPJEmpresa)
        {
            var uri = @"produto/precoproduto"_empresa.NumeroCNPJEmpresa = numeroCNPJEmpresa;
            varreturn jsonthis;
 = JsonConvert.SerializeObject(dto);
            var cliente = PopularCliente(token);}

        public    var conteudo = new StringContent(json, Encoding.UTF8, _applicationJson);
            var response = cliente.PostAsync(uri, conteudo).Result;
Empresa Build() => _empresa;
    }     
Totvs custom tabs box items
defaultno
referenciatoken
Totvs custom tabs box
tabsObter Token, LoginDTO
idsobterToken,login
Totvs custom tabs box items
defaultyes
referenciaobterToken
Bloco de código
languagec#
themeRDark
firstline1
titleToken
linenumberstrue
public class Token
   if (!response.IsSuccessStatusCode) {
        private const string _applicationJson     throw new Exception();

= "application/json";
        private const string _baseUri return JsonConvert.DeserializeObject<PrecoProdutoDTO.Retorno>(response.Content.ReadAsStringAsync().Result)= @"http://www30.bhan.com.br:9443/api/v1/";
        }
private const string _usuario = "usuario";
        private staticconst HttpClient PopularCliente(string tokenstring _senha = "senha";


        public static string ObterToken()
        {
            HttpClientLoginDTO.EnvioToken clientelogin = new HttpClient(LoginDTO.EnvioToken(_usuario, _senha);

            var cliente.BaseAddress = new Uri($"{_balseUri}"PopularCliente();


            cliente.DefaultRequestHeaders.Accept.Clear()var uri = @"autorizacao/token";
            cliente.DefaultRequestHeaders.Accept.Add(var conteudo = new MediaTypeWithQualityHeaderValueStringContent(_applicationJson));
            var cliente.DefaultRequestHeaders.Authorizationresponse = new AuthenticationHeaderValue("Bearer"cliente.PostAsync(uri, tokenconteudo).Result;

            return cliente;if (!response.IsSuccessStatusCode)
        }
    }
Totvs custom tabs box items
defaultno
referenciadto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
    publicthrow class PrecoProdutoDTOnew Exception();

    {
        var publicretorno class Envio= JsonConvert.DeserializeObject<LoginDTO.RetornoToken>(response.Content.ReadAsStringAsync().Result);
        {
    return   retorno.Token.Replace("Bearer", "").Trim();

     public List<EnvioPrecoProduto> Produtos { get; set; }}


        private static HttpClient  public EnvioPopularCliente()
            {
            HttpClient cliente =  Produtos = new List<EnvioPrecoProduto>new HttpClient();
            cliente.BaseAddress = new Uri($"{_baseUri}");
        }

    cliente.DefaultRequestHeaders.Accept.Clear();
    public class EnvioPrecoProduto
        {cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
            [JsonPropertycliente.DefaultRequestHeaders.Add("cdProdutousuario", _usuario)];
            public string CodigoProduto { get; set; }

cliente.DefaultRequestHeaders.Add("senha", _senha);
            cliente.Timeout = [JsonProperty("cdPreco")]TimeSpan.FromDays(1);

            public int CodigoPreco { get; set; }
return cliente;
            [JsonProperty("inPromocao")]}
    }
Totvs custom tabs box items
defaultno
referencialogin
Bloco de código
languagec#
themeRDark
firstline1
titleLogin
linenumberstrue
public class LoginDTO
    {
        public class EnvioToken
        public int IncluiPromocao { get; set; }

              {
            [JsonProperty("cdEmpresausuario")]
            public intstring CodigoEmpresaUsuario { get; set; }

            [JsonProperty("nrCNPJEmpresasenha")]
            public string NumeroCNPJEmpresaSenha { get; set; }

        }    public EnvioToken(string usuario, string senha)
            {
                Usuario = usuario;
                

Senha = senha;
          public class Retorno}
        {}

        public class RetornoToken
     public List<RetornoPrecoProduto> precos { get; set; }


            [JsonProperty("cdToken")]
            public Retorno()
            {
                precos = new List<RetornoPrecoProduto>();    public string Token { get; set; }

            [JsonProperty("dtExpiracao")]
            public string DataExpiracao { get; set; }

            public RetornoToken(string token, string dataExpitacao)
            {
                Token = token;
                DataExpiracao = dataExpitacao;
            }
        }
    }
Totvs custom tabs box items
defaultno
referenciaprproduto
Totvs custom tabs box
tabsRequisicaoPrecoProduto, PrecoProdutoDTO, Produto, Empresa
idsrequisicao,dto,produto,empresa
Totvs custom tabs box items
defaultyes
referenciarequisicao
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
public class RequisicaoPrecoProduto
    {
        private const string _balseUri = @"http://www30.bhan.com.br:9443/api/v1/";
        private const string _applicationJson = "application/json";

        public static PrecoProdutoDTO.Retorno PrecoProdutoConsulta(string token, PrecoProdutoDTO.Envio dto)
        {
            var uri = @"produto/precoproduto";
            var json = JsonConvert.SerializeObject(dto);
            var cliente = PopularCliente(token);
            var conteudo = new StringContent(json, Encoding.UTF8, _applicationJson);
            var response = cliente.PostAsync(uri, conteudo).Result;

            if (!response.IsSuccessStatusCode)
                throw new Exception();

            return JsonConvert.DeserializeObject<PrecoProdutoDTO.Retorno>(response.Content.ReadAsStringAsync().Result);
        }

        private static HttpClient PopularCliente(string token)
        {
            HttpClient cliente = new HttpClient();
            cliente.BaseAddress = new Uri($"{_balseUri}");
            cliente.DefaultRequestHeaders.Accept.Clear();
            cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
            cliente.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

            return cliente;
        }
    }
Totvs custom tabs box items
defaultno
referenciadto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
public class PrecoProdutoDTO
    {
        public class Envio
        {
            public List<Produto> Produtos { get; set; }
            public List<Empresa> Empresas { get; set; }

            public Envio()
            {
                Produtos = new List<Produto>();
                Empresas = new List<Empresa>();
            }

            [JsonProperty("cdPreco")]
            public int CodigoPreco { get; set; }

            [JsonProperty("inPromocao")]
            public int IncluiPromocao { get; set; }
        }

        public class Retorno
        {
            public List<RetornoPrecoProduto> precos { get; set; }

            public Retorno()
            {
                precos = new List<RetornoPrecoProduto>();
            }
        } 
    }
Totvs custom tabs box items
defaultno
referenciaproduto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
    public class Produto
    {
        [JsonProperty("cdProduto")]
        public string CodigoProduto { get; set; }
    }
Totvs custom tabs box items
defaultno
referenciaempresa
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
    public class Empresa
    {
        [JsonProperty("cdEmpresa")]
        public int CodigoEmpresa { get; set; }

        [JsonProperty("nrCNPJEmpresa")]
        public string NumeroCNPJEmpresa { get; set; }
    }
Totvs custom tabs box items
defaultno
referenciasaldogrupo

01. INTRODUÇÃO

Obter saldo dos produtos de um grupo por empresa

  • Requisição que retorna saldo de um grupo de produtos por empresa.
Totvs custom tabs box items
defaultno
referenciaconsultarclassificacoesdeproduto
Bloco de código
titleURL
https://www30.bhan.com.br:9443/api/v1/produto/saldogrupo
Bloco de código
titleMÉTODO
POST
Bloco de código
titleCABEÇALHO
Token: "XXXXXXXXXXXXXX"
Bloco de código
titleEXEMPLO REQUISIÇÃO
collapsetrue
{
    "cdReferencia": "XXXXXXXXXXXXXXXXXXXX",
    "cdGrupo": "XXXXXXXXXX",
    "cdCor": "XXXXXXXXXX",
    "dsTamanho": "XXXXXXXXXX",
    "cdSaldo": 9999,
    "inEstoque": 9,
    "inPedidoVenda": 9,
    "empresas": [
        {
            "cdEmpresa": 9999,
            "nrCNPJEmpresa": "XXXXXXXXXXXXXX"
        }
    ]
}
Bloco de código
titleEXEMPLO RESPOSTA
collapsetrue
{
   "saldos": [
        {
            "cdSKU": 999999999,									"Código reduzido do produto"
            "cdProduto": "XXXXXXXXXXXXXXXXXXXX",				"Código de barras do produto"
            "cdReferencia": "XXXXXXXXXXXXXXXXXXXX",				"Código da Referência"
            "cdCor": "XXXXXXXXXX",								"Código da Cor"
            "dsTamanho": "XXXXXXXXXX",							"Descrição do Tamanho"
            "cdEmpresa": 9999,									"Código da Empresa"
            "nrCNPJEmpresa": "XXXXXXXXXXXXXX",					"CNPJ da Empresa"
            "qtEstoque":9999999.999,							"Quantidade em estoque"
            "qtPedidoVenda":9999999.999							"Quantidade em Pedido de Venda"
        }
    ]
}  
Totvs custom tabs box items
defaultno
referenciasaldoloteproduto

01. INTRODUÇÃO

Obter saldo em lote produto por empresa

  • Requisição que retorna o saldo de lote de um ou mais produtos por empresa
Totvs custom tabs box items
defaultno
referenciaconsultarclassificacoesdeproduto
Bloco de código
titleURL
https://www30.bhan.com.br:9443/api/v1/produto/saldoloteproduto
Bloco de código
titleMÉTODO
POST
Bloco de código
titleCABEÇALHO
Token: "XXXXXXXXXXXXXX"
Bloco de código
titleEXEMPLO REQUISIÇÃO
collapsetrue
{  
   "produtos": [
        {
            "cdProduto": "XXXXXXXXXXXXXXXXXXXX"
        }
    ],
   "cdSaldo": 9999,
   "inEstoque":  9,
   "inPedidoVenda":  9,
   "inTransacao":  9,
   "empresas": [
        {
            "cdEmpresa": 9999,
            "nrCNPJEmpresa": "XXXXXXXXXXXXXX"
        }
    ]
}
Bloco de código
titleEXEMPLO RESPOSTA
collapsetrue
{
   "lotes": [
        {
            "cdSKU": 999999999,												"Código reduzido do produto"
            "cdProduto": "XXXXXXXXXXXXXXXXXXXX",							"Código de barras do produto"
            "cdEmpresa": 9999,												"Código da Empresa"
            "nrCNPJEmpresa": "XXXXXXXXXXXXXX",								"CNPJ da Empresa"
            "nrLote": 999999999,											"Número do Lote"
            "nrItem": 999999999,											"Número do Item do Lote"
            "cdLote": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",				"Código do Lote"
            "qtEstoque":9999999.999,										"Quantidade em estoque"
            "qtPedidoVenda":9999999.999,									"Quantidade em Pedido de Venda"
            "qtTransacao":9999999.999										"Quantidade em Transação"
        }
    ]
} 
Totvs custom tabs box items
defaultno
referenciasaldoproduto

01. INTRODUÇÃO

Obter saldo de produto por empresa

  • Requisição que retorna saldo de um ou mais produtos por empresa.
Totvs custom tabs box items
defaultno
referenciasaldoproduto

01. INTRODUÇÃO

Obter saldo de produto por empresa

  • Requisição que retorna saldo de um ou mais produtos por empresa.
  • Link para documentação técnica: obter saldo produto por empresa
    Totvs custom tabs box items
    defaultno
    referenciaconsultarclassificacoesdeproduto
    Bloco de código
    titleURL
    https://www30.bhan.com.br:9443/api/v1/produto/saldoproduto
    Bloco de código
    titleMÉTODO
    POST
    Bloco de código
    titleCABEÇALHO
    Token: "XXXXXXXXXXXXXX"
    Bloco de código
    titleEXEMPLO REQUISIÇÃO
    collapsetrue
    {
        "produtos": [
            
    }
    {
       
    }
            
    public
     
    class RetornoPrecoProduto
    "cdProduto": "XXXXXXXXXXXXXXXXXXXX"
            
    {
    }
        ],
        "cdSaldo": 9999,   
    [JsonProperty("cdSKU")]
                
    public
     
    int
     
    CodigoSKU
     
    {
     
    get;
     
    set;
     
    }
          // informar o código do 
    [JsonProperty("cdProduto")]
    saldo desejado
        "inEstoque": 9,       
    public
     
    string
     
    CodigoProduto
     
    {
     
    get;
     
    set;
     
    }
                
    [JsonProperty("dsProduto")]
       
    // informar igual a 1 para retornar 
    public
    o 
    string
    saldo 
    DescricaoProduto
    em 
    {
    estoque
     
    get;
     
    set;
     
    }
     "inPedidoVenda": 9,          
    [JsonProperty("cdReferencia")]
                
    public
     
    string
     
    CodigoReferencia
    // 
    {
    informar 
    get;
    igual 
    set; }
    a 1 para retornar o saldo em pedido de venda
        
    [JsonProperty(
    "
    cdCor")]
    empresas": [
            {
        
    public
        
    string
     
    CodigoCor
     
    {
     
    get; set; }
     "cdEmpresa": 9999,
                
    [JsonProperty("dsTamanho")]
    "nrCNPJEmpresa": "XXXXXXXXXXXXXX"
            }
        ]
    }
    Bloco de código
    titleEXEMPLO RESPOSTA
    collapsetrue
    {
       
    public string DescricaoTamanho { get; set; }
    "saldos": [
            {
            	"cdSKU": 999999999,								"Código reduzido do 
    [JsonProperty("cdEmpresa")]
    produto"
                
    public int CodigoEmpresa { get; set; }
    "cdProduto": "XXXXXXXXXXXXXXXXXXXX",			"Código de barras do produto"
                
    [JsonProperty(
    "
    nrCNPJEmpresa
    cdReferencia"
    )]
    : "XXXXXXXXXXXXXXXXXXXX",			"Código da Referência"
             
    public
     
    string
     
    NumeroCNPJEmpresa
     
    { get; set; } [JsonProperty("vlPreco")]
    "cdCor": "XXXXXXXXXX",							"Código da Cor"
                
    public double ValorPreco { get; set; }
    "dsTamanho": "XXXXXXXXXX",						"Descrição do Tamanho"
                
    [JsonProperty(
    "
    vlPrecoPromocao
    cdEmpresa"
    )]
    : 9999,								"Código da Empresa"
             
    public
     
    double
     
    ValorPrecoPromocao
     
    { get; set; }
    "nrCNPJEmpresa": "XXXXXXXXXXXXXX",				"CNPJ da Empresa"
         
    }
        
    }
    Totvs custom tabs box items
    defaultno
    referenciasaldogrupo

    01. INTRODUÇÃO

    Obter saldo dos produtos de um grupo por empresa

    Totvs custom tabs box items
    defaultno
    referenciasaldoloteproduto

    01. INTRODUÇÃO

    Obter saldo em lote produto por empresa

       "qtEstoque":9999999.999,						"Quatidade em Estoque"
                "qtPedidoVenda":9999999.999						"Quantidade em Pedido de Venda"
            }
        ]
    }