NFe.io | Docs

Nota Fiscal de Serviço Eletrônica

Segue abaixo exemplos de POST e GET da Nota Fiscal de Serviço Eletrônica. No post é possível criar uma nota fiscal e receber uma de exemplo por e-mail. No GET, é possível retornar os dados da nota fiscal criada.

POST Nota Fiscal de Serviço

const fetch = require('node-fetch'); const host = 'https://api.nfe.io'; const apiKey = 'odZhy5YCSRDEx38Am4WpaHtBpkFKoF695DoBfKEGWA4adDM7caf12eaRcXurkAnDTYxapZwu'; const defaultHeaders = { 'Content-Type': 'application/json', 'Authorization': apiKey }; /// ------------------------------------------------------------------------------------ /// PASSO 0: GERAR CNPJ PARA TESTES NO ENDEREÇO ABAIXO, /// DEPOIS COPIE SOMENTE NÚMEROS, NO LUGAR DO undefined /// /// https://consulta.guru/gerador-cnpj-gratis /// ------------------------------------------------------------------------------------ var federalTaxNumber = undefined; if (!federalTaxNumber) { // Caso não preencha o CNPJ, vamos gerar um novo aleatório. federalTaxNumber = (await (await fetch('https://api.nfse.io/Generate/LegalEntities/taxNumber/1')).json()).taxNumbers[0].value.replace(/[\.\-\/]/gi,''); } console.log(`federalTaxNumber ${federalTaxNumber}`); /// ------------------------------------------------------------------------------------ /// PASSO 1: CRIAR EMPRESA DE TESTE (AMBIENTE DE DESENVOLVIMENTO) /// /// ATENÇÃO: VOCÊ SÓ PRECISA CRIAR A EMPRESA NA PRIMEIRA VEZ /// /// ------------------------------------------------------------------------------------ const createCompany = { environment: "Development", name: "EMPRESA TESTE", // Razão Social tradeName: "TESTE INC", // Nome Fantasia federalTaxNumber: federalTaxNumber, // CNPJ address: { country: "BRA", // País postalCode: "01452-922", // CEP street: "Avenida Brigadeiro Faria Lima", // Endereço number: "2369", // Número additionalInformation: "Edifício Barão de Iguatemi", // Complemento de Endereço district: "Jardim Paulistano", // Bairro city: { code: "3550308", // Código da Cidade name: "São Paulo" // Nome da Cidade }, state: "SP" // Estado } }; var createCompanyResponse = await fetch(`${host}/v1/companies`, { body: JSON.stringify(createCompany), method: 'POST', headers: defaultHeaders }); if (!createCompanyResponse.ok) { console.log(createCompanyResponse.statusText, await createCompanyResponse.text()); return; } const companyCreatedUri = createCompanyResponse.headers.get('location'); console.log(`company created at ${companyCreatedUri}`); /// ------------------------------------------------------------------------------------ /// PASSO 2: ENVIAR NOTA FISCAL PARA FILA DE EMISSÃO /// ------------------------------------------------------------------------------------ // Antes temos que recuperar o ID da Empresa, vamos usar o endereço da empresa que foi criada const getCompanyIdResponse = await fetch(`${host}${companyCreatedUri}`, { headers: defaultHeaders }); const companyId = (await getCompanyIdResponse.json()).companies.id; console.log(`company id ${companyId}`); // ADICIONE O SEU E-MAIL PARA RECEBER A NOTA TESTE **OBRIGATÓRIO const issueInvoice = { cityServiceCode: "2917", description: "DESCRIÇÃO_DA_NOTA_FISCAL_AQUI", //Adicione uma descrição servicesAmount: 10000, borrower: { email: "nfe@nfe.io", // Adicione o seu e-mail type: "NaturalPerson", // Tipo do cliente (PJ/PF) federalTaxNumber: 78477401764, // CNPJ/CPF do cliente name: "NOME_DO_CLIENTE_AQUI", // Nome/Razão social do cliente address: { country: "BRA", postalCode: "05416011", street: "Rua Fradique Coutinho", number: "701", district: "Pinheiros", state: "SP", city: { code: "3550308", name: "São Paulo" } } } }; const queueInvoiceToIssueResponse = await fetch(`${host}/v1/companies/${companyId}/serviceinvoices`, { body: JSON.stringify(issueInvoice), method:'POST', headers: defaultHeaders }); if (!queueInvoiceToIssueResponse.ok) { console.log(queueInvoiceToIssueResponse.statusText, await queueInvoiceToIssueResponse.text()); return; } const invoice = await queueInvoiceToIssueResponse.json(); console.log(`invoice id ${invoice.id}`); console.log('invoice queued to issue'); invoice;

GET Nota Fiscal de Serviço

const fetch = require('node-fetch'); const host = 'https://api.nfe.io'; const companyID = '59bc2c1cb82f7506ac7b0bed'; let path = `/v1/companies/${companyID}/serviceinvoices/`; // COLOQUE O ID DA NOTA CRIADA NO POST ACIMA const invoiceID = 'ID_DA_NOTA'; const response = await fetch(`${host}${path}${invoiceID}`, { mothod:'GET', headers: { 'Content-Type': 'application/json', 'Authorization': 'odZhy5YCSRDEx38Am4WpaHtBpkFKoF695DoBfKEGWA4adDM7caf12eaRcXurkAnDTYxapZwu' } // SUBSTITUA O process.env.Authorization PELA SUA API KEY }); const data = await response.json(); console.log(data);