NFe.io | Docs

Release - 13/03/2019

Mudanças ocorridas no novo release:

1. Alteração no campo "Status" da nota fiscal
2. Mudança de campo nos detalhes do evento
3. Adicionado campo ID da empresa na GET da nota fiscal
4. Eventos retornando em ordem reversa
5. Criado o campo lastEvent no GET da nota fiscal
6. Alteração das actions do webhook

1. Status da nota

Para melhorar a análise do que está acontecendo com a nota fiscal, realizamos uma alteração no campo "Status", deixando de ser dados específicos do processamento para algo que define o estado da nota fiscal.

Dados específicos do processo de emissão:

Antigo

Dados específicos do processo de emissão:

{
    Final = -1,
    Created = 0,
    DefineNumberCompleted = 1,
    SentBatchCompleted = 2,
    CheckAuthorizationCompleted = 3,
    MergeAuthorizationProtocolCompleted = 4,
    DefineEventBatchCompleted = 5,
    SignXmlToCancelCompleted = 6,
    CancellationCompleted = 7,
    MergeCancellationCompleted = 8
}

Novo

Neste padrão, poderá ser identificado quando a nota for:

  • Criada
  • Em processamento
  • Emitida
  • Cancelada
  • Erro na emissão
{
    Error = -1,
    None = 0,
    Created = 1,
    Processing = 2,
    Issued = 3,
    Cancelled = 4
}

2. Details

  • Validamos que o campo details poderá ser utilizado para outros fins, então, foi alterado o nome de "details" no plural, para "data", assim deixando de ser um array de dados para um único objeto.

  • Campo "createdOn" sai do objeto principal e incluso dentro do objeto "data"

  • Alteração do nome "event" para "type"

  • Mudança de nome de "number" para "sequence" nos eventos.

Antigo

    {
        "createdOn": "2019-03-07T13:10:13.5923056-03:00",
        "number": 2,
        "details": [
            {
                "issuedOn": "2019-01-29T13:53:33.6779461Z",
                "checkCode": 10585140,
                "accessKeyCheckDigit": "0",
                "accessKey": "NFe35190128456297000113550220000000091105851400"
            }
        ],
        "event": "InvoiceSetAccessKey"
    }
  {
        "createdOn": "2019-03-08T19:54:46.0859773Z",
        "number": 1,
        "details": [
            {
                "batch": 8,
                "serie": 22,
                "number": 9
            }
        ],
        "event": "DefinedNumberAndSerieSuccessfully"
    },

Novo

{
        "sequence": 2,
        "data": 
        {
            "createdOn": "2019-01-29T13:53:33.6779461Z",
            "checkCode": 10585140,
            "accessKeyCheckDigit": "0",
            "accessKey": "NFe35190128456297000113550220000000091105851400"
        }
        "type": "InvoiceSetAccessKey"
    }
   {
        "sequence": 1,
        "data":
        {
            "batch": 8,
            "serie": 22,
            "number": 9,
            "createdOn": "2019-01-29T13:53:33.6779461Z",
        },
        "type": "DefinedNumberAndSerieSuccessfully"
    },

3. LastEvents

Alterado o GET da nota fiscal com:

  • Adicionado o campo lastEvents no json mostrando os 10 últimos eventos ocorridos na nota fiscal.

Observação: Os valores são os mesmos dados informados na request do /events

 "lastEvents": {
        "hasMore": false,
        "events": [
            {
                "sequence": 7,
                "data": {
                    "createdOn": "2019-03-12T17:34:59.6835336Z",
                    "webhookDispatches": [
                        {
                            "webHookId": "cc2f1f718c1546c2958be667908198",
                            "id": "7a5415f959b44e1384940428de26c4"
                        }
                    ],
                    "action": "consumer_invoice.issued_successfully"
                },
                "type": "WebHooksDispatched"
            },
            {
                "sequence": 6,
                "data": {
                    "createdOn": "2019-03-12T17:34:50.6851410Z",
                    "contentType": "text/xml",
                    "uri": "http://url.xml"
                },
                "type": "Merged"
            },
            {
                "sequence": 5,
                "data": {
                    "createdOn": "2019-03-12T17:34:48.4145671Z",
                    "statusCode": 100,
                    "environmentType": "Test",
                    "validatorDigit": "7uwbxQvx4xWWy6DBMj3TGxufDPs=",
                    "protocolNumber": "135190000134000",
                    "description": "Autorizado o uso da NF-e",
                    "applicationVersion": "SP_NFCE_PL_009_V400",
                    "accessKey": "35190328456297000113650120000000571839920000"
                },
                "type": "Authorized"
            }
        ]
    }

