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

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": [

        
{
"cdBarra": "5809600000107",				//Código de barras do produto
        "
cdProduto
dsProduto": "
XXXXXXXXXXXXXXXXXXXX"
BASICA AMARELO DV",		//Descrição do 
}
produto
    
],
    "
cdPreco
cdTpClassificacao": 
9999,
22,				//Código do tipo de classificação
    
"inPromocao":
 
9,
   "
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
        
} ] }

URL

HEADER

BODY

{ "produtos": [ {
"dsGrupo": "BASICA",					//Descrição do grupo
        "cdNivel": "300 2",						//Código do nível
        "dsNivel": "BASICA",					//Descrição do nível
        
"
cdProduto
cdCor": "
100" }
1",							//Código da cor
    
],
    "
cdPreco
dsCor": 
1,
"UN",							//Descrição da cor
        "
inPromocao
cdTamanho": 1,
"empresas": [
							//Código do tamanho
        "dsTamanho": "34",						//Descrição do 
{
tamanho
        
"cdEspecie": "
cdEmpresa": 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
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"],
            "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,
    "inPromocao": 1,
  
var
 
dto
 
= PopularDto();
"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        var dto = new DtoBuilder()
                .ComProdutos(ObterProduto())
        {
        .ComCodigoPreco(1)    _empresa.CodigoEmpresa = codigoEmpresa;
            return this;
   .ComIncluiPromocao(1)
     }

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

    return dto    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
}

      {
  private static List<Empresa> ObterEmpresa()
   private const string _applicationJson  {= "application/json";
        private const string _baseUri var empresas = new List<Empresa>();

= @"http://www30.bhan.com.br:9443/api/v1/";
        private const string _usuario  empresas.Add(
        = "usuario";
        new DtoEnvioEmpresaBuilder()
    private const string _senha = "senha";


        public static string  .ComCodigoEmpresaObterToken(1)
                .ComNumeroCNPJEmpresa("12345678901234"){
            LoginDTO.EnvioToken login = new LoginDTO.Build()
EnvioToken(_usuario, _senha);

            var cliente =  PopularCliente();


            returnvar empresas;
uri        }
= @"autorizacao/token";
        private static List<Produto> ObterProduto()
 var conteudo =     {new StringContent(_applicationJson);
            var produtosresponse = new List<Produto>()cliente.PostAsync(uri, conteudo).Result;

            if produtos.Add((!response.IsSuccessStatusCode)
                throw new DtoEnvioProdutoBuilderException();

            var retorno   .ComCodigoProduto("100")= JsonConvert.DeserializeObject<LoginDTO.RetornoToken>(response.Content.ReadAsStringAsync().Result);
                .Build()
  return retorno.Token.Replace("Bearer", "").Trim();

        }


        );
private static HttpClient PopularCliente()
        {
 return produtos;
        }
  HttpClient  }
Totvs custom tabs box items
defaultno
referenciadtoB
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
public class DtoBuildercliente = new HttpClient();
    {
        privatecliente.BaseAddress readonly= PrecoProdutoDTO.Envio _dto;

new Uri($"{_baseUri}");
           public DtoBuilder cliente.DefaultRequestHeaders.Accept.Clear();
          {
  cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
         _dto = new PrecoProdutoDTOcliente.DefaultRequestHeaders.Envio();
        }

Add("usuario", _usuario);
         public  DtoBuilder ComProdutos(Produtocliente.DefaultRequestHeaders.Add("senha", _produtosenha);
        {
    cliente.Timeout        _dto.Produtos.Add(_produto= TimeSpan.FromDays(1);

            return thiscliente;
        }

    }
Totvs custom tabs box items
defaultno
referencialogin
Bloco de código
languagec#
themeRDark
firstline1
titleLogin
linenumberstrue
public class LoginDTO
    public DtoBuilder ComProdutos(List<Produto> _produtos)
        {
        public    _dto.Produtos = _produtos;class EnvioToken
        {
    return this;
        }

[JsonProperty("usuario")]
        public DtoBuilder ComCodigoPreco(int codigoPreco)
 public string Usuario { get; set;  {}

            _dto.CodigoPreco = codigoPreco;[JsonProperty("senha")]
            returnpublic this;
string Senha { get;   set;  }

        public DtoBuilder ComIncluiPromocao(int incluiPromocao)
 public EnvioToken(string usuario,     {string senha)
            _dto.IncluiPromocao = incluiPromocao;{
            return this;
   Usuario     }

= usuario;
        public DtoBuilder ComEmpresas(Empresa _empresa)
     Senha =  {senha;
            _dto.Empresas.Add(_empresa);
}
        }

      return this;  public class RetornoToken
        }{

          public DtoBuilder ComEmpresas(List<Empresa> _empresas)[JsonProperty("cdToken")]
        {
         public string Token { get; set; }

       _dto.Empresas = _empresas;
   [JsonProperty("dtExpiracao")]
         return this;
  public string DataExpiracao { get; set; }

         public PrecoProdutoDTO.Envio Build() => _dto;   public RetornoToken(string token, string dataExpitacao)
    }     
Totvs custom tabs box items
defaultno
referenciadtoProduto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
   {
 public class DtoEnvioProdutoBuilder
    {
        private readonlyToken Produto= _produtotoken;

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

        public DtoEnvioProdutoBuilder ComCodigoProduto(string codigoProduto)
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  _produto.CodigoProduto = codigoProduto;
            return this;
        }

balseUri = @"http://www30.bhan.com.br:9443/api/v1/";
        private const publicstring Produto Build() => _produto;
    }
Totvs custom tabs box items
defaultno
referenciadtoEmpresa
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
 public class DtoEnvioEmpresaBuilder
    {_applicationJson = "application/json";

        public static PrecoProdutoDTO.Retorno PrecoProdutoConsulta(string token, PrecoProdutoDTO.Envio dto)
        private readonly Empresa _empresa;
{
        public DtoEnvioEmpresaBuilder()
   var uri = @"produto/precoproduto";
  {
          var json _empresa = new Empresa(JsonConvert.SerializeObject(dto);
        }

      var cliente public= DtoEnvioEmpresaBuilder ComCodigoEmpresa(int codigoEmpresa)PopularCliente(token);
        {
    var conteudo = new StringContent(json, Encoding.UTF8,   _empresa.CodigoEmpresa = codigoEmpresa_applicationJson);
            return this;
 var response = cliente.PostAsync(uri, conteudo).Result;

   }

        public DtoEnvioEmpresaBuilderif ComNumeroCNPJEmpresa(string numeroCNPJEmpresa(!response.IsSuccessStatusCode)
        {
        throw    _empresa.NumeroCNPJEmpresa = numeroCNPJEmpresanew Exception();

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

        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 Tokenprivate static HttpClient PopularCliente(string token)
        {
            HttpClient cliente = new HttpClient();
        private const string _applicationJson = "application/json"    cliente.BaseAddress = new Uri($"{_balseUri}");
            cliente.DefaultRequestHeaders.Accept.Clear();
        private const string _baseUri = @"http://www30.bhan.com.br:9443/api/v1/" cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
        private  const string _usuario cliente.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("usuarioBearer", token);

        private const string _senha =return "senha"cliente;


        public static}
 string   }
Totvs custom tabs box items
defaultno
referenciadto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
public class PrecoProdutoDTO
ObterToken()
        {
        public class Envio
   LoginDTO.EnvioToken login = new LoginDTO.EnvioToken(_usuario, _senha);

 {
            public List<Produto> varProdutos cliente{ = PopularCliente();


get; set; }
            varpublic List<Empresa> uriEmpresas = @"autorizacao/token";
  { get; set; }

          var conteudo =public new StringContentEnvio(_applicationJson);
            {
  var response = cliente.PostAsync(uri, conteudo).Result;

          Produtos = ifnew List<Produto>(!response.IsSuccessStatusCode);
                throwEmpresas = new ExceptionList<Empresa>();

            }

         var retorno = JsonConvert.DeserializeObject<LoginDTO.RetornoToken>(response.Content.ReadAsStringAsync().Result); [JsonProperty("cdPreco")]
            return retorno.Token.Replace("Bearer", "").Trim();

        }


public int CodigoPreco { get; set; }

         private static HttpClient PopularCliente[JsonProperty("inPromocao")]
        {
    public int IncluiPromocao {     HttpClient cliente = new HttpClient();
get; set; }
        }

       cliente.BaseAddress =public new Uri($"{_baseUri}");class Retorno
        {
    cliente.DefaultRequestHeaders.Accept.Clear();
        public List<RetornoPrecoProduto> precos  cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
{ get; set; }

            cliente.DefaultRequestHeaders.Add("usuario", _usuario);
public Retorno()
            {
   cliente.DefaultRequestHeaders.Add("senha", _senha);
            cliente.Timeoutprecos = new TimeSpan.FromDaysList<RetornoPrecoProduto>(1);

            return cliente;}
        } 
    }
Totvs custom tabs box items
defaultno
referencialoginproduto
Bloco de código
languagec#
themeRDark
firstline1titleLogin
linenumberstruetrue
public class LoginDTO
    {
        public class EnvioToken
        {
        public    [JsonProperty("usuario")]class Produto
            public string Usuario { get; set; }

            [JsonProperty("senhacdProduto")]
            public string SenhaCodigoProduto { get; set; }

    }
Totvs custom tabs box items
defaultno
referenciaempresa
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
         public EnvioToken(string usuario, string senha)class Empresa
    {
        {[JsonProperty("cdEmpresa")]
        public int CodigoEmpresa { get;    Usuario = usuario;set; }

                Senha = senha;[JsonProperty("nrCNPJEmpresa")]
        public string NumeroCNPJEmpresa  }
        }

        public class RetornoToken
        {
            [JsonProperty("cdToken")]
            public string Token { get; set; }

            [JsonProperty("dtExpiracao")]
            public string DataExpiracao { get; set; }
{ 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": [
        {
    
public
 
RetornoToken(string
 
token,
 
string
 
dataExpitacao)
    "cdEmpresa": 9999,
       
{
     "nrCNPJEmpresa": "XXXXXXXXXXXXXX"
        }
  
Token
  ]
}
public class RequisicaoPrecoProduto {
"cdProduto": "XXXXXXXXXXXXXXXXXXXX",				"Código de barras do produto"
            "cdReferencia": "XXXXXXXXXXXXXXXXXXXX",				"Código da Referência"
        
private
   
const
 
string _balseUri = @"http://www30.bhan.com.br:9443/api/v1/";
"cdCor": "XXXXXXXXXX",								"Código da Cor"
        
private
 
const
 
string
 
_applicationJson = "application/json";
 "dsTamanho": "XXXXXXXXXX",							"Descrição do Tamanho"
      
public
 
static
 
PrecoProdutoDTO.Retorno
 
PrecoProdutoConsulta(string
 
token,
 
PrecoProdutoDTO.Envio dto) {
 "cdEmpresa": 9999,									"Código da Empresa"
            
var uri = @"produto/precoproduto";
"nrCNPJEmpresa": "XXXXXXXXXXXXXX",					"CNPJ da Empresa"
            
var json = JsonConvert.SerializeObject(dto);
"qtEstoque":9999999.999,							"Quantidade em estoque"
            
var cliente = PopularCliente(token);
"qtPedidoVenda":9999999.999							"Quantidade em Pedido de Venda"
        }
  
var
 
conteudo
 
=
]
} 
new StringContent(json,
 
Bloco de código
titleEXEMPLO RESPOSTA
collapsetrue
{
= token;

   "saldos": [
        {
    
DataExpiracao
 
=
 
dataExpitacao;
      
}
"cdSKU": 999999999,									"Código reduzido do produto"
         
}
   
}
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
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": [
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);

        
}
{
            "cdProduto": "XXXXXXXXXXXXXXXXXXXX"
        
private
}
 
static
 
HttpClient
 
PopularCliente(string token)
 ],
   "cdSaldo": 9999,
   "inEstoque":  
{
9,
   "inPedidoVenda":  9,
   "inTransacao":  9,
  
HttpClient cliente = new HttpClient();
 "empresas": [
        {
         
cliente.BaseAddress
 
=
 
new
 
Uri($"{_balseUri}");
"cdEmpresa": 9999,
            
cliente.DefaultRequestHeaders.Accept.Clear();
"nrCNPJEmpresa": "XXXXXXXXXXXXXX"
        }
    
cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
]
}
public class PrecoProdutoDTO {
"cdProduto": "XXXXXXXXXXXXXXXXXXXX",							"Código de barras do produto"
            "cdEmpresa": 9999,												"Código da Empresa"
        
public class Envio
    "nrCNPJEmpresa": "XXXXXXXXXXXXXX",								"CNPJ da Empresa"
        
{
    "nrLote": 999999999,											"Número do Lote"
     
public
  
List<Produto>
 
Produtos
 
{
 
get;
 
set; }
 "nrItem": 999999999,											"Número do Item do Lote"
       
public
 
List<Empresa>
 
Empresas
 
{
 
get; set; }
 "cdLote": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",				"Código do Lote"
          
public
 
Envio()
 "qtEstoque":9999999.999,										"Quantidade em estoque"
         
{
   "qtPedidoVenda":9999999.999,									"Quantidade em Pedido de Venda"
         
Produtos
 
=
 
new List<Produto>();
 "qtTransacao":9999999.999										"Quantidade em Transação"
        }
    
Empresas = new List<Empresa>(); } [JsonProperty("cdPreco")]
]
} 
Bloco de código
titleEXEMPLO RESPOSTA
collapsetrue
{
   
"lotes": [
    
cliente.DefaultRequestHeaders.Authorization
 
=
 
new
 
AuthenticationHeaderValue("Bearer", token);
 {
            
return cliente;
"cdSKU": 999999999,												"Código reduzido do produto"
        
}
    
}
Totvs custom tabs box items
defaultno
referenciadto
Bloco de código
languagec#
themeRDark
firstline1
linenumberstrue
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
     
    int CodigoPreco
    {
     
    get;
     
    set;
     
    }
             
    [JsonProperty("inPromocao")]
    "cdProduto": "XXXXXXXXXXXXXXXXXXXX"
            }
        
    public
    ],
     
    int
     
    IncluiPromocao
     
    { get; set; }
     "cdSaldo": 9999,
        
    }
    "inEstoque": 9,
        "inPedidoVenda": 9,
       
    public
     
    class Retorno
    "empresas": [
            {
                
    public List<RetornoPrecoProduto> precos { get; set; }
    "cdEmpresa": 9999,
                
    public Retorno()
    "nrCNPJEmpresa": "XXXXXXXXXXXXXX"
            }
        ]
    }
    public class Produto
    "cdProduto": "XXXXXXXXXXXXXXXXXXXX",			"Código de barras do produto"
        
    {
         
    [JsonProperty("cdProduto")]
       "cdReferencia": "XXXXXXXXXXXXXXXXXXXX",			"Código da Referência"
      
    public
     
    string
     
    CodigoProduto
     
    {
     
    get;
     
    set;
     
    }
        
    } public class Empresa
    "cdCor": "XXXXXXXXXX",							"Código da Cor"
           
    {
         "dsTamanho": "XXXXXXXXXX",						"Descrição do 
    [JsonProperty("cdEmpresa")]
    Tamanho"
            
    public
      
    int
     
    CodigoEmpresa
     
    { get; set; }
    "cdEmpresa": 9999,								"Código da Empresa"
            
    [JsonProperty("nrCNPJEmpresa")]
        "nrCNPJEmpresa": 
    public string NumeroCNPJEmpresa { get; set; } }
    Bloco de código
    titleEXEMPLO RESPOSTA
    collapsetrue
    {
       "saldos": [
            {
        
    precos
     
    =
     
    new
     
    List<RetornoPrecoProduto>(); }
     	"cdSKU": 999999999,								"Código reduzido do produto"
            
    }
     
       
    }
    Totvs custom tabs box items
    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

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