Pular para o conteúdo

Quickstart — Sua primeira NFCe em 5 minutos

Este guia mostra de ponta a ponta o fluxo de emissão de uma NFCe usando a API do FazNota. Você vai:

  1. Obter o seu Token de integração
  2. Cadastrar um produto e um cliente (opcional, se já existirem)
  3. Emitir uma NFCe
  4. Consultar o resultado pelo recibo

Pré-requisitos

  • Acesso ao Painel FazNota com permissão de Integração
  • Empresa com contrato ativo e configurações fiscais já preenchidas
  • Um cliente HTTP (cURL, Postman, Insomnia ou linguagem de sua preferência)

Passo a passo

  1. Obtenha seu Token de integração

    No Painel FazNota, acesse Meus Dados > aba Integração. Copie o Token gerado.

    Terminal window
    # Exemplo de Token (sempre use o seu, gerado no painel)
    export TOKEN="abc123def456ghi789jkl012mno345pq"
  2. Teste a autenticação consultando a saúde da API

    Antes de tudo, verifique se a API está respondendo:

    Terminal window
    curl -i https://api.mysebr.com.br/nfemyse-v3/rest/health

    Você deve ver HTTP/1.1 200 OK e o body:

    { "status": "ok", "database": "ok", "timestamp": "2026-05-13T14:32:01Z" }
  3. Cadastre um produto (opcional)

    Pule este passo se já tiver produtos cadastrados.

    Terminal window
    curl -X POST https://api.mysebr.com.br/nfemyse-v3/rest/produtos \
    -H "Authorization: Token $TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
    "referencia": "SKU-QUICKSTART-001",
    "nome": "Produto Teste Quickstart",
    "valor": "10.00",
    "medida": "UN",
    "ncm": "61051000",
    "origem": "0",
    "tipo-produto": "P"
    }'

    Resposta esperada:

    {
    "status": "001",
    "descricao": "Processamento do produto realizado com sucesso.",
    "data": { "mensagem": "Produto cadastrado com sucesso." },
    "meta": { "request_id": "req_01HX...", "timestamp": "2026-05-13T14:33:00Z" }
    }
  4. Cadastre um cliente (opcional)

    Pule se já tiver clientes ou se a NFCe for sem identificação.

    Terminal window
    curl -X POST https://api.mysebr.com.br/nfemyse-v3/rest/clientes \
    -H "Authorization: Token $TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
    "tipo": "F",
    "nome": "João da Silva",
    "cpf": "12345678901",
    "endereco": {
    "cep": "01310100",
    "rua": "Avenida Paulista",
    "numero": "1000",
    "bairro": "Bela Vista",
    "cidade": "São Paulo",
    "estado": "SP"
    }
    }'
  5. Emita a NFCe

    Note que a emissão é assíncrona — você recebe um recibo para consulta.

    Terminal window
    curl -X POST https://api.mysebr.com.br/nfemyse-v3/rest/nfce/emissao \
    -H "Authorization: Token $TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
    "serie": "65",
    "cfop": "5102",
    "numero-origem": "QUICKSTART-001",
    "tp_pagamento": "dinheiro",
    "cliente": "12345678901",
    "itens": [
    { "produto": "SKU-QUICKSTART-001", "quantidade": "1", "valor-unitario": "10.00" }
    ]
    }'

    Resposta com o recibo:

    {
    "status": "001",
    "descricao": "Cupom registrado com sucesso.",
    "data": { "recibo": "rec_abc123" },
    "meta": { "request_id": "req_01HX...", "timestamp": "..." }
    }

    Guarde o recibo para o próximo passo.

  6. Consulte o resultado pelo recibo

    A NFCe leva alguns segundos para ser processada pela SEFAZ. Consulte periodicamente (intervalo mínimo recomendado: 2 segundos) até receber um status terminal (004 = emitida, 010 = cancelada, 900 = rejeitada).

    Terminal window
    curl https://api.mysebr.com.br/nfemyse-v3/rest/nfce/cupom/rec_abc123 \
    -H "Authorization: Token $TOKEN"

    Resposta quando emitida:

    {
    "status": "004",
    "descricao": "Cupom emitido com sucesso.",
    "data": {
    "id": "...", "numero": "1", "serie": "65",
    "sefaz": {
    "chave": "35260512345678000199650010000000011000000010",
    "url-danfe": "https://...",
    "url-xml": "https://..."
    }
    }
    }

    🎉 Pronto! Sua primeira NFCe foi emitida.

Próximos passos

Solução de problemas

SintomaCausa provávelO que fazer
HTTP 401Token ausente ou inválidoVerifique o header Authorization: Token <valor>
status: "999" no bodyErro de validação ou internoLeia data.erro para mensagens controladas; cite meta.request_id no suporte para erros internos
status: "050"numero-origem duplicadoUse um valor único por emissão; isso protege contra duplicidade
Resposta demora muitoPolling sem backoffUse intervalo mínimo de 2 segundos entre consultas