Skip to content

Propostas Comerciais

bling_erp_api.resources.propostas_comerciais.CommercialProposalsResource

CommercialProposalsResource(transport: Transport)

Bases: BaseResource

Propostas Comerciais API resource.

Maps to /propostas-comerciais endpoints. Canonical methods use pt-BR following the official Bling documentation; English aliases are available for compatibility.

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: str | None = None,
    id_contato: int | None = None,
    data_inicial: str | None = None,
    data_final: str | None = None,
) -> PropostasComerciaisGetResponse200

Lista as propostas comerciais.

Endpoint: GET /propostas-comerciais

Lista as propostas comerciais com filtros opcionais.

Parameters:

Name Type Description Default
pagina int | None

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

None
limite int | None

Limite de registros por página (Bling: limite, integer, opcional)

None
situacao str | None

Situação da proposta (Bling: situacao, string, opcional)

None
id_contato int | None

ID do contato (Bling: idContato, integer, opcional)

None
data_inicial str | None

Data inicial do período (Bling: dataInicial, date, opcional)

None
data_final str | None

Data final do período (Bling: dataFinal, date, opcional)

None

Returns:

Type Description
PropostasComerciaisGetResponse200

Bling API response. Response schemas: 200: PropostasComerciaisGetResponse200

Source code in src/bling_erp_api/resources/propostas_comerciais.py
def listar(  # noqa: PLR0913
    self,
    *,
    pagina: int | None = None,
    limite: int | None = None,
    situacao: str | None = None,
    id_contato: int | None = None,
    data_inicial: str | None = None,
    data_final: str | None = None,
) -> PropostasComerciaisGetResponse200:
    """Lista as propostas comerciais.

    Endpoint: GET /propostas-comerciais

    Lista as propostas comerciais com filtros opcionais.

    Args:
        pagina: Número da página (Bling: ``pagina``, integer, opcional)
        limite: Limite de registros por página (Bling: ``limite``, integer, opcional)
        situacao: Situação da proposta (Bling: ``situacao``, string, opcional)
        id_contato: ID do contato (Bling: ``idContato``, integer, opcional)
        data_inicial: Data inicial do período (Bling: ``dataInicial``, date, opcional)
        data_final: Data final do período (Bling: ``dataFinal``, date, opcional)

    Returns:
        Bling API response. Response schemas: 200: PropostasComerciaisGetResponse200
    """
    params = self._list_params(
        pagina=pagina,
        limite=limite,
        situacao=situacao,
        id_contato=id_contato,
        data_inicial=data_inicial,
        data_final=data_final,
    )
    raw = self._get(self.BASE_PATH, params=params)
    try:
        return PropostasComerciaisGetResponse200.model_validate(raw)
    except ValidationError:
        if raw == {"data": []}:
            return PropostasComerciaisGetResponse200(data=None)
        raise

iterar

iterar(
    *,
    pagina: int | None = None,
    limite: int | None = None,
    situacao: str | None = None,
    id_contato: int | None = None,
    data_inicial: str | None = None,
    data_final: str | None = None,
) -> Any

Itera sobre as propostas comerciais com paginação automática.

Endpoint: GET /propostas-comerciais

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úmero da página (Bling: pagina, integer, opcional)

None
limite int | None

Limite de registros por página (Bling: limite, integer, opcional)

None
situacao str | None

Situação da proposta (Bling: situacao, string, opcional)

None
id_contato int | None

ID do contato (Bling: idContato, integer, opcional)

None
data_inicial str | None

Data inicial do período (Bling: dataInicial, date, opcional)

None
data_final str | None

Data final do período (Bling: dataFinal, date, opcional)

None

Returns:

Type Description
Any

Iterator sobre os itens da resposta.

Source code in src/bling_erp_api/resources/propostas_comerciais.py
def iterar(  # noqa: PLR0913
    self,
    *,
    pagina: int | None = None,
    limite: int | None = None,
    situacao: str | None = None,
    id_contato: int | None = None,
    data_inicial: str | None = None,
    data_final: str | None = None,
) -> Any:
    """Itera sobre as propostas comerciais com paginação automática.

    Endpoint: GET /propostas-comerciais

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

    Args:
        pagina: Número da página (Bling: ``pagina``, integer, opcional)
        limite: Limite de registros por página (Bling: ``limite``, integer, opcional)
        situacao: Situação da proposta (Bling: ``situacao``, string, opcional)
        id_contato: ID do contato (Bling: ``idContato``, integer, opcional)
        data_inicial: Data inicial do período (Bling: ``dataInicial``, date, opcional)
        data_final: Data final do período (Bling: ``dataFinal``, date, opcional)

    Returns:
        Iterator sobre os itens da resposta.
    """
    pagina_atual = pagina or 1
    while True:
        result = self.listar(
            pagina=pagina_atual,
            limite=limite,
            situacao=situacao,
            id_contato=id_contato,
            data_inicial=data_inicial,
            data_final=data_final,
        )
        data = result.data or []
        if not data:
            break
        yield from data
        if limite and len(data) < limite:
            break
        pagina_atual += 1

obter

obter(
    id_proposta_comercial: int,
) -> PropostasComerciaisIdPropostaComercialGetResponse200

Obtém uma proposta comercial pelo ID.

Endpoint: GET /propostas-comerciais/{idPropostaComercial}

Obtém uma proposta comercial pelo ID.

Parameters:

Name Type Description Default
id_proposta_comercial int

ID da proposta comercial (Bling: idPropostaComercial, integer, obrigatório)

required

Returns:

Name Type Description
PropostasComerciaisIdPropostaComercialGetResponse200

Bling API response. Response schemas:

200 PropostasComerciaisIdPropostaComercialGetResponse200

PropostasComerciaisIdPropostaComercialGetResponse200; 404: ErrorResponse

Source code in src/bling_erp_api/resources/propostas_comerciais.py
def obter(
    self, id_proposta_comercial: int
) -> PropostasComerciaisIdPropostaComercialGetResponse200:
    """Obtém uma proposta comercial pelo ID.

    Endpoint: GET /propostas-comerciais/{idPropostaComercial}

    Obtém uma proposta comercial pelo ID.

    Args:
        id_proposta_comercial: ID da proposta comercial
            (Bling: ``idPropostaComercial``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas:
        200: PropostasComerciaisIdPropostaComercialGetResponse200; 404: ErrorResponse
    """
    payload = self._get(f"{self.BASE_PATH}/{id_proposta_comercial}")
    inner = payload.get("data", {})
    if isinstance(inner, dict):
        return PropostasComerciaisIdPropostaComercialGetResponse200.model_validate(inner)
    # Fallback for test doubles returning {"data": []}
    return PropostasComerciaisIdPropostaComercialGetResponse200(itens=[], parcelas=[])

criar

criar(
    dados: PropostasComerciaisPostRequest,
) -> PropostasComerciaisPostResponse201

Cria uma proposta comercial.

Endpoint: POST /propostas-comerciais

Cria uma proposta comercial.

Parameters:

Name Type Description Default
dados PropostasComerciaisPostRequest

Dados da proposta comercial. Use PropostasComerciaisPostRequest para uso tipado ou um objeto JSON com os nomes de campos do Bling.

required

Returns:

Name Type Description
PropostasComerciaisPostResponse201

Bling API response. Response schemas:

201 PropostasComerciaisPostResponse201

PropostasComerciaisPostResponse201; 400: ErrorResponse

Source code in src/bling_erp_api/resources/propostas_comerciais.py
def criar(self, dados: PropostasComerciaisPostRequest) -> PropostasComerciaisPostResponse201:
    """Cria uma proposta comercial.

    Endpoint: POST /propostas-comerciais

    Cria uma proposta comercial.

    Args:
        dados: Dados da proposta comercial. Use ``PropostasComerciaisPostRequest`` para
            uso tipado ou um objeto JSON com os nomes de campos do Bling.

    Returns:
        Bling API response. Response schemas:
        201: PropostasComerciaisPostResponse201; 400: ErrorResponse
    """
    raw = self._post(self.BASE_PATH, json=to_json_object(dados))
    try:
        return PropostasComerciaisPostResponse201.model_validate(raw)
    except ValidationError:
        if raw == {"data": []}:
            return PropostasComerciaisPostResponse201(data=None)
        raise

