Emitir NF-e
Emissão de nota de produto — itens, classificação fiscal e transmissão real à SEFAZ.

NF-e (Nota Fiscal Eletrônica) é a nota usada na venda de mercadorias físicas no Brasil. Cada item precisa de descrição, valor e classificação fiscal específica do Brasil — códigos NCM e CFOP no mínimo — já que o autorizador da NF-e (SEFAZ) valida classificação fiscal, não só totais.
A NF-e exige um recipient_address completo do destinatário — street, number, neighborhood, city, state, zip_code e o city_code (código IBGE do município). O state dentro dele é o que decide se o documento sai como operação interestadual ou interna (idDest), sem a integração precisar informar isso separadamente.
Toda NF-e emitida retorna uma chave de acesso que você pode usar pra consultar o status de autorização ou cancelar depois, e o dashboard guarda o histórico completo de envio, incluindo o motivo de rejeição cru do autorizador se ela for rejeitada.
Campos de imposto não precisam ser calculados na mão: ICMS, IPI, PIS e COFINS são destacados automaticamente por item assim que os códigos de classificação são definidos, e grupos opcionais — CEST, códigos NVE, créditos presumidos, números de controle de conteúdo de importação — cobrem os casos menos comuns sem virar campo obrigatório pra todo mundo.
Uma flag de bem móvel usado, referências de pedido de compra, valores de frete/seguro/desconto/outras despesas e o CNPJ do fabricante são todos suportados por item quando a venda precisa deles — nenhum é obrigatório numa venda de varejo simples, então o caso comum continua sendo um punhado de campos.
Os SDKs espelham isso 1:1: um Product em Python ou Go carrega os mesmos campos do grupo product.br da API crua, então migrar de prototipar contra a REST API pra um SDK tipado depois não muda os dados que você já está enviando.
Rejeições voltam com o texto de erro do próprio autorizador, não um "requisição inválida" genérico — um NCM errado ou um CFOP que não bate com o tipo de operação é exatamente o tipo de coisa que a validação da própria SEFAZ pega, e a stackin expõe essa mensagem diretamente em vez de mascarar.
Veja Emissão de NFe pra como essa superfície da API se encaixa no resto da Stackin.