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

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

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

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

  


 IMAGEM 1                                                IMAGEM 2                                               IMAGEM 3 

Image Removed Image Removed Image Removed

NomeTipoDescriçãoExemplo
NomeTipoDescriçã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"--
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.

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



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
  
Bloco de código
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
referencia
token
dtoB
Bloco de código
Totvs custom tabs box
tabsObterToken, LoginDTO
idsobterToken,login
Totvs custom tabs box items
defaultyes
referenciaobterToken
Bloco de código
languagec#
themeRDark
public class TokenDtoBuilder
    {
        private constIncluirTransacaoDTO.Envio string _applicationJson = "application/json";_dto;

        private const string _baseUri = @"http://www30.bhan.com.br:9443/api/v1/";public DtoBuilder()
        {
        private  const string _usuariodto = "desen" new IncluirTransacaoDTO.Envio();
        private const string _senha = "123456";}


        public staticDtoBuilder string ObterToken(ComCodigoEmpresa(int codigoEmpresa)
        {
            LoginDTO_dto.EnvioCodigoEmpresa login = new LoginDTO.Envio(_usuario, _senha);
codigoEmpresa;
            var cliente = PopularCliente()return this;
         }

   
     public DtoBuilder ComNumeroCNPJEmpresa(string CNPJEmpresa)
        {
            var uri_dto.NumeroCNPJEmpresa = @"autorizacao/token"CNPJEmpresa;
            varreturn conteudothis;
 = new StringContent(_applicationJson);
     }

       var responsepublic =DtoBuilder cliente.PostAsync(uri, conteudo).Result;
ComCodigoPessoa(int codigoPessoa)
        {
            if (!response.IsSuccessStatusCode)
_dto.CodigoPessoa = codigoPessoa;
            return this;
      throw new Exception();}

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

_dto.NumeroDocumentoPessoa = documentoPessoa;
        }


    return this;
   private   static HttpClient PopularCliente()}
        {
        public DtoBuilder ComDataMovimento(string  HttpClient cliente = new HttpClient();dataMovimento)
        {
            cliente_dto.BaseAddressDataMovimento = new Uri($"{_baseUri}")dataMovimento;
            cliente.DefaultRequestHeaders.Accept.Clear()return this;
        }
    cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
   
         cliente.DefaultRequestHeaders.Add("usuario", _usuario);public DtoBuilder ComCodigoTransacao(string codigoTransacao)
            cliente.DefaultRequestHeaders.Add("senha", _senha);{
            cliente_dto.TimeoutCodigoTransacao = TimeSpan.FromDays(1)codigoTransacao;

            return clientethis;
        }
    }
Totvs custom tabs box items
defaultno
referencialogin
Bloco de código
themeRDark
public class LoginDTO
    {
        public class EnvioDtoBuilder ComCodigoOperacao(int codigoOperacao)
        {
            [JsonProperty("usuario")]
  _dto.CodigoOperacao = codigoOperacao;
          public string Usuarioreturn { get; set; }

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

ComCodigoVendedor(int codigoVendedor)
        {
    public Envio(string usuario, string senha)
    _dto.CodigoVendedor = codigoVendedor;
      {
      return this;
        }
 Usuario = usuario;
     
        public DtoBuilder  Senha = senha;
ComCPFVendedor(string CPFVendedor)
        {
      }
      _dto.NumeroCPFVendedor = }

CPFVendedor;
           public classreturn Retornothis;
        {}
        
    [JsonProperty("cdToken")]
    public DtoBuilder ComItens(Item item)
     public string Token { get; set; }

            [JsonProperty("dtExpiracao")]_dto.Itens.Add(item);
            public string DataExpiracao { get; set; }

return this;
        }
      public Retorno(string token, string dataExpitacao)
        public DtoBuilder ComItens(IList<Item> _itens)
    {
    {
            Token_dto.Itens = token_itens;
            return this;
   DataExpiracao    = dataExpitacao;}
        

    }
    public IncluirTransacaoDTO.Envio Build() => }_dto;

    }
Totvs custom tabs box items
defaultno
referencia
transacao
itemB
Bloco de código
languagec#
Totvs custom tabs box
tabsIncluirTransacao, IncluirTransacaoDTO
idsincluir,dto
codepublic class IncluirTransacaoDTO
public DtoItemBuilder ComDescontoCapa(Double descontoCapa)
    
