Integre seu software de vendas com o COFRE NFE para salvar e disponibilizar todas as notas.
Basta configurar seu software para que envie as notas fiscais diretamente para nós.
Para enviar uma nota ao COFRE NFE basta efetuar um POST do arquivo XML para o endereço https://painel.cofrenfe.com.br/enviar-notas/enviar?retorno=1
O arquivo poderá ser enviado em formato file (upload) ou se você preferir pode enviar a string do arquivo XML dentro de um campo chamado "xml".
Caso a nota seja importada ou já esteja na base dados o retorno será um HTTP/1.1 200 "OK"
Caso a nota não seja importada por algum motivo o retorno será um HTTP/1.1 500 "ERR"
Exemplo de formulário HTML com Upload de arquivo
<form action="https://painel.cofrenfe.com.br/enviar-notas/enviar" method="post" enctype="multipart/form-data">
<input type="hidden" name="retorno" value="1" />
<label for="file">Arquivo XML:</label>
<input type="file" name="file" id="file" />
<input value="Enviar" type="submit" />
</form>
Exemplo de formulário HTML com envio de XML via string
<form action="https://painel.cofrenfe.com.br/enviar-notas/enviar" method="post" autocomplete="off">
<input type="hidden" name="retorno" value="1" />
<label for="xml">Conteúdo do XML:</label>
<textarea name="xml" id="xml" placeholder="Cole o conteúdo do XML da nota fiscal aqui..." required></textarea>
<button type="submit">Enviar</button>
</form>
Exemplos de post via cURL
curl -v -F "arquivo=@/home/minha-nota.xml" -H "Content-Type: multipart/form-data" "https://painel.cofrenfe.com.br/enviar-notas/enviar?retorno=1"
curl -X POST "https://painel.cofrenfe.com.br/enviar-notas/enviar?retorno=1" -H "Content-Type: application/x-www-form-urlencoded" --data-urlencode "xml=CONTEUDO_DO_XML_AQUI"
curl -X POST "https://painel.cofrenfe.com.br/enviar-notas/enviar?retorno=1" -H "Content-Type: application/x-www-form-urlencoded" \ --data-urlencode "xml=$(cat /home/minha-nota.xml)"
Exemplo de post via PHP
$ch = curl_init();
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_URL => 'https://painel.cofrenfe.com.br/enviar-notas/enviar',
CURLOPT_POSTFIELDS => array(
'retorno' => 1,
'arquivo' => new CURLFile('/home/arquivos/nota.xml')
),
CURLOPT_VERBOSE => true, // Para debug
CURLOPT_HTTPHEADER => array(
'Content-Type: multipart/form-data'
)
);
curl_setopt_array($ch , $options);
$output = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$response = json_decode($output, true);
if ($http_code === 200 && isset($response['sucesso']) && $response['sucesso'] == 1) {
echo 'sucesso';
} else {
echo 'erro';
}
echo "\n\nRetorno";
echo $output;
Exemplo de post via C#
private void button1_Click(object sender, EventArgs e) {
ASCIIEncoding encoding = new ASCIIEncoding();
WebClient Client = new WebClient();
byte[] responseArray = Client.UploadFile("https://painel.cofrenfe.com.br/enviar-notas/enviar?retorno=1", "C:\\arquivos\\nota.xml");
richTextBox1.Text = System.Text.Encoding.ASCII.GetString(responseArray);
}
Exemplo de post via Delphi
function enviaNF(caminhoarquivo:string):boolean;
var
DataStream: TIdMultiPartFormDataStream;
retorno: string;
IdHTTP1: TIdHTTP;
begin
IdHTTP1 := TIdHTTP.Create(nil);
// Se tem Proxy:
// IdHTTP1.ProxyParams.BasicAuthentication := True;
// IdHTTP1.ProxyParams.ProxyServer := frmConfig.proxy_servidor.text;
// IdHTTP1.ProxyParams.ProxyPort := StrToInt(frmConfig.proxy_porta.text);
// IdHTTP1.ProxyParams.ProxyUsername := frmConfig.proxy_usuario.text;
// IdHTTP1.ProxyParams.ProxyPassword := frmConfig.proxy_senha.text;
DataStream := TIdMultiPartFormDataStream.Create;
try
DataStream.AddFormField('aplicacao', '[NOME-DA-SUA-APLICACAO]');
DataStream.AddFormField('retorno', '3');
DataStream.AddFile( 'file', caminhoarquivo, 'text/xml' );
retorno := IdHTTP1.Post('https://painel.cofrenfe.com.br/enviar-notas/enviar', DataStream);
finally
DataStream.Free;
IdHTTP1.Free;
end;
if (retorno='OK') then
Result :=true
else
Result :=false;
end;
funcoes.enviaNF('C:\arquivos\nota1000.xml');
Restaram dúvidas? Entre em contato conosco agora mesmo via formulário de atendimento.