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.

Consultar dados de transação

...

Totvs custom tabs box
tabsIncluir transação por Empresa, Consultar transação, CConsultar dados de transação, Cancelar Transação
idsempre,transa,dados,cancela
totvs--items
Totvs custom tabs box items
defaultyes
referenciaempre

01. INTRODUÇÃO

Requisição que Tem como finalidade realiza a inclusão de uma transação por empresa.Link para documentação técnica: Inclusão de 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
TextoGETPOST
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": "XXX""UN",
			"cdCfop": 5101,							
            "qtItem": 1,						
            "vlBruto": 259.000,						
            "vlDescontoItem":0.0000 ,				
            "vlDescontoCapa": 0.0000,				
            "vlLiquido": 259.00,					
            "cdVendedor": 5,							
        },
       {
            "cdProduto": "208",
            "cdEspecie": "XXXUN",
			"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

  


Nome

 IMAGEM 1                                                                                           IMAGEM 2                                                                                        IMAGEM 3 

Image Removed Image Removed Image Removed

Nome
TipoDescriçãoExemplo VA
cdEmpresa Int
Código da empresa **     
"cdEmpresa":001
Imagem

Referencia 1

- 5

nrCNPJEmpresa  String
CNPJ da empresa **
"nrCNPJEmpresa": "Informar aqui o CNPJ da empresa"--
cdPessoa IntCódigo do cliente **"cdPessoa": 217
Imagem 1 - 1
Referencia 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"
Imagem 1 - 4
Referencia 3
cdTransacao *StringCódigo da transação"cdTransacao": "63"
Imagem 1 - 3
Referencia 4
cdOperacao  IntCódigo da operação ***"cdOperacao": 501
Imagem 3 - 12 
Referencia 5
cdVendedor IntCódigo do vendedor **"cdVendedor": 5
Imagem 1 - 2
Referencia 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",
Imagem 2 - 6

Referencia 7

cdEspecieStringEspécie do produto"cdEspecie": "
XXX
UN"Referencia 8
qtItemDoubleQuantidade de itens"qtItem": 1
Imagem 2  - 10
Referencia 9 
vlBrutoDoubleValor bruto da transação"vlBruto": 89.0000 
Imagem 2 - 7
Referencia 10
vlDescontoItemDoubleValor desconto do item"vlDescontoItem": 17.8000
Imagem 2 - 8
Referencia 11
vlDescontoCapaDoubleValor desconto de capa "vlDescontoCapa": 0.0000
Imagem 2 - 9
Referencia 12
vlLiquidoDoubleValor líquido da transação"vlLiquido": 71.200
Imagem 2 - 11
Referencia 13
cdVendedorIntCódigo do vendedor **"cdVendedor": 5
Imagem 1 - 2 ****

nrCPFVendedorStringCPF do vendedor **"nrCPFVendedor": "Informe aqui o CPF do vendedor"--
cdCfop

* GUID

IntCódigo do CFOP"cdCfop": "Informe aqui o código do CFOP"Referencia 14


* GUID

** Caso o campo Código for informado, ** 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.****  No exemplo, foi utilizado o mesmo vendedor da venda para o item. 



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

EXEMPLO DE UMA REQUISIÇÃO Q DEU PAU

*COLOCAR OS TIPOS DE ERROS QUE PODE DAR



Totvs custom tabs box items
defaultno
referenciacod
Implementação da API em C#
totvs-custom-tabs-box
defaultno
referenciatransa
tabsIncluir Transação por Empresa, Token, Transação
idsapi,token,transacao

01. INTRODUÇÃ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

02. UTILIZAÇÃO

envioT,retornoT,codT
Totvs custom tabs box
tabsEnvio, Retorno, Exemplo de implementação
idsenvioT
Totvs custom tabs box items
defaultyes
referencia
URL Body Exemplo de Requisição, Detalhamento dos CamposurlTcorpoTexTcampT
api
Totvs custom tabs box
tabs
Main,
DtoBuilder,
DtoItemBuilder, Item
ids
main,
dtoB,
itemB,
urlT    https://www30.bhan.com.br:9443/api/v1/transacao/lista

URL

BODY

 IMAGEM 1                                                                                           IMAGEM 2                                                                                

Image Removed  Image Removed

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

item
Totvs custom tabs box items
defaultyes
referencia
main
button
Bloco de código
Bloco de código
Cor#61affe
TextoGET
Link.
Totvs custom tabs box items
defaultno
referenciacorpoT
languagec#
themeRDark
public class ApiTransacao
    {
        static 
"cdEmpresa": 9999,
void Main(string[] args)
        {
 
"nrCNPJEmpresa": "XXXXXXXXXXXX",
          
"cdPessoa": 9999,
 var token = Token.ObterToken();
     
"nrCPFCNPJPessoa":
 
"XXXXXXXXXXXX",
      var dto 
"dtMovimento": "99/99/9999",
= PopularDto();
        
"situacoes":
 
[9],
   
"cdOperacao": 9999,
Transacao.IncluirTransacao(token, dto);
        }

        
"cdVendedor": 9999,
private static IncluirTransacao.Envio PopularDto()
        {
            var dto = 
"nrCPFVendedor": "XXXXXXXXXXXX" }
Totvs custom tabs box items
defaultno
referenciaexT

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

Bloco de código
languagexml
themeRDark
Totvs custom tabs box items
defaultno
referenciacampT
NomeTipoDescriçãoExemplo VA
cdEmpresa *Int
Código da empresa **     
"cdEmpresa":001

Imagem 1 - 5

nrCNPJEmpresa  String
CNPJ da empresa **
"nrCNPJEmpresa": "Informar aqui o CNPJ da empresa"--
cdPessoa IntCódigo do cliente **"cdPessoa": 217Imagem 1 - 1
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"Imagem 1 - 4
situacoesArraySituação da transação"situações": [1,2,3,4]
cdOperacao  IntCódigo da operação ***"cdOperacao": 501Imagem 2 - 12 
cdVendedor IntCódigo do vendedor **"cdVendedor": 5Imagem 1 - 2
nrCPFVendedor StringCPF do vendedor **"nrCPFVendedor": "informar aqui o CPF do vendedor",--
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
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
referenciaerroTerroD
Bloco de código
languagexml
themeRDark
{
    "dsErro": "Mensagem informativa do erro"
}

EXEMPLO DE UMA REQUISIÇÃO Q DEU PAU

*COLOCAR OS TIPOS DE ERROS QUE PODE DAR
Totvs custom tabs box items
defaultno
referenciacodTcodD
Implementação da API em C#
Totvs custom tabs box items
defaultno
referenciadadoscancela

01. INTRODUÇÃO

Requisição que retorna os dados da transação.

Link para documentação técnica: Consulta dados de transaçã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
idsenvioDenvioC,retornoDretornoC,codDcodC

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

*** 
Totvs custom tabs box items
defaultyes
referenciaenvioDenvioC
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
TextoGET
Link.
    https://www30.bhan.com.br:9443/api/v1/transacao/lista
idsurlC,corpoC,exC,campC
Totvs custom tabs box items
defaultno
referenciacorpoD
yes
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
{
Bloco de código
themeRDark
{
        "cdEmpresa": 9999,									
        "nrCNPJEmpresa": "XXXXXXXXXXXX",					
        "cdPessoa": 9999,										
        "nrCPFCNPJPessoa": "XXXXXXXXXXXX",					
        "dtMovimento": "99/99/9999",						
        "situacoes": [9],										
        "cdOperacaocdEmpresa": 9999,									
        "cdVendedornrTransacao": 9999,									
        "nrCPFVendedor": "XXXXXXXXXXXX"
}
Totvs custom tabs box items
defaultno
referenciaexD
 "dtTransacao": "99/99/9999",
}

URL

BODY

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

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

Bloco de código
languagexml
themeRDark
Totvs custom tabs box items
defaultno
referenciacampD

 IMAGEM 1                                                                                           IMAGEM 2                                                                                

Image Removed  Image Removed

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

Imagem 1 - 5

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





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

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

.

Totvs custom tabs box items
defaultno
referenciaretornoDretornoC
Totvs custom tabs box
sucessoD,erroD
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
defaultyesno
referenciasucessoTerroC
Bloco de código
languagexml
themeRDark
{
        "cdEmpresadsErro": 9999,									
        "nrTransacao": 9999,						
        "dtTransacao": "99/99/9999",
}
Totvs custom tabs box items
defaultno
referenciaerroD

EXEMPLO DE UMA REQUISIÇÃO Q DEU PAU

*COLOCAR OS TIPOS DE ERROS QUE PODE DAR
"Mensagem informativa do erro"
}
Totvs custom tabs box items
defaultno
referenciacodD
Implementação da API em C#

...

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