Pessoas jurídicas (legal_people)
O recurso legal_people gerencia pessoas jurídicas (tomadores PJ) escopadas por
empresa, sob /companies/{id}/legalpeople. Faz parte da família main, servida
por api.nfe.io (/v1), e usa a api_key.
Métodos públicos
legal_people.list(company_id) # => Nfe::ListResponse
legal_people.create(company_id, data) # => Nfe::LegalPerson
legal_people.retrieve(company_id, legal_person_id) # => Nfe::LegalPerson
legal_people.update(company_id, legal_person_id, data) # => Nfe::LegalPerson
legal_people.delete(company_id, legal_person_id) # => nil
legal_people.create_batch(company_id, list) # => Array<Nfe::LegalPerson>
legal_people.find_by_tax_number(company_id, federal_tax_number) # => Nfe::LegalPerson | nil
list não paginalist(company_id) devolve todas as pessoas jurídicas da empresa em um único
Nfe::ListResponse (paridade com o SDK Node), sem cursores nem páginas.
Exemplos
Criar e recuperar
require "nfe"
client = Nfe::Client.new(api_key: ENV.fetch("NFE_API_KEY"))
company_id = "55df4dc6b6cd9007e4f13ee8"
person = client.legal_people.create(
company_id,
name: "Banco do Brasil SA",
federalTaxNumber: "00000000000191"
)
client.legal_people.retrieve(company_id, person.id)
Criar várias de uma vez
people = client.legal_people.create_batch(company_id, [
{ name: "Fornecedor A LTDA", federalTaxNumber: "12345678000199" },
{ name: "Fornecedor B LTDA", federalTaxNumber: "98765432000188" }
])
create_batch é sequencialDiferente do SDK Node (que usa Promise.all), o create_batch executa as
criações em sequência e devolve os resultados na mesma ordem da lista.
Localizar por CNPJ
person = client.legal_people.find_by_tax_number(company_id, "12.345.678/0001-99")
find_by_tax_number chama list e filtra localmente, normalizando os dígitos do
CNPJ antes de comparar.
Veja também
- Pessoas físicas — o equivalente para PF.
- Empresas — o escopo (
company_id) destes recursos. - Consulta de CNPJ — dados cadastrais de uma PJ na Receita.