COFRE NFE
Teste a API para Envio de Arquivos
"retorno" com valor "1"
"page" com valor "envia_nfe_avulso"
Parâmetro: "file"
Parâmetro: "xml"

Se preferir baixe este HTML

Instruções

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

HTML
<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

HTML
<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
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
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
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

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#

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

Delphi/Pascal

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.