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

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Totvs custom tabs box
tabsIncluir transação por Empresa, Consultar transação, Consultar dados de transação, Cancelar Transação
idsempre,transa,dados,cancela
Totvs custom tabs box items
defaultyes
referenciaempre

01. INTRODUÇÃO

Tem como finalidade realiza a inclusão de uma transaçã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
Totvs custom tabs box items
defaultyes
referenciaurlE

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

Totvs custom tabs box items
defaultno
referenciacorpoE
Bloco de código
languagexml
themeRDark
{  
   "cdEmpresa":9999,										
   "nrCNPJEmpresa": "XXXXXXXXXXXXXX",					
   "cdPessoa": 999999999,								
   "nrCPFCNPJPessoa": "XXXXXXXXXXXXXX",					
   "dtMovimento": "99/99/9999",							
   "cdTransacao": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",	
   "cdOperacao": 999999,								
   "cdVendedor": 999999,								
   "nrCPFVendedor": "XXXXXXXXXXX",						
   "itens": [
        {
            "cdProduto": "XXXXXXXXXXXXXXXXXXXX",		
            "cdEspecie": "XXX",
			"cdCfop": 99999,							
            "qtItem": 9999999.999,						
            "vlBruto": 9999999.99,									
            "vlDescontoItem": 9999999.99,				
            "vlDescontoCapa": 9999999.99,				
            "vlLiquido": 9999999.99,					
            "cdVendedor": 999999,						
            "nrCPFVendedor": "XXXXXXXXXXX"				
        },
       {
            "cdProduto": "XXXXXXXXXXXXXXXXXXXX",
            "cdEspecie": "XXX",
			"cdCfop": 99999,
            "qtItem": 9999999.999,
            "vlBruto": 9999999.99,
            "vlDescontoItem": 9999999.99,
            "vlDescontoCapa": 9999999.99,
            "vlLiquido": 9999999.99,
            "cdVendedor": 999999,
            "nrCPFVendedor": "XXXXXXXXXXX"
        }
    ] 
}
Totvs custom tabs box items
defaultno
referenciaexE

URL


HEADER

Authorizathion Bearer  {{token}}


BODY

Bloco de código
languagexml
themeRDark
{  
   "cdEmpresa":001,										
   "cdPessoa": 217,										
   "dtMovimento": "25/11/2019",							
   "cdTransacao": "63",	
   "cdOperacao":  501,								
   "cdVendedor": 5,										
   "itens": [
        {
            "cdProduto": "50",		
            "cdEspecie": "UN",
			"cdCfop": 5101,							
            "qtItem": 1,						
            "vlBruto": 259.000,						
            "vlDescontoItem":0.0000 ,				
            "vlDescontoCapa": 0.0000,				
            "vlLiquido": 259.00,					
            "cdVendedor": 5,							
        },
       {
            "cdProduto": "208",
            "cdEspecie": "UN",
			"cdCfop": 5101,
            "qtItem": 1,
            "vlBruto": 89.0000,
            "vlDescontoItem": 17.8000,
            "vlDescontoCapa": 0.0000,
            "vlLiquido": 71.200,
            "cdVendedor": 5,
        }
    ] 
}



Totvs custom tabs box items
defaultno
referenciacampE

  


NomeTipoDescriçãoExemplo VA
cdEmpresa Int
Código da empresa **     
"cdEmpresa":001

Referencia 1

nrCNPJEmpresa  String
CNPJ da empresa **
"nrCNPJEmpresa": "Informar aqui o CNPJ da empresa"--
cdPessoa IntCódigo do cliente **"cdPessoa": 217Referencia 2
nrCPFCNPJPessoa StringCPF ou CNPJ do cliente **"nrCPFCNPJPessoa": "Informar aqui o CPF ou CNPJ da pessoa"--
dtMovimento String (Date)Data do movimento"dtMovimento": "25/11/2019"Referencia 3
cdTransacao *StringCódigo da transação"cdTransacao": "63"Referencia 4
cdOperacao  IntCódigo da operação ***"cdOperacao": 501Referencia 5
cdVendedor IntCódigo do vendedor **"cdVendedor": 5Referencia 6
nrCPFVendedor StringCPF do vendedor **"nrCPFVendedor": "informar aqui o CPF do vendedor",--
itensArrayArray com os itens da transação----
cdProdutoStringCódigo de barras ou reduzido do produto"cdProduto": "208",

