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
        
"
cdEmpresa
cdClassificacao": 
9999,
"3",					//Código da classificação
        "dsClassificacao": "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
      
{
  "cdEspecie": "SVC"						//Código da espécie
    
"cdEmpresa": 1 } ] }
}
]
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
Totvs custom tabs box items
defaultyes
referenciaenvio
Totvs custom tabs box
tabsURL, Body, Exemplo de Requisição, Detalhamento dos Campos
idsurlE,corpoE,exE,campE

*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!

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
defaultyes
referenciaurlE

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

campE

Image RemovedImage Removed

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

Totvs custom tabs box items
defaultno
referencia
retorno
corpoE
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"],
    "cdPreco": 9999,
       "dsProdutoinPromocao": "XXXXXXXXXX"9,
            "cdReferenciaempresas": "XXXXXXXXXX",[
            "cdCor": "XXXXXXXXX",
            "dsTamanho": "XXXXXXXXXX",{
            "cdEmpresa": 9999999999999,
            "nrCNPJEmpresa": "XXXXXXXXXXXXXXXXXXXXXXXXX",
        }
    "vlPreco": 999999999.99,
            "vlPrecoPromocao": 999999999.99
        }
    ]
}]
}
totvs-custom-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();
 {
            
RequisicaoPrecoProduto.PrecoProdutoConsulta(token, dto);
"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": [
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()
         "cdSKU": 9999999,
      
.ComCodigoEmpresa(1)
      "cdProduto": "XXXXXXXXXX",
         
.ComNumeroCNPJEmpresa("12345678901234")
   "dsProduto": "XXXXXXXXXX",
            "cdReferencia": "XXXXXXXXXX",
    
.Build()
        "cdCor": "XXXXXXXXX",
       
);
     "dsTamanho": "XXXXXXXXXX",
      
return
 
empresas;
     "cdEmpresa": 999999999,
  
}
        
private
 
static
 
List<Produto> ObterProduto()
"nrCNPJEmpresa": "XXXXXXXXXXX",
        