{
    {
    
public
 
class
 
Envio
      _item.ValorDescontoCapa = 
{
descontoCapa;
            
[JsonProperty("cdEmpresa")]
return this;
        }

     
public
 
int
 
CodigoEmpresa
 
{
public 
get; set; }
DtoItemBuilder ComValorLiquido(Double valorLiquido)
        {
    
[JsonProperty("nrCNPJEmpresa")]
        _item.ValorLiquido = valorLiquido;
   
public
 
string
 
NumeroCNPJEmpresa
 
{
 
get;
 
set;
 
}
   return this;
        
[JsonProperty("cdPessoa")]
}

        public DtoItemBuilder ComCodigoVendedorItem(int codigoVendedor)
  
public
 
int
 
CodigoPessoa
 
{
 
get;
 
set;
 
}
{
            
[JsonProperty("nrCPFCNPJPessoa")]
_item.CodigoVendedor = codigoVendedor;
            return this;
 
public
  
string
 
NumeroDocumentoPessoa
 
{
 
get;
 
set;
 }

        public DtoItemBuilder 
[JsonProperty("dtMovimento")]
ComCPFVendedorItem(string CPFVendedor)
        {
         
public
 
string
 
DataMovimento
 
{ get; set; }
_item.NumeroCPFVendedor = CPFVendedor;
            
[JsonProperty("cdTransacao")]
return this;
        }

        public 
string
Item Build() => _item;
    }
Totvs custom tabs box items
defaultyes
referenciaincluir
themeRDark
 public class 
Transacao
DtoItemBuilder
    {
        private 
const string _balseUri = @"http://www30.bhan.com.br:9443/api/v1/";
Item _item;

        public DtoItemBuilder()
   
private
 
const
 
string
 
_applicationJson
 
= "application/json";
 {
         
public
 
static
 
IncluirTransacaoDTO.Retorno IncluirTransacao(string token, IncluirTransacaoDTO.Envio dto)
 _item = new Item();
        
{
}

        public DtoItemBuilder ComCodigoProduto(string 
var uri = @"transacao/inclusao";
codigoProduto)
        {
            
var json = JsonConvert.SerializeObject(dto)
_item.CodigoProduto = codigoProduto;
            
var
return 
cliente
this;
 
=
 
PopularCliente(token);
      }

      
var
 
conteudo
 
=
public 
new
DtoItemBuilder 
StringContent
ComCodigoEspecie(
json, Encoding.UTF8, _applicationJson);
string codigoEspecie)
        {
         
var
 
response
 
=
 
cliente.PostAsync(uri, conteudo).Result;
_item.CodigoEspecie = codigoEspecie;
            
if (!response.IsSuccessStatusCode)
return this;
        }

        
throw
public 
new
DtoItemBuilder 
Exception
ComQuantidadeItem(Double quantidadeItem)
;

        {
    
return
 
JsonConvert.DeserializeObject<IncluirTransacaoDTO.Retorno>(response.Content.ReadAsStringAsync().Result);
       _item.QuantidadeItem 
}
= quantidadeItem;
         
private
 
static
 
HttpClient
 
PopularCliente(string token)
return this;
        
{
}

        public DtoItemBuilder ComValorBruto(Double valorBruto)
    
HttpClient
 
cliente
 
=
 
new
 
HttpClient();
{
            
cliente
_item.
BaseAddress
ValorBruto = 
new Uri($"{_balseUri}")
valorBruto;
            
cliente.DefaultRequestHeaders.Accept.Clear()
return this;
        }

      
cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_applicationJson));
  public DtoItemBuilder ComDescontoItem(Double descontoItem)
        {
      
cliente.DefaultRequestHeaders.Authorization
  
=
 
new AuthenticationHeaderValue("Bearer", token);
   _item.ValorDescontoItem = descontoItem;
            return 
cliente
this;
        }

        
}
Totvs custom tabs box items
defaultno
referenciadto
Bloco de código
themeRDark
Totvs custom tabs box items
defaultno
referenciaitem
Bloco de código
languagec#
themeRDark
public class Item
CodigoTransacao { get; set; }
    {
        [JsonProperty("
cdOperacao
cdProduto")]
        
public 
int
string 
CodigoOperacao
CodigoProduto { get; set; }

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

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

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

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

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

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

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

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



Totvs custom tabs box items
defaultno
referencia
transa
token

01. INTRODUÇÃO

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

Link para documentação técnica: Consulta dados de transação

02. UTILIZAÇÃO

Envio, Retorno, Exemplo de implementaçãoenvioTretornoT,codT

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
idsenvioD,retornoD,codD
Totvs custom tabs box
tabs
ObterToken, LoginDTO
ids
obterToken,
login
Totvs custom tabs box items
defaultyes
referencia
envioT
obterToken
Bloco de código
languagec#
themeRDark
public class Token
    {
        private const string _applicationJson = "application/json";
        private const string _baseUri = @"http://
Totvs custom tabs box
tabsURL, Body, Exemplo de Requisição, Detalhamento dos Campos
idsurlT,corpoT,exT,campT

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.

Totvs custom tabs box items
defaultyes
referenciaurlT
Button
Cor#61affe
TextoGET
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,
private const string _usuario = "desen";
    
"nrCNPJEmpresa":
 
"XXXXXXXXXXXX",
   private const string _senha = "
cdPessoa": 9999,
123456";


        public static 
"nrCPFCNPJPessoa": "XXXXXXXXXXXX",
string ObterToken()
        
"dtMovimento": "99/99/9999",
{
            LoginDTO.Envio login = 
"situacoes": [9],
new LoginDTO.Envio(_usuario, _senha);

        
"cdOperacao": 9999,
    var cliente = PopularCliente();
            
        
"cdVendedor": 9999,
    
        
"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",--
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
Totvs custom tabs box items
defaultno
referenciacodT
Implementação da API em C#
Totvs custom tabs box items
defaultno
referenciadados
    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;
            }
        }

    }



yesenvioD
Totvs custom tabs box items
default
no
referencia
urlD,corpoD,exD,campD

URL

BODY

 IMAGEM 1                                                                                                                                                                         

Image Removed  

transacao
Totvs custom tabs box
tabs
URL, Body, Exemplo de Requisição, Detalhamento dos Campos
IncluirTransacao, IncluirTransacaoDTO
idsincluir,dto
idsurlD    https
Totvs custom tabs box items
defaultyes
referencia
incluir
button
Bloco de código
Cor
language
#61affe
c#
Texto
theme
GET
Link.
RDark
public class Transacao 
    {
        private const string _balseUri = @"http://www30.bhan.com.br:9443/api/v1/
transacao/dados
Totvs custom tabs box items
defaultno
referenciacorpoD
Bloco de código
themeRDark
{
";
        
"cdEmpresa": 9999,
private const string _applicationJson = "application/json";

        
"nrTransacao": 9999,
public static IncluirTransacaoDTO.Retorno IncluirTransacao(string token, IncluirTransacaoDTO.Envio dto)
        {
         
"dtTransacao": "99/99/9999", }
Totvs custom tabs box items
defaultno
referenciaexD

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
NomeTipoDescriçãoExemplo VA
cdEmpresa Int
Código da empresa     
"cdEmpresa":001

Imagem 1 - 1

nrTransacaoIntNumero da transação"nrTransacao": 63Imagem 1 - 2
dtTransacaoString (date)Data da transação"dtTransacao": "25/11/2019"Imagem 1 - 3
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!

   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
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ódigoValor dolíquido Clientetotal"
            "cdTransacaovlUnitarioLiquido": "000000022"0,								"CódigoValor deUnitário TransaçãoLíquido"
            "cdOperacaocdVendedor": 7,50										"Código de Operação"
 do Vendedor para o Item"
        }
   "cdVendedor": 50,										"Código do Vendedor" ]
}
Totvs custom tabs box items
defaultno
referenciaerroD
Bloco de código
languagexml
themeRDark
{
    "tpSituacaodsErro": 4,										"Situação da Transação (Ex.: 1 - Em andamento, 2 "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
{
- 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"
            "qtItemcdEmpresa": 19999,									"Quantidade Solicitada"
            "vlBrutonrTransacao": 10.549999,								"Valor Bruto Total"
            "vlUnitarioBruto": 10.54,	"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
{					"Valor Unitário Bruto"
            "vlDescontoItemcdEmpresa": 10.541,						"Valor de Desconto do Item"
            "vlDescontoCapa": 0,							"Valor de Desconto da Capa"
            "vlLiquidonrTransacao": 063,						
        "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!"
}			"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
referenciaerroDerroC
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
Implementação da API em C#
Totvs custom tabs box items
defaultno
referenciacodD
codC