Referencia 7

cdEspecieStringEspécie do produto"cdEspecie": "UN"Referencia 8
qtItemDoubleQuantidade de itens"qtItem": 1Referencia 9 
vlBrutoDoubleValor bruto da transação"vlBruto": 89.0000 Referencia 10
vlDescontoItemDoubleValor desconto do item"vlDescontoItem": 17.8000Referencia 11
vlDescontoCapaDoubleValor desconto de capa "vlDescontoCapa": 0.0000Referencia 12
vlLiquidoDoubleValor líquido da transação"vlLiquido": 71.200Referencia 13
cdVendedorIntCódigo do vendedor **"cdVendedor": 5
nrCPFVendedorStringCPF do vendedor **"nrCPFVendedor": "Informe aqui o CPF do vendedor"--
cdCfopIntCódigo do CFOP"cdCfop": "Informe aqui o código do CFOP"Referencia 14


* GUID

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

*** O código da operação pode ser encontrado no componente GERFM065.



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
{
  "cdEmpresa": 9999,
  "nrTransacao": 999999999
}
Totvs custom tabs box items
defaultno
referenciaerro
Bloco de código
languagexml
themeRDark
{
    "dsErro": "Mensagem informativa do erro"
}



Totvs custom tabs box items
defaultno
referenciacod
Totvs custom tabs box
tabsIncluir Transação por Empresa, Token, Transação
idsapi,token,transacao
Totvs custom tabs box items
defaultyes
referenciaapi
Totvs custom tabs box
tabsMain, DtoBuilder, DtoItemBuilder, Item
idsmain,dtoB,itemB,item
Totvs custom tabs box items
defaultyes
referenciamain
Bloco de código
languagec#
themeRDark
public class ApiTransacao
    {
        static void Main(string[] args)
        {
            var token = Token.ObterToken();
            var dto = PopularDto();
            Transacao.IncluirTransacao(token, dto);
        }

        private static IncluirTransacao.Envio PopularDto()
        {
            var dto = new DtoBuilder()
                .ComCodigoEmpresa(001)
                .ComCodigoPessoa(217)
                .ComDataMovimento("25/11/2019")
                .ComCodigoTransacao("63")
                .ComCodigoOperacao(501)
                .ComCodigoVendedor(50)
                .ComItens(ObterItens())
                .Build();
            return dto;
        }

        private static List<Item> ObterItens()
        {
            var itens = new List<Item>();

            itens.Add(
                new DtoItemBuilder()
                .ComCodigoProduto("50")
                .ComCodigoEspecie("UN")
                .ComQuantidadeItem(1)
                .ComValorBruto(259.000)
                .ComDescontoItem(0.000)
                .ComDescontoCapa(0.000)
                .ComValorLiquido(259.00)
                .ComCodigoVendedorItem(50)
                .Build()
                );

            itens.Add(
                new DtoItemBuilder()
                .ComCodigoProduto("208")
                .ComCodigoEspecie("UN")
                .ComQuantidadeItem(1)
                .ComValorBruto(89.000)
                .ComDescontoItem(17.800)
                .ComDescontoCapa(0.000)
                .ComValorLiquido(71.200)
                .ComCodigoVendedorItem(50)
                .Build()
                );

            return itens;
        }
    }
