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"
     
var
 
token
 
= Token.ObterToken();
 }
    ],
    "cdPreco": 1,
   
var
 
dto = PopularDto();
"inPromocao": 1,
    "empresas": [
       
RequisicaoPrecoProduto.PrecoProdutoConsulta(token, dto);
 {
        
}
    
private static PrecoProdutoDTO.Envio PopularDto()
"cdEmpresa": 1
        
{
}
    ]
}
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
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
Bloco de código
languagexml
themeRDark
firstline1
titleStatus 200 OK
linenumberstrue
{
    "precos": [
        {
            "cdSKU": 9999999,
            "cdProduto": "XXXXXXXXXX",
            "dsProduto": "XXXXXXXXXX",
            "cdReferencia": "XXXXXXXXXX",
            "cdCor": "XXXXXXXXX",
            "dsTamanho": "XXXXXXXXXX",
            "cdEmpresa": 999999999,
            "nrCNPJEmpresa": "XXXXXXXXXXX",
            "vlPreco": 999999999.99,
            "vlPrecoPromocao": 999999999.99
        }
    ]
}
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)
        {
            var token = Token.ObterToken();
            var dto = PopularDto();
            RequisicaoPrecoProduto.PrecoProdutoConsulta(token, dto);
        }

        private static PrecoProdutoDTO.Envio PopularDto()
        {
            var dto = new DtoBuilder()
                .ComProdutos(ObterProduto())
                .ComCodigoPreco(1)
                .ComIncluiPromocao(1)
                .ComEmpresas(ObterEmpresa())                
                .Build();
            return dto;
        }

        private static List<Empresa> ObterEmpresa()
        {
            var empresas = new List<Empresa>();

            empresas.Add(
                new DtoEnvioEmpresaBuilder()
                .ComCodigoEmpresa(1)
                .ComNumeroCNPJEmpresa("12345678901234")
                .Build()
                );
            return empresas;
        }

        private static List<Produto> ObterProduto()
        {
            var produtos = new List<Produto>();

            produtos.Add(
                new DtoEnvioProdutoBuilder()
                .ComCodigoProduto("100")
                .Build()
                );
            return produtos;
        }
    }
