Created
September 6, 2016 02:31
-
-
Save acras/5dc6d2bb5f3b8d5cc7c0f690aa531bff to your computer and use it in GitHub Desktop.
Exemplo de emissão de NFSe pela API do Focus NFe
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
# Você deve definir isso globalmente para sua aplicação | |
$SERVER = "http://producao.acrasnfe.acras.com.br"; | |
$TOKEN = "token_recebido_do_suporte"; | |
$nfse = array( | |
"data_emissao" => '2013-05-31T12:00:00-03:00', | |
"natureza_operacao" => '1', | |
"prestador" => array( | |
"cnpj" => '06901848000133', | |
"inscricao_municipal" => '080204613599', | |
"codigo_municipio" => '4106902' | |
), | |
"servico" => array( | |
"aliquota" => '0.05', | |
"base_calculo" => '1.0', | |
"discriminacao" => "Servico de hospedagem de sites", | |
"iss_retido" => "2", | |
"item_lista_servico" => "06939", | |
"valor_iss" => '0.5', | |
"valor_liquido" => '1.0', | |
"valor_servicos" => '1.0' | |
), | |
"tomador" => array( | |
"cpf" => '03055054912', | |
"endereco" => array( | |
"bairro" => 'Centro', | |
"cep" => "80000000", | |
"codigo_municipio" => "4106902", | |
"logradouro" => "Rua Emiliano Perneta", | |
"numero" => "845", | |
"uf" => 'PR', | |
), | |
"razao_social" => "Egon Hilgenstieler" | |
) | |
); | |
print("=> Teste de envio\n"); | |
$r = new HttpRequest($SERVER."/nfse", HttpRequest::METH_POST); | |
$r->addQueryData(array('token' => $TOKEN)); | |
# A referência é uma string que identifica univocamente uma NFSe e | |
# será usada para consultas posteriores | |
$r->addQueryData(array('ref' => '1234')); | |
$yaml = yaml_emit($nfse); | |
$r->addRawPostData($yaml); | |
try { | |
$r->send(); | |
$status = $r->getResponseCode(); | |
$body = $r->getResponseBody(); | |
print("Status = $status\n"); | |
print("Body = $body\n"); | |
} catch (HttpException $ex) { | |
echo $ex; | |
} | |
print("=> Teste de consulta\n"); | |
# O processo de envio de NFSe é assíncrono, e pode ser necessário | |
# aguardar até que a nota seja processada | |
sleep(10); | |
$r = new HttpRequest($SERVER."/nfse/1234", HttpRequest::METH_GET); | |
$r->addQueryData(array('token' => $TOKEN)); | |
try { | |
$r->send(); | |
$status = $r->getResponseCode(); | |
$body = $r->getResponseBody(); | |
print("Status = $status\n"); | |
print("Body = $body\n"); | |
$result = yaml_parse($body); | |
var_dump($result); | |
} catch (HttpException $ex) { | |
echo $ex; | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment