O serviço de emissão de BP-e é responsável por realizar a validação dos dados do BP-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 BP-e pela API e o código nsNRec para consulta de status de processamento.
URL
Produção BP-e: POST https://bpe.ns.eti.br/v1/bpe/issue
Produção BP-e TM: POST https://bpe.ns.eti.br/v1/bpetm/issue
Dados de entrada
Os dados do BP-e para o método de emissão podem ser enviados em JSON ou XML.
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. | |
BPe | 1-1 | O | Dados do BP-e (conforme Manual de Orientações do Contribuinte da Sefaz) |
Clicando no arquivo abaixo é possível fazer o download de um exemplo completo de NF-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 BP-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 BP-e no formato XML:
Exemplo de requisição
Requisição de emissão de BP-e em JSON
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"X-AUTH-TOKEN":"...",
"BPe":{...}
}' \
https://bpe.ns.eti.br/v1/bpe/issue
Requisição de emissão de BP-e em XML
curl -X POST \
-H "X-AUTH-TOKEN: SEU_TOKEN" \
-H "Content-Type: application/xml" \
-d '<BPe xmlns="http://www.portalfiscal.inf.br/bpe">
<infBPe versao="1.00">
<ide>
<cUF>43</cUF>
....
</BPe>' \
https://bpe.ns.eti.br/v1/bpe/issue
Dados retornados
Campo | Descrição | Tipo | Ocorrência | Observação |
---|---|---|---|---|
Status | Código de status do processamento | N | 1-1 | |
Motivo | Descrição literal do status de processamento | A | 1-1 | |
nsNRec | Protocolo de recebimento do BP-e | N | 0-1 | Somente em status = 200 |
Exemplos de retorno
Retorno com sucesso
{
"status": 200,
"motivo": "BP-e enviado para Sefaz",
"nsNRec": "1234"
}
Retorno com erro de dados
{
"status": -2,
"motivo": "BPe 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 BP-e informada em BPe/infBPe/versao |
-4 | Dados enviados fora do padrão esperado Verifique o campo motivo para maiores informações |
-5 | Erro ao enviar o BP-e para Sefaz Verifique o objeto erro para maiores informações |
-6 | BP-e já enviado anteriormente. Consulta o status de processamento do nsNRec retornado. |
-7 | Content-Type inválido. Os content-types aceitos por este método são application/json ou application/xml. |