O serviço de emissão de MDF-e é responsável por realizar a validação dos dados do MDF-e enviado de acordo com os tipos de dados definidos pelos schemas XMLs da Sefaz e realizar o envio do documento para processamento no WebService do Portal da Secretaria da Fazenda.
O retorno deste serviço contém o status de recebimento do MDF-e pela API e o código nsNRec para consulta de status de processamento.
URL
Produção: POST https://mdfe.ns.eti.br/mdfe/issue
Dados de entrada
Os dados do MDF-e para o método de emissão podem ser enviados em JSON, XML ou TXT.
Envio de dados em formato JSON
Para envio dos dados em JSON o Content-Type da requisição deverá ser definido como application/json.
Campo | Ocorrência | Tipo | Pai | Descrição |
---|---|---|---|---|
X-AUTH-TOKEN | 1-1 | A | Token de acesso do usuário Pode ser enviado também via Header ou QueryString na URL. | |
MDFe | 1-1 | O | Dados do MDF-e (conforme Manual de Orientações do Contribuinte da Sefaz) |
Clicando no arquivo abaixo é possível fazer o download de um exemplo completo de MDF-e no formato JSON:
Envio de dados em formato XML
Para envio dos dados em XML o Content-Type da requisição deverá ser definido como application/xml e o X-AUTH-TOKEN deverá ser enviado no cabeçalho HTTP.
No envio em formato XML o corpo da requisição deverá conter o conteúdo do XML com as informações do MDF-e. Esse conteúdo deverá ser gerado a partir do layout do Manual de Orientações do Contribuinte da Sefaz.
Clicando no arquivo abaixo é possível fazer o download de um exemplo completo de MDF-e no formato XML:
Envio de dados em formato TXT
Para envio dos dados em TXT o Content-Type da requisição deverá ser definido como text/plain;charset=utf-8 e o X-AUTH-TOKEN deverá ser enviado no cabeçalho HTTP.
No envio em formato TXT o corpo da requisição deverá conter o conteúdo do TXT com as informações do MDF-e. Esse conteúdo deverá ser gerado a partir do layout do TXT de emissão do integrador local da News Systems.
Clicando no arquivo abaixo é possível fazer o download de um exemplo completo de MDF-e no formato TXT:
Exemplo de requisição
Requisição de emissão de MDF-e em JSON
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"X-AUTH-TOKEN":"...",
"MDFe":{...}
}' \
https://mdfe.ns.eti.br/mdfe/issue
Requisição de emissão de MDF-e em TXT
curl -X POST \
-H "X-AUTH-TOKEN: SEU_TOKEN" \
-H "Content-Type: text/plain" \
-d 'MANIFESTO|1| \A|3.00|MDFE|' \
https://mdfe.ns.eti.br/mdfe/issue
Requisição de emissão de NF-e em XML
curl -X POST \
-H "X-AUTH-TOKEN: SEU_TOKEN" \
-H "Content-Type: application/xml" \
-d '<MDFe xmlns="http://www.portalfiscal.inf.br/mdfe"><infMDFe versao="3.00"><ide><cUF>43</cUF><tpAmb>2</tpAmb><tpEmit>2</tpEmit></MDFe>' \
https://mdfe.ns.eti.br/mdfe/issue
Dados retornados
Campo | Descrição | Observação |
---|---|---|
Status | Código de status do processamento | |
motivo | Descrição literal do status de processamento | |
nsNrec | Protocolo de recebimento do MDF-e | Somente em status = 200 |
Exemplos de retorno
Retorno com sucesso
{
"status": 200,
"motivo": "MDF-e enviado para Sefaz",
"nsNRec": "1234"
}
Retorno com erro de dados
{
"status": -2,
"motivo": "MDFe invalido de acordo com a validacao contra schema",
"erros": [
"O campo 'CEP' foi preenchido incorretamente com o valor '9003000'. Este campo deve ser preenchido com numeros e conter exatamente 8 caracteres. (cvc-pattern-valid: Value '9003000' is not facet-valid with respect to pattern '[0-9]{8}' for type '#AnonType_CEPTEndeEmi'.)"
]
}
Códigos de retorno
Código | Descrição |
---|---|
200 | NF-e recebida com sucesso e enviada para Sefaz |
-2 | Erro de informações de acordo com o tipo de dados Verifique o campo motivo para identificar os campos incorretos |
-3 | Schema de validação inexistente para a versão do MDF-e informada em MDFe/infMDFe/versao |
-4 | Dados enviados fora do padrão esperado Verifique o campo motivo para maiores informações |
-5 | Erro ao enviar o MDF-e para Sefaz Verifique o objeto erro para maiores informações |
-6 | MDF-e já enviado anteriormente. Consulta o status de processamento do nsNRec retornado. |