Totvs custom tabs box items
defaultno
referenciadtoB
Bloco de código
languagec#
themeRDark
public class DtoBuilder
    {
        private IncluirTransacaoDTO.Envio _dto;

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

        public DtoBuilder ComCodigoEmpresa(int codigoEmpresa)
        {
            _dto.CodigoEmpresa = codigoEmpresa;
            return this;
        }

        public DtoBuilder ComNumeroCNPJEmpresa(string CNPJEmpresa)
        {
            _dto.NumeroCNPJEmpresa = CNPJEmpresa;
            return this;
        }

        public DtoBuilder ComCodigoPessoa(int codigoPessoa)
        {
            _dto.CodigoPessoa = codigoPessoa;
            return this;
        }

        public DtoBuilder ComDocumentoPessoa(string documentoPessoa)
        {
            _dto.NumeroDocumentoPessoa = documentoPessoa;
            return this;
        }
        
        public DtoBuilder ComDataMovimento(string dataMovimento)
        {
            _dto.DataMovimento = dataMovimento;
            return this;
        }
        
        public DtoBuilder ComCodigoTransacao(string codigoTransacao)
        {
            _dto.CodigoTransacao = codigoTransacao;
            return this;
        }
        
        public DtoBuilder ComCodigoOperacao(int codigoOperacao)
        {
            _dto.CodigoOperacao = codigoOperacao;
            return this;
        }
        
        public DtoBuilder ComCodigoVendedor(int codigoVendedor)
        {
            _dto.CodigoVendedor = codigoVendedor;
            return this;
        }
        
        public DtoBuilder ComCPFVendedor(string CPFVendedor)
        {
            _dto.NumeroCPFVendedor = CPFVendedor;
            return this;
        }
        
        public DtoBuilder ComItens(Item item)
        {
            _dto.Itens.Add(item);
            return this;
        }
         
        public DtoBuilder ComItens(IList<Item> _itens)
        {
            _dto.Itens = _itens;
            return this;
        }
        

        public IncluirTransacaoDTO.Envio Build() => _dto;

    }
Totvs custom tabs box items
defaultno
referenciaitemB
Bloco de código
languagec#
themeRDark
 public class DtoItemBuilder
    {
        private Item _item;

        public DtoItemBuilder()
        {
            _item = new Item();
        }

        public DtoItemBuilder ComCodigoProduto(string codigoProduto)
        {
            _item.CodigoProduto = codigoProduto;
            return this;
        }

        public DtoItemBuilder ComCodigoEspecie(string codigoEspecie)
        {
            _item.CodigoEspecie = codigoEspecie;
            return this;
        }

        public DtoItemBuilder ComQuantidadeItem(Double quantidadeItem)
        {
            _item.QuantidadeItem = quantidadeItem;
            return this;
        }

        public DtoItemBuilder ComValorBruto(Double valorBruto)
        {
            _item.ValorBruto = valorBruto;
            return this;
        }

        public DtoItemBuilder ComDescontoItem(Double descontoItem)
        {
            _item.ValorDescontoItem = descontoItem;
            return this;
        }

        public DtoItemBuilder ComDescontoCapa(Double descontoCapa)
        {
            _item.ValorDescontoCapa = descontoCapa;
            return this;
        }

        public DtoItemBuilder ComValorLiquido(Double valorLiquido)
        {
            _item.ValorLiquido = valorLiquido;
            return this;
        }

        public DtoItemBuilder ComCodigoVendedorItem(int codigoVendedor)
        {
            _item.CodigoVendedor = codigoVendedor;
            return this;
        }

        public DtoItemBuilder ComCPFVendedorItem(string CPFVendedor)
        {
            _item.NumeroCPFVendedor = CPFVendedor;
            return this;
        }

        public Item Build() => _item;
    }
Totvs custom tabs box items
defaultno
referenciaitem
Bloco de código
languagec#
themeRDark
public class Item
    {
        [JsonProperty("cdProduto")]
        public string CodigoProduto { get; set; }

        [JsonProperty("cdEspecie")]
        public string CodigoEspecie { get; set; }

        [JsonProperty("qtItem")]
        public Double QuantidadeItem { get; set; }

        [JsonProperty("vlBruto")]
        public Double ValorBruto { get; set; }

        [JsonProperty("vlDescontoItem")]
        public Double ValorDescontoItem { get; set; }

        [JsonProperty("vlDescontoCapa")]
        public Double ValorDescontoCapa { get; set; }

        [JsonProperty("vlLiquido")]
        public Double ValorLiquido { get; set; }

        [JsonProperty("cdVendedor")]
        public int CodigoVendedor { get; set; }

        [JsonProperty("nrCPFVendedor")]
        public string NumeroCPFVendedor { get; set; }
    }



