Skip to content

Lojas de Produtos

bling_erp_api.resources.product_stores.ProductStoresResource

ProductStoresResource(transport: Transport)

Bases: BaseResource

Resource para vínculos de produtos com lojas do Bling.

Mapeia os endpoints /produtos/lojas para listagem, consulta, criação, alteração e remoção de vínculos de produtos com lojas. Métodos canônicos em pt-BR; aliases em inglês disponíveis para 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_produto: int | None = None,
    id_loja: int | None = None,
    id_categoria_produto: int | None = None,
    data_alteracao_inicial: DateFilter | None = None,
    data_alteracao_final: DateFilter | None = None,
) -> ProdutosLojasGetResponse200

Obtém vínculos de produtos com lojas.

Endpoint: GET /produtos/lojas

Obtém vínculos de produtos com lojas 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_produto int | None

ID do produto (Bling: idProduto, integer, opcional)

None
id_loja int | None

ID da loja (Bling: idLoja, integer, opcional)

None
id_categoria_produto int | None

ID da categoria do produto vinculada à loja (Bling: idCategoriaProduto, integer, opcional)

None
data_alteracao_inicial DateFilter | None

Data de alteração inicial (Bling: dataAlteracaoInicial, string, opcional)

None
data_alteracao_final DateFilter | None

Data de alteração final (Bling: dataAlteracaoFinal, string, opcional)

None

Returns:

Type Description
ProdutosLojasGetResponse200

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

Source code in src/bling_erp_api/resources/product_stores.py
def listar(  # noqa: PLR0913
    self,
    *,
    pagina: int = 1,
    limite: int = 100,
    id_produto: int | None = None,
    id_loja: int | None = None,
    id_categoria_produto: int | None = None,
    data_alteracao_inicial: DateFilter | None = None,
    data_alteracao_final: DateFilter | None = None,
) -> ProdutosLojasGetResponse200:
    """Obtém vínculos de produtos com lojas.

    Endpoint: GET /produtos/lojas

    Obtém vínculos de produtos com lojas 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_produto: ID do produto (Bling: ``idProduto``, integer, opcional)
        id_loja: ID da loja (Bling: ``idLoja``, integer, opcional)
        id_categoria_produto: ID da categoria do produto vinculada à loja (Bling: ``idCategoriaProduto``, integer, opcional)
        data_alteracao_inicial: Data de alteração inicial (Bling: ``dataAlteracaoInicial``, string, opcional)
        data_alteracao_final: Data de alteração final (Bling: ``dataAlteracaoFinal``, string, opcional)

    Returns:
        Bling API response. Response schemas: 200: ProdutosLojasDadosDTO; 400: ErrorResponse
    """
    raw = self._get(
        "/produtos/lojas",
        params=_store_list_params(
            pagina=pagina,
            limite=limite,
            id_produto=id_produto,
            id_loja=id_loja,
            id_categoria_produto=id_categoria_produto,
            data_alteracao_inicial=data_alteracao_inicial,
            data_alteracao_final=data_alteracao_final,
        ),
    )
    return self._validate_response(ProdutosLojasGetResponse200, raw)

obter

obter(id_produto_loja: int) -> ProdutosLojasIdProdutoLojaGetResponse200

Obtém um vínculo de produto com loja.

Endpoint: GET /produtos/lojas/{idProdutoLoja}

Obtém um vínculo de produto com loja pelo ID.

Parameters:

Name Type Description Default
id_produto_loja int

ID do vínculo do produto com a loja (Bling: idProdutoLoja, integer, obrigatório)

required

Returns:

Type Description
ProdutosLojasIdProdutoLojaGetResponse200

Bling API response. Response schemas: 200: ProdutosLojasDadosBaseDTO, ProdutosLojasDadosDTO; 404: ErrorResponse

Source code in src/bling_erp_api/resources/product_stores.py
def obter(self, id_produto_loja: int) -> ProdutosLojasIdProdutoLojaGetResponse200:
    """Obtém um vínculo de produto com loja.

    Endpoint: GET /produtos/lojas/{idProdutoLoja}

    Obtém um vínculo de produto com loja pelo ID.

    Args:
        id_produto_loja: ID do vínculo do produto com a loja (Bling: ``idProdutoLoja``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 200: ProdutosLojasDadosBaseDTO, ProdutosLojasDadosDTO; 404: ErrorResponse
    """
    raw = self._get(f"/produtos/lojas/{id_produto_loja}")
    return self._validate_response(ProdutosLojasIdProdutoLojaGetResponse200, raw)

