Glossário

Header Content-Type

Atualizado em · 4 min de leitura

Definição

Header Content-Type é o cabeçalho de uma requisição ou resposta HTTP que informa qual é o formato dos dados enviados no corpo da mensagem, como application/json ou application/xml. Ele permite que o servidor e o cliente interpretem corretamente o conteúdo, sendo essencial em integrações de emissão fiscal por API.

Também conhecido como: Content-Type header, Cabeçalho Content-Type, Content-Type, Cabeçalho de tipo de conteúdo, Tipo de mídia, MIME type

O que é o header Content-Type?

Toda comunicação pela web usando o protocolo HTTP é formada por cabeçalhos (headers) e, muitas vezes, por um corpo (body). Os cabeçalhos são informações extras que acompanham a mensagem, como etiquetas em um pacote.

O Content-Type é uma dessas etiquetas. Ele diz a quem recebe a mensagem que tipo de conteúdo está no corpo: um texto em JSON, um documento XML, um PDF, uma imagem ou um formulário. O valor segue um padrão chamado tipo de mídia (ou MIME type), como application/json.

Para que serve o Content-Type em uma API fiscal?

Quando um ERP ou plataforma de vendas envia os dados de uma nota fiscal para uma API, o servidor precisa saber como ler aquelas informações. Se o corpo está em JSON, o Content-Type deve ser application/json; se está em XML, application/xml ou text/xml.

Na resposta, o mesmo cabeçalho indica o que está voltando: um JSON com o status do documento, o XML autorizado da NF-e ou o PDF do DANFE. Assim, o sistema do cliente sabe se deve processar dados, salvar um arquivo ou exibir um documento.

Como o Content-Type aparece na prática?

Ele é escrito como uma linha no cabeçalho da requisição, por exemplo: Content-Type: application/json. Pode incluir parâmetros adicionais, como a codificação de caracteres: Content-Type: application/json; charset=utf-8.

Bibliotecas e linguagens de programação costumam permitir definir esse cabeçalho com uma linha de código. Em muitas delas, ao enviar um objeto JSON, o valor é preenchido automaticamente, mas é sempre bom conferir.

O que acontece se o Content-Type estiver errado ou ausente?

Se o cabeçalho não corresponder ao conteúdo real, o servidor pode não conseguir interpretar os dados. Em geral, a API devolve um erro, como o código HTTP 415 (tipo de mídia não suportado) ou 400 (requisição inválida).

Em integrações fiscais, isso pode parecer um problema nos dados da nota, quando na verdade é apenas um cabeçalho mal configurado. Verificar o Content-Type é um dos primeiros passos ao investigar falhas de envio.

Qual a diferença entre Content-Type e Accept?

O Content-Type descreve o formato do que está sendo enviado. Já o cabeçalho Accept informa qual formato o cliente prefere receber na resposta.

Por exemplo, um sistema pode enviar os dados da nota em JSON (Content-Type: application/json) e pedir o PDF do documento auxiliar como resposta (Accept: application/pdf). Os dois cabeçalhos trabalham juntos, mas têm papéis diferentes.

Quais caracteres especiais exigem atenção com o charset?

Documentos fiscais brasileiros têm acentos e cedilha em nomes, endereços e descrições de produtos. Se a codificação não for informada ou estiver incorreta, palavras como 'Ação' ou 'São Paulo' podem chegar corrompidas.

Indicar charset=utf-8 no Content-Type, e garantir que o texto realmente esteja nessa codificação, evita esse tipo de problema e reduz rejeições por caracteres inválidos.

Exemplos de Header Content-Type

  • Um ERP envia os dados de uma NF-e para a API de emissão com o cabeçalho Content-Type: application/json; charset=utf-8, e o servidor interpreta corretamente os itens e tributos da nota.
  • Uma plataforma de marketplace recebe a resposta de uma consulta de documento com Content-Type: application/pdf e salva o arquivo como o DANFE para enviar ao comprador.
  • Um desenvolvedor recebe erro 415 ao emitir uma NFS-e porque esqueceu de definir o Content-Type; ao incluir application/json, a requisição passa a ser aceita.
  • Ao baixar o XML autorizado de um CT-e, o sistema identifica pelo Content-Type: application/xml que deve armazenar o conteúdo como arquivo fiscal, e não exibi-lo como texto.

Perguntas frequentes

O Content-Type é obrigatório em toda requisição?

Não. Ele é necessário quando a requisição tem corpo, como em envios com POST ou PUT. Em consultas simples com GET, normalmente não há corpo, então o cabeçalho costuma ser dispensável.

Qual Content-Type usar para enviar uma nota fiscal por API?

Depende do formato aceito pela API. Em APIs REST modernas, o mais comum é application/json. Consulte a documentação do provedor para confirmar o valor esperado em cada endpoint.

O nome do header diferencia maiúsculas e minúsculas?

Não. Pelo padrão HTTP, nomes de cabeçalhos não diferenciam maiúsculas e minúsculas, então Content-Type e content-type são equivalentes. Já o valor, como application/json, deve seguir a grafia padrão.

O que significa o erro HTTP 415?

Significa que o servidor não suporta o tipo de mídia informado no Content-Type. Geralmente indica cabeçalho ausente, incorreto ou incompatível com o formato que a API espera receber.

Atualizado em · Como produzimos este glossário