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.

01. INTRODUÇÃO

Deverá conter uma breve explicação do que é a API e o que ela faz

02. Negoço

2.1 ENVIO

ENVIO

Totvs custom tabs box
tabsIncluir transação por Empresa, B, CConsultar 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

ENVIO

EXEMPLO DE UMA REQUISIÇÃO Q DEU PAU

*COLOCAR OS TIPOS DE ERROS QUE PODE DAR

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
Texto

GET

POST
Link.
    https://www30.bhan.com.br:9443/api/v1/transacao/inclusao

Totvs custom tabs box items
defaultno
referenciaexEcorpoE

Exemplo do corpo da requisição 

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"
        }
    ] 
}

Image Removed Image RemovedImage RemovedImage Removed

Totvs custom tabs box items
defaultno
referenciacampE
NomeTipoDescriçãoExemploReferencia com a tela do VA
Totvs custom tabs box items
defaultno
referenciaretorno
Totvs custom tabs box
tabsSucesso, Erro
idssucesso,erro
Totvs custom tabs box items
defaultyes
referenciasucesso

EXEMPLO DE REQUISIÇÃO QUE DEU CERTO

Totvs custom tabs box items
defaultno
referenciaerro
Totvs custom tabs box items
defaultno
referenciacod

RETORNO

Image Removed

exE

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

Image Added

  


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


Image Added


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


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
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
referenciatransa
Totvs custom tabs box
tabsEnvio, Retorno, Exemplo de implementação
idsenvio,retorno,cod
Totvs custom tabs box items
defaultyes
referenciaenvio
urlE,exE,campE
Totvs custom tabs box
tabsURL, Exemplo, Detalhamento dos Campos
ids
Totvs custom tabs box items
defaultyesno
referenciaerlE

EXEMPLO DE REQUISIÇÃO QUE DEU CERTO

erroD
Bloco de código
languagexml
themeRDark
{
    "dsErro": "Mensagem informativa do erro"
}
Totvs custom tabs box items
defaultno
referenciaexE
EXEMPLO DE REQUISIÇÃO

Image Removed Image RemovedImage RemovedImage Removed

Totvs custom tabs box items
defaultno
referencia
campE
NomeTipoDescriçãoExemploReferencia com a tela do VA
codD
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

retorno

Sucesso, Errosucessoerro
Totvs custom tabs box
tabs
Envio, Retorno, Exemplo de implementação
ids
envioC,retornoC,
codC
no
Totvs custom tabs box items
defaultyes
referenciaenvioC
-items
sucesso

EXEMPLO DE REQUISIÇÃO QUE DEU CERTO

Totvs custom tabs box
tabsURL, Body, Exemplo de Requisição, Detalhamento dos Campos
idsurlC,corpoC,exC,campC

EXEMPLO DE UMA REQUISIÇÃO Q DEU PAU

*COLOCAR OS TIPOS DE ERROS QUE PODE DAR

defaultno
referenciaerro
Totvs custom tabs box items
default
NomeTipoDescriçãoExemplo
yes
referencia
cod
urlC

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

Totvs custom tabs box items
defaultno
referencia

dadosenvio,retorno,cod
corpoC
Bloco de código
themeRDark
{
        "cdEmpresa": 9999,									
        "nrTransacao": 9999,						
        "dtTransacao": "99/99/9999",
}
Totvs custom tabs box
tabsEnvio, Retorno, Exemplo de implementação
idsyes
Totvs custom tabs box items
default
no
referencia
envio
exC

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
tabsURL, Exemplo, Detalhamento dos Campos
idsurlE,exE,campE
Totvs custom tabs box items
defaultyes
referenciaerlE
EXEMPLO DE REQUISIÇÃO QUE DEU CERTO





Referencia com a tela do VA
Totvs custom tabs box items
defaultno
referenciaexE

EXEMPLO DE REQUISIÇÃO

campC


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
referenciacampE

Image Removed Image RemovedImage RemovedImage Removed

NomeTipoDescriçãoExemplo

EXEMPLO DE UMA REQUISIÇÃO Q DEU PAU

*COLOCAR OS TIPOS DE ERROS QUE PODE DAR
Totvs custom tabs box items
defaultno
referenciaretornoretornoC
Totvs custom tabs box
tabsSucesso, Erro
idssucesso,erro
Totvs custom tabs box items
defaultyes
referenciasucesso

EXEMPLO DE REQUISIÇÃO QUE DEU CERTO

Totvs custom tabs box items
defaultno
referenciaerro
sucessoC,erroC
Totvs custom tabs box items
default
no
yes
referencia
cod
sucessoC
Nome
Bloco de código
Tipo
theme
DescriçãoExemplo

2.2 Negoço

Retorno

Consultar dados de transação

...

a,b,c,d
RDark
{
	dsMensagem : "Transação cancelada com sucesso!"
}
Totvs custom tabs box
-items
defaultno
referenciaerroC
Bloco de código
languagexml
themeRDark
{
    "dsErro": "Mensagem informativa do erro"
}
tabsnegoço, negoço, negoço
idsyes
Totvs custom tabs box items
default
no
referencia
a
NomeTipoDescriçãoExemplo

...

Incluir transação por empresa

  • Requisição que realiza a inclusão de uma transação por empresa.
  • Link para documentação técnica: Inclusão de transação

...

Consultar transação

  • Requisição que retorna as transações filtrando por dia e ou situação.
  • Link para documentação técnica: Consulta de transação
codC