Skip to content

Pedidos de Compra

bling_erp_api.resources.purchase_orders.PurchaseOrdersResource

PurchaseOrdersResource(transport: Transport)

Bases: BaseResource

Operações de pedidos de compra do Bling.

Este recurso mapeia os endpoints /pedidos/compras. Os métodos canônicos usam português para acompanhar a documentação oficial do Bling; 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 = 1,
    limite: int = 100,
    id_fornecedor: int | None = None,
    valor_situacao: int | None = None,
    id_situacao: int | None = None,
    data_inicial: str | None = None,
    data_final: str | None = None,
    ids_notas_fiscais: Sequence[int] | None = None,
) -> JsonObject

Lista pedidos de compra.

Endpoint: GET /pedidos/compras

Lista pedidos de compra paginados.

Parameters:

Name Type Description Default
pagina int

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

1
limite int

Quantidade de registros que devem ser exibidos por página (Bling: limite, integer, opcional)

100
id_fornecedor int | None

ID do contato do tipo fornecedor (Bling: idFornecedor, integer, opcional)

None
valor_situacao int | None

Valor da situação (Bling: valorSituacao, integer, opcional)

None
id_situacao int | None

ID da situação (Bling: idSituacao, integer, opcional)

None
data_inicial str | None

Data inicial do período da compra (Bling: dataInicial, string, opcional)

None
data_final str | None

Data final do período da compra (Bling: dataFinal, string, opcional)

None
ids_notas_fiscais Sequence[int] | None

IDs das notas fiscais de entrada (Bling: idsNotasFiscais[], array, opcional)

None

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO

Source code in src/bling_erp_api/resources/purchase_orders.py
def listar(  # noqa: PLR0913
    self,
    *,
    pagina: int = 1,
    limite: int = 100,
    id_fornecedor: int | None = None,
    valor_situacao: int | None = None,
    id_situacao: int | None = None,
    data_inicial: str | None = None,
    data_final: str | None = None,
    ids_notas_fiscais: Sequence[int] | None = None,
) -> JsonObject:
    """Lista pedidos de compra.

    Endpoint: GET /pedidos/compras

    Lista pedidos de compra paginados.

    Args:
        pagina: N° da página da listagem (Bling: ``pagina``, integer, opcional)
        limite: Quantidade de registros que devem ser exibidos por página (Bling: ``limite``, integer, opcional)
        id_fornecedor: ID do contato do tipo fornecedor (Bling: ``idFornecedor``, integer, opcional)
        valor_situacao: Valor da situação (Bling: ``valorSituacao``, integer, opcional)
        id_situacao: ID da situação (Bling: ``idSituacao``, integer, opcional)
        data_inicial: Data inicial do período da compra (Bling: ``dataInicial``, string, opcional)
        data_final: Data final do período da compra (Bling: ``dataFinal``, string, opcional)
        ids_notas_fiscais: IDs das notas fiscais de entrada (Bling: ``idsNotasFiscais[]``, array, opcional)

    Returns:
        Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO
    """
    return self._get(
        "/pedidos/compras",
        params=_purchase_order_list_params(
            pagina=pagina,
            limite=limite,
            id_fornecedor=id_fornecedor,
            valor_situacao=valor_situacao,
            id_situacao=id_situacao,
            data_inicial=data_inicial,
            data_final=data_final,
            ids_notas_fiscais=ids_notas_fiscais,
        ),
    )

iterar

iterar(
    *,
    pagina: int = 1,
    limite: int = 100,
    id_fornecedor: int | None = None,
    valor_situacao: int | None = None,
    id_situacao: int | None = None,
    data_inicial: str | None = None,
    data_final: str | None = None,
    ids_notas_fiscais: Sequence[int] | None = None,
) -> Iterator[JsonObject]

Itera pelos pedidos de compra página a página.

Endpoint: GET /pedidos/compras

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

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

1
limite int

Quantidade de registros que devem ser exibidos por página (Bling: limite, integer, opcional)

100
id_fornecedor int | None

ID do contato do tipo fornecedor (Bling: idFornecedor, integer, opcional)

None
valor_situacao int | None

Valor da situação (Bling: valorSituacao, integer, opcional)

None
id_situacao int | None

ID da situação (Bling: idSituacao, integer, opcional)

None
data_inicial str | None

Data inicial do período da compra (Bling: dataInicial, string, opcional)

