Fórum Como usar o Delphi para emitir NFe no Tiny #424639

25/09/2012

0

É possível integrar um sistema em Delphi com o Tiny para emissão de notas fiscais eletrônicas (NFe) de forma simples e rápida.
Para utilizar este serviço, basta possuir uma conta no Tiny. É possível inscrever-se gratuitamente e também existe a possibilidade de experimentar um dos planos pagos por 30 dias sem custos e sem compromisso, diretamente no site [url]www.tiny.com.br[/url]
Na conta Tiny, deve-se gerar uma API key para que seja possível a integração através de webservices. Está opção está disponível em "Preferências->API para web services".

Segue, abaixo, uma rotina de exemplo para o envio de uma nota fiscal para uma conta no Tiny:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function EnviarXML(xml: String): String;
var
  apikey, host: String;
  Request: TStringList;
  Response: TStringStream;
begin
  apikey := '955968a58683ec4b78be217e2dcdf45be7f93090'; // Substituir pela API key da sua conta no Tiny
 
  Request := TStringList.Create;
  Response := TStringStream.Create('');
 
  try
    Request.Values['apiKey'] := apikey;
    Request.Values['pedidoXML'] := xml;
    try
      Socket.Post(host, Request, Response);
      ShowMessage('Nota fiscal enviada para o Tiny');
      if (Response.DataString) <> 'OK' then
        ShowMessage(Response.DataString);
    except
      on E: Exception do
        ShowMessage('Erro ao enviar a nota fiscal para o Tiny: ' + E.Message);
    end;
  finally
    Request.Free;
    Response.Free;
  end;
  Result := Socket.ResponseText;
end;


Exemplo do XML passado como parâmetro:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<pedido>
    <cliente>
        <nome>Tiny Software</nome>
        <tipoPessoa>J</tipoPessoa>
        <cpf_cnpj>00000000000000</cpf_cnpj>
        <ie_rg>3067663000</ie_rg>
        <endereco>Travessa Manaus</endereco>
        <numero>136</numero>
        <complemento>Sala 2</complemento>
        <bairro>Cidade Alta</bairro>
        <cep>95.700-000</cep>
        <cidade>Bento Gonçalves</cidade>
        <uf>RS</uf>
        <fone>(54) 3055-3808</fone>
        <email>teste@teste.com.br</email>
    </cliente>
    <transporte>
        <transportadora>Transportadora XYZ</transportadora>
        <cpf_cnpj>11122233345</cpf_cnpj>
        <ie_rg>1122334455</ie_rg>
        <endereco>Rua Silvio Orlandini, 435</endereco>
        <cidade>Roca Sales</cidade>
        <uf>RS</uf>
        <placa>ILM-1020</placa>
        <uf_veiculo>RS</uf_veiculo>
        <tipo_frete>R</tipo_frete>
        <qtde_volumes>10</qtde_volumes>
        <especie>Volumes</especie>
        <numero>425</numero>
        <peso_bruto>157</peso_bruto>
        <peso_liquido>142</peso_liquido>
    </transporte>
    <itens>
        <item>
            <codigo>001</codigo>
            <descricao>Caneta 001</descricao>
            <un>Pç</un>
            <qtde>10</qtde>
            <vlr_unit>1.68</vlr_unit>
            <tipo>P</tipo>
            <peso_bruto>0.2</peso_bruto>
            <peso_liq>0.18</peso_liq>
            <class_fiscal>1000.00.10</class_fiscal>
            <origem>0</origem>
        </item>
        <item>
            <codigo>002</codigo>
            <descricao>Caderno 002</descricao>
            <un>Un</un>
            <qtde>3</qtde>
            <vlr_unit>3.75</vlr_unit>
            <tipo>P</tipo>
            <peso_bruto>0.75</peso_bruto>
            <peso_liq>0.7</peso_liq>
            <class_fiscal>1000.00.10</class_fiscal>
            <origem>0</origem>
        </item>
        <item>
            <codigo>003</codigo>
            <descricao>Teclado 003</descricao>
            <un>Cx</un>
            <qtde>7</qtde>
            <vlr_unit>18.65</vlr_unit>
            <tipo>P</tipo>
            <peso_bruto>0.65</peso_bruto>
            <peso_liq>0.52</peso_liq>
            <class_fiscal>1000.00.10</class_fiscal>
            <origem>0</origem>
        </item>
    </itens>
    <parcelas>
        <parcela>
            <dias>10</dias>
            <data>01/09/2012</data>
            <vlr>100</vlr>
            <obs>Teste obs 1</obs>
        </parcela>
        <parcela>
            <dias>15</dias>
            <data>06/09/2012</data>
            <vlr>50</vlr>
            <obs></obs>
        </parcela>
        <parcela>
            <dias>20</dias>
            <data>11/09/2012</data>
            <vlr>50</vlr>
            <obs>Teste obs 3</obs>
        </parcela>
    </parcelas>
        <numero_nf>10</numero_nf>
    <nf_produtor_rural_referenciada>
        <numero>001020</numero>
        <serie>0</serie>
        <ano_mes_emissao>1202</ano_mes_emissao>
    </nf_produtor_rural_referenciada>
    <vlr_frete>15</vlr_frete>
    <vlr_seguro>7</vlr_seguro>
    <vlr_despesas>2.5</vlr_despesas>
    <vlr_desconto>10</vlr_desconto>
    <obs>Observações da nota fiscal</obs>
</pedido>


O sistema também disponibiliza outros webservices para usuários mais avançados.
Em caso de dúvidas, a equipe de suporte do Tiny responde através do e-mail suporte@tiny.com.br
Bico

Bico

Responder

Posts

26/09/2012

Alisson Santos

Caro colego seu post está duplicado.
Sempre que confimar aguardar um pouco antes de confirmar novamente a solicitação de auxilio.
Responder

Gostei + 0

26/09/2012

Bico

Bom dia Alisson, tudo bem!?

Na verdade, o post não está duplicado.
Foi postado um tópico no fórum Delphi, com um exemplo/trecho de código desenvolvido em Delphi e outro tópico no fórum PHP, com um exemplo/trecho de código desenvolvido em PHP.

Atenciosamente,
Fernando.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar