Skip to content

Fornecedores de Produtos

bling_erp_api.resources.product_suppliers.ProductSuppliersResource

ProductSuppliersResource(transport: Transport)

Bases: BaseResource

Resource para fornecedores de produtos do Bling.

Mapeia os endpoints /produtos/fornecedores para listagem, consulta, criação, alteração e remoção de vínculos de produtos com fornecedores. 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_fornecedor: int | None = None,
) -> ProdutosFornecedoresGetResponse200

Obtém produtos fornecedores.

Endpoint: GET /produtos/fornecedores

Obtém produtos fornecedores 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_fornecedor int | None

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

None

Returns:

Type Description
ProdutosFornecedoresGetResponse200

Bling API response. Response schemas: 200: ProdutosFornecedoresDadosBaseDTO

Source code in src/bling_erp_api/resources/product_suppliers.py
def listar(
    self,
    *,
    pagina: int = 1,
    limite: int = 100,
    id_produto: int | None = None,
    id_fornecedor: int | None = None,
) -> ProdutosFornecedoresGetResponse200:
    """Obtém produtos fornecedores.

    Endpoint: GET /produtos/fornecedores

    Obtém produtos fornecedores 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_fornecedor: ID do contato do tipo fornecedor (Bling: ``idFornecedor``, integer, opcional)

    Returns:
        Bling API response. Response schemas: 200: ProdutosFornecedoresDadosBaseDTO
    """
    raw = self._get(
        "/produtos/fornecedores",
        params=_supplier_list_params(
            pagina=pagina,
            limite=limite,
            id_produto=id_produto,
            id_fornecedor=id_fornecedor,
        ),
    )
    return self._validate_response(ProdutosFornecedoresGetResponse200, raw)

obter

obter(
    id_produto_fornecedor: int,
) -> ProdutosFornecedoresIdProdutoFornecedorGetResponse200

Obtém um produto fornecedor.

Endpoint: GET /produtos/fornecedores/{idProdutoFornecedor}

Obtém um produto fornecedor pelo ID.

Parameters:

Name Type Description Default
id_produto_fornecedor int

ID do produto fornecedor (Bling: idProdutoFornecedor, integer, obrigatório)

required

Returns:

Type Description
ProdutosFornecedoresIdProdutoFornecedorGetResponse200

Bling API response. Response schemas: 200: ProdutosFornecedoresDadosBaseDTO, ProdutosFornecedoresDadosDTO; 404: ErrorResponse

Source code in src/bling_erp_api/resources/product_suppliers.py
def obter(
    self, id_produto_fornecedor: int
) -> ProdutosFornecedoresIdProdutoFornecedorGetResponse200:
    """Obtém um produto fornecedor.

    Endpoint: GET /produtos/fornecedores/{idProdutoFornecedor}

    Obtém um produto fornecedor pelo ID.

    Args:
        id_produto_fornecedor: ID do produto fornecedor (Bling: ``idProdutoFornecedor``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 200: ProdutosFornecedoresDadosBaseDTO, ProdutosFornecedoresDadosDTO; 404: ErrorResponse
    """
    raw = self._get(f"/produtos/fornecedores/{id_produto_fornecedor}")
    return self._validate_response(ProdutosFornecedoresIdProdutoFornecedorGetResponse200, raw)

criar

criar(
    dados: ProdutosFornecedoresPostRequest,
) -> ProdutosFornecedoresPostResponse201

Cria um produto fornecedor.

Endpoint: POST /produtos/fornecedores

Cria um produto fornecedor.

Parameters:

Name Type Description Default
dados ProdutosFornecedoresPostRequest

Dados do produto fornecedor (Bling: ProdutosFornecedoresDadosBaseDTO, ProdutosFornecedoresDadosDTO, obrigatório)

required

Request body schema: ProdutosFornecedoresDadosBaseDTO, ProdutosFornecedoresDadosDTO

Returns:

Type Description
ProdutosFornecedoresPostResponse201

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

Source code in src/bling_erp_api/resources/product_suppliers.py
def criar(self, dados: ProdutosFornecedoresPostRequest) -> ProdutosFornecedoresPostResponse201:
    """Cria um produto fornecedor.

    Endpoint: POST /produtos/fornecedores

    Cria um produto fornecedor.

    Args:
        dados: Dados do produto fornecedor (Bling: ``ProdutosFornecedoresDadosBaseDTO, ProdutosFornecedoresDadosDTO``, obrigatório)

    Request body schema: ProdutosFornecedoresDadosBaseDTO, ProdutosFornecedoresDadosDTO

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

alterar

alterar(
    id_produto_fornecedor: int,
    dados: ProdutosFornecedoresIdProdutoFornecedorPutRequest,
) -> ProdutosFornecedoresIdProdutoFornecedorPutResponse200

Altera um produto fornecedor.

Endpoint: PUT /produtos/fornecedores/{idProdutoFornecedor}

Altera um produto fornecedor pelo ID.

Parameters:

Name Type Description Default
id_produto_fornecedor int

ID do produto fornecedor (Bling: idProdutoFornecedor, integer, obrigatório)

required
dados ProdutosFornecedoresIdProdutoFornecedorPutRequest

Dados do produto fornecedor (Bling: ProdutosFornecedoresIdProdutoFornecedorPutRequest, object, obrigatório)

required

Request body schema: ProdutosFornecedoresDadosBaseUpdateDTO, ProdutosFornecedoresDadosUpdateDTO

Returns:

Type Description
ProdutosFornecedoresIdProdutoFornecedorPutResponse200

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

Source code in src/bling_erp_api/resources/product_suppliers.py
def alterar(
    self,
    id_produto_fornecedor: int,
    dados: ProdutosFornecedoresIdProdutoFornecedorPutRequest,
) -> ProdutosFornecedoresIdProdutoFornecedorPutResponse200:
    """Altera um produto fornecedor.

    Endpoint: PUT /produtos/fornecedores/{idProdutoFornecedor}

    Altera um produto fornecedor pelo ID.

    Args:
        id_produto_fornecedor: ID do produto fornecedor (Bling: ``idProdutoFornecedor``, integer, obrigatório)
        dados: Dados do produto fornecedor (Bling: ``ProdutosFornecedoresIdProdutoFornecedorPutRequest``, object, obrigatório)

    Request body schema: ProdutosFornecedoresDadosBaseUpdateDTO, ProdutosFornecedoresDadosUpdateDTO

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

remover

remover(id_produto_fornecedor: int) -> JsonObject

Remove um produto fornecedor.

Endpoint: DELETE /produtos/fornecedores/{idProdutoFornecedor}

Remove um produto fornecedor pelo ID.

Parameters:

Name Type Description Default
id_produto_fornecedor int

ID do produto fornecedor (Bling: idProdutoFornecedor, integer, obrigatório)

required

Returns:

Type Description
JsonObject

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

Source code in src/bling_erp_api/resources/product_suppliers.py
def remover(self, id_produto_fornecedor: int) -> JsonObject:
    """Remove um produto fornecedor.

    Endpoint: DELETE /produtos/fornecedores/{idProdutoFornecedor}

    Remove um produto fornecedor pelo ID.

    Args:
        id_produto_fornecedor: ID do produto fornecedor (Bling: ``idProdutoFornecedor``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 400: ErrorResponse; 404: ErrorResponse
    """
    return self._delete(f"/produtos/fornecedores/{id_produto_fornecedor}")