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:
Exemplo do XML passado como parâmetro:
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
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:
function EnviarXML(xml: String): String;
var
apikey, host: String;
Request: TStringList;
Response: TStringStream;
begin
host := 'http://www.tiny.com.br/recepcao.nfe.php';
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:
<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
Curtir tópico
+ 0
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.
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.
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
Clique aqui para fazer login e interagir na Comunidade :)