Weesy Docs

Emitir e consultar MDF-e

Conferir MDF-e na SEFAZ

GET https://apifiscal.weesy.com.br/v1/mdfe/{id}/situacao-sefaz

Abrir na referência interativa

Pergunta à SEFAZ, pela chave de acesso, qual é a situação do MDF-e lá, e atualiza o nosso registro com a resposta. Use quando desconfiar que o status aqui está diferente do da SEFAZ — por exemplo, depois de uma queda de conexão.

Parâmetros

NomeOndeTipoDescrição
id
obrigatório
caminhostring

Id do MDF-e, devolvido no campo id quando você emitiu.

Exemplo de chamada

cURL

curl --request GET \
  --url "https://apifiscal.weesy.com.br/v1/mdfe/6ade6278e8340a492a46b564/situacao-sefaz" \
  --header "Authorization: Bearer $WEESY_TOKEN"

Node.js

const resposta = await fetch("https://apifiscal.weesy.com.br/v1/mdfe/6ade6278e8340a492a46b564/situacao-sefaz", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.WEESY_TOKEN}`,
  },
});
console.log(resposta.status, await resposta.text());

Python

import os

import requests

resposta = requests.get(
    "https://apifiscal.weesy.com.br/v1/mdfe/6ade6278e8340a492a46b564/situacao-sefaz",
    headers={"Authorization": f"Bearer {os.environ['WEESY_TOKEN']}"},
    timeout=30,
)
print(resposta.status_code, resposta.text)

PHP

<?php

$contexto = stream_context_create(["http" => [
    "method" => "GET",
    "header" => implode("\r\n", ["Authorization: Bearer " . getenv("WEESY_TOKEN")]),
    "ignore_errors" => true, // lê o corpo também nas respostas de erro
]]);
$resposta = file_get_contents("https://apifiscal.weesy.com.br/v1/mdfe/6ade6278e8340a492a46b564/situacao-sefaz", false, $contexto);
echo $http_response_header[0], PHP_EOL, $resposta, PHP_EOL;

C#

using System.Net.Http.Headers;

using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("WEESY_TOKEN"));

using var resposta = await http.GetAsync("https://apifiscal.weesy.com.br/v1/mdfe/6ade6278e8340a492a46b564/situacao-sefaz");
Console.WriteLine($"{(int)resposta.StatusCode} {await resposta.Content.ReadAsStringAsync()}");

Respostas

Campos da resposta 200

CampoTipoDescrição
id
obrigatório
string

O id que a Weesy dá ao documento. Guarde como texto e não tente interpretar.

idIntegracao
obrigatório
string

O código seu que veio na emissão.

status
obrigatório
string

Situação do MDF-e. A lista pode crescer: trate valor desconhecido sem quebrar.

ValorSignificado
recebidoRecebemos o MDF-e; ele ainda vai para a SEFAZ
em_processamentoEnviado à SEFAZ; aguardando a resposta
autorizadoA SEFAZ autorizou — a viagem pode começar. Lembre de encerrar no fim
rejeitadoA SEFAZ recusou por algum dado — veja sefaz.mensagem, corrija e mande de novo com o mesmo idIntegracao
erroFalha técnica (SEFAZ fora do ar, tempo esgotado) — reenvie em POST /mdfe/{id}/reprocessamento
canceladoA SEFAZ confirmou o cancelamento
encerradoA viagem terminou e a SEFAZ registrou o encerramento
ambiente
obrigatório
string

Onde o documento é emitido.

ValorSignificado
producaoDocumento de verdade, com valor fiscal
homologacaoTeste na SEFAZ, sem valor fiscal. Exige certificado

O ambiente simulacao (sem certificado, sem sair da Weesy), que a NFS-e tem, ainda não existe para CT-e e MDF-e.

empresa
obrigatório
object
empresa.cnpj
obrigatório
string

CNPJ sem pontos, barra ou traço (14 posições). Já aceita o CNPJ com letras, que começa a valer em 2026.

empresa.razaoSocial
obrigatório
string
empresa.ufstring

Sigla do estado, em maiúsculas.

Valores: AC, AL, AP, AM, BA, CE, DF, ES, GO, MA, MT, MS, MG, PA, PB, PR, PE, PI, RJ, RN, RS, RO, RR, SC, SP, SE, TO.

serie
obrigatório
string
numerostring ou null

Número do MDF-e. Vazio até a Weesy montar o XML.

chaveAcessostring ou null
protocolostring ou null

Protocolo de autorização da SEFAZ.

autorizadoEmstring (date-time) ou null
ufIniciostring

Sigla do estado, em maiúsculas.

Valores: AC, AL, AP, AM, BA, CE, DF, ES, GO, MA, MT, MS, MG, PA, PB, PR, PE, PI, RJ, RN, RS, RO, RR, SC, SP, SE, TO.

ufFimstring

Sigla do estado, em maiúsculas.

Valores: AC, AL, AP, AM, BA, CE, DF, ES, GO, MA, MT, MS, MG, PA, PB, PR, PE, PI, RJ, RN, RS, RO, RR, SC, SP, SE, TO.

percursoarray de string
carregamentoarray de object
carregamento[].codigoIbge
obrigatório
string

Código IBGE do município.

carregamento[].nomestring

Nome do município.

carregamento[].ufstring

Sigla da unidade federativa.

descarregamentoarray de object
descarregamento[].codigoIbge
obrigatório
string

Código IBGE do município.

descarregamento[].nomestring

Nome do município.

descarregamento[].ufstring

Sigla da unidade federativa.

descarregamento[].chavesCtearray de string
veiculoobject
veiculo.placastring

Placa do veículo, sem traço, em maiúsculas (formato antigo ou Mercosul).

veiculo.ufstring

Sigla do estado, em maiúsculas.

Valores: AC, AL, AP, AM, BA, CE, DF, ES, GO, MA, MT, MS, MG, PA, PB, PR, PE, PI, RJ, RN, RS, RO, RR, SC, SP, SE, TO.

cargaobject
carga.valornumber

Valor em reais, como número com 2 casas decimais (ex. 100.00). Não mande como texto.

carga.quantidadeCteinteger

Quantos CT-e o MDF-e leva (contado das chaves em descarregamento).

sefazobject

Última resposta da SEFAZ, como ela mandou. Útil para entender uma rejeição.

sefaz.cStatinteger ou null

Código de resposta da SEFAZ (ex. 100 = autorizado; 135 = evento registrado).

sefaz.mensagemstring ou null

Texto da SEFAZ que explica o código.

sefaz.protocolostring ou null

Número do protocolo da SEFAZ, quando houver.

encerramentonull ou object

Preenchido quando o MDF-e é encerrado.

encerramento.municipioobject

Identificação do município por código IBGE, nome e UF.

encerramento.municipio.codigoIbge
obrigatório
string

Código IBGE do município.

encerramento.municipio.nomestring

Nome do município.

encerramento.municipio.ufstring

Sigla da unidade federativa.

encerramento.encerradoEmstring (date-time)

Data e hora no horário de Brasília (ex. 2026-10-26T09:27:34-03:00).

encerramento.protocolostring ou null
cancelamentonull ou object

Preenchido quando o MDF-e é cancelado.

cancelamento.justificativastring
cancelamento.canceladoEmstring (date-time)

Data e hora no horário de Brasília (ex. 2026-10-26T09:27:34-03:00).

cancelamento.protocolostring ou null
historicoarray de object

Por onde o MDF-e passou, em ordem.

historico[].status
obrigatório
string

Situação do MDF-e. A lista pode crescer: trate valor desconhecido sem quebrar.

ValorSignificado
recebidoRecebemos o MDF-e; ele ainda vai para a SEFAZ
em_processamentoEnviado à SEFAZ; aguardando a resposta
autorizadoA SEFAZ autorizou — a viagem pode começar. Lembre de encerrar no fim
rejeitadoA SEFAZ recusou por algum dado — veja sefaz.mensagem, corrija e mande de novo com o mesmo idIntegracao
erroFalha técnica (SEFAZ fora do ar, tempo esgotado) — reenvie em POST /mdfe/{id}/reprocessamento
canceladoA SEFAZ confirmou o cancelamento
encerradoA viagem terminou e a SEFAZ registrou o encerramento
historico[].em
obrigatório
string (date-time)

Data e hora em UTC, terminada em Z (ex. 2026-10-26T12:27:34Z).

historico[].mensagemstring ou null
links
obrigatório
object
links.self
obrigatório
string
links.xmlstring ou null

Vazio até autorizar.

links.damdfestring ou null

Vazio até autorizar.

criadoEm
obrigatório
string (date-time)

Data e hora em UTC, terminada em Z (ex. 2026-10-26T12:27:34Z).

atualizadoEm
obrigatório
string (date-time)

Data e hora em UTC, terminada em Z (ex. 2026-10-26T12:27:34Z).

← Voltar ao início