Skip to content

Pedidos de Venda

bling_erp_api.resources.sales_orders.SalesOrdersResource

SalesOrdersResource(transport: Transport)

Bases: BaseResource

Operações de pedidos de venda do Bling.

Este recurso mapeia os endpoints /pedidos/vendas. 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_contato: int | None = None,
    ids_situacoes: Sequence[int] | None = None,
    data_inicial: DateFilter | None = None,
    data_final: DateFilter | None = None,
    data_alteracao_inicial: DateFilter | None = None,
    data_alteracao_final: DateFilter | None = None,
    data_prevista_inicial: DateFilter | None = None,
    data_prevista_final: DateFilter | None = None,
    numero: int | None = None,
    id_loja: int | None = None,
    id_vendedor: int | None = None,
    id_controle_caixa: int | None = None,
    numeros_lojas: Sequence[str] | None = None,
    id_unidade_negocio: int | None = None,
) -> JsonObject

Lista pedidos de venda.

Endpoint: GET /pedidos/vendas

Lista pedidos de venda paginados.

Parameters:

Name Type Description Default
pagina int

Parâmetro pagina do Bling.

1
limite int

Parâmetro limite do Bling.

100
id_contato int | None

Filtra por contato, enviado como idContato.

None
ids_situacoes Sequence[int] | None

Filtra por situações, enviado como idsSituacoes[].

None
data_inicial DateFilter | None

Data inicial do pedido, enviada como dataInicial.

None
data_final DateFilter | None

Data final do pedido, enviada como dataFinal.

None
data_alteracao_inicial DateFilter | None

Data inicial de alteração, enviada como dataAlteracaoInicial.

None
data_alteracao_final DateFilter | None

Data final de alteração, enviada como dataAlteracaoFinal.

None
data_prevista_inicial DateFilter | None

Data prevista inicial, enviada como dataPrevistaInicial.

None
data_prevista_final DateFilter | None

Data prevista final, enviada como dataPrevistaFinal.

None
numero int | None

Número do pedido, enviado como numero.

None
id_loja int | None

Loja, enviada como idLoja.

None
id_vendedor int | None

Vendedor, enviado como idVendedor.

None
id_controle_caixa int | None

Controle de caixa, enviado como idControleCaixa.

None
numeros_lojas Sequence[str] | None

Números dos pedidos nas lojas, enviados como numerosLojas[].

None
id_unidade_negocio int | None

Unidade de negócio, enviada como idUnidadeNegocio.

None

Datas aceitam str, datetime.date ou datetime.datetime. Filtros de data/hora são formatados como YYYY-MM-DD HH:MM:SS.

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: VendasDadosBaseDTO

Source code in src/bling_erp_api/resources/sales_orders.py
def listar(  # noqa: PLR0913
    self,
    *,
    pagina: int = 1,
    limite: int = 100,
    id_contato: int | None = None,
    ids_situacoes: Sequence[int] | None = None,
    data_inicial: DateFilter | None = None,
    data_final: DateFilter | None = None,
    data_alteracao_inicial: DateFilter | None = None,
    data_alteracao_final: DateFilter | None = None,
    data_prevista_inicial: DateFilter | None = None,
    data_prevista_final: DateFilter | None = None,
    numero: int | None = None,
    id_loja: int | None = None,
    id_vendedor: int | None = None,
    id_controle_caixa: int | None = None,
    numeros_lojas: Sequence[str] | None = None,
    id_unidade_negocio: int | None = None,
) -> JsonObject:
    """Lista pedidos de venda.

    Endpoint: GET /pedidos/vendas

    Lista pedidos de venda paginados.

    Args:
        pagina: Parâmetro ``pagina`` do Bling.
        limite: Parâmetro ``limite`` do Bling.
        id_contato: Filtra por contato, enviado como ``idContato``.
        ids_situacoes: Filtra por situações, enviado como ``idsSituacoes[]``.
        data_inicial: Data inicial do pedido, enviada como ``dataInicial``.
        data_final: Data final do pedido, enviada como ``dataFinal``.
        data_alteracao_inicial: Data inicial de alteração, enviada como
            ``dataAlteracaoInicial``.
        data_alteracao_final: Data final de alteração, enviada como
            ``dataAlteracaoFinal``.
        data_prevista_inicial: Data prevista inicial, enviada como
            ``dataPrevistaInicial``.
        data_prevista_final: Data prevista final, enviada como
            ``dataPrevistaFinal``.
        numero: Número do pedido, enviado como ``numero``.
        id_loja: Loja, enviada como ``idLoja``.
        id_vendedor: Vendedor, enviado como ``idVendedor``.
        id_controle_caixa: Controle de caixa, enviado como ``idControleCaixa``.
        numeros_lojas: Números dos pedidos nas lojas, enviados como
            ``numerosLojas[]``.
        id_unidade_negocio: Unidade de negócio, enviada como
            ``idUnidadeNegocio``.

    Datas aceitam ``str``, ``datetime.date`` ou ``datetime.datetime``.
    Filtros de data/hora são formatados como ``YYYY-MM-DD HH:MM:SS``.

    Returns:
        Bling API response. Response schemas: 200: VendasDadosBaseDTO
    """
    return self._get(
        "/pedidos/vendas",
        params=_sales_order_list_params(
            pagina=pagina,
            limite=limite,
            id_contato=id_contato,
            ids_situacoes=ids_situacoes,
            data_inicial=data_inicial,
            data_final=data_final,
            data_alteracao_inicial=data_alteracao_inicial,
            data_alteracao_final=data_alteracao_final,
            data_prevista_inicial=data_prevista_inicial,
            data_prevista_final=data_prevista_final,
            numero=numero,
            id_loja=id_loja,
            id_vendedor=id_vendedor,
            id_controle_caixa=id_controle_caixa,
            numeros_lojas=numeros_lojas,
            id_unidade_negocio=id_unidade_negocio,
        ),
    )

obter

obter(id_pedido_venda: int) -> JsonObject

Obtém um pedido de venda.

Endpoint: GET /pedidos/vendas/{idPedidoVenda}

Obtém um pedido de venda pelo ID.

Parameters:

Name Type Description Default
id_pedido_venda int

ID do pedido de venda (Bling: idPedidoVenda, integer, obrigatório)

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: VendasDadosBaseDTO, VendasDadosDTO; 404: ErrorResponse

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

    Endpoint: GET /pedidos/vendas/{idPedidoVenda}

    Obtém um pedido de venda pelo ID.

    Args:
        id_pedido_venda: ID do pedido de venda (Bling: ``idPedidoVenda``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 200: VendasDadosBaseDTO, VendasDadosDTO; 404: ErrorResponse
    """
    return self._get(f"/pedidos/vendas/{id_pedido_venda}")

criar

criar(dados: PedidosVendasPostRequest) -> JsonObject

Cria um pedido de venda.

Endpoint: POST /pedidos/vendas

Cria um pedido de venda.

Parameters:

Name Type Description Default
dados PedidosVendasPostRequest

Payload do pedido. Use PedidosVendasPostRequest 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, VendasResponse_POST_PUT; 400: ErrorResponse

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

    Endpoint: POST /pedidos/vendas

    Cria um pedido de venda.

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

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

alterar

alterar(
    id_pedido_venda: int, dados: PedidosVendasIdPedidoVendaPutRequest
) -> JsonObject

Altera um pedido de venda.

Endpoint: PUT /pedidos/vendas/{idPedidoVenda}

Altera um pedido de venda pelo ID.

Parameters:

Name Type Description Default
id_pedido_venda int

ID do pedido de venda (Bling: idPedidoVenda, integer, obrigatório)

required
dados PedidosVendasIdPedidoVendaPutRequest

Payload do pedido. Use PedidosVendasIdPedidoVendaPutRequest 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, VendasResponse_POST_PUT; 400: ErrorResponse; 404: ErrorResponse

Source code in src/bling_erp_api/resources/sales_orders.py
def alterar(
    self, id_pedido_venda: int, dados: PedidosVendasIdPedidoVendaPutRequest
) -> JsonObject:
    """Altera um pedido de venda.

    Endpoint: PUT /pedidos/vendas/{idPedidoVenda}

    Altera um pedido de venda pelo ID.

    Args:
        id_pedido_venda: ID do pedido de venda (Bling: ``idPedidoVenda``, integer, obrigatório)
        dados: Payload do pedido. Use ``PedidosVendasIdPedidoVendaPutRequest`` para uso
            tipado ou um objeto JSON com os nomes de campos do Bling.

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

remover

remover(id_pedido_venda: int) -> JsonObject

Remove um pedido de venda.

Endpoint: DELETE /pedidos/vendas/{idPedidoVenda}

Remove um pedido de venda pelo ID.

Parameters:

Name Type Description Default
id_pedido_venda int

ID do pedido de venda (Bling: idPedidoVenda, 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/sales_orders.py
def remover(self, id_pedido_venda: int) -> JsonObject:
    """Remove um pedido de venda.

    Endpoint: DELETE /pedidos/vendas/{idPedidoVenda}

    Remove um pedido de venda pelo ID.

    Args:
        id_pedido_venda: ID do pedido de venda (Bling: ``idPedidoVenda``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 400: ErrorResponse; 404: ErrorResponse
    """
    return self._delete(f"/pedidos/vendas/{id_pedido_venda}")

remover_varios

remover_varios(ids_pedidos_vendas: Sequence[int]) -> JsonObject

Remove vários pedidos de venda.

Endpoint: DELETE /pedidos/vendas

Remove vários pedidos de venda pelos IDs.

Parameters:

Name Type Description Default
ids_pedidos_vendas Sequence[int]

IDs dos pedidos de venda (Bling: idsPedidosVendas[], array, obrigatório)

required

Returns:

Type Description
JsonObject

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

Source code in src/bling_erp_api/resources/sales_orders.py
def remover_varios(self, ids_pedidos_vendas: Sequence[int]) -> JsonObject:
    """Remove vários pedidos de venda.

    Endpoint: DELETE /pedidos/vendas

    Remove vários pedidos de venda pelos IDs.

    Args:
        ids_pedidos_vendas: IDs dos pedidos de venda (Bling: ``idsPedidosVendas[]``, array, obrigatório)

    Returns:
        Bling API response. Response schemas: 400: ErrorResponse; 404: ErrorResponse
    """
    return self._delete(
        "/pedidos/vendas", params={"idsPedidosVendas[]": list(ids_pedidos_vendas)}
    )

alterar_situacao

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

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

Endpoint: PATCH /pedidos/vendas/{idPedidoVenda}/situacoes/{idSituacao}

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

Parameters:

Name Type Description Default
id_pedido_venda int

ID do pedido de venda (Bling: idPedidoVenda, integer, obrigatório)

required
id_situacao int

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

    Endpoint: PATCH /pedidos/vendas/{idPedidoVenda}/situacoes/{idSituacao}

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

    Args:
        id_pedido_venda: ID do pedido de venda (Bling: ``idPedidoVenda``, integer, obrigatório)
        id_situacao: ID da situação do pedido de venda (Bling: ``idSituacao``, integer, obrigatório)

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