1. Inicio
  2. Documentos
  3. NS BPe
  4. Emissão de BPe
  5. Emissão

Emissão

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.

CampoOcorrênciaTipoPaiDescrição
X-AUTH-TOKEN1-1AToken de acesso do usuário Pode ser enviado também via Header ou QueryString na URL.
BPe1-1ODados 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
CampoDescriçãoTipoOcorrênciaObservação
StatusCódigo de status do processamentoN1-1
MotivoDescrição literal do status de processamentoA1-1
nsNRecProtocolo de recebimento do BP-eN0-1Somente 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ódigoDescrição
200NF-e recebida com sucesso e enviada para Sefaz
-2Erro de informações de acordo com o tipo de dados Verifique o campo motivo para identificar os campos incorretos
-3Schema de validação inexistente para a versão do BP-e informada em BPe/infBPe/versao
-4Dados enviados fora do padrão esperado Verifique o campo motivo para maiores informações
-5Erro ao enviar o BP-e para Sefaz Verifique o objeto erro para maiores informações
-6BP-e já enviado anteriormente. Consulta o status de processamento do nsNRec retornado.
-7Content-Type inválido. Os content-types aceitos por este método são application/json ou application/xml.

Como podemos ajudar?