Integracao REST completa para emissao de NF-e e NFC-e
Todas as requisicoes devem incluir sua chave de API no header personalizado:
x-api-key: YOUR_API_KEY
Exemplo com cURL:
curl -X POST https://api.apinotas.com.br/api/nfe \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{...}'
A API funciona em dois ambientes baseados no status da sua conta:
Use para testes e validacoes antes de ir para producao.
URL: https://api.apinotas.com.br
Use para emitir notas fiscais com valor fiscal real.
URL: https://api.apinotas.com.br
Nunca compartilhe sua chave de API. Se comprometida, regenere-a imediatamente no painel administrativo. Use HTTPS em todas as requisicoes.
Antes de emitir notas fiscais, configure suas series no painel administrativo:
Faca login em /admin/dashboard
Navegue ate a secao de Series
Configure tipo (NF-e/NFC-e), modelo e numero inicial
Faca upload do certificado digital (A1 ou A3)
💡 Dica: Clique em qualquer endpoint para expandir e ver os detalhes completos da requisição, parâmetros e respostas.
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://api.apinotas.com.br/api/nfe',
[
'headers' => [
'x-api-key' => 'YOUR_API_KEY',
'Content-Type' => 'application/json',
],
'json' => [
'serie' => '1',
'idIntegracao' => 'PED-001',
'natureza' => 'VENDA',
'itens' => [
[
'descricao' => 'Produto Teste',
'ncm' => '12345678',
'quantidade' => 1,
'valor' => 100.00
]
],
'pagamentos' => [
[
'tipo' => '01',
'valor' => 100.00
]
]
]
]
);
$data = json_decode($response->getBody());
const axios = require('axios');
const response = await axios.post(
'https://api.apinotas.com.br/api/nfe',
{
serie: '1',
idIntegracao: 'PED-001',
natureza: 'VENDA',
itens: [
{
descricao: 'Produto Teste',
ncm: '12345678',
quantidade: 1,
valor: 100.00
}
],
pagamentos: [
{
tipo: '01',
valor: 100.00
}
]
},
{
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import requests
headers = {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
data = {
'serie': '1',
'idIntegracao': 'PED-001',
'natureza': 'VENDA',
'itens': [
{
'descricao': 'Produto Teste',
'ncm': '12345678',
'quantidade': 1,
'valor': 100.00
}
],
'pagamentos': [
{
'tipo': '01',
'valor': 100.00
}
]
}
response = requests.post(
'https://api.apinotas.com.br/api/nfe',
json=data,
headers=headers
)
print(response.json())
curl -X POST \
https://api.apinotas.com.br/api/nfe \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"serie": "1",
"idIntegracao": "PED-001",
"natureza": "VENDA",
"itens": [
{
"descricao": "Produto Teste",
"ncm": "12345678",
"quantidade": 1,
"valor": 100.00
}
],
"pagamentos": [
{
"tipo": "01",
"valor": 100.00
}
]
}'
Requisicao bem-sucedida
Nota em processamento (emissao assincrona)
Dados invalidos ou incompletos
Chave de API invalida ou expirada
Recurso nao encontrado
Limite de requisicoes excedido