O quê / quando
Antes de emitir, confirme se o serviço de autorização da UF do emitente está em operação (MDFeStatusServico).
Exemplo
MdfeStatusResult — isOperational() quando serviceCode === '107'.
Ver Emissão.Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Pré-voo: $mdfe->serviceStatus() consulta se o autorizador de MDF-e da UF está operacional.
MDFeStatusServico).
use Suot\Fiscal\Core\Exception\InfrastructureException;
use Suot\Fiscal\Core\Result\RetryMode;
use Suot\Fiscal\Core\ValueObject\Uf;
try {
$result = $mdfe->serviceStatus()
->forOperation('ot-123-mdfe-status')
->inHomologation()
->issuerUf(new Uf('RS'))
->handle();
} catch (InfrastructureException $e) {
$failure = $e->toFailure('service_status');
// Host: alertar; filar retry conforme $failure->retryPolicy; não emitir às cegas
throw $e;
}
if ($result->isOperational()) {
// Host: seguir para emissão
} else {
$failure = $result->failure();
$policy = $result->retryPolicy();
match ($policy?->mode) {
RetryMode::AfterDelay, RetryMode::Immediate => /* filar e consultar de novo */,
RetryMode::Never, null => /* não emitir; tratar indisponibilidade */,
default => /* seguir recoveryGuide */,
};
}
MdfeStatusResult — isOperational() quando serviceCode === '107'.
Ver Emissão.