criar

criar(dados: ProdutosLojasPostRequest) -> ProdutosLojasPostResponse201

Cria o vínculo de um produto com uma loja.

Endpoint: POST /produtos/lojas

Cria o vínculo de um produto com uma loja.

Parameters:

Name Type Description Default
dados ProdutosLojasPostRequest

Dados do vínculo do produto com a loja (Bling: ProdutosLojasDadosBaseDTO, ProdutosLojasDadosDTO, obrigatório)

required

Request body schema: ProdutosLojasDadosBaseDTO, ProdutosLojasDadosDTO

Returns:

Type Description
ProdutosLojasPostResponse201

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

Source code in src/bling_erp_api/resources/product_stores.py
def criar(self, dados: ProdutosLojasPostRequest) -> ProdutosLojasPostResponse201:
    """Cria o vínculo de um produto com uma loja.

    Endpoint: POST /produtos/lojas

    Cria o vínculo de um produto com uma loja.

    Args:
        dados: Dados do vínculo do produto com a loja (Bling: ``ProdutosLojasDadosBaseDTO, ProdutosLojasDadosDTO``, obrigatório)

    Request body schema: ProdutosLojasDadosBaseDTO, ProdutosLojasDadosDTO

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

alterar

alterar(
    id_produto_loja: int, dados: ProdutosLojasIdProdutoLojaPutRequest
) -> ProdutosLojasIdProdutoLojaPutResponse200

Altera o vínculo de um produto com uma loja.

Endpoint: PUT /produtos/lojas/{idProdutoLoja}

Altera o vínculo de um produto com uma loja pelo ID.

Parameters:

Name Type Description Default
id_produto_loja int

ID do vínculo do produto com a loja (Bling: idProdutoLoja, integer, obrigatório)

required
dados ProdutosLojasIdProdutoLojaPutRequest

Dados do vínculo do produto com a loja (Bling: ProdutosLojasDadosBaseDTO, ProdutosLojasDadosDTO, obrigatório)

required

Request body schema: ProdutosLojasDadosBaseDTO, ProdutosLojasDadosDTO

Returns:

Type Description
ProdutosLojasIdProdutoLojaPutResponse200

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

Source code in src/bling_erp_api/resources/product_stores.py
def alterar(
    self, id_produto_loja: int, dados: ProdutosLojasIdProdutoLojaPutRequest
) -> ProdutosLojasIdProdutoLojaPutResponse200:
    """Altera o vínculo de um produto com uma loja.

    Endpoint: PUT /produtos/lojas/{idProdutoLoja}

    Altera o vínculo de um produto com uma loja pelo ID.

    Args:
        id_produto_loja: ID do vínculo do produto com a loja (Bling: ``idProdutoLoja``, integer, obrigatório)
        dados: Dados do vínculo do produto com a loja (Bling: ``ProdutosLojasDadosBaseDTO, ProdutosLojasDadosDTO``, obrigatório)

    Request body schema: ProdutosLojasDadosBaseDTO, ProdutosLojasDadosDTO

    Returns:
        Bling API response. Response schemas: 200: BasePostResponse, ProdutosLojasResponse_POST_PUT; 400: ErrorResponse; 404: ErrorResponse
    """
    raw = self._put(f"/produtos/lojas/{id_produto_loja}", json=to_json_object(dados))
    return self._validate_response(ProdutosLojasIdProdutoLojaPutResponse200, raw)

remover

remover(id_produto_loja: int) -> JsonObject

Remove o vínculo de um produto com uma loja.

Endpoint: DELETE /produtos/lojas/{idProdutoLoja}

Remove o vínculo de um produto com uma loja pelo ID.

Parameters:

Name Type Description Default
id_produto_loja int

ID do vínculo do produto com a loja (Bling: idProdutoLoja, integer, obrigatório)

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 404: ErrorResponse

Source code in src/bling_erp_api/resources/product_stores.py
def remover(self, id_produto_loja: int) -> JsonObject:
    """Remove o vínculo de um produto com uma loja.

    Endpoint: DELETE /produtos/lojas/{idProdutoLoja}

    Remove o vínculo de um produto com uma loja pelo ID.

    Args:
        id_produto_loja: ID do vínculo do produto com a loja (Bling: ``idProdutoLoja``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 404: ErrorResponse
    """
    return self._delete(f"/produtos/lojas/{id_produto_loja}")