Weesy Docs

Ferramentas do MDF-e

Consultar se a SEFAZ está no ar

GET https://apifiscal.weesy.com.br/v1/mdfe/status-sefaz

Abrir na referência interativa

Pergunta à SEFAZ se o serviço de MDF-e está funcionando. Usamos o certificado da empresa para perguntar, por isso o cnpjEmitente é obrigatório.

Parâmetros

NomeOndeTipoDescrição
cnpjEmitente
obrigatório
querystring

CNPJ da empresa cujo certificado será usado na consulta.

ufquerystring

Sigla do estado da empresa. Padrão = a UF do cadastro da empresa.

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.

ambientequerystring

Ambiente consultado. Padrão homologacao.

Valores: producao, homologacao.

Exemplo de chamada

cURL

curl --request GET \
  --url "https://apifiscal.weesy.com.br/v1/mdfe/status-sefaz?cnpjEmitente=21664333000195" \
  --header "Authorization: Bearer $WEESY_TOKEN"

Node.js

const resposta = await fetch("https://apifiscal.weesy.com.br/v1/mdfe/status-sefaz?cnpjEmitente=21664333000195", {
  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/status-sefaz?cnpjEmitente=21664333000195",
    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/status-sefaz?cnpjEmitente=21664333000195", 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/status-sefaz?cnpjEmitente=21664333000195");
Console.WriteLine($"{(int)resposta.StatusCode} {await resposta.Content.ReadAsStringAsync()}");

Respostas

Campos da resposta 200

CampoTipoDescrição
disponivel
obrigatório
boolean

true quando a SEFAZ respondeu que o serviço está em operação (cStat 107).

uf
obrigatório
string

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.

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.

sefaz
obrigatório
object

Ú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.

consultadoEm
obrigatório
string (date-time)

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

Exemplo de resposta 200

JSON
{
  "disponivel": true,
  "uf": "SP",
  "ambiente": "homologacao",
  "sefaz": {
    "cStat": 107,
    "mensagem": "Serviço em Operação"
  },
  "consultadoEm": "2026-10-26T09:27:34-03:00"
}
← Voltar ao início