1. Obter saldo de produto por empresa

  2. Obter saldo dos produtos de um grupo por empresa

  3. Obter preço de produto por empresa

  4. Obter saldo em lote produto por empresa




01. INTRODUÇÃO

Obter classificação de 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


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

{
    "produtos": [
        {
            "cdProduto": "XXXXXXXXXXXXXXXXXXXX"
        }
    ],
    "cdPreco": 9999,
    "inPromocao": 9,
    "empresas": [
        {
            "cdEmpresa": 9999,
            "nrCNPJEmpresa": "XXXXXXXXXXXXXX"
        }
    ]
}

URL

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


HEADER

AuthorizationBearer {{token}}


BODY


{
    "produtos": [
        {
            "cdProduto": "100"
        }
    ],
    "cdPreco": 1,
    "inPromocao": 1,
    "empresas": [
        {
            "cdEmpresa": 1
        }
    ]
}


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!

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!

{
    "precos": [
        {
            "cdSKU": 9999999,
            "cdProduto": "XXXXXXXXXX",
            "dsProduto": "XXXXXXXXXX",
            "cdReferencia": "XXXXXXXXXX",
            "cdCor": "XXXXXXXXX",
            "dsTamanho": "XXXXXXXXXX",
            "cdEmpresa": 999999999,
            "nrCNPJEmpresa": "XXXXXXXXXXX",
            "vlPreco": 999999999.99,
            "vlPrecoPromocao": 999999999.99
        }
    ]
}
{
    "dsErro": "Mensagem informativa do erro"
}
public class ApiPrecoProduto{}
public class DtoBuilder{}
public class Token
    {
        private const string _applicationJson = "application/json";
        private const string _baseUri = @"http://www30.bhan.com.br:9443/api/v1/";
        private const string _usuario = "desen";
        private const string _senha = "123456";


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

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

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

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

        }


        private static HttpClient PopularCliente()
        {
            HttpClient cliente = new HttpClient();
            cliente.BaseAddress = new Uri($"{_baseUri}");
            cliente.DefaultRequestHeaders.Accept.Clear();
            cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
            cliente.DefaultRequestHeaders.Add("usuario", _usuario);
            cliente.DefaultRequestHeaders.Add("senha", _senha);
            cliente.Timeout = TimeSpan.FromDays(1);

            return cliente;
        }
    }
public class LoginDTO
    {
        public class Envio
        {
            [JsonProperty("usuario")]
            public string Usuario { get; set; }

            [JsonProperty("senha")]
            public string Senha { get; set; }

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

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

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

            public Retorno(string token, string dataExpitacao)
            {
                Token = token;
                DataExpiracao = dataExpitacao;
            }
        }

    }
public class PrecoProduto{}
public class PrecoProdutoDTO{}

01. INTRODUÇÃO

Obter saldo dos produtos de um grupo por empresa

01. INTRODUÇÃO

Obter saldo em lote produto por empresa

01. INTRODUÇÃO

Obter saldo de produto por empresa