Skip to content

Notas Fiscais de Serviço (NFS-e)

bling_erp_api.resources.nfse.NfseResource

NfseResource(transport: Transport)

Bases: BaseResource

Operações de notas fiscais de serviço eletrônicas (NFS-e).

Este recurso mapeia os endpoints /nfse. Os métodos canônicos usam português para acompanhar a documentação oficial; os métodos em inglês continuam disponíveis como aliases de compatibilidade.

Source code in src/bling_erp_api/resources/base.py
def __init__(self, transport: Transport) -> None:
    """Create a resource bound to a transport."""
    self._transport = transport

listar

listar(
    *,
    pagina: int | None = None,
    limite: int | None = None,
    situacao: int | None = None,
    data_emissao_inicial: str | None = None,
    data_emissao_final: str | None = None,
) -> JsonObject

Lista notas fiscais de serviço (NFS-e).

Endpoint: GET /nfse

Obtém lista paginada de NFS-e.

Parameters:

Name Type Description Default
pagina int | None

N° da página (Bling: pagina, integer, opcional)

None
limite int | None

Registros por página (Bling: limite, integer, opcional)

None
situacao int | None

Situação (Bling: situacao, integer, opcional)

None
data_emissao_inicial str | None

Data de emissão inicial (Bling: dataEmissaoInicial, string, opcional)

None
data_emissao_final str | None

Data de emissão final (Bling: dataEmissaoFinal, string, opcional)

None

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: NotasServicosDadosBaseDTO; 400: ErrorResponse

Source code in src/bling_erp_api/resources/nfse.py
def listar(
    self,
    *,
    pagina: int | None = None,
    limite: int | None = None,
    situacao: int | None = None,
    data_emissao_inicial: str | None = None,
    data_emissao_final: str | None = None,
) -> JsonObject:
    """Lista notas fiscais de serviço (NFS-e).

    Endpoint: GET /nfse

    Obtém lista paginada de NFS-e.

    Args:
        pagina: N° da página (Bling: ``pagina``, integer, opcional)
        limite: Registros por página (Bling: ``limite``, integer, opcional)
        situacao: Situação (Bling: ``situacao``, integer, opcional)
        data_emissao_inicial: Data de emissão inicial (Bling: ``dataEmissaoInicial``, string, opcional)
        data_emissao_final: Data de emissão final (Bling: ``dataEmissaoFinal``, string, opcional)

    Returns:
        Bling API response. Response schemas: 200: NotasServicosDadosBaseDTO; 400: ErrorResponse
    """
    return self._get(
        "/nfse",
        params=_nfse_list_params(
            pagina=pagina,
            limite=limite,
            situacao=situacao,
            data_emissao_inicial=data_emissao_inicial,
            data_emissao_final=data_emissao_final,
        ),
    )

iterar

iterar(
    *,
    pagina: int | None = None,
    limite: int | None = None,
    situacao: int | None = None,
    data_emissao_inicial: str | None = None,
    data_emissao_final: str | None = None,
) -> Iterator[JsonObject]

Itera pelas NFS-e página a página.

Endpoint: GET /nfse (via paginação automática)

Aceita os mesmos filtros de listar() e busca novas páginas enquanto o Bling retornar registros no envelope data.

Parameters:

Name Type Description Default
pagina int | None

N° da página (Bling: pagina, integer, opcional)

None
limite int | None

Registros por página (Bling: limite, integer, opcional)

None
situacao int | None

Situação (Bling: situacao, integer, opcional)

None
data_emissao_inicial str | None

Data de emissão inicial (Bling: dataEmissaoInicial, string, opcional)

None
data_emissao_final str | None

Data de emissão final (Bling: dataEmissaoFinal, string, opcional)

None

Returns:

Type Description
Iterator[JsonObject]

Iterator sobre os itens da resposta.

Source code in src/bling_erp_api/resources/nfse.py
def iterar(
    self,
    *,
    pagina: int | None = None,
    limite: int | None = None,
    situacao: int | None = None,
    data_emissao_inicial: str | None = None,
    data_emissao_final: str | None = None,
) -> Iterator[JsonObject]:
    """Itera pelas NFS-e página a página.

    Endpoint: GET /nfse (via paginação automática)

    Aceita os mesmos filtros de ``listar()`` e busca novas páginas enquanto
    o Bling retornar registros no envelope ``data``.

    Args:
        pagina: N° da página (Bling: ``pagina``, integer, opcional)
        limite: Registros por página (Bling: ``limite``, integer, opcional)
        situacao: Situação (Bling: ``situacao``, integer, opcional)
        data_emissao_inicial: Data de emissão inicial (Bling: ``dataEmissaoInicial``, string, opcional)
        data_emissao_final: Data de emissão final (Bling: ``dataEmissaoFinal``, string, opcional)

    Returns:
        Iterator sobre os itens da resposta.
    """
    params = _nfse_list_params(
        pagina=pagina,
        limite=limite,
        situacao=situacao,
        data_emissao_inicial=data_emissao_inicial,
        data_emissao_final=data_emissao_final,
    )
    return self._iterate("/nfse", page=pagina or 1, limit=limite or 100, params=params)

obter

obter(id_nota_servico: int) -> JsonObject

Obtém uma NFS-e.

Endpoint: GET /nfse/{idNotaServico}

Obtém uma nota fiscal de serviço pelo ID.

Parameters:

Name Type Description Default
id_nota_servico int