None
data_final str | None

Data final do período da compra (Bling: dataFinal, string, opcional)

None
ids_notas_fiscais Sequence[int] | None

IDs das notas fiscais de entrada (Bling: idsNotasFiscais[], array, opcional)

None

Returns:

Type Description
Iterator[JsonObject]

Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO

Source code in src/bling_erp_api/resources/purchase_orders.py
def iterar(  # noqa: PLR0913
    self,
    *,
    pagina: int = 1,
    limite: int = 100,
    id_fornecedor: int | None = None,
    valor_situacao: int | None = None,
    id_situacao: int | None = None,
    data_inicial: str | None = None,
    data_final: str | None = None,
    ids_notas_fiscais: Sequence[int] | None = None,
) -> Iterator[JsonObject]:
    """Itera pelos pedidos de compra página a página.

    Endpoint: GET /pedidos/compras

    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 da listagem (Bling: ``pagina``, integer, opcional)
        limite: Quantidade de registros que devem ser exibidos por página (Bling: ``limite``, integer, opcional)
        id_fornecedor: ID do contato do tipo fornecedor (Bling: ``idFornecedor``, integer, opcional)
        valor_situacao: Valor da situação (Bling: ``valorSituacao``, integer, opcional)
        id_situacao: ID da situação (Bling: ``idSituacao``, integer, opcional)
        data_inicial: Data inicial do período da compra (Bling: ``dataInicial``, string, opcional)
        data_final: Data final do período da compra (Bling: ``dataFinal``, string, opcional)
        ids_notas_fiscais: IDs das notas fiscais de entrada (Bling: ``idsNotasFiscais[]``, array, opcional)

    Returns:
        Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO
    """
    params = _purchase_order_list_params(
        pagina=pagina,
        limite=limite,
        id_fornecedor=id_fornecedor,
        valor_situacao=valor_situacao,
        id_situacao=id_situacao,
        data_inicial=data_inicial,
        data_final=data_final,
        ids_notas_fiscais=ids_notas_fiscais,
    )
    return self._iterate("/pedidos/compras", page=pagina, limit=limite, params=params)

obter

obter(id_pedido_compra: int) -> JsonObject

Obtém um pedido de compra.

Endpoint: GET /pedidos/compras/{idPedidoCompra}

Obtém um pedido de compra pelo ID.

Parameters:

Name Type Description Default
id_pedido_compra int

ID do pedido de compra (Bling: idPedidoCompra, integer, obrigatório)

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO, PedidosComprasDadosDTO; 404: ErrorResponse

Source code in src/bling_erp_api/resources/purchase_orders.py
def obter(self, id_pedido_compra: int) -> JsonObject:
    """Obtém um pedido de compra.

    Endpoint: GET /pedidos/compras/{idPedidoCompra}

    Obtém um pedido de compra pelo ID.

    Args:
        id_pedido_compra: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO, PedidosComprasDadosDTO; 404: ErrorResponse
    """
    return self._get(f"/pedidos/compras/{id_pedido_compra}")

criar

criar(dados: PedidosComprasPostRequest) -> JsonObject

Cria um pedido de compra.

Endpoint: POST /pedidos/compras

Cria um pedido de compra.

Parameters:

Name Type Description Default
dados PedidosComprasPostRequest

Payload do pedido. Use PedidosComprasPostRequest para uso tipado ou um objeto JSON com os nomes de campos do Bling.

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 201: BasePostResponse, PedidosCompraResponsePOSTPUT; 400: ErrorResponse

Source code in src/bling_erp_api/resources/purchase_orders.py
def criar(self, dados: PedidosComprasPostRequest) -> JsonObject:
    """Cria um pedido de compra.

    Endpoint: POST /pedidos/compras

    Cria um pedido de compra.

    Args:
        dados: Payload do pedido. Use ``PedidosComprasPostRequest`` para uso
            tipado ou um objeto JSON com os nomes de campos do Bling.

    Returns:
        Bling API response. Response schemas: 201: BasePostResponse, PedidosCompraResponsePOSTPUT; 400: ErrorResponse
    """
    return self._post("/pedidos/compras", json=to_json_object(dados))

alterar

alterar(
    id_pedido_compra: int, dados: PedidosComprasIdPedidoCompraPutRequest
) -> JsonObject

Altera um pedido de compra.

