Emissão de NFe API 1.0
Serviço destinado a emitir as Notas Fiscais.
Condições necessárias:
- É necessário que o cliente possua um certificado em arquivo, que esteja armazenado em nosso servidor.
- A nota fiscal já deve estar cadastrada no sistema.
- Somente é possível enviar notas fiscais que estejam nas situações pendentes ou rejeitadas.
Parâmetros do serviço
Elemento | Tipo | Ocorrência | Descrição |
---|---|---|---|
apiKey | string | obrigatório | Chave gerada para identificar sua empresa |
numero | int | obrigatório | Número da Nota Fiscal |
serie | int | obrigatório | Série da Nota Fiscal |
enviaEmailAoCliente | string | obrigatório | Enviar Nota Fiscal por e-mail para o cliente (S/N) |
Retorno do serviço
<?xml version="1.0" encoding="UTF-8"?>
<xmlResponse>
<situacao></situacao>
<mensagem></mensagem>
<erros></erros>
<chaveAcesso></chaveAcesso>
<linkDanfe></linkDanfe>
</xmlResponse>
Possíveis situações de retorno
Código | Descrição |
---|---|
0 | Não enviada |
1 | Rejeitada |
2 | Autorizada |
3 | Aguardando protocolo ou recibo de entrega |
4 | Denegada |
5 | Exceção |
6 | Nota fiscal não localizada |
7 | Erros nos parâmetros enviados para a emissão da NFe |
Exemplos de chamada da API
$retorno = enviarPedidoREST($url, $data);
echo ($retorno);
$url = 'http://api.tiny.com.br/recepcao.nfe.emissao';
$apiKey = 'coloque a sua chave da api';
$numero = 'coloque o número da nota fiscal';
$serie = 'coloque a série da nota fiscal';
$enviaEmailAoCliente = 'enviar Nota Fiscal por e-mail ao cliente (S/N)';
$data = 'apiKey=' . $apiKey .
'&numero=' . $numero .
'&serie=' . $serie .
'&enviaEmailAoCliente=' . $enviaEmailAoCliente;
enviarPedidoREST($url, $data);
function enviarPedidoREST($url, $data, $optional_headers = null) {
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problema com $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problema obtendo retorno de $url, $php_errormsg");
}
return $response;
}
import urllib
xml = '...';
params = {"apiKey": "coloque a sua chave da api",
"numero": 10,
"serie": 1,
"enviaEmailAoCliente": "enviar Nota Fiscal por e-mail ao cliente (S/N)"}
query = urllib.urlencode(params)
url = "http://api.tiny.com.br/recepcao.nfe.emissao"
f = urllib.urlopen(url, query)
contents = f.read()
f.close()
print contents
Exemplos de retorno da API
Caso a emissão foi realizada com sucesso
<?xml version="1.0" encoding="UTF-8"?>
<xmlResponse>
<situacao>2</situacao>
<mensagem>Nota Fiscal Enviada - Autorizado o uso da NF-e</mensagem>
<erros/>
<chaveAcesso>43120891184036000128550010000000391485045649</chaveAcesso>
<linkDanfe>https://www.tiny.com.br/doc.view?id=7ab6ad08c866c1b656a82f9a43efb3f5</linkDanfe>
</xmlResponse>
Caso tenha ocorrido algum erro no envio ao Sefaz
<?xml version="1.0" encoding="UTF-8"?>
<xmlResponse>
<situacao>1</situacao>
<mensagem>Rejeicao</mensagem>
<erros>Rejeicao: Data de Emissao muito atrasada</erros>
<chaveAcesso>43120891184036000128550010000000391485045649</chaveAcesso>
<linkDanfe/>
</xmlResponse>