Glossário

YAML null

Atualizado em · 4 min de leitura

Definição

YAML null é o valor que representa a ausência de dado em arquivos YAML, um formato de texto muito usado em configurações e em especificações de APIs. Pode ser escrito como null, Null, NULL, til (~) ou deixando o campo sem valor, e equivale ao null do JSON e ao None ou nil das linguagens de programação.

Também conhecido como: YAML null, Nulo em YAML, Valor nulo YAML, ~ (til) em YAML

O que significa null em um arquivo YAML?

YAML é um formato de texto para organizar informações em pares de chave e valor, usando recuos em vez de chaves e colchetes. Ele é comum em arquivos de configuração de sistemas, em pipelines de implantação e em documentos que descrevem APIs.

Null é a forma de dizer que um campo existe, mas não tem valor. Não é zero, não é texto vazio e não é falso: é a indicação explícita de que ali não há informação. Por exemplo, um campo de complemento de endereço pode ficar null quando o cliente mora em uma casa sem número de apartamento.

Como escrever null em YAML?

Na especificação mais usada do YAML, são reconhecidas como null as palavras null, Null e NULL, o símbolo til (~) e também a chave sem nenhum valor depois dos dois-pontos. Assim, as linhas complemento: null, complemento: ~ e complemento: produzem o mesmo resultado ao serem lidas por um sistema.

Um cuidado importante: se a palavra estiver entre aspas, como complemento: "null", ela deixa de ser null e passa a ser um texto com as letras n, u, l, l. Esse detalhe causa muitos erros difíceis de perceber.

Qual a diferença entre null, texto vazio e campo ausente?

São três situações distintas. Com null, o campo aparece, mas sem valor. Com texto vazio (duas aspas sem nada dentro), o campo tem um valor, que é um texto de tamanho zero. Com o campo ausente, a chave simplesmente não está no arquivo.

Muitos sistemas tratam essas situações de forma diferente. Uma API pode aceitar o campo ausente, mas recusar o texto vazio, ou interpretar null como uma ordem para apagar um valor já salvo. Por isso, vale conferir na documentação qual comportamento é esperado em cada campo.

Por que o YAML null importa na integração com uma API fiscal?

APIs fiscais costumam receber dados em JSON, mas muitas equipes guardam configurações, modelos de requisição ou a própria descrição da API em YAML. Quando esse conteúdo é convertido, o null do YAML vira o null do JSON, e é isso que chega ao emissor.

Nos documentos fiscais eletrônicos, como NF-e, NFC-e e CT-e, o XML final segue um esquema rígido. Em geral, campos opcionais sem informação devem ser omitidos, e não enviados vazios, pois tags vazias costumam gerar falha de validação do esquema e rejeição. Entender como seu sistema trata o null ajuda a evitar que um campo sem valor vire uma tag vazia ou um texto "null" dentro da nota.

Quais erros mais comuns envolvem YAML null?

Os mais frequentes são: colocar null entre aspas e enviar a palavra como texto; esquecer o valor de uma chave e, sem querer, gerar null; e confundir null com zero em campos numéricos, como valor de desconto ou alíquota. No caso de valores tributários, zero e ausência de valor podem ter significados fiscais diferentes.

Uma boa prática é validar os dados com um esquema, como o JSON Schema, antes de enviá-los à API, definindo quais campos aceitam null e quais são obrigatórios.

Exemplos de YAML null

  • Em um arquivo de configuração de um ERP, a linha certificado_senha_secundaria: ~ indica que não existe uma segunda senha cadastrada para aquela empresa emissora.
  • Na descrição de uma API de emissão de NF-e escrita em YAML, um campo de complemento de endereço do destinatário é marcado como podendo ser null, sinalizando que ele é opcional.
  • Um desenvolvedor escreve inscricao_municipal: "null" entre aspas em um modelo de NFS-e; o sistema envia a palavra null como texto e o emissor retorna erro de validação.
  • Um modelo de requisição em YAML define valor_desconto: null; ao converter para JSON, o campo chega como null e o sistema emissor entende que não houve desconto informado, em vez de desconto igual a zero.

Perguntas frequentes

YAML null é o mesmo que JSON null?

Têm o mesmo significado: ausência de valor. Ao converter YAML para JSON, null, ~ ou um campo sem valor se transformam em null no JSON. A diferença está só na escrita, já que o JSON aceita apenas a palavra null em minúsculas.

Deixar o campo vazio em YAML é igual a escrever null?

Sim. Uma chave seguida de dois-pontos e nada depois é interpretada como null. Isso é prático, mas pode gerar null por descuido, quando a pessoa apenas esqueceu de preencher o valor.

Posso enviar null em qualquer campo de uma API fiscal?

Não. Campos obrigatórios, como CNPJ do emitente ou valores dos itens, precisam de valor. Consulte a documentação da API para saber quais campos aceitam null e quais devem ser omitidos quando não houver informação.

Atualizado em · Como produzimos este glossário