ID da NFS-e (Bling: idNotaServico, integer, obrigatório)

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: NotasServicosDadosDTO; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfse.py
def obter(self, id_nota_servico: int) -> JsonObject:
    """Obtém uma NFS-e.

    Endpoint: GET /nfse/{idNotaServico}

    Obtém uma nota fiscal de serviço pelo ID.

    Args:
        id_nota_servico: ID da NFS-e (Bling: ``idNotaServico``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 200: NotasServicosDadosDTO; 404: ErrorResponse
    """
    return self._get(f"/nfse/{id_nota_servico}")

criar

criar(dados: NfsePostRequest) -> NfsePostResponse201

Cria uma NFS-e.

Endpoint: POST /nfse

Cria uma nova nota fiscal de serviço.

Parameters:

Name Type Description Default
dados NfsePostRequest

Dados da NFS-e. Request body schema: NfsePostRequest

required

Returns:

Type Description
NfsePostResponse201

Bling API response. Response schemas: 201: NfsePostResponse201; 400: ErrorResponse

Source code in src/bling_erp_api/resources/nfse.py
def criar(self, dados: NfsePostRequest) -> NfsePostResponse201:
    """Cria uma NFS-e.

    Endpoint: POST /nfse

    Cria uma nova nota fiscal de serviço.

    Args:
        dados: Dados da NFS-e. Request body schema: NfsePostRequest

    Returns:
        Bling API response. Response schemas: 201: NfsePostResponse201; 400: ErrorResponse
    """
    raw = self._post("/nfse", json=to_json_object(dados))
    return self._validate_response(NfsePostResponse201, raw)

remover

remover(id_nota_servico: int) -> JsonObject

Remove uma NFS-e.

Endpoint: DELETE /nfse/{idNotaServico}

Remove uma nota fiscal de serviço pelo ID.

Parameters:

Name Type Description Default
id_nota_servico int

ID da NFS-e (Bling: idNotaServico, integer, obrigatório)

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfse.py
def remover(self, id_nota_servico: int) -> JsonObject:
    """Remove uma NFS-e.

    Endpoint: DELETE /nfse/{idNotaServico}

    Remove uma nota fiscal de serviço pelo ID.

    Args:
        id_nota_servico: ID da NFS-e (Bling: ``idNotaServico``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._delete(f"/nfse/{id_nota_servico}")

autorizar

autorizar(id_nota_servico: int) -> JsonObject

Autoriza (envia) uma NFS-e.

Endpoint: POST /nfse/{idNotaServico}/enviar

Envia uma NFS-e para autorização.

Parameters:

Name Type Description Default
id_nota_servico int

ID da NFS-e (Bling: idNotaServico, integer, obrigatório)

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: NotasServicosDadosDTO; 400: ErrorResponse; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfse.py
def autorizar(self, id_nota_servico: int) -> JsonObject:
    """Autoriza (envia) uma NFS-e.

    Endpoint: POST /nfse/{idNotaServico}/enviar

    Envia uma NFS-e para autorização.

    Args:
        id_nota_servico: ID da NFS-e (Bling: ``idNotaServico``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 200: NotasServicosDadosDTO; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._post(f"/nfse/{id_nota_servico}/enviar")

cancelar

cancelar(id_nota_servico: int, dados: JsonObject) -> JsonObject

Cancela uma NFS-e.

Endpoint: POST /nfse/{idNotaServico}/cancelar

Cancela uma nota fiscal de serviço.

Parameters:

Name Type Description Default
id_nota_servico int

ID da NFS-e (Bling: idNotaServico, integer, obrigatório)

required
dados JsonObject

Dados de cancelamento. Request body schema: NotasServicosCancelamentoDTO

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfse.py
def cancelar(self, id_nota_servico: int, dados: JsonObject) -> JsonObject:
    """Cancela uma NFS-e.

    Endpoint: POST /nfse/{idNotaServico}/cancelar

    Cancela uma nota fiscal de serviço.

    Args:
        id_nota_servico: ID da NFS-e (Bling: ``idNotaServico``, integer, obrigatório)
        dados: Dados de cancelamento. Request body schema: NotasServicosCancelamentoDTO

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._post(
        f"/nfse/{id_nota_servico}/cancelar",
        json=to_json_object(dados),
    )

obter_configuracoes

obter_configuracoes() -> JsonObject

Obtém as configurações de NFS-e.

Endpoint: GET /nfse/configuracoes

Obtém as configurações atuais de NFS-e da empresa.

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: ConfiguracaoNotaServicoDadosBaseDTO

Source code in src/bling_erp_api/resources/nfse.py
def obter_configuracoes(self) -> JsonObject:
    """Obtém as configurações de NFS-e.

    Endpoint: GET /nfse/configuracoes

    Obtém as configurações atuais de NFS-e da empresa.

    Returns:
        Bling API response. Response schemas: 200: ConfiguracaoNotaServicoDadosBaseDTO
    """
    return self._get("/nfse/configuracoes")

alterar_configuracoes

alterar_configuracoes(dados: JsonObject) -> JsonObject

Altera as configurações de NFS-e.

Endpoint: PUT /nfse/configuracoes

Altera as configurações de NFS-e da empresa.

Parameters:

Name Type Description Default
dados JsonObject

Dados de configuração. Request body schema: ConfiguracaoNotaServicoDadosBaseDTO

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse

Source code in src/bling_erp_api/resources/nfse.py
def alterar_configuracoes(self, dados: JsonObject) -> JsonObject:
    """Altera as configurações de NFS-e.

    Endpoint: PUT /nfse/configuracoes

    Altera as configurações de NFS-e da empresa.

    Args:
        dados: Dados de configuração. Request body schema: ConfiguracaoNotaServicoDadosBaseDTO

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse
    """
    return self._put("/nfse/configuracoes", json=to_json_object(dados))