4. Eventos

Para melhorar a usabilidade da API, invertemos a ordem dos eventos de resposta na url /events.

  • O último evento será o primeiro a aparecer no retorno da request

Antigo

{
    "hasMore": false,
    "events": [
        {
            "createdOn": "2019-03-08T19:54:46.0859773Z",
            "number": 1,
            "details": [
                {
                    "batch": 8,
                    "serie": 22,
                    "number": 9
                }
            ],
            "event": "DefinedNumberAndSerieSuccessfully"
        },
        {
            "createdOn": "2019-03-08T19:54:46.0859810Z",
            "number": 2,
            "details": [
                {
                    "issuedOn": "2019-01-29T13:53:33.6779461Z",
                    "checkCode": 10585140,
                    "accessKeyCheckDigit": "0",
                    "accessKey": "NFe35190128456297000113550220000000091105851400"
                }
            ],
            "event": "InvoiceSetAccessKey"
        }
    ]
}

Novo

{
    "hasMore": false,
    "events": [
        {
            "sequence": 6,
            "data": {
                "createdOn": "2019-03-12T17:34:50.6851410Z",
                "contentType": "text/xml",
                "uri": "http://url.xml"
            },
            "type": "Merged"
        },
        {
            "sequence": 5,
            "data": {
                "createdOn": "2019-03-12T17:34:48.4145671Z",
                "statusCode": 100,
                "environmentType": "Test",
                "validatorDigit": "7uwbxQvx4xWWy6DBMj3TGxufDPs=",
                "protocolNumber": "135190000134000",
                "description": "Autorizado o uso da NF-e",
                "applicationVersion": "SP_NFCE_PL_009_V400",
                "accessKey": "35190328456297000113650120000000571839920000"
            },
            "type": "Authorized"
        }
    ]
}

5. Alteração do emissor no GET da nota fiscal

Para melhor identificação foi adicionado o id da empresa utilizada na emissão da nota fiscal.

"issuer": {
    "id": "fe956f4d5c0f43d18f3736bd29b4ca37",
    "taxRegime": "SimplesNacional",
    "address": {
        "city": {
            "name": "São Paulo",
            "code": "3550308"
        },
        "state": "SP",
        "district": "MOEMA",
        "street": "RUA test",
        "number": "1458",
        "postalCode": "04522000",
        "country": "BRA"
    },
    "type": "Undefined",
    "specialTaxRegime": "Nenhum",
    "regionalTaxNumber": 118425254000,
    "name": "NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL",
    "federalTaxNumber": 28456297000100
}

6. Mudança nas Actions do webhook

Alterado o padrão utilizado no enviado do webhook para identificação de quando ocorre um erro, falha ou sucesso.

Atenção: Todos os seguintes WebHooks retornam o mesmo GET da nota fiscal, acrescentado por um campo "action" indicando o webhook acionado.

Atenção: WebHook composto por [EventType].[EventAction].
Exemplos:

  • product_invoice.issued_successfully
  • product_invoice.cancelled_failed
  • consumer_invoice.issued_failed

Antigo

As funções eram indicadas da seguinte forma:

EventType

 Chave Descrição  
service_invoice    Nota fiscal de Serviço
consumer_invoice  Nota fiscal de Consumidor
 product_invoice  Nota fiscal de Produto

EventAction

Chave Descrição
issued Qualquer acontecimento na emissão da nota fiscal (emitida, com erro ou com falha).
cancelled Qualquer acontecimento no cancelamento da nota fiscal (cancelada, com erro ou com falha).

Novo

Separamos as actions para melhor identificação do estado da nota fiscal.

Novo
Separamos as actions para melhor identificação do estado da nota fiscal.

EventType

Chave Descrição
service_invoice Nota fiscal de Serviço
consumer_invoice Nota fiscal de Consumidor
product_invoice Nota fiscal de Produto

EventAction

Chave Descrição
issued_successfully Nota emitida com sucesso.
issued_failed Nota com falha no momento da emissão por retentativa ou por problemas técnicos.
issued_error Erro de preenchimento ou processo encerrado por retorno da SEFAZ na emissão.
cancelled_successfully Nota cancelada com sucesso.
cancelled_failed Nota com falha no momento do cancelamento por retentativa ou por problemas técnicos.
cancelled_error Erro de preenchimento ou processo encerrado por retorno da SEFAZ no cancelamento.
Our Score