Totvs custom tabs box items
defaultno
referenciadtoB
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
public class DtoBuilder
    {
        private readonly PrecoProdutoDTO.Envio _dto;

        public DtoBuilder()
        {
            _dto = new PrecoProdutoDTO.Envio();
        }

        public DtoBuilder ComProdutos(Produto _produto)
        {
            _dto.Produtos.Add(_produto);
            return this;
        }

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

        public DtoBuilder ComCodigoPreco(int codigoPreco)
        {
            _dto.CodigoPreco = codigoPreco;
            return this;
        }

        public DtoBuilder ComIncluiPromocao(int incluiPromocao)
        {
            _dto.IncluiPromocao = incluiPromocao;
            return this;
        }

        public DtoBuilder ComEmpresas(Empresa _empresa)
        {
            _dto.Empresas.Add(_empresa);
            return this;
        }

        public DtoBuilder ComEmpresas(List<Empresa> _empresas)
        {
            _dto.Empresas = _empresas;
            return this;
        }

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

        public DtoEnvioProdutoBuilder()
        {
            _produto = new Produto();
        }

        public DtoEnvioProdutoBuilder ComCodigoProduto(string codigoProduto)
        {
            _produto.CodigoProduto = codigoProduto;
            return this;
        }

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

        public DtoEnvioEmpresaBuilder()
        {
            _empresa = new Empresa();
        }

        public DtoEnvioEmpresaBuilder ComCodigoEmpresa(int codigoEmpresa)
        {
            _empresa.CodigoEmpresa = codigoEmpresa;
            return this;
        }

        public DtoEnvioEmpresaBuilder ComNumeroCNPJEmpresa(string numeroCNPJEmpresa)
        {
            _empresa.NumeroCNPJEmpresa = numeroCNPJEmpresa;
            return this;
        }

        public 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
    {        var dto = new DtoBuilder()
                .ComProdutos(ObterProduto())
                .ComCodigoPreco(1)
                .ComIncluiPromocao(1)
                .ComEmpresas(ObterEmpresa())                
        private const string _applicationJson     .Build();
      = "application/json";
      return dto;
 private const string _baseUri =   }

@"http://www30.bhan.com.br:9443/api/v1/";
        private const privatestring static_usuario List<Empresa> ObterEmpresa()= "usuario";
        {
private const string _senha = "senha";


       var empresaspublic =static newstring List<Empresa>ObterToken();

            empresas.Add( {
            LoginDTO.EnvioToken login =  new DtoEnvioEmpresaBuilder()
LoginDTO.EnvioToken(_usuario, _senha);

            var cliente =  .ComCodigoEmpresaPopularCliente(1);


            var uri =  .ComNumeroCNPJEmpresa("12345678901234")@"autorizacao/token";
            var conteudo = new .BuildStringContent(_applicationJson);
            var response = cliente.PostAsync(uri, conteudo).Result;

            return empresas;
        }
if (!response.IsSuccessStatusCode)
        private static List<Produto> ObterProduto()
     throw   {new Exception();

            var produtosretorno = new List<Produto>(JsonConvert.DeserializeObject<LoginDTO.RetornoToken>(response.Content.ReadAsStringAsync().Result);

             produtos.Add(
return retorno.Token.Replace("Bearer", "").Trim();

        }


        new DtoEnvioProdutoBuilderprivate static HttpClient PopularCliente()
                .ComCodigoProduto("100")  {
            HttpClient cliente = new .BuildHttpClient();
            cliente.BaseAddress =   new Uri($"{_baseUri}");
            return produtoscliente.DefaultRequestHeaders.Accept.Clear();
        }
    }
Totvs custom tabs box items
defaultno
referenciadtoB
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
public class DtoBuilder
    {
       cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
          private readonly PrecoProdutoDTO.Envio _dto;

cliente.DefaultRequestHeaders.Add("usuario", _usuario);
           public DtoBuilder()cliente.DefaultRequestHeaders.Add("senha", _senha);
        {
    cliente.Timeout = TimeSpan.FromDays(1);

            return cliente;
     _dto = new PrecoProdutoDTO.Envio(); }
    }
Totvs custom tabs box items
defaultno
referencialogin
Bloco de código
languagec#
themeRDark
firstline1
titleLogin
linenumberstrue
public class LoginDTO
  }  {

        public DtoBuilder ComProdutos(Produto _produto)class EnvioToken
        {
            _dto.Produtos.Add(_produto);[JsonProperty("usuario")]
            returnpublic this;
string Usuario { get; set;    }

          public DtoBuilder ComProdutos(List<Produto> _produtos)[JsonProperty("senha")]
        {
    public string Senha { get; set; }

  _dto.Produtos = _produtos;
        public EnvioToken(string usuario,  return this;
string senha)
            }{

           public DtoBuilder ComCodigoPreco(int codigoPreco)
  Usuario = usuario;
    {
            _dto.CodigoPrecoSenha = codigoPrecosenha;
            return this;}
        }

        public DtoBuilder ComIncluiPromocao(int incluiPromocao)class RetornoToken
        {
            _dto.IncluiPromocao = incluiPromocao;[JsonProperty("cdToken")]
            returnpublic this;
string Token { get;  set;   }

        public   DtoBuilder ComEmpresas(Empresa _empresa)
        {
 [JsonProperty("dtExpiracao")]
           _dto.Empresas.Add(_empresa);
        public string DataExpiracao { get; set; }

     return this;
      public  }

  RetornoToken(string token, string dataExpitacao)
      public DtoBuilder ComEmpresas(List<Empresa> _empresas)
   {
     {
            _dto.EmpresasToken = _empresastoken;
            return this;
   DataExpiracao = dataExpitacao;
   }

        public PrecoProdutoDTO.Envio Build() => _dto;
}
        }
    }
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
referenciarequisicaodtoProduto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
    public class DtoEnvioProdutoBuilderRequisicaoPrecoProduto
    {
        private readonlyconst Produto _produto;
string _balseUri = @"http://www30.bhan.com.br:9443/api/v1/";
        public DtoEnvioProdutoBuilder()
        {private const string _applicationJson = "application/json";

        public static PrecoProdutoDTO.Retorno  _produto = new Produto();PrecoProdutoConsulta(string token, PrecoProdutoDTO.Envio dto)
        }{

        public DtoEnvioProdutoBuilder ComCodigoProduto(string codigoProduto)
 var uri      {= @"produto/precoproduto";
            _produto.CodigoProduto = codigoProduto;
   var json = JsonConvert.SerializeObject(dto);
      return this;
     var cliente  }
= PopularCliente(token);
        public Produto Build() => _produto;
    }
Totvs custom tabs box items
defaultno
referenciadtoEmpresa
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
 public class DtoEnvioEmpresaBuilder var conteudo = new StringContent(json, Encoding.UTF8, _applicationJson);
    {
        var privateresponse readonly Empresa _empresa= cliente.PostAsync(uri, conteudo).Result;

        public    if DtoEnvioEmpresaBuilder(!response.IsSuccessStatusCode)
        {
          throw new Exception();

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

        publicprivate static DtoEnvioEmpresaBuilderHttpClient ComCodigoEmpresaPopularCliente(intstring codigoEmpresatoken)
        {
            HttpClient _empresa.CodigoEmpresacliente = new codigoEmpresaHttpClient();
            return thiscliente.BaseAddress = new Uri($"{_balseUri}");
        }

        public DtoEnvioEmpresaBuilder ComNumeroCNPJEmpresa(string numeroCNPJEmpresa)cliente.DefaultRequestHeaders.Accept.Clear();
        {
            _empresa.NumeroCNPJEmpresa = numeroCNPJEmpresacliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
            return this;
   cliente.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

     }

       return publiccliente;
 Empresa Build() => _empresa;
    }
    }
Totvs custom tabs box items
defaultno
referencia
token
dto
Totvs custom tabs box
tabsObter Token, LoginDTO
idsobterToken,login
Totvs custom tabs box items
defaultyes
referenciaobterToken
Bloco de código
languagec#
themeRDark
firstline1titleToken1
linenumberstrue
public class PrecoProdutoDTO
    {
        public class Token class Envio
        {
            public List<Produto> Produtos { get; set; }
            public List<Empresa> Empresas { get; set; }

    {
        private const string _applicationJson = "application/json";
public Envio()
            private{
 const string _baseUri = @"http://www30.bhan.com.br:9443/api/v1/";
        private const string _usuarioProdutos = "usuario"new List<Produto>();
        private      const string _senhaEmpresas = "senha" new List<Empresa>();


         public static string ObterToken()}

         {   [JsonProperty("cdPreco")]
            LoginDTO.EnvioTokenpublic loginint =CodigoPreco new LoginDTO.EnvioToken(_usuario, _senha);{ get; set; }

            var cliente = PopularCliente();


[JsonProperty("inPromocao")]
            public varint uriIncluiPromocao = @"autorizacao/token";
     { get; set; }
       var conteudo}

 = new StringContent(_applicationJson);
     public class Retorno
     var response = cliente.PostAsync(uri, conteudo).Result;

 {
            if (!response.IsSuccessStatusCode)
     public List<RetornoPrecoProduto> precos { get; set; }

           throw newpublic ExceptionRetorno();

            var retorno = JsonConvert.DeserializeObject<LoginDTO.RetornoToken>(response.Content.ReadAsStringAsync().Result);
   {
                precos return retorno.Token.Replace("Bearer", "").Trim= new List<RetornoPrecoProduto>();

            }


        } private
  static HttpClient PopularCliente()
 }
Totvs custom tabs box items
defaultno
referenciaproduto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
    public class   {Produto
    {
        HttpClient cliente = new HttpClient();[JsonProperty("cdProduto")]
        public string CodigoProduto { cliente.BaseAddress =get; set; }
    }
Totvs custom tabs box items
defaultno
referenciaempresa
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
 new Uri($"{_baseUri}");
     public       cliente.DefaultRequestHeaders.Accept.Clear();class Empresa
            cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));{
            cliente.DefaultRequestHeaders.Add[JsonProperty("usuariocdEmpresa", _usuario);]
            cliente.DefaultRequestHeaders.Add("senha", _senha);
      public int CodigoEmpresa { get; set; }

      cliente.Timeout = TimeSpan.FromDays(1);

[JsonProperty("nrCNPJEmpresa")]
        public string NumeroCNPJEmpresa { returnget; clienteset; }
        }
    }}
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.
login
Totvs custom tabs box items
defaultno
referencia
consultarclassificacoesdeproduto
language
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"
public class LoginDTO { public class EnvioToken { [JsonProperty("usuario")] public string Usuario { get; set; } [JsonProperty("senha")] public string Senha { get; set; } public EnvioToken(string usuario, string senha) {
            
Usuario = usuario;
"cdEmpresa": 9999,
            "nrCNPJEmpresa": "XXXXXXXXXXXXXX"
   
Senha
 
=
 
senha;
   }
    ]
}
Bloco de código
titleEXEMPLO REQUISIÇÃO
collapsetrue
{
    "cdReferencia": "XXXXXXXXXXXXXXXXXXXX",
    "cdGrupo": "XXXXXXXXXX",
    "cdCor": "XXXXXXXXXX",
    "dsTamanho": "XXXXXXXXXX",
    "cdSaldo": 9999,
    "inEstoque": 9,
    "inPedidoVenda": 9,
    "empresas": [
        {
c#
themeRDark
firstline1
titleLogin
linenumberstrue
requisicao,dto,produto,empresa
]
}  
Bloco de código
titleEXEMPLO RESPOSTA
collapsetrue
{
   
}
"saldos": [
        
}
{
           
public
 
class RetornoToken
"cdSKU": 999999999,									"Código reduzido do produto"
     
{
       "cdProduto": "XXXXXXXXXXXXXXXXXXXX",				"Código de barras do 
[JsonProperty("cdToken")]
produto"
            
public string Token { get; set; }
"cdReferencia": "XXXXXXXXXXXXXXXXXXXX",				"Código da Referência"
            "cdCor": "XXXXXXXXXX",								"Código da 
[JsonProperty("dtExpiracao")]
Cor"
            
public string DataExpiracao { get; set; }
"dsTamanho": "XXXXXXXXXX",							"Descrição do Tamanho"
            
public RetornoToken(string token, string dataExpitacao)
"cdEmpresa": 9999,									"Código da Empresa"
            
{
"nrCNPJEmpresa": "XXXXXXXXXXXXXX",					"CNPJ da Empresa"
            
Token = token;
"qtEstoque":9999999.999,							"Quantidade em estoque"
        
DataExpiracao
 
=
 
dataExpitacao;
  "qtPedidoVenda":9999999.999							"Quantidade em Pedido 
}
de Venda"
        }
    
}
Totvs custom tabs box items
defaultno
referenciaprproduto
Totvs custom tabs box
tabsRequisicaoPrecoProduto, PrecoProdutoDTO, Produto, Empresa
ids
yes
Totvs custom tabs box items
default
no
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
public class RequisicaoPrecoProduto { private const string _balseUri = @"http
://www30.bhan.com.br:9443/api/v1/produto/saldoloteproduto
Bloco de código
titleURL
https
requisicao
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
Bloco de código
titleMÉTODO
POST
Bloco de código
titleCABEÇALHO
Token: "XXXXXXXXXXXXXX"
Bloco de código
titleEXEMPLO REQUISIÇÃO
collapsetrue
{  
";

   "produtos": [
    
private
 
const
 
string
 
_applicationJson = "application/json";
 {
        
public
 
static
 
PrecoProdutoDTO.Retorno PrecoProdutoConsulta(string
 
token, PrecoProdutoDTO.Envio dto)
 "cdProduto": "XXXXXXXXXXXXXXXXXXXX"
        
{
}
    ],
   "cdSaldo": 9999,
   "inEstoque":  
var
9,
 
uri
 
=
 
@
"
produto/precoproduto";
inPedidoVenda":  9,
   "inTransacao":  9,
   "empresas": [
     
var
 
json
 
= JsonConvert.SerializeObject(dto);
 {
            
var cliente = PopularCliente(token);
"cdEmpresa": 9999,
            "nrCNPJEmpresa": "XXXXXXXXXXXXXX"
  
var
 
conteudo
 
=
 
new
 
StringContent(json,
 
Encoding.UTF8, _applicationJson);
 }
    ]
}
Bloco de código
titleEXEMPLO RESPOSTA
collapsetrue
{
   "lotes": [
    
var
 
response
 
=
 
cliente.PostAsync(uri, conteudo).Result;
 {
            "cdSKU": 999999999,												"Código reduzido 
if (!response.IsSuccessStatusCode)
do produto"
            "cdProduto": "XXXXXXXXXXXXXXXXXXXX",							"Código de barras 
throw new Exception();
do produto"
            
return JsonConvert.DeserializeObject<PrecoProdutoDTO.Retorno>(response.Content.ReadAsStringAsync().Result);
"cdEmpresa": 9999,												"Código da Empresa"
        
}
    "nrCNPJEmpresa": "XXXXXXXXXXXXXX",								"CNPJ da Empresa"
  
private
 
static
 
HttpClient
 
PopularCliente(string
 
token)
      "nrLote": 
{
999999999,											"Número do Lote"
           
HttpClient cliente = new HttpClient();
 "nrItem": 999999999,											"Número do Item do Lote"
            
cliente.BaseAddress = new Uri($"{_balseUri}");
"cdLote": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",				"Código do Lote"
            
cliente.DefaultRequestHeaders.Accept.Clear();
"qtEstoque":9999999.999,										"Quantidade em estoque"
            
cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
"qtPedidoVenda":9999999.999,									"Quantidade em Pedido de Venda"
         
cliente.DefaultRequestHeaders.Authorization
 
=
 
new
 
AuthenticationHeaderValue("Bearer", token);
"qtTransacao":9999999.999										"Quantidade em Transação"
        }
    
return cliente; } }
]
} 
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
    dto
    language
    Bloco de código
    titleCABEÇALHO
    Token: "XXXXXXXXXXXXXX"
    public class PrecoProdutoDTO { public class Envio { public List<Produto> Produtos { get; set; } public List<Empresa> Empresas { get; set; } public Envio()
    
            
    {
                
    Produtos = new List<Produto>();
    "cdProduto": "XXXXXXXXXXXXXXXXXXXX"
            }
        
    Empresas = new List<Empresa>();
    ],
        
    }
    "cdSaldo": 9999,       
    [JsonProperty("cdPreco")]
                
    public
     
    int
     
    CodigoPreco
     
    {
     
    get;
     
    set;
     
    }
      // informar o código do saldo desejado
        
    [JsonProperty(
    "
    inPromocao
    inEstoque"
    )]
    : 9,           
    public
     
    int
     
    IncluiPromocao
     
    {
     
    get;
     
    set;
     
    }
            
    }
       // informar igual a 1 
    public
    para 
    class
    retornar 
    Retorno
    o saldo em estoque
        
    {
    "inPedidoVenda": 9,           
    public
     
    List<RetornoPrecoProduto>
     
    precos {
     
    get;
     
    set;
     
    }
            // informar igual a 
    public Retorno()
    1 para retornar o saldo em pedido de venda
        "empresas": 
    {
    [
            {
              
    precos
     
    =
     
    new List<RetornoPrecoProduto>();
    "cdEmpresa": 9999,
               
    }
     "nrCNPJEmpresa": "XXXXXXXXXXXXXX"
            }
    
        
    }
    ]
    }
    Bloco de código
    titleEXEMPLO REQUISIÇÃO
    collapsetrue
    {
        "produtos": [
    c#
    themeRDark
    firstline1
    linenumberstrue
    Totvs custom tabs box items
        
    public
      
    class
     
    Produto
    {
            
    {
    	"cdSKU": 999999999,								"Código reduzido do produto"
             
    [JsonProperty(
       "cdProduto"
    )]
    : "XXXXXXXXXXXXXXXXXXXX",			"Código de barras do produto"
             
    public
     
    string
     
    CodigoProduto
     
    { get; set; }
    "cdReferencia": "XXXXXXXXXXXXXXXXXXXX",			"Código da Referência"
        
    } public class Empresa
            "cdCor": "XXXXXXXXXX",							"Código da Cor"
        
    {
            
    [JsonProperty("cdEmpresa")]
    "dsTamanho": "XXXXXXXXXX",						"Descrição do Tamanho"
             
    public
     
    int
     
    CodigoEmpresa
     
    { get; set; }
    "cdEmpresa": 9999,								"Código da Empresa"
            
    [JsonProperty("nrCNPJEmpresa")]
        
    public string NumeroCNPJEmpresa { get; set; } }
    Bloco de código
    titleEXEMPLO RESPOSTA
    collapsetrue
    {
       "saldos": [
     
    defaultno
    referenciaproduto
    Bloco de código
    languagec#
    themeRDark
    firstline1
    linenumberstrue
    Totvs custom tabs box items
    defaultno
    referenciaempresa
    Bloco de código
    languagec#
    themeRDark
    firstline1
    linenumberstrue
    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

    "nrCNPJEmpresa": "XXXXXXXXXXXXXX",				"CNPJ da Empresa"
                "qtEstoque":9999999.999,						"Quatidade em Estoque"
                "qtPedidoVenda":9999999.999						"Quantidade em Pedido de Venda"
            }
        ]
    }