{
    "vlPreco": 999999999.99,
       
var
 
produtos
 
=
 
new
 
List<Produto>();
 "vlPrecoPromocao": 999999999.99
        
produtos.Add(
}
    ]
}
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
    {
     new DtoEnvioProdutoBuilder()
              static void .ComCodigoProduto("100"Main(string[] args)
        {
            var token = Token.BuildObterToken();
            var dto =  PopularDto();
            return produtosRequisicaoPrecoProduto.PrecoProdutoConsulta(token, dto);
        }
    }
Totvs custom tabs box items
defaultno
referenciadtoB
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
public class DtoBuilder
    {
        private readonlystatic PrecoProdutoDTO.Envio _dto;

        public DtoBuilderPopularDto()
        {
            _var dto = new PrecoProdutoDTO.EnvioDtoBuilder();
        }

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

       .ComEmpresas(ObterEmpresa())     public DtoBuilder ComProdutos(List<Produto> _produtos)
        {
            _dto.Produtos = _produtos    .Build();
            return thisdto;
        }

        publicprivate static DtoBuilderList<Empresa> ComCodigoPrecoObterEmpresa(int codigoPreco)
        {
            var _dto.CodigoPrecoempresas = codigoPreconew List<Empresa>();

            return this;
 empresas.Add(
       }

        public DtoBuildernew ComIncluiPromocaoDtoEnvioEmpresaBuilder(int incluiPromocao)
        {
        .ComCodigoEmpresa(1)
    _dto.IncluiPromocao = incluiPromocao;
            return this;.ComNumeroCNPJEmpresa("12345678901234")
        }

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

        publicprivate static DtoBuilderList<Produto> ComEmpresasObterProduto(List<Empresa> _empresas)
        {
            _dto.Empresasvar produtos = _empresas;new List<Produto>();

            return this;produtos.Add(
        }

        public PrecoProdutoDTO.Envionew BuildDtoEnvioProdutoBuilder() => _dto;

            }    
Totvs custom tabs box items
defaultno
referenciadtoProduto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
.ComCodigoProduto("100")
    public class DtoEnvioProdutoBuilder
    {
        private readonly Produto _produto;

.Build()
        public DtoEnvioProdutoBuilder()
        {);
            _produto = new Produto()return produtos;
        }

        public DtoEnvioProdutoBuilder ComCodigoProduto(string codigoProduto)
    }
Totvs custom tabs box items
defaultno
referenciadtoB
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
public class DtoBuilder
    {
        private readonly PrecoProdutoDTO.Envio  _produto.CodigoProduto = codigoProduto_dto;

            return this;public DtoBuilder()
        }{

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

        public DtoEnvioEmpresaBuilder(DtoBuilder ComProdutos(Produto _produto)
        {
            _empresa = new Empresa()dto.Produtos.Add(_produto);
            return this;
        }

        public DtoEnvioEmpresaBuilderDtoBuilder ComCodigoEmpresaComProdutos(intList<Produto> codigoEmpresa_produtos)
        {
            _empresadto.CodigoEmpresaProdutos = codigoEmpresa_produtos;
            return this;
        }

        public DtoEnvioEmpresaBuilderDtoBuilder ComNumeroCNPJEmpresaComCodigoPreco(stringint numeroCNPJEmpresacodigoPreco)
        {
            _empresadto.NumeroCNPJEmpresaCodigoPreco = numeroCNPJEmpresacodigoPreco;
            return this;
        }
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


        public DtoBuilder ComIncluiPromocao(int incluiPromocao)
        {
        private  const string _applicationJsondto.IncluiPromocao = "application/json"incluiPromocao;
        private const string _baseUri = @"http://www30.bhan.com.br:9443/api/v1/"return this;
        private}

  const string _usuario = "desen";
  public DtoBuilder ComEmpresas(Empresa _empresa)
   private const string _senha = "123456";


{
         public static string ObterToken() _dto.Empresas.Add(_empresa);
        {
    return this;
       LoginDTO.Envio login = new LoginDTO.Envio(_usuario, _senha); }

        public DtoBuilder ComEmpresas(List<Empresa> _empresas)
 var cliente = PopularCliente();
    {
        
    _dto.Empresas = _empresas;
      
      return this;
     var uri = @"autorizacao/token"; }

        public PrecoProdutoDTO.Envio   var conteudo = new StringContent(_applicationJson)Build() => _dto;
    }        var response = cliente.PostAsync(uri, conteudo).Result;

  
Totvs custom tabs box items
defaultno
referenciadtoProduto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
    public class DtoEnvioProdutoBuilder
    {
        private readonly if (!response.IsSuccessStatusCode)Produto _produto;

        public  DtoEnvioProdutoBuilder()
      throw new Exception();{

            var_produto retorno= = JsonConvert.DeserializeObject<LoginDTO.Retorno>(response.Content.ReadAsStringAsync().Result);
   new Produto();
        }

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

DtoEnvioProdutoBuilder ComCodigoProduto(string codigoProduto)
        }{


        private static HttpClient PopularCliente()
    _produto.CodigoProduto = codigoProduto;
     {
       return this;
    HttpClient cliente = new HttpClient(); }

        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()  cliente.BaseAddress = new Uri($"{_baseUri}");
            cliente.DefaultRequestHeaders.Accept.Clear();
            cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
        {
    cliente.DefaultRequestHeaders.Add("usuario", _usuario);
         _empresa = new cliente.DefaultRequestHeaders.Add("senha", _senhaEmpresa();
        }

    cliente.Timeout = TimeSpan.FromDays(1);

  public DtoEnvioEmpresaBuilder ComCodigoEmpresa(int codigoEmpresa)
       return cliente;{
        }
    }
Totvs custom tabs box items
defaultno
referencialogin
Bloco de código
languagec#
themeRDark
firstline1
titleLogin
linenumberstrue
public class LoginDTO_empresa.CodigoEmpresa = codigoEmpresa;
    {
        public class Envioreturn this;
        {}

        public DtoEnvioEmpresaBuilder   [JsonProperty("usuario")]ComNumeroCNPJEmpresa(string numeroCNPJEmpresa)
        {
    public string Usuario { get; set; }

   _empresa.NumeroCNPJEmpresa = numeroCNPJEmpresa;
       [JsonProperty("senha")]
       return this;
    public string Senha { get; set; }

        public Empresa   public Envio(string usuario, string senha)
            {
                Usuario = usuarioBuild() => _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
    {
 Senha  = senha;
    private const string _applicationJson     }= "application/json";
        }

private const string _baseUri = @"http://www30.bhan.com.br:9443/api/v1/";
   public class Retorno
   private const string _usuario = {"usuario";
        private const string _senha = [JsonProperty("cdToken")]senha";


        public static   public string Token { get; set; }
string ObterToken()
            [JsonProperty("dtExpiracao")]{
            publicLoginDTO.EnvioToken stringlogin DataExpiracao= { get; set; }new LoginDTO.EnvioToken(_usuario, _senha);

            publicvar Retorno(string token, string dataExpitacao)cliente = PopularCliente();


            {
var uri = @"autorizacao/token";
            var Tokenconteudo = tokennew StringContent(_applicationJson);
            var response =  DataExpiracao = dataExpitacao;
cliente.PostAsync(uri, conteudo).Result;

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

    }
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
    public class PrecoProduto            var retorno = JsonConvert.DeserializeObject<LoginDTO.RetornoToken>(response.Content.ReadAsStringAsync().Result);
    {
        private const string _balseUri = @"http://www30.bhan.com.br:9443/api/v1/";
return retorno.Token.Replace("Bearer", "").Trim();

        private const string _applicationJson = "application/json";}


        publicprivate static PrecoProdutoDTO.RetornoHttpClient PrecoProdutoConsulta(string token, PrecoProdutoDTO.Envio dtoPopularCliente()
        {
            varHttpClient uricliente = @"produto/precoproduto";
 new HttpClient();
           var jsoncliente.BaseAddress = new JsonConvert.SerializeObject(dtoUri($"{_baseUri}");
            var cliente = PopularCliente(token.DefaultRequestHeaders.Accept.Clear();
            var conteudo = cliente.DefaultRequestHeaders.Accept.Add(new StringContent(json, Encoding.UTF8, MediaTypeWithQualityHeaderValue(_applicationJson));
            var response = cliente.DefaultRequestHeaders.PostAsyncAdd(uri"usuario", conteudo_usuario).Result;

            if (!response.IsSuccessStatusCode)cliente.DefaultRequestHeaders.Add("senha", _senha);
            cliente.Timeout    throw new Exception(= TimeSpan.FromDays(1);

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

    }
Totvs custom tabs box items
defaultno
referencialogin
Bloco de código
languagec#
themeRDark
firstline1
titleLogin
linenumberstrue
public class LoginDTO
    private static HttpClient PopularCliente(string token)
        {
        public class EnvioToken
  HttpClient cliente = new HttpClient();
   {
         cliente.BaseAddress = new Uri[JsonProperty($"{_balseUri}usuario");]
            public string Usuario {  cliente.DefaultRequestHeaders.Accept.Clear();
get; set; }

            cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));[JsonProperty("senha")]
            cliente.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

public string Senha { get; set; }

            public  return cliente;
EnvioToken(string usuario, string senha)
         }
    }
Totvs custom tabs box items
defaultno
referenciadto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
    public class PrecoProdutoDTO
    {
   {
                Usuario = usuario;
                publicSenha class= Enviosenha;
        {
    }
        public}

 List<EnvioPrecoProduto> Produtos { get; set; }

  public class RetornoToken
        public Envio(){
            {[JsonProperty("cdToken")]
            public string Token { Produtosget; = new List<EnvioPrecoProduto>();set; }

            }[JsonProperty("dtExpiracao")]
        }

    public string DataExpiracao { publicget; classset; EnvioPrecoProduto}

        {
    public RetornoToken(string token,      [JsonProperty("cdProduto")]string dataExpitacao)
            public{
 string CodigoProduto { get; set; }

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

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

            [JsonProperty("cdEmpresa")]
            public int CodigoEmpresa { get; set; }

      }
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
    {
   [JsonProperty("nrCNPJEmpresa")]
     private const string _balseUri = @"http://www30.bhan.com.br:9443/api/v1/";
    public string NumeroCNPJEmpresa { get;private set;const }
string _applicationJson = "application/json";

     }
   public static PrecoProdutoDTO.Retorno PrecoProdutoConsulta(string token,    PrecoProdutoDTO.Envio dto)
        {
    
        

var uri = @"produto/precoproduto";
            var json = JsonConvert.SerializeObject(dto);
        public class Retorno
    var cliente = PopularCliente(token);
            var conteudo = new StringContent(json,  {
Encoding.UTF8, _applicationJson);
             public List<RetornoPrecoProduto> precos { get; set; }

            public Retorno()
            {
                precos = new List<RetornoPrecoProduto>();   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": [
            {
                
    }
    "cdProduto": "XXXXXXXXXXXXXXXXXXXX"
            }
    
        ],
        
    public class RetornoPrecoProduto
    "cdSaldo": 9999,         
    {
                
    [JsonProperty("cdSKU")]
          // informar o código do saldo 
    public
    desejado
     
    int
     
    CodigoSKU
     
    { get; set; }
     "inEstoque": 9,            
    [JsonProperty("cdProduto")]
                
    public
     
    string
     
    CodigoProduto
     
    {
     
    get; set; }
    // informar igual a 1 para retornar o saldo em estoque
        
    [JsonProperty(
    "
    dsProduto")]
    inPedidoVenda": 9,             
    public
     
    string
     
    DescricaoProduto
     
    {
     
    get;
     
    set;
     
    }
         // informar igual a 1 para 
    [JsonProperty("cdReferencia")]
    retornar o saldo em pedido de venda
        "empresas": [
      
    public
     
    string
     
    CodigoReferencia
     
    {
     
    get;
     
    set;
     
    }
    {
    
                
    [JsonProperty(
    "
    cdCor")]
    cdEmpresa": 9999,
           
    public
     
    string
     
    CodigoCor
     
    {
     
    get; set; }
     "nrCNPJEmpresa": "XXXXXXXXXXXXXX"
            }
        
    [JsonProperty("dsTamanho")]
    ]
    }
    Bloco de código
    titleEXEMPLO RESPOSTA
    collapsetrue
    {
       "saldos": [
          
    public string
     
    DescricaoTamanho
     {
    get; set; }
    
    
            	"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"
            }
        ]
    }