alterar

alterar(
    id_proposta_comercial: int,
    dados: PropostasComerciaisIdPropostaComercialPutRequest,
) -> JsonObject

Altera uma proposta comercial.

Endpoint: PUT /propostas-comerciais/{idPropostaComercial}

Altera uma proposta comercial pelo ID.

Parameters:

Name Type Description Default
id_proposta_comercial int

ID da proposta comercial (Bling: idPropostaComercial, integer, obrigatório)

required
dados PropostasComerciaisIdPropostaComercialPutRequest

Dados atualizados da proposta. Use PropostasComerciaisIdPropostaComercialPutRequest para uso tipado ou um objeto JSON com os nomes de campos do Bling.

required

Returns:

Type Description
JsonObject

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

Source code in src/bling_erp_api/resources/propostas_comerciais.py
def alterar(
    self, id_proposta_comercial: int, dados: PropostasComerciaisIdPropostaComercialPutRequest
) -> JsonObject:
    """Altera uma proposta comercial.

    Endpoint: PUT /propostas-comerciais/{idPropostaComercial}

    Altera uma proposta comercial pelo ID.

    Args:
        id_proposta_comercial: ID da proposta comercial
            (Bling: ``idPropostaComercial``, integer, obrigatório)
        dados: Dados atualizados da proposta. Use ``PropostasComerciaisIdPropostaComercialPutRequest``
            para uso tipado ou um objeto JSON com os nomes de campos do Bling.

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

remover

remover(id_proposta_comercial: int) -> JsonObject

Remove uma proposta comercial.

Endpoint: DELETE /propostas-comerciais/{idPropostaComercial}

Remove uma proposta comercial pelo ID.

Parameters:

Name Type Description Default
id_proposta_comercial int

ID da proposta comercial (Bling: idPropostaComercial, integer, obrigatório)

required

Returns:

Type Description
JsonObject

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

Source code in src/bling_erp_api/resources/propostas_comerciais.py
def remover(self, id_proposta_comercial: int) -> JsonObject:
    """Remove uma proposta comercial.

    Endpoint: DELETE /propostas-comerciais/{idPropostaComercial}

    Remove uma proposta comercial pelo ID.

    Args:
        id_proposta_comercial: ID da proposta comercial
            (Bling: ``idPropostaComercial``, integer, obrigatório)

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

remover_varios

remover_varios(
    ids_propostas_comerciais: Sequence[int],
) -> PropostasComerciaisDeleteResponse200

Remove várias propostas comerciais.

Endpoint: DELETE /propostas-comerciais

Remove várias propostas comerciais pelos IDs.

Parameters:

Name Type Description Default
ids_propostas_comerciais Sequence[int]

IDs das propostas a remover (Bling: idsPropostasComerciais[], array[integer], obrigatório)

required

Returns:

Name Type Description
PropostasComerciaisDeleteResponse200

Bling API response. Response schemas: 200: alertas ErrorResponse[]; 204: NoContent;

400 PropostasComerciaisDeleteResponse200

ErrorResponse

Source code in src/bling_erp_api/resources/propostas_comerciais.py
def remover_varios(
    self, ids_propostas_comerciais: Sequence[int]
) -> PropostasComerciaisDeleteResponse200:
    """Remove várias propostas comerciais.

    Endpoint: DELETE /propostas-comerciais

    Remove várias propostas comerciais pelos IDs.

    Args:
        ids_propostas_comerciais: IDs das propostas a remover
            (Bling: ``idsPropostasComerciais[]``, array[integer], obrigatório)

    Returns:
        Bling API response. Response schemas: 200: alertas ErrorResponse[]; 204: NoContent;
        400: ErrorResponse
    """
    raw = self._delete(
        self.BASE_PATH,
        params=compact_params({"idsPropostasComerciais[]": list(ids_propostas_comerciais)}),
    )
    try:
        return PropostasComerciaisDeleteResponse200.model_validate(raw)
    except ValidationError:
        if raw == {"data": []}:
            return PropostasComerciaisDeleteResponse200(data=None)
        raise

alterar_situacao

alterar_situacao(id_proposta_comercial: int, situacao: str) -> JsonObject

Altera a situação de uma proposta comercial.

Endpoint: PATCH /propostas-comerciais/{idPropostaComercial}/situacoes

Envia a nova situação como corpo JSON: {"situacao": "..."}.

Parameters:

Name Type Description Default
id_proposta_comercial int

ID da proposta comercial (Bling: idPropostaComercial, integer, obrigatório)

required
situacao str

Nova situação. Valores: Pendente, Aguardando, Não aprovado, Aprovado, Concluído, Rascunho (Bling: situacao, string, 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/propostas_comerciais.py
def alterar_situacao(self, id_proposta_comercial: int, situacao: str) -> JsonObject:
    """Altera a situação de uma proposta comercial.

    Endpoint: PATCH /propostas-comerciais/{idPropostaComercial}/situacoes

    Envia a nova situação como corpo JSON: ``{"situacao": "..."}``.

    Args:
        id_proposta_comercial: ID da proposta comercial
            (Bling: ``idPropostaComercial``, integer, obrigatório)
        situacao: Nova situação. Valores: Pendente, Aguardando, Não aprovado, Aprovado,
            Concluído, Rascunho (Bling: ``situacao``, string, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._patch(
        f"{self.BASE_PATH}/{id_proposta_comercial}/situacoes",
        json={"situacao": situacao},
    )

list

list(
    *,
    page: int | None = None,
    limit: int | None = None,
    status: str | None = None,
    contact_id: int | None = None,
    start_date: str | None = None,
    end_date: str | None = None,
) -> PropostasComerciaisGetResponse200

Compatibility alias for listar().

Lista as propostas comerciais.

Endpoint: GET /propostas-comerciais

Parameters:

Name Type Description Default
page int | None

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

None
limit int | None

Limite de registros por página (Bling: limite, integer, opcional)

None
status str | None

Situação da proposta (Bling: situacao, string, opcional)

None
contact_id int | None

ID do contato (Bling: idContato, integer, opcional)

None
start_date str | None

Data inicial do período (Bling: dataInicial, date, opcional)

None
end_date str | None

Data final do período (Bling: dataFinal, date, opcional)

None

Returns:

Type Description
PropostasComerciaisGetResponse200

Bling API response. Response schemas: 200: PropostasComerciaisGetResponse200

Source code in src/bling_erp_api/resources/propostas_comerciais.py
def list(  # noqa: PLR0913
    self,
    *,
    page: int | None = None,
    limit: int | None = None,
    status: str | None = None,
    contact_id: int | None = None,
    start_date: str | None = None,
    end_date: str | None = None,
) -> PropostasComerciaisGetResponse200:
    """Compatibility alias for ``listar()``.

    Lista as propostas comerciais.

    Endpoint: GET /propostas-comerciais

    Args:
        page: Número da página (Bling: ``pagina``, integer, opcional)
        limit: Limite de registros por página (Bling: ``limite``, integer, opcional)
        status: Situação da proposta (Bling: ``situacao``, string, opcional)
        contact_id: ID do contato (Bling: ``idContato``, integer, opcional)
        start_date: Data inicial do período (Bling: ``dataInicial``, date, opcional)
        end_date: Data final do período (Bling: ``dataFinal``, date, opcional)

    Returns:
        Bling API response. Response schemas: 200: PropostasComerciaisGetResponse200
    """
    return self.listar(
        pagina=page,
        limite=limit,
        situacao=status,
        id_contato=contact_id,
        data_inicial=start_date,
        data_final=end_date,
    )

iterate

iterate(
    *,
    page: int | None = None,
    limit: int | None = None,
    status: str | None = None,
    contact_id: int | None = None,
    start_date: str | None = None,
    end_date: str | None = None,
) -> Any

Compatibility alias for iterar().

Itera sobre as propostas comerciais com paginação automática.

Endpoint: GET /propostas-comerciais

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 | None

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

None
limit int | None

Limite de registros por página (Bling: limite, integer, opcional)

None
status str | None

Situação da proposta (Bling: situacao, string, opcional)

None
contact_id int | None

ID do contato (Bling: idContato, integer, opcional)

None
start_date str | None

Data inicial do período (Bling: dataInicial, date, opcional)

None
end_date str | None

Data final do período (Bling: dataFinal, date, opcional)

None

Returns:

Type Description
Any

Iterator sobre os itens da resposta.

Source code in src/bling_erp_api/resources/propostas_comerciais.py
def iterate(  # noqa: PLR0913
    self,
    *,
    page: int | None = None,
    limit: int | None = None,
    status: str | None = None,
    contact_id: int | None = None,
    start_date: str | None = None,
    end_date: str | None = None,
) -> Any:
    """Compatibility alias for ``iterar()``.

    Itera sobre as propostas comerciais com paginação automática.

    Endpoint: GET /propostas-comerciais

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

    Args:
        page: Número da página (Bling: ``pagina``, integer, opcional)
        limit: Limite de registros por página (Bling: ``limite``, integer, opcional)
        status: Situação da proposta (Bling: ``situacao``, string, opcional)
        contact_id: ID do contato (Bling: ``idContato``, integer, opcional)
        start_date: Data inicial do período (Bling: ``dataInicial``, date, opcional)
        end_date: Data final do período (Bling: ``dataFinal``, date, opcional)

    Returns:
        Iterator sobre os itens da resposta.
    """
    return self.iterar(
        pagina=page,
        limite=limit,
        situacao=status,
        id_contato=contact_id,
        data_inicial=start_date,
        data_final=end_date,
    )

get

get(proposal_id: int) -> PropostasComerciaisIdPropostaComercialGetResponse200

Compatibility alias for obter().

Obtém uma proposta comercial pelo ID.

Endpoint: GET /propostas-comerciais/{idPropostaComercial}

Parameters:

Name Type Description Default
proposal_id int

ID da proposta comercial (Bling: idPropostaComercial, integer, obrigatório)

required

Returns:

Name Type Description
PropostasComerciaisIdPropostaComercialGetResponse200

Bling API response. Response schemas:

200 PropostasComerciaisIdPropostaComercialGetResponse200

PropostasComerciaisIdPropostaComercialGetResponse200; 404: ErrorResponse

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

    Obtém uma proposta comercial pelo ID.

    Endpoint: GET /propostas-comerciais/{idPropostaComercial}

    Args:
        proposal_id: ID da proposta comercial
            (Bling: ``idPropostaComercial``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas:
        200: PropostasComerciaisIdPropostaComercialGetResponse200; 404: ErrorResponse
    """
    return self.obter(id_proposta_comercial=proposal_id)

create

create(
    data: PropostasComerciaisPostRequest,
) -> PropostasComerciaisPostResponse201

Compatibility alias for criar().

Cria uma proposta comercial.

Endpoint: POST /propostas-comerciais

Parameters:

Name Type Description Default
data PropostasComerciaisPostRequest

Dados da proposta comercial. Use PropostasComerciaisPostRequest para uso tipado ou um objeto JSON com os nomes de campos do Bling.

required

Returns:

Name Type Description
PropostasComerciaisPostResponse201

Bling API response. Response schemas:

201 PropostasComerciaisPostResponse201

PropostasComerciaisPostResponse201; 400: ErrorResponse

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

    Cria uma proposta comercial.

    Endpoint: POST /propostas-comerciais

    Args:
        data: Dados da proposta comercial. Use ``PropostasComerciaisPostRequest`` para
            uso tipado ou um objeto JSON com os nomes de campos do Bling.

    Returns:
        Bling API response. Response schemas:
        201: PropostasComerciaisPostResponse201; 400: ErrorResponse
    """
    return self.criar(dados=data)

update

update(
    proposal_id: int, data: PropostasComerciaisIdPropostaComercialPutRequest
) -> JsonObject

Compatibility alias for alterar().

Altera uma proposta comercial.

Endpoint: PUT /propostas-comerciais/{idPropostaComercial}

Parameters:

Name Type Description Default
proposal_id int

ID da proposta comercial (Bling: idPropostaComercial, integer, obrigatório)

required
data PropostasComerciaisIdPropostaComercialPutRequest

Dados atualizados da proposta. Use PropostasComerciaisIdPropostaComercialPutRequest para uso tipado ou um objeto JSON com os nomes de campos do Bling.

required

Returns:

Type Description
JsonObject

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

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

    Altera uma proposta comercial.

    Endpoint: PUT /propostas-comerciais/{idPropostaComercial}

    Args:
        proposal_id: ID da proposta comercial
            (Bling: ``idPropostaComercial``, integer, obrigatório)
        data: Dados atualizados da proposta. Use ``PropostasComerciaisIdPropostaComercialPutRequest``
            para uso tipado ou um objeto JSON com os nomes de campos do Bling.

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self.alterar(id_proposta_comercial=proposal_id, dados=data)

delete

delete(proposal_id: int) -> JsonObject

Compatibility alias for remover().

Remove uma proposta comercial.

Endpoint: DELETE /propostas-comerciais/{idPropostaComercial}

Parameters:

Name Type Description Default
proposal_id int

ID da proposta comercial (Bling: idPropostaComercial, integer, obrigatório)

required

Returns:

Type Description
JsonObject

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

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

    Remove uma proposta comercial.

    Endpoint: DELETE /propostas-comerciais/{idPropostaComercial}

    Args:
        proposal_id: ID da proposta comercial
            (Bling: ``idPropostaComercial``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse
    """
    return self.remover(id_proposta_comercial=proposal_id)

delete_many

delete_many(
    proposal_ids: Sequence[int],
) -> PropostasComerciaisDeleteResponse200

Compatibility alias for remover_varios().

Remove várias propostas comerciais.

Endpoint: DELETE /propostas-comerciais

Parameters:

Name Type Description Default
proposal_ids Sequence[int]

IDs das propostas a remover (Bling: idsPropostasComerciais[], array[integer], obrigatório)

required

Returns:

Name Type Description
PropostasComerciaisDeleteResponse200

Bling API response. Response schemas: 200: alertas ErrorResponse[]; 204: NoContent;

400 PropostasComerciaisDeleteResponse200

ErrorResponse

Source code in src/bling_erp_api/resources/propostas_comerciais.py
def delete_many(self, proposal_ids: Sequence[int]) -> PropostasComerciaisDeleteResponse200:
    """Compatibility alias for ``remover_varios()``.

    Remove várias propostas comerciais.

    Endpoint: DELETE /propostas-comerciais

    Args:
        proposal_ids: IDs das propostas a remover
            (Bling: ``idsPropostasComerciais[]``, array[integer], obrigatório)

    Returns:
        Bling API response. Response schemas: 200: alertas ErrorResponse[]; 204: NoContent;
        400: ErrorResponse
    """
    return self.remover_varios(ids_propostas_comerciais=proposal_ids)

update_status

update_status(proposal_id: int, status: str) -> JsonObject

Compatibility alias for alterar_situacao().

Altera a situação de uma proposta comercial.

Endpoint: PATCH /propostas-comerciais/{idPropostaComercial}/situacoes

Parameters:

Name Type Description Default
proposal_id int

ID da proposta comercial (Bling: idPropostaComercial, integer, obrigatório)

required
status str

Nova situação. Valores: Pendente, Aguardando, Não aprovado, Aprovado, Concluído, Rascunho (Bling: situacao, string, 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/propostas_comerciais.py
def update_status(self, proposal_id: int, status: str) -> JsonObject:
    """Compatibility alias for ``alterar_situacao()``.

    Altera a situação de uma proposta comercial.

    Endpoint: PATCH /propostas-comerciais/{idPropostaComercial}/situacoes

    Args:
        proposal_id: ID da proposta comercial
            (Bling: ``idPropostaComercial``, integer, obrigatório)
        status: Nova situação. Valores: Pendente, Aguardando, Não aprovado, Aprovado,
            Concluído, Rascunho (Bling: ``situacao``, string, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self.alterar_situacao(
        id_proposta_comercial=proposal_id,
        situacao=status,
    )