Endpoint: PUT /pedidos/compras/{idPedidoCompra}

Altera um pedido de compra pelo ID.

Parameters:

Name Type Description Default
id_pedido_compra int

ID do pedido de compra (Bling: idPedidoCompra, integer, obrigatório)

required
dados PedidosComprasIdPedidoCompraPutRequest

Payload do pedido. Use PedidosComprasIdPedidoCompraPutRequest para uso tipado ou um objeto JSON com os nomes de campos do Bling.

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: BasePostResponse, PedidosCompraResponsePOSTPUT; 400: ErrorResponse; 404: ErrorResponse

Source code in src/bling_erp_api/resources/purchase_orders.py
def alterar(
    self,
    id_pedido_compra: int,
    dados: PedidosComprasIdPedidoCompraPutRequest,
) -> JsonObject:
    """Altera um pedido de compra.

    Endpoint: PUT /pedidos/compras/{idPedidoCompra}

    Altera um pedido de compra pelo ID.

    Args:
        id_pedido_compra: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)
        dados: Payload do pedido. Use ``PedidosComprasIdPedidoCompraPutRequest`` para uso
            tipado ou um objeto JSON com os nomes de campos do Bling.

    Returns:
        Bling API response. Response schemas: 200: BasePostResponse, PedidosCompraResponsePOSTPUT; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._put(f"/pedidos/compras/{id_pedido_compra}", json=to_json_object(dados))

remover

remover(id_pedido_compra: int) -> JsonObject

Remove um pedido de compra.

Endpoint: DELETE /pedidos/compras/{idPedidoCompra}

Remove um pedido de compra pelo ID.

Parameters:

Name Type Description Default
id_pedido_compra int

ID do pedido de compra (Bling: idPedidoCompra, integer, obrigatório)

required

Returns:

Type Description
JsonObject

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

Source code in src/bling_erp_api/resources/purchase_orders.py
def remover(self, id_pedido_compra: int) -> JsonObject:
    """Remove um pedido de compra.

    Endpoint: DELETE /pedidos/compras/{idPedidoCompra}

    Remove um pedido de compra pelo ID.

    Args:
        id_pedido_compra: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 404: ErrorResponse
    """
    return self._delete(f"/pedidos/compras/{id_pedido_compra}")

alterar_situacao

alterar_situacao(id_pedido_compra: int, id_situacao: int) -> JsonObject

Altera a situação de um pedido de compra.

Endpoint: PATCH /pedidos/compras/{idPedidoCompra}/situacoes/{idSituacao}

Altera a situação de um pedido de compra pelo ID.

Parameters:

Name Type Description Default
id_pedido_compra int

ID do pedido de compra (Bling: idPedidoCompra, integer, obrigatório)

required
id_situacao int

ID da situação do pedido de compra (Bling: idSituacao, 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/purchase_orders.py
def alterar_situacao(self, id_pedido_compra: int, id_situacao: int) -> JsonObject:
    """Altera a situação de um pedido de compra.

    Endpoint: PATCH /pedidos/compras/{idPedidoCompra}/situacoes/{idSituacao}

    Altera a situação de um pedido de compra pelo ID.

    Args:
        id_pedido_compra: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)
        id_situacao: ID da situação do pedido de compra (Bling: ``idSituacao``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._patch(f"/pedidos/compras/{id_pedido_compra}/situacoes/{id_situacao}")

lancar_contas

lancar_contas(id_pedido_compra: int) -> JsonObject

Lança as contas de um pedido de compra.

Endpoint: POST /pedidos/compras/{idPedidoCompra}/lancar-contas

Lança as contas de um pedido de compra pelo ID.

Parameters:

Name Type Description Default
id_pedido_compra int

ID do pedido de compra (Bling: idPedidoCompra, 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/purchase_orders.py
def lancar_contas(self, id_pedido_compra: int) -> JsonObject:
    """Lança as contas de um pedido de compra.

    Endpoint: POST /pedidos/compras/{idPedidoCompra}/lancar-contas

    Lança as contas de um pedido de compra pelo ID.

    Args:
        id_pedido_compra: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._post(f"/pedidos/compras/{id_pedido_compra}/lancar-contas")

estornar_contas

estornar_contas(id_pedido_compra: int) -> JsonObject

Estorna as contas de um pedido de compra.

Endpoint: POST /pedidos/compras/{idPedidoCompra}/estornar-contas

Estorna as contas de um pedido de compra pelo ID.

Parameters:

Name Type Description Default
id_pedido_compra int

ID do pedido de compra (Bling: idPedidoCompra, 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/purchase_orders.py
def estornar_contas(self, id_pedido_compra: int) -> JsonObject:
    """Estorna as contas de um pedido de compra.

    Endpoint: POST /pedidos/compras/{idPedidoCompra}/estornar-contas

    Estorna as contas de um pedido de compra pelo ID.

    Args:
        id_pedido_compra: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._post(f"/pedidos/compras/{id_pedido_compra}/estornar-contas")

lancar_estoque

lancar_estoque(id_pedido_compra: int) -> JsonObject

Lança o estoque de um pedido de compra.

Endpoint: POST /pedidos/compras/{idPedidoCompra}/lancar-estoque

Lança o estoque de um pedido de compra pelo ID.

Parameters:

Name Type Description Default
id_pedido_compra int

ID do pedido de compra (Bling: idPedidoCompra, 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/purchase_orders.py
def lancar_estoque(self, id_pedido_compra: int) -> JsonObject:
    """Lança o estoque de um pedido de compra.

    Endpoint: POST /pedidos/compras/{idPedidoCompra}/lancar-estoque

    Lança o estoque de um pedido de compra pelo ID.

    Args:
        id_pedido_compra: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._post(f"/pedidos/compras/{id_pedido_compra}/lancar-estoque")

estornar_estoque

estornar_estoque(id_pedido_compra: int) -> JsonObject

Estorna o estoque de um pedido de compra.

Endpoint: POST /pedidos/compras/{idPedidoCompra}/estornar-estoque

Estorna o estoque de um pedido de compra pelo ID.

Parameters:

Name Type Description Default
id_pedido_compra int

ID do pedido de compra (Bling: idPedidoCompra, 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/purchase_orders.py
def estornar_estoque(self, id_pedido_compra: int) -> JsonObject:
    """Estorna o estoque de um pedido de compra.

    Endpoint: POST /pedidos/compras/{idPedidoCompra}/estornar-estoque

    Estorna o estoque de um pedido de compra pelo ID.

    Args:
        id_pedido_compra: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._post(f"/pedidos/compras/{id_pedido_compra}/estornar-estoque")

list

list(
    *,
    page: int = 1,
    limit: int = 100,
    supplier_id: int | None = None,
    status_value: int | None = None,
    status_id: int | None = None,
    start_date: str | None = None,
    end_date: str | None = None,
    invoice_ids: Sequence[int] | None = None,
) -> JsonObject

Compatibility alias for listar().

Lista pedidos de compra.

Endpoint: GET /pedidos/compras

Lista pedidos de compra paginados.

Parameters:

Name Type Description Default
page int

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

1
limit int

Quantidade de registros que devem ser exibidos por página (Bling: limite, integer, opcional)

100
supplier_id int | None

ID do contato do tipo fornecedor (Bling: idFornecedor, integer, opcional)

None
status_value int | None

Valor da situação (Bling: valorSituacao, integer, opcional)

None
status_id int | None

ID da situação (Bling: idSituacao, integer, opcional)

None
start_date str | None

Data inicial do período da compra (Bling: dataInicial, string, opcional)

None
end_date str | None

Data final do período da compra (Bling: dataFinal, string, opcional)

None
invoice_ids Sequence[int] | None

IDs das notas fiscais de entrada (Bling: idsNotasFiscais[], array, opcional)

None

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO

Source code in src/bling_erp_api/resources/purchase_orders.py
def list(  # noqa: PLR0913
    self,
    *,
    page: int = 1,
    limit: int = 100,
    supplier_id: int | None = None,
    status_value: int | None = None,
    status_id: int | None = None,
    start_date: str | None = None,
    end_date: str | None = None,
    invoice_ids: Sequence[int] | None = None,
) -> JsonObject:
    """Compatibility alias for ``listar()``.

    Lista pedidos de compra.

    Endpoint: GET /pedidos/compras

    Lista pedidos de compra paginados.

    Args:
        page: N° da página da listagem (Bling: ``pagina``, integer, opcional)
        limit: Quantidade de registros que devem ser exibidos por página (Bling: ``limite``, integer, opcional)
        supplier_id: ID do contato do tipo fornecedor (Bling: ``idFornecedor``, integer, opcional)
        status_value: Valor da situação (Bling: ``valorSituacao``, integer, opcional)
        status_id: ID da situação (Bling: ``idSituacao``, integer, opcional)
        start_date: Data inicial do período da compra (Bling: ``dataInicial``, string, opcional)
        end_date: Data final do período da compra (Bling: ``dataFinal``, string, opcional)
        invoice_ids: IDs das notas fiscais de entrada (Bling: ``idsNotasFiscais[]``, array, opcional)

    Returns:
        Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO
    """
    return self.listar(
        pagina=page,
        limite=limit,
        id_fornecedor=supplier_id,
        valor_situacao=status_value,
        id_situacao=status_id,
        data_inicial=start_date,
        data_final=end_date,
        ids_notas_fiscais=invoice_ids,
    )

iterate

iterate(
    *,
    page: int = 1,
    limit: int = 100,
    supplier_id: int | None = None,
    status_value: int | None = None,
    status_id: int | None = None,
    start_date: str | None = None,
    end_date: str | None = None,
    invoice_ids: Sequence[int] | None = None,
) -> Iterator[JsonObject]

Compatibility alias for iterar().

Itera pelos pedidos de compra página a página.

Endpoint: GET /pedidos/compras

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

Parameters:

Name Type Description Default
page int

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

1
limit int

Quantidade de registros que devem ser exibidos por página (Bling: limite, integer, opcional)

100
supplier_id int | None

ID do contato do tipo fornecedor (Bling: idFornecedor, integer, opcional)

None
status_value int | None

Valor da situação (Bling: valorSituacao, integer, opcional)

None
status_id int | None

ID da situação (Bling: idSituacao, integer, opcional)

None
start_date str | None

Data inicial do período da compra (Bling: dataInicial, string, opcional)

None
end_date str | None

Data final do período da compra (Bling: dataFinal, string, opcional)

None
invoice_ids Sequence[int] | None

IDs das notas fiscais de entrada (Bling: idsNotasFiscais[], array, opcional)

None

Returns:

Type Description
Iterator[JsonObject]

Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO

Source code in src/bling_erp_api/resources/purchase_orders.py
def iterate(  # noqa: PLR0913
    self,
    *,
    page: int = 1,
    limit: int = 100,
    supplier_id: int | None = None,
    status_value: int | None = None,
    status_id: int | None = None,
    start_date: str | None = None,
    end_date: str | None = None,
    invoice_ids: Sequence[int] | None = None,
) -> Iterator[JsonObject]:
    """Compatibility alias for ``iterar()``.

    Itera pelos pedidos de compra página a página.

    Endpoint: GET /pedidos/compras

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

    Args:
        page: N° da página da listagem (Bling: ``pagina``, integer, opcional)
        limit: Quantidade de registros que devem ser exibidos por página (Bling: ``limite``, integer, opcional)
        supplier_id: ID do contato do tipo fornecedor (Bling: ``idFornecedor``, integer, opcional)
        status_value: Valor da situação (Bling: ``valorSituacao``, integer, opcional)
        status_id: ID da situação (Bling: ``idSituacao``, integer, opcional)
        start_date: Data inicial do período da compra (Bling: ``dataInicial``, string, opcional)
        end_date: Data final do período da compra (Bling: ``dataFinal``, string, opcional)
        invoice_ids: IDs das notas fiscais de entrada (Bling: ``idsNotasFiscais[]``, array, opcional)

    Returns:
        Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO
    """
    return self.iterar(
        pagina=page,
        limite=limit,
        id_fornecedor=supplier_id,
        valor_situacao=status_value,
        id_situacao=status_id,
        data_inicial=start_date,
        data_final=end_date,
        ids_notas_fiscais=invoice_ids,
    )

get

get(purchase_order_id: int) -> JsonObject

Compatibility alias for obter().

Obtém um pedido de compra.

Endpoint: GET /pedidos/compras/{idPedidoCompra}

Obtém um pedido de compra pelo ID.

Parameters:

Name Type Description Default
purchase_order_id int

ID do pedido de compra (Bling: idPedidoCompra, integer, obrigatório)

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO, PedidosComprasDadosDTO; 404: ErrorResponse

Source code in src/bling_erp_api/resources/purchase_orders.py
def get(self, purchase_order_id: int) -> JsonObject:
    """Compatibility alias for ``obter()``.

    Obtém um pedido de compra.

    Endpoint: GET /pedidos/compras/{idPedidoCompra}

    Obtém um pedido de compra pelo ID.

    Args:
        purchase_order_id: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 200: PedidosComprasDadosBaseDTO, PedidosComprasDadosDTO; 404: ErrorResponse
    """
    return self.obter(purchase_order_id)

create

create(data: PedidosComprasPostRequest) -> JsonObject

Compatibility alias for criar().

Cria um pedido de compra.

Endpoint: POST /pedidos/compras

Cria um pedido de compra.

Parameters:

Name Type Description Default
data PedidosComprasPostRequest

Payload do pedido. Use PedidosComprasPostRequest para uso tipado ou um objeto JSON com os nomes de campos do Bling.

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 201: BasePostResponse, PedidosCompraResponsePOSTPUT; 400: ErrorResponse

Source code in src/bling_erp_api/resources/purchase_orders.py
def create(self, data: PedidosComprasPostRequest) -> JsonObject:
    """Compatibility alias for ``criar()``.

    Cria um pedido de compra.

    Endpoint: POST /pedidos/compras

    Cria um pedido de compra.

    Args:
        data: Payload do pedido. Use ``PedidosComprasPostRequest`` para uso
            tipado ou um objeto JSON com os nomes de campos do Bling.

    Returns:
        Bling API response. Response schemas: 201: BasePostResponse, PedidosCompraResponsePOSTPUT; 400: ErrorResponse
    """
    return self.criar(data)

update

update(
    purchase_order_id: int, data: PedidosComprasIdPedidoCompraPutRequest
) -> JsonObject

Compatibility alias for alterar().

Altera um pedido de compra.

Endpoint: PUT /pedidos/compras/{idPedidoCompra}

Altera um pedido de compra pelo ID.

Parameters:

Name Type Description Default
purchase_order_id int

ID do pedido de compra (Bling: idPedidoCompra, integer, obrigatório)

required
data PedidosComprasIdPedidoCompraPutRequest

Payload do pedido. Use PedidosComprasIdPedidoCompraPutRequest para uso tipado ou um objeto JSON com os nomes de campos do Bling.

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: BasePostResponse, PedidosCompraResponsePOSTPUT; 400: ErrorResponse; 404: ErrorResponse

Source code in src/bling_erp_api/resources/purchase_orders.py
def update(
    self,
    purchase_order_id: int,
    data: PedidosComprasIdPedidoCompraPutRequest,
) -> JsonObject:
    """Compatibility alias for ``alterar()``.

    Altera um pedido de compra.

    Endpoint: PUT /pedidos/compras/{idPedidoCompra}

    Altera um pedido de compra pelo ID.

    Args:
        purchase_order_id: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)
        data: Payload do pedido. Use ``PedidosComprasIdPedidoCompraPutRequest`` para uso
            tipado ou um objeto JSON com os nomes de campos do Bling.

    Returns:
        Bling API response. Response schemas: 200: BasePostResponse, PedidosCompraResponsePOSTPUT; 400: ErrorResponse; 404: ErrorResponse
    """
    return self.alterar(purchase_order_id, data)

delete

delete(purchase_order_id: int) -> JsonObject

Compatibility alias for remover().

Remove um pedido de compra.

Endpoint: DELETE /pedidos/compras/{idPedidoCompra}

Remove um pedido de compra pelo ID.

Parameters:

Name Type Description Default
purchase_order_id int

ID do pedido de compra (Bling: idPedidoCompra, integer, obrigatório)

required

Returns:

Type Description
JsonObject

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

Source code in src/bling_erp_api/resources/purchase_orders.py
def delete(self, purchase_order_id: int) -> JsonObject:
    """Compatibility alias for ``remover()``.

    Remove um pedido de compra.

    Endpoint: DELETE /pedidos/compras/{idPedidoCompra}

    Remove um pedido de compra pelo ID.

    Args:
        purchase_order_id: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 404: ErrorResponse
    """
    return self.remover(purchase_order_id)

update_status

update_status(purchase_order_id: int, status_id: int) -> JsonObject

Compatibility alias for alterar_situacao().

Altera a situação de um pedido de compra.

Endpoint: PATCH /pedidos/compras/{idPedidoCompra}/situacoes/{idSituacao}

Altera a situação de um pedido de compra pelo ID.

Parameters:

Name Type Description Default
purchase_order_id int

ID do pedido de compra (Bling: idPedidoCompra, integer, obrigatório)

required
status_id int

ID da situação do pedido de compra (Bling: idSituacao, 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/purchase_orders.py
def update_status(self, purchase_order_id: int, status_id: int) -> JsonObject:
    """Compatibility alias for ``alterar_situacao()``.

    Altera a situação de um pedido de compra.

    Endpoint: PATCH /pedidos/compras/{idPedidoCompra}/situacoes/{idSituacao}

    Altera a situação de um pedido de compra pelo ID.

    Args:
        purchase_order_id: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)
        status_id: ID da situação do pedido de compra (Bling: ``idSituacao``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self.alterar_situacao(purchase_order_id, status_id)

post_accounts

post_accounts(purchase_order_id: int) -> JsonObject

Compatibility alias for lancar_contas().

Lança as contas de um pedido de compra.

Endpoint: POST /pedidos/compras/{idPedidoCompra}/lancar-contas

Lança as contas de um pedido de compra pelo ID.

Parameters:

Name Type Description Default
purchase_order_id int

ID do pedido de compra (Bling: idPedidoCompra, 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/purchase_orders.py
def post_accounts(self, purchase_order_id: int) -> JsonObject:
    """Compatibility alias for ``lancar_contas()``.

    Lança as contas de um pedido de compra.

    Endpoint: POST /pedidos/compras/{idPedidoCompra}/lancar-contas

    Lança as contas de um pedido de compra pelo ID.

    Args:
        purchase_order_id: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self.lancar_contas(purchase_order_id)

reverse_accounts

reverse_accounts(purchase_order_id: int) -> JsonObject

Compatibility alias for estornar_contas().

Estorna as contas de um pedido de compra.

Endpoint: POST /pedidos/compras/{idPedidoCompra}/estornar-contas

Estorna as contas de um pedido de compra pelo ID.

Parameters:

Name Type Description Default
purchase_order_id int

ID do pedido de compra (Bling: idPedidoCompra, 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/purchase_orders.py
def reverse_accounts(self, purchase_order_id: int) -> JsonObject:
    """Compatibility alias for ``estornar_contas()``.

    Estorna as contas de um pedido de compra.

    Endpoint: POST /pedidos/compras/{idPedidoCompra}/estornar-contas

    Estorna as contas de um pedido de compra pelo ID.

    Args:
        purchase_order_id: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self.estornar_contas(purchase_order_id)

post_stock

post_stock(purchase_order_id: int) -> JsonObject

Compatibility alias for lancar_estoque().

Lança o estoque de um pedido de compra.

Endpoint: POST /pedidos/compras/{idPedidoCompra}/lancar-estoque

Lança o estoque de um pedido de compra pelo ID.

Parameters:

Name Type Description Default
purchase_order_id int

ID do pedido de compra (Bling: idPedidoCompra, 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/purchase_orders.py
def post_stock(self, purchase_order_id: int) -> JsonObject:
    """Compatibility alias for ``lancar_estoque()``.

    Lança o estoque de um pedido de compra.

    Endpoint: POST /pedidos/compras/{idPedidoCompra}/lancar-estoque

    Lança o estoque de um pedido de compra pelo ID.

    Args:
        purchase_order_id: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self.lancar_estoque(purchase_order_id)

reverse_stock

reverse_stock(purchase_order_id: int) -> JsonObject

Compatibility alias for estornar_estoque().

Estorna o estoque de um pedido de compra.

Endpoint: POST /pedidos/compras/{idPedidoCompra}/estornar-estoque

Estorna o estoque de um pedido de compra pelo ID.

Parameters:

Name Type Description Default
purchase_order_id int

ID do pedido de compra (Bling: idPedidoCompra, 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/purchase_orders.py
def reverse_stock(self, purchase_order_id: int) -> JsonObject:
    """Compatibility alias for ``estornar_estoque()``.

    Estorna o estoque de um pedido de compra.

    Endpoint: POST /pedidos/compras/{idPedidoCompra}/estornar-estoque

    Estorna o estoque de um pedido de compra pelo ID.

    Args:
        purchase_order_id: ID do pedido de compra (Bling: ``idPedidoCompra``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self.estornar_estoque(purchase_order_id)