Skip to content

Estoques

bling_erp_api.resources.estoques.EstoquesResource

EstoquesResource(transport: Transport)

Bases: BaseResource

Operações de estoques do Bling.

Este recurso mapeia os endpoints /estoques. 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

obter_saldos

obter_saldos(
    *,
    ids_produtos: list[int],
    codigos: list[str] | None = None,
    filtro_saldo_estoque: int | None = None,
) -> EstoquesSaldosGetResponse200

Obtém saldo em estoque de produtos.

Endpoint: GET /estoques/saldos

Obtém o saldo em estoque de produtos, em todos os depósitos.

Parameters:

Name Type Description Default
ids_produtos list[int]

IDs dos produtos (Bling: idsProdutos[], array, obrigatório)

required
codigos list[str] | None

Códigos dos produtos (Bling: codigos[], array, opcional)

None
filtro_saldo_estoque int | None

0=Zerado, 1=Positivo, 2=Negativo (Bling: filtroSaldoEstoque, integer, opcional)

None

Returns:

Type Description
EstoquesSaldosGetResponse200

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

Source code in src/bling_erp_api/resources/estoques.py
def obter_saldos(
    self,
    *,
    ids_produtos: list[int],
    codigos: list[str] | None = None,
    filtro_saldo_estoque: int | None = None,
) -> EstoquesSaldosGetResponse200:
    """Obtém saldo em estoque de produtos.

    Endpoint: GET /estoques/saldos

    Obtém o saldo em estoque de produtos, em todos os depósitos.

    Args:
        ids_produtos: IDs dos produtos (Bling: ``idsProdutos[]``, array, obrigatório)
        codigos: Códigos dos produtos (Bling: ``codigos[]``, array, opcional)
        filtro_saldo_estoque: 0=Zerado, 1=Positivo, 2=Negativo (Bling: ``filtroSaldoEstoque``, integer, opcional)

    Returns:
        Bling API response. Response schemas: 200: EstoquesSaldosBaseDTO; 400: ErrorResponse
    """
    params = _estoques_saldos_params(
        ids_produtos=ids_produtos,
        codigos=codigos,
        filtro_saldo_estoque=filtro_saldo_estoque,
    )
    raw = self._get("/estoques/saldos", params=params)
    return self._validate_response(EstoquesSaldosGetResponse200, raw)

obter_saldos_por_deposito

obter_saldos_por_deposito(
    id_deposito: int,
    *,
    ids_produtos: list[int],
    codigos: list[str] | None = None,
    filtro_saldo_estoque: int | None = None,
) -> EstoquesSaldosIdDepositoGetResponse200

Obtém saldo em estoque por depósito.

Endpoint: GET /estoques/saldos/{idDeposito}

Obtém o saldo em estoque de produtos pelo ID do depósito.

Parameters:

Name Type Description Default
id_deposito int

ID do depósito (Bling: idDeposito, integer, obrigatório)

required
ids_produtos list[int]

IDs dos produtos (Bling: idsProdutos[], array, obrigatório)

required
codigos list[str] | None

Códigos dos produtos (Bling: codigos[], array, opcional)

None
filtro_saldo_estoque int | None

0=Zerado, 1=Positivo, 2=Negativo (Bling: filtroSaldoEstoque, integer, opcional)

None

Returns:

Type Description
EstoquesSaldosIdDepositoGetResponse200

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

Source code in src/bling_erp_api/resources/estoques.py
def obter_saldos_por_deposito(
    self,
    id_deposito: int,
    *,
    ids_produtos: list[int],
    codigos: list[str] | None = None,
    filtro_saldo_estoque: int | None = None,
) -> EstoquesSaldosIdDepositoGetResponse200:
    """Obtém saldo em estoque por depósito.

    Endpoint: GET /estoques/saldos/{idDeposito}

    Obtém o saldo em estoque de produtos pelo ID do depósito.

    Args:
        id_deposito: ID do depósito (Bling: ``idDeposito``, integer, obrigatório)
        ids_produtos: IDs dos produtos (Bling: ``idsProdutos[]``, array, obrigatório)
        codigos: Códigos dos produtos (Bling: ``codigos[]``, array, opcional)
        filtro_saldo_estoque: 0=Zerado, 1=Positivo, 2=Negativo (Bling: ``filtroSaldoEstoque``, integer, opcional)

    Returns:
        Bling API response. Response schemas: 200: EstoquesSaldosBaseDTO; 400: ErrorResponse; 404: ErrorResponse
    """
    params = _estoques_saldos_params(
        ids_produtos=ids_produtos,
        codigos=codigos,
        filtro_saldo_estoque=filtro_saldo_estoque,
    )
    raw = self._get(f"/estoques/saldos/{id_deposito}", params=params)
    return self._validate_response(EstoquesSaldosIdDepositoGetResponse200, raw)

criar

criar(dados: JsonObject) -> EstoquesPostResponse201

Cria um registro de estoque.

Endpoint: POST /estoques

Cria um registro de lançamento no estoque.

Parameters:

Name Type Description Default
dados JsonObject

Dados do registro (Bling: request body)

required

Returns:

Type Description
EstoquesPostResponse201

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

Source code in src/bling_erp_api/resources/estoques.py
def criar(self, dados: JsonObject) -> EstoquesPostResponse201:
    """Cria um registro de estoque.

    Endpoint: POST /estoques

    Cria um registro de lançamento no estoque.

    Args:
        dados: Dados do registro (Bling: request body)

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