Totvs custom tabs box items
defaultno
referenciatoken
Totvs custom tabs box
tabsObterToken, LoginDTO
idsobterToken,login
Totvs custom tabs box items
defaultyes
referenciaobterToken
Bloco de código
languagec#
themeRDark
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;
        }
    }
Totvs custom tabs box items
defaultno
referencialogin
Bloco de código
languagec#
themeRDark
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;
            }
        }

    }



Totvs custom tabs box items
defaultno
referenciatransacao
Totvs custom tabs box
tabsIncluirTransacao, IncluirTransacaoDTO
idsincluir,dto
Totvs custom tabs box items
defaultyes
referenciaincluir
Bloco de código
languagec#
themeRDark
public class Transacao 
    {
        private const string _balseUri = @"http://www30.bhan.com.br:9443/api/v1/";
        private const string _applicationJson = "application/json";

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

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

            return JsonConvert.DeserializeObject<IncluirTransacaoDTO.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
public class IncluirTransacaoDTO
    {
        public class Envio
        {
            [JsonProperty("cdEmpresa")]
            public int CodigoEmpresa { get; set; }

            [JsonProperty("nrCNPJEmpresa")]
            public string NumeroCNPJEmpresa { get; set; }

            [JsonProperty("cdPessoa")]
            public int CodigoPessoa { get; set; }

            [JsonProperty("nrCPFCNPJPessoa")]
            public string NumeroDocumentoPessoa { get; set; }

            [JsonProperty("dtMovimento")]
            public string DataMovimento { get; set; }

            [JsonProperty("cdTransacao")]
            public string CodigoTransacao { get; set; }

            [JsonProperty("cdOperacao")]
            public int CodigoOperacao { get; set; }

            [JsonProperty("cdVendedor")]
            public int CodigoVendedor { get; set; }

            [JsonProperty("nrCPFVendedor")]
            public string NumeroCPFVendedor { get; set; }

            [JsonProperty("itens")]
            public IList<Item> Itens { get; set; }
        }

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

            [JsonProperty("nrTransacao")]
            public int NumeroTransacao { get; set; }
        }
    }
Totvs custom tabs box items
defaultno
referenciatransa

01. INTRODUÇÃO

Tem como finalidade retornar as transações filtrando por dia e ou situação.

02. UTILIZAÇÃO

Totvs custom tabs box
tabsEnvio, Retorno, Exemplo de implementação
idsenvioT,retornoT,codT
Totvs custom tabs box items
defaultyes
referenciaenvioT
Totvs custom tabs box
tabsURL, Body, Exemplo de Requisição, Detalhamento dos Campos
idsurlT,corpoT,exT,campT
Totvs custom tabs box items
defaultyes
referenciaurlT

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

Totvs custom tabs box items
defaultno
referenciacorpoT
Bloco de código
themeRDark
{
        "cdEmpresa": 9999,									
        "nrCNPJEmpresa": "XXXXXXXXXXXX",					
        "cdPessoa": 9999,										
        "nrCPFCNPJPessoa": "XXXXXXXXXXXX",					
        "dtMovimento": "99/99/9999",						
        "situacoes": [9],										
        "cdOperacao": 9999,									
        "cdVendedor": 9999,									
        "nrCPFVendedor": "XXXXXXXXXXXX"
}
Totvs custom tabs box items
defaultno
referenciaexT

URL

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


HEADER

Authorizathion Bearer  {{token}}


BODY

Bloco de código
languagexml
themeRDark
{
        "cdEmpresa": 1,									
        "cdPessoa": 217,									
        "dtMovimento": "25/112019",						
        "situacoes": [1],										
        "cdOperacao": 501,									
        "cdVendedor": 5,				
}



Totvs custom tabs box items
defaultno
referenciacampT



NomeTipoDescriçãoExemplo VA
cdEmpresa *Int
Código da empresa **     
"cdEmpresa":001

Referencia 1

