Ajuda do Tiny | API 2.0 | Gerar Nota Fiscal do Pedido | Tiny ERP
Fechar
esqueci a minha senha
criar uma conta

Gerar Nota Fiscal do Pedido API 2.0

Serviço destinado a gerar nota fiscal de um Pedido.

ElementoTipoOcorrênciaDescrição
tokenstringobrigatórioChave gerada para identificar sua empresa
idintobrigatórioNúmero de identificação do pedido no Tiny
modelo (1)stringopcionalModelo da nota fiscal (NFe ou NFCe)
formatostringobrigatórioFormato do retorno (json ou xml)

(1) - Se este campo não for informado, será gerada nota no modelo NFe.

ElementoTipoTamanhoOcorrênciaDescrição
retorno--obrigatórioElemento raiz do retorno
retorno.status_processamentoint-obrigatórioConforme tabela "Status de Processamento"
retorno.statusstring-obrigatórioContém o status do retorno “OK” ou “Erro”. Para o caso de conter erros estes serão descritos abaixo
retorno.codigo_erro (1)int-condicionalConforme tabela "Códigos de erro"
retorno.erros[ ] (1) (3)list-condicional [0..n]Contém a lista dos erros encontrados.
retorno.erros[ ].errostring-condicionalMensagem contendo a descrição do erro
retorno.registros[ ] (2)list-condicionalLista de resultados
retorno.registros[ ].registro (2)object-condicionalElemento utilizado para representar um registro.
retorno.registros[ ].registro.idNotaFiscalint-obrigatórioNúmero de identificação da nota fiscal no Tiny
retorno.registros[ ].registro.numeroint-obrigatórioNúmero da nota fiscal
retorno.registros[ ].registro.serieint-obrigatórioSérie da nota fiscal

(1) - Somente estará presente no retorno caso o elemento "status" seja "Erro".
(2) - Somente estará presente no retorno caso o elemento "status" seja "OK".
(3) - Estes campos somente serão informados caso o retorno contenha erros.


$url = 'https://SERVER_API_DIRapi2/gerar.nota.fiscal.pedido.php';
$token = 'coloque aqui a sua chave da api';
$id = 'xxxxx';
$formato = 'XML';
$modelo = 'NFCe';
$data = "token=$token&id=$id&modelo=$modelo&formato=$formato";

enviarREST($url, $data);    

function enviarREST($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;
}

$client = new nusoap_client("https://SERVER_API_DIRapi2.php?wsdl", true);
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;

$result = $client->call("gerarNotaFiscalPedido", array('token' => 'xxxxx','id'=>'xxxxx', 'modelo' => 'NFCe', 'formato'=>'XML'));

$res = array();
if ($client->fault) {
	$retorno = $result['faultstring'];		
} else {
	$err = $client->getError();
	if ($err) {
		$retorno = $err;	    	
	} else {
		$retorno = $result;
	}
}
<?xml version="1.0" encoding="UTF-8"?>
<retorno>
  <status_processamento>1</status_processamento>
  <status>Erro</status>
  <codigo_erro>2</codigo_erro>
  <erros>
    <erro>token invalido</erro>
  </erros>
</retorno>
<?xml version="1.0" encoding="UTF-8"?>
<retorno>
  <status_processamento>2</status_processamento>
  <status>Erro</status>
  <codigo_erro>21</codigo_erro>
  <erros>
    <erro>A consulta retornou mais registros que o permitido</erro>
  </erros>
</retorno>
<?xml version="1.0" encoding="UTF-8"?>
<retorno>
  <status_processamento>3</status_processamento>
  <status>OK</status>
  <registros>
    <registro>
      <idNotaFiscal>123123</idNotaFiscal>
      <numero>00087</numero>
      <serie>3</serie>
    </registro>
  </registros>
</retorno>