nrCNPJEmpresa  String
CNPJ da empresa **
"nrCNPJEmpresa": "Informar aqui o CNPJ da empresa"--
cdPessoa IntCódigo do cliente **"cdPessoa": 217Referencia 2
nrCPFCNPJPessoa StringCPF ou CNPJ do cliente **"nrCPFCNPJPessoa": "Informar aqui o CPF ou CNPJ da pessoa"--
dtMovimento *String (Date)Data do movimento"dtMovimento": "25/11/2019"Referencia 3
situacoesArraySituação da transação"situações": [1,2,3,4]Referencia 4
cdOperacao  IntCódigo da operação ***"cdOperacao": 501Referencia 5
cdVendedor IntCódigo do vendedor **"cdVendedor": 5Referencia 6
nrCPFVendedor StringCPF do vendedor **"nrCPFVendedor": "informar aqui o CPF do vendedor",--


* Obrigatório

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

*** O código da operação pode ser encontrado no componente GERFM065.

Totvs custom tabs box items
defaultno
referenciaretornoT
Totvs custom tabs box
tabsSucesso, Erro
idssucessoT,erroT
Totvs custom tabs box items
defaultyes
referenciasucessoT
Bloco de código
themeRDark
{
        "cdEmpresa": 9999,									
        "nrTransacao": 9999,						
        "dtTransacao": "99/99/9999",
}
Totvs custom tabs box items
defaultno
referenciaerroT
Bloco de código
languagec#
themeRDark
{
    "dsErro": "Mensagem informativa do erro"
}
Totvs custom tabs box items
defaultno
referenciacodT
Totvs custom tabs box
tabsBuscarTransação, Token, Transação
idsbuscarTransacao,tokenBT,transacaoBT
Totvs custom tabs box items
defaultyes
referenciabuscarTransacao
Totvs custom tabs box
tabsBuscarTransação, DtoConsultaBuilder
idsbuscarTransacaoBT,popularBusca
Totvs custom tabs box items
defaultyes
referenciabuscarTransacaoBT
Bloco de código
languagec#
themeRDark
		public class ApiTransacao
    {
        static void BuscarTransação(string[] args)
        {
            var token = Token.ObterToken();
            var dto = PopularDto();
            var teste = Transacao.ConsultarTransacao(token, dto);
        }

        private static ConsultarTransacaoDTO.Envio PopularDto()
        {
            var dto = new DtoConsultaBuilder()
                .ComCodigoEmpresa(1)
                .ComDataMovimento("25/11/2019")
                .Build();

            return dto;
        }
    }
Totvs custom tabs box items
defaultno
referenciapopularBusca
Bloco de código
languagec#
themeRDark
 public class DtoConsultaBuilder
    {
        private ConsultarTransacaoDTO.Envio _dto;

        public DtoConsultaBuilder()
        {
            _dto = new ConsultarTransacaoDTO.Envio();
        }

        public DtoConsultaBuilder ComCodigoEmpresa (int codigo)
        {
            _dto.CodigoEmpresa = codigo;
            return this;
        }

        public DtoConsultaBuilder ComCNPJEmpresa (string CNPJEmpresa)
        {
            _dto.NumeroCNPJEmpresa = CNPJEmpresa;
            return this;
        }

        public DtoConsultaBuilder ComCodigoPesssoa (int codigoPessoa)
        {
            _dto.CodigoPessoa = codigoPessoa;
            return this;
        }
        
        public DtoConsultaBuilder ComDocumentoPessoa (string codigoPessoa)
        {
            _dto.NumeroCNPJEmpresa = codigoPessoa;
            return this;
        }
        
        public DtoConsultaBuilder ComDataMovimento (string dataMovimento)
        {
            _dto.DataMovimento = dataMovimento;
            return this;
        }

        public DtoConsultaBuilder ComSituacoes (IList<int> situacoes)
        {
            _dto.Situacoes = situacoes;
            return this;
        }

        public DtoConsultaBuilder ComOperacao (int operacao)
        {
            _dto.CodigoOperacao = operacao;
            return this;
        }

        public DtoConsultaBuilder ComCodigoVendedor (int codigoVendedor)
        {
            _dto.CodigoVendedor = codigoVendedor;
            return this;
        }
        public DtoConsultaBuilder ComCPFVendedor (string documentoVendedor)
        {
            _dto.NumeroCPFVendedor = documentoVendedor;
            return this;
        }

        public ConsultarTransacaoDTO.Envio Build() => _dto;
    }
Totvs custom tabs box items
defaultno
referenciatokenBT
Totvs custom tabs box
tabsObterToken, LoginDTO
idsobterTokenBT,loginBT
Totvs custom tabs box items
defaultyes
referenciaobterTokenBT
Bloco de código
languagec#
themeRDark
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;
        }
    }
Totvs custom tabs box items
defaultno
referencialoginBT
Bloco de código
languagec#
themeRDark
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;
            }
        }

    }



Totvs custom tabs box items
defaultno
referenciatransacaoBT
Totvs custom tabs box
tabsConsultarTransacao, ConsultarTransacaoDTO
idsconsultarBT,consDTObt
Totvs custom tabs box items
defaultyes
referenciaconsultarBT
Bloco de código
languagec#
themeRDark
    public class Transacao
    {
        private const string _balseUri = @"http://10.11.1.60:9443/api/v1/";
        private const string _applicationJson = "application/json";


        public static List<ConsultarTransacaoDTO.Retorno> ConsultarTransacao(string token, ConsultarTransacaoDTO.Envio dto)
        {
            var uri = @"transacao/lista";
            var json = JsonConvert.SerializeObject(dto);
            var cliente = PopularCliente(token);
            var conteudo = new StringContent(json, Encoding.UTF8, _applicationJson);
            var response = cliente.PostAsync(uri, conteudo).Result;

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

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

Totvs custom tabs box items
defaultno
referenciaconsDTObt
Bloco de código
languagec#
themeRDark
public class ConsultarTransacaoDTO
    {
        public class Envio
        {
            [JsonProperty("cdEmpresa")]
            public int CodigoEmpresa { get; set; }

            [JsonProperty("nrCNPJEmpresa")]
            public string NumeroCNPJEmpresa { get; set; }

            [JsonProperty("cdPessoa")]
            public int CodigoPessoa { get; set; }

            [JsonProperty("nrCPFCNPJPessoa")]
            public string NumeroDocumentoPessoa { get; set; }

            [JsonProperty("dtMovimento")]
            public string DataMovimento { get; set; }

            [JsonProperty("situacoes")]
            public IList<int> Situacoes { get; set; }

            [JsonProperty("cdOperacao")]
            public int CodigoOperacao { get; set; }

            [JsonProperty("cdVendedor")]
            public int CodigoVendedor { get; set; }

            [JsonProperty("nrCPFVendedor")]
            public string NumeroCPFVendedor { get; set; }
        }

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

            [JsonProperty("nrTransacao")]
            public int NumeroTransacao { get; set; }

            [JsonProperty("dtTransacao")]
            public string DataTransacao { get; set; }
        }
    }
Totvs custom tabs box items
defaultno
referenciadados

01. INTRODUÇÃO

Tem como finalidade retornar os dados da transação.

02. UTILIZAÇÃO

Totvs custom tabs box
tabsEnvio, Retorno, Exemplo de implementação
idsenvioD,retornoD,codD
Totvs custom tabs box items
defaultyes
referenciaenvioD
Totvs custom tabs box
tabsURL, Body, Exemplo de Requisição, Detalhamento dos Campos
idsurlD,corpoD,exD,campD
Totvs custom tabs box items
defaultyes
referenciaurlD

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

Totvs custom tabs box items
defaultno
referenciacorpoD
Bloco de código
themeRDark
{
        "cdEmpresa": 9999,									
        "nrTransacao": 9999,						
        "dtTransacao": "99/99/9999",
}
Totvs custom tabs box items
defaultno
referenciaexD

URL

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


HEADER

Authorizathion Bearer  {{token}}


BODY

Bloco de código
languagexml
themeRDark
{
        "cdEmpresa": 1,									
        "nrTransacao": 63,						
        "dtTransacao": "25/11/2019",
}



Totvs custom tabs box items
defaultno
referenciacampD



NomeTipoDescriçãoExemplo VA
cdEmpresa Int
Código da empresa     
"cdEmpresa":001

Referencia 1

nrTransacaoIntNumero da transação"nrTransacao": 63Referencia 2
dtTransacaoString (date)Data da transação"dtTransacao": "25/11/2019"Referencia 3
Informações

Todos os campos são obrigatórios.

Totvs custom tabs box items
defaultno
referenciaretornoD
Totvs custom tabs box
tabsSucesso, Erro
idssucessoD,erroD
Totvs custom tabs box items
defaultyes
referenciasucessoD
Bloco de código
themeRDark
{
    "cdEmpresa": 4,											"Código da Empresa"
    "nrTransacao": 578920,									"Número da Transação"
    "dtTransacao": "11/09/2019",							"Data da Transação"
    "cdPessoa": 14098,										"Código do Cliente"
    "cdTransacao": "000000022",								"Código de Transação"
    "cdOperacao": 7,										"Código de Operação"
    "cdVendedor": 50,										"Código do Vendedor"
    "tpSituacao": 4,										"Situação da Transação (Ex.: 1 - Em andamento, 2 - Liberada p/ faturamento; Ex. preenchimento: [1,2,3,4])"
    "itens": [
        {
            "nrItem": 1,									"Número do Item"
            "cdProduto": "82227",							"Código do Produto"
            "dsProduto": "PRODUTO CAMISA 001 AZUL P",		"Descrição do Produto"
            "cdEspecie": "PC",								"Espécie do Produto"
			"cdCfop": 5101,									"Código CFOP"
            "qtItem": 1,									"Quantidade Solicitada"
            "vlBruto": 10.54,								"Valor Bruto Total"
            "vlUnitarioBruto": 10.54,						"Valor Unitário Bruto"
            "vlDescontoItem": 10.54,						"Valor de Desconto do Item"
            "vlDescontoCapa": 0,							"Valor de Desconto da Capa"
            "vlLiquido": 0,									"Valor líquido total"
            "vlUnitarioLiquido": 0,							"Valor Unitário Líquido"
            "cdVendedor": 50								"Código do Vendedor para o Item"
        }
    ]
}
Totvs custom tabs box items
defaultno
referenciaerroD
Bloco de código
languagexml
themeRDark
{
    "dsErro": "Mensagem informativa do erro"
}
Totvs custom tabs box items
defaultno
referenciacodD
Implementação da API em C#
Totvs custom tabs box items
defaultno
referenciacancela

01. INTRODUÇÃO

Tem como finalidade realizar o cancelamento de uma transação em andamento.

02. UTILIZAÇÃO

Totvs custom tabs box
tabsEnvio, Retorno, Exemplo de implementação
idsenvioC,retornoC,codC
Totvs custom tabs box items
defaultyes
referenciaenvioC
Totvs custom tabs box
tabsURL, Body, Exemplo de Requisição, Detalhamento dos Campos
idsurlC,corpoC,exC,campC
Totvs custom tabs box items
defaultyes
referenciaurlC

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

Totvs custom tabs box items
defaultno
referenciacorpoC
Bloco de código
themeRDark
{
        "cdEmpresa": 9999,									
        "nrTransacao": 9999,						
        "dtTransacao": "99/99/9999",
}
Totvs custom tabs box items
defaultno
referenciaexC

URL

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


HEADER

Authorizathion Bearer  {{token}}


BODY

Bloco de código
languagexml
themeRDark
{
        "cdEmpresa": 1,									
        "nrTransacao": 63,						
        "dtTransacao": "25/11/2019",
}





Totvs custom tabs box items
defaultno
referenciacampC


Image Added


NomeTipoDescriçãoExemplo VA
cdEmpresa Int
Código da empresa     
"cdEmpresa":001

Referencia 1

nrTransacaoIntNumero da transação"nrTransacao": 63Referencia 2
dtTransacaoString (date)Data da transação"dtTransacao": "25/11/2019"Referencia 3
Informações

Todos os campos são obrigatórios.

Totvs custom tabs box items
defaultno
referenciaretornoC
Totvs custom tabs box
tabsSucesso, Erro
idssucessoC,erroC
Totvs custom tabs box items
defaultyes
referenciasucessoC
Bloco de código
themeRDark
{
	dsMensagem : "Transação cancelada com sucesso!"
}
Totvs custom tabs box items
defaultno
referenciaerroC
Bloco de código
languagexml
themeRDark
{
    "dsErro": "Mensagem informativa do erro"
}
Totvs custom tabs box items
defaultno
referenciacodC