---
title: Bling
slug: bling
description: Learn how to utilize the Bling platform, a reliable business management tool perfect for small and medium-sized companies, with this comprehensive document. Discover how to easily create a flow using the Bling connector and configure it with customizable 
docTags: 
createdAt: 2023-06-06T17:35:05.000Z
---

## Objetivo

O conector **Bling** permite integrar fluxos da plataforma Fluid com o ERP Bling, utilizando a **API v3** com autenticação OAuth 2.0.

Com ele é possível consultar, criar e atualizar entidades do Bling diretamente em seus fluxos de automação.

Principais cenários:

- Sincronização de catálogo de produtos entre o Bling e plataformas de e-commerce.
- Consulta e criação de pedidos de venda e compra de forma automatizada.
- Gestão de contatos (clientes e fornecedores) via fluxo.
- Monitoramento de estoque com atualização em tempo real.
- Consulta e emissão de notas fiscais eletrônicas (NF-e, NFC-e, NFS-e).

***

## Configuração da conexão

### Como configurar no painel da Fluid

1. Acesse **Conexões** > **Nova conexão** > **Bling**.
2. Preencha os campos visíveis da conexão:
   - **ID do Cliente**: Identificador do aplicativo cadastrado no Bling.
   - **Chave Secreta do Cliente**: Chave secreta do aplicativo cadastrado no Bling.
3. Clique em **Salvar conexão**. A Fluid abrirá automaticamente a tela de consentimento do Bling para que você autorize o acesso.
4. Após a autorização, a conexão será estabelecida e estará pronta para uso nos fluxos.

:::hint{type="info" indent="2"}
A conexão utiliza OAuth 2.0 com authorization\_code. O fluxo de autorização é iniciado automaticamente pela Fluid — você não precisa configurar URLs de token ou parâmetros adicionais.
:::

### Requisitos (criando a conexão)

Para configurar a conexão, você precisa de um **aplicativo cadastrado** na Central de Extensões do Bling (Configurações > Cadastro de Aplicativos). O aplicativo fornecerá o **ID do Cliente** e a **Chave Secreta do Cliente** necessários. Ao cadastrar o aplicativo no Bling, informe a seguinte URL de redirecionamento:

```javascript
https://sandbox.console.fluidapi.io
```

### Campos da conexão

| Campo                    | Tipo     | Obrigatório | Descrição                                        |
| ------------------------ | -------- | ----------- | ------------------------------------------------ |
| ID do Cliente            | `string` | Sim         | Identificador do aplicativo cadastrado no Bling. |
| Chave Secreta do Cliente | `string` | Sim         | Chave secreta do aplicativo cadastrado no Bling. |

***

### Observações de segurança

- A **Chave Secreta do Cliente** é sensível — trate-a como uma senha. Nunca a exponha em logs ou repositórios.
- A Fluid gerencia automaticamente o ciclo de vida dos tokens OAuth 2.0, incluindo o refresh quando necessário.
- Certifique-se de que os **escopos** configurados no aplicativo Bling correspondem às operações que você pretende executar nos fluxos.
- A API v3 do Bling pode exigir que o aplicativo passe pelo processo de **homologação** antes do uso em produção.

***

## Configurando um fluxo

### Recurso: Produtos

### Operação: Listar Produtos

Retorna uma lista paginada de produtos cadastrados no Bling, com suporte a filtros avançados.

### Campos da operação

| Campo                    | Tipo       | Obrigatório | Descrição                                                                       |
| ------------------------ | ---------- | ----------- | ------------------------------------------------------------------------------- |
| Página                   | `integer`  | Não         | Número da página de resultados. Padrão: `1`.                                    |
| Limite                   | `integer`  | Não         | Registros por página. Padrão e máximo: `100`.                                   |
| Critério                 | `integer`  | Não         | Filtro de situação: `1` Ativo, `2` Inativo, `3` Excluído. Padrão: `1`.          |
| Tipo                     | `string`   | Não         | Tipo do produto: `P` Produto, `S` Serviço, `E` Composição. Padrão: `T` (Todos). |
| Código (SKU)             | `string`   | Não         | Código(s) SKU para filtrar. Separe múltiplos com vírgula, sem espaços.          |
| ID do Contato            | `integer`  | Não         | Filtro por contato vinculado ao produto.                                        |
| Data de inclusão inicial | `datetime` | Não         | Data/hora inicial de inclusão. Formato: `YYYY-MM-DD HH:MM:SS`.                  |
| Data de inclusão final   | `datetime` | Não         | Data/hora final de inclusão. Formato: `YYYY-MM-DD HH:MM:SS`.                    |

***

### Operação: Consultar Produto

Retorna os detalhes completos de um produto específico pelo seu ID.

### Campos da operação

| Campo      | Tipo      | Obrigatório | Descrição                                |
| ---------- | --------- | ----------- | ---------------------------------------- |
| ID Produto | `integer` | Sim         | Identificador único do produto no Bling. |

***

### Recurso: Pedidos de Venda

### Operação: Listar Pedidos de Venda

Retorna uma lista paginada de pedidos de venda com suporte a filtros por data, contato e situação.

### Campos da operação

| Campo                     | Tipo       | Obrigatório | Descrição                                                              |
| ------------------------- | ---------- | ----------- | ---------------------------------------------------------------------- |
| Página                    | `integer`  | Não         | Número da página de resultados. Padrão: `1`.                           |
| Limite                    | `integer`  | Não         | Registros por página. Padrão e máximo: `100`.                          |
| ID do Contato             | `integer`  | Não         | Filtro por contato (cliente) vinculado ao pedido.                      |
| IDs dos Pedidos           | `string`   | Não         | Um ou mais IDs de pedidos. Separe múltiplos com vírgula, sem espaços.  |
| Data de venda inicial     | `date`     | Não         | Data inicial da venda. Formato: `YYYY-MM-DD`.                          |
| Data de saída final       | `date`     | Não         | Data final de saída do pedido. Formato: `YYYY-MM-DD`.                  |
| Data de alteração inicial | `datetime` | Não         | Data/hora inicial da última alteração. Formato: `YYYY-MM-DD HH:MM:SS`. |

***

### Operação: Consultar Pedido de Venda

Retorna os detalhes completos de um pedido de venda específico pelo seu ID.

### Campos da operação

| Campo     | Tipo      | Obrigatório | Descrição                               |
| --------- | --------- | ----------- | --------------------------------------- |
| ID Pedido | `integer` | Sim         | Identificador único do pedido de venda. |

***

### Operação: Criar Pedido de Venda

Cria um novo pedido de venda no Bling.

### Campos da operação

| Campo       | Tipo     | Obrigatório | Descrição                                                       |
| ----------- | -------- | ----------- | --------------------------------------------------------------- |
| Contato     | `object` | Sim         | Objeto com o `id` do contato (cliente) vinculado ao pedido.     |
| Itens       | `array`  | Sim         | Lista de itens do pedido (produto, quantidade, valor unitário). |
| Data        | `date`   | Não         | Data do pedido. Formato: `YYYY-MM-DD`. Padrão: data atual.      |
| Loja        | `object` | Não         | Objeto com o `id` da loja de origem do pedido.                  |
| Observações | `string` | Não         | Observações internas do pedido.                                 |

:::hint{type="info" indent="2"}
**Estrutura do campo Itens**

Cada item do array deve conter\:produto.id — ID do produto no Bling (obrigatório).quantidade — Quantidade do item (obrigatório).valor — Valor unitário do item. Caso omitido, utilizará o preço cadastrado no produto.
:::

***

### Operação: Atualizar Status do Pedido de Venda

Atualiza a situação de um pedido de venda existente.

### Campos da operação

| Campo       | Tipo      | Obrigatório | Descrição                                                                |
| ----------- | --------- | ----------- | ------------------------------------------------------------------------ |
| ID Pedido   | `integer` | Sim         | Identificador único do pedido de venda.                                  |
| ID Situação | `integer` | Sim         | ID da nova situação. Obtido via operação **Listar Situações do Módulo**. |

:::hint{type="warning" indent="2"}
**Atenção ao alterar situações**

Algumas transições de situação no Bling são irreversíveis (ex: pedido cancelado ou faturado). Valide as regras de negócio do Bling antes de automatizar mudanças de status em produção.
:::

***

### Recurso: Pedidos de Compra

### Operação: Listar Pedidos de Compra

Retorna uma lista paginada de pedidos de compra.

### Campos da operação

| Campo         | Tipo      | Obrigatório | Descrição                                            |
| ------------- | --------- | ----------- | ---------------------------------------------------- |
| Página        | `integer` | Não         | Número da página de resultados. Padrão: `1`.         |
| Limite        | `integer` | Não         | Registros por página. Padrão e máximo: `100`.        |
| ID do Contato | `integer` | Não         | Filtro por fornecedor vinculado ao pedido de compra. |

***

### Operação: Consultar Pedido de Compra

Retorna os detalhes completos de um pedido de compra específico.

### Campos da operação

| Campo     | Tipo      | Obrigatório | Descrição                                |
| --------- | --------- | ----------- | ---------------------------------------- |
| ID Pedido | `integer` | Sim         | Identificador único do pedido de compra. |

***

### Recurso: Contatos

### Operação: Listar Contatos

Retorna uma lista paginada de contatos (clientes e fornecedores) cadastrados no Bling.

### Campos da operação

| Campo                    | Tipo       | Obrigatório | Descrição                                                              |
| ------------------------ | ---------- | ----------- | ---------------------------------------------------------------------- |
| Página                   | `integer`  | Não         | Número da página de resultados. Padrão: `1`.                           |
| Limite                   | `integer`  | Não         | Registros por página. Padrão e máximo: `100`.                          |
| Critério                 | `integer`  | Não         | Filtro de situação: `1` Ativo, `2` Inativo, `3` Excluído. Padrão: `1`. |
| Data de inclusão inicial | `datetime` | Não         | Data/hora inicial de inclusão. Formato: `YYYY-MM-DD HH:MM:SS`.         |

***

### Operação: Consultar Contato

Retorna os detalhes completos de um contato específico pelo seu ID.

### Campos da operação

| Campo      | Tipo      | Obrigatório | Descrição                                |
| ---------- | --------- | ----------- | ---------------------------------------- |
| ID Contato | `integer` | Sim         | Identificador único do contato no Bling. |

***

### Operação: Criar Contato

Cria um novo contato (cliente ou fornecedor) no Bling.

### Campos da operação

| Campo       | Tipo     | Obrigatório | Descrição                                           |
| ----------- | -------- | ----------- | --------------------------------------------------- |
| Nome        | `string` | Sim         | Nome ou razão social do contato.                    |
| Tipo Pessoa | `string` | Não         | `F` Física ou `J` Jurídica.                         |
| CPF/CNPJ    | `string` | Não         | Documento do contato (apenas números).              |
| Email       | `string` | Não         | Endereço de e-mail do contato.                      |
| Telefone    | `string` | Não         | Telefone de contato.                                |
| Tipo        | `object` | Não         | Objeto indicando se é cliente, fornecedor ou ambos. |

***

### Operação: Atualizar Contato

Atualiza os dados de um contato existente no Bling.

### Campos da operação

| Campo      | Tipo      | Obrigatório | Descrição                                                            |
| ---------- | --------- | ----------- | -------------------------------------------------------------------- |
| ID Contato | `integer` | Sim         | Identificador único do contato a ser atualizado.                     |
| Campos     | `object`  | Sim         | Objeto com os campos a serem atualizados (mesma estrutura do Criar). |

***

### Recurso: Estoques

### Operação: Consultar Estoque

Retorna as informações de saldo em estoque de um produto específico.

### Campos da operação

| Campo      | Tipo      | Obrigatório | Descrição                                |
| ---------- | --------- | ----------- | ---------------------------------------- |
| ID Produto | `integer` | Sim         | Identificador único do produto no Bling. |

:::hint{type="info" indent="2"}
**Estoque por depósito**

﻿A resposta inclui o saldo consolidado e o detalhamento por depósito cadastrado no Bling. Utilize o campo depositos no retorno para verificar a distribuição do estoque.
:::

***

### Recurso: Notas Fiscais

### Operação: Listar Notas Fiscais

Retorna uma lista paginada de notas fiscais eletrônicas (NF-e).

### Campos da operação

| Campo                   | Tipo      | Obrigatório | Descrição                                       |
| ----------------------- | --------- | ----------- | ----------------------------------------------- |
| Página                  | `integer` | Não         | Número da página de resultados. Padrão: `1`.    |
| Limite                  | `integer` | Não         | Registros por página. Padrão e máximo: `100`.   |
| Situação                | `integer` | Não         | Filtro por situação da nota fiscal.             |
| Data de emissão inicial | `date`    | Não         | Data inicial de emissão. Formato: `YYYY-MM-DD`. |
| Data de emissão final   | `date`    | Não         | Data final de emissão. Formato: `YYYY-MM-DD`.   |

***

### Operação: Consultar Nota Fiscal

Retorna os detalhes completos de uma nota fiscal específica pelo seu ID.

### Campos da operação

| Campo | Tipo      | Obrigatório | Descrição                                    |
| ----- | --------- | ----------- | -------------------------------------------- |
| ID NF | `integer` | Sim         | Identificador único da nota fiscal no Bling. |

***

### Recurso: Módulos e Situações

### Operação: Listar Módulos

Retorna a lista de módulos disponíveis no Bling com seus respectivos IDs. Útil para identificar o `idModuloSistema` necessário na operação **Listar Situações do Módulo**.

Nenhum campo obrigatório.

***

### Operação: Listar Situações do Módulo

Retorna as situações disponíveis para um módulo específico do Bling (ex: situações de pedidos de venda, de compra, etc.).

### Campos da operação

| Campo             | Tipo      | Obrigatório | Descrição                                                         |
| ----------------- | --------- | ----------- | ----------------------------------------------------------------- |
| ID Módulo Sistema | `integer` | Sim         | Identificador do módulo. Obtenha via operação **Listar Módulos**. |

:::hint{type="info"}
**Como usar Módulos e Situações**

O padrão recomendado é encadear dois passos no fluxo\:Listar Módulos → identifica o ID do módulo desejado (ex: Pedidos de Venda).Listar Situações do Módulo → com o ID obtido, retorna todas as situações disponíveis para aquele módulo.Isso garante que os IDs de situação utilizados em outras operações (ex: Atualizar Status do Pedido) sejam sempre válidos e atualizados.
:::

***

## Na prática

Neste tópico criaremos um exemplo de um fluxo utilizando o conector da Bling. O fluxo terá apenas um passo que será responsável pelo envio de um pedido para o sistema Bling. Enviaremos um payload de entrada, que passará por uma transformação em nosso [De/para](docId\:VOQdaUkjjknbSWVRHbzQW), onde será validado algumas [Rules](docId\:lgqSmyrXokYm9hGjtOtKL), e por fim montaremos o XML necessário para inserir o pedido na Bling usando um [Template](docId\:TReaJH8tvdyh6uKYEAQZP).

![](https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/wUoJkAZluVlvbJT1p7oiM_image.png)

### Passo 'envia-pedido'

Este primeiro e unico passo irá inserir o pedido no sitema Bling somente se todas as [Rules](docId\:lgqSmyrXokYm9hGjtOtKL) mandatórias forem atendidas. Assim ficará a `Parametrização` do envia-pedido:

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/2ZEKVGfn6RFhbgFf7XCmG_image.png" size="70" width="419" height="594" position="center" darkWidth="419" darkHeight="594" showCaption="false"}

Para tratar os dados recebidos do payload de entrada usamos o [De/para](docId\:VOQdaUkjjknbSWVRHbzQW). E por fim utilizamos o Template para montar o XML da requisição que a operação espera.

Assim ficou nosso De/Para:

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/cgRM6qfB007GIZRGJc-8t_image.png" size="70" width="468" height="470" position="center" darkWidth="468" darkHeight="470" showCaption="false"}

*Para mais informações sobre como tratamos de/paras clique em&#x20;*[saiba mais](docId\:VOQdaUkjjknbSWVRHbzQW)*.*

*Se observar, alguns valores do nosso de/para estão sendo referenciado algumas rules, essas são rules internas, para mais informações acesse nossa documentação sobre&#x20;*[Rules](docId\:lgqSmyrXokYm9hGjtOtKL)*.*

Assim ficou nossas rules:

```json
[
    {
        "idRule": "clienteNome",
        "rule": "{\"cat\": [ {\"var\":\"customer.firstName\"}, \" \", {\"var\":\"customer.lastName\"} ]}",
        "type": "internal",
        "description": "Concatena o primeiro e último nome do cliente."
    },
    {
        "idRule": "1",
        "rule": "{ \"if\" : [{\"==\" : [ { \"var\" : \"status.name\" }, \"status.paid\" ] }] }",
        "type": "mandatory"
    },
    {
        "idRule": "verificaTipoPessoa",
        "rule": "{\"if\":[{\"missing\":[\"customer.companyName\"]},\"F\", \"J\"]}",
        "type": "internal"
    },
    {
        "idRule": "formaPagamento",
        "rule": "{\"if\":[{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"payment.method.ailospag\"]}]},\"2849028\", {\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"payment.method.boleto\"]}]},\"2849032\", {\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"payment.method.pix\"]}]},\"2849027\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"payment.method.deposit\"]}]},\"2849031\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"payment.method.creditcard.mastercard\"]}]},\"2849055\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"'payment.method.creditcard.visa\"]}]},\"2849058\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"'payment.method.creditcard.americanexpress\"]}]},\"2849054\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"'payment.method.creditcard.aura'\"]}]},\"2849043\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"'payment.method.creditcard.bnds'\"]}]},\"2849033\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"'payment.method.creditcard.dinners'\"]}]},\"2849048\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"payment.method.creditcard.discover\"]}]},\"2849044\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"payment.method.creditcard.elo\"]}]},\"2849049\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"payment.method.creditcard.hiperCard\"]}]},\"2849041\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"payment.method.creditcard.jcb\"]}]},\"2849045\",{\"some\":[{\"var\":\"paymentMethods\"},{\"==\":[{\"var\":\".name\"},\"payment.method.creditcard.oipaggo\"]}]},\"2849036\"]}",
        "type": "internal"
    },
    {
        "idRule": "fluid",
        "rule": "{ \"if\" : [{\"==\" : [ { \"var\" : \"shoppingStore.referenceCode\" }, \"fluid\" ] }] }",
        "type": "mandatory"
    },
    {
        "idRule": "desconto",
        "rule": "{ \"-\" : [{ \"var\" : \"promotionDiscount\" }, { \"var\" : \"shippingDiscount\" } ] }",
        "type": "internal"
    },
    {
        "idRule": "complemento",
        "rule": "{ \"if\" : [{\"!!\" : [ { \"var\" : \"customer.address.complement\" }] },{ \"var\" : \"customer.address.complement\" }, \"\"] }",
        "type": "internal"
    }
]
```

E por fim, o template no formato esperado pela Bling:

![](https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/JvYW4aXLKBUXS2yS9dSN5_image.png)

Na aba `Propriedades` informamos o nome do passo e a conexão criada com a credencial da Bling:

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/v9WF7TvWsv9E8d_V2_Fqh_image.png" size="70" width="415" height="566" position="center" darkWidth="415" darkHeight="566" showCaption="false"}

### Conclusão

Com o passo configurado basta disparar o fluxo informando o payload de entrada, para este caso termos esse a seguir:

```json
{
    "number": "2304449953",
    "total": 3611,
    "promotionDiscount": 0,
    "shippingIpi": 0,
    "taxSubstitution": 0,
    "grossAmount": 3611,
    "createdAt": "2023-04-20 11:22:16",
    "updatedAt": "2023-04-24 10:50:13",
    "deletedAt": null,
    "shippingTotal": 0,
    "shippingDiscount": 0,
    "masterSale": {
        "number": "2304637439"
    },
    "status": {
        "name": "status.paid",
        "info": "Comprador n\u00e3o tem cr\u00e9dito pr\u00e9 aprovado",
        "createdAt": "2023-04-24 10:50:13",
        "updatedBy": {
            "email": null,
            "isAPI": false,
            "isSystem": true
        }
    },
    "items": [
        {
            "name": "iPhone 11 64GB Branco (3798643)",
            "quantity": 1,
            "unitPrice": 3611,
            "totalPrice": 3611,
            "promotionDiscount": 0,
            "grossAmount": 3611,
            "taxSubstitution": 0,
            "trackingCode": null,
            "additionalTo": null,
            "shippingIpi": 0,
            "variant": {
                "id": 36617,
                "referenceCode": "3798643",
                "productReferenceCode": "3798643",
                "eanCode": "194252097403",
                "presentation": "iPhone 11 64GB Branco",
                "url": "\/loja\/malibu-shop\/produto\/3798643\/3798643",
                "price": 3611,
                "promotionalPrice": null,
                "master": true,
                "masterImage": null,
                "isFractionalStock": false,
                "stock": {
                    "quantity": 9,
                    "minimumQuantity": 2,
                    "enabled": true,
                    "distributionCenter": {
                        "referenceCode": "malibu-shop",
                        "postcode": "85601000",
                        "city": "Francisco Beltr\u00e3o",
                        "state": "PR",
                        "country": "Brasil",
                        "district": "Centro",
                        "street": "Avenida J\u00falio Assis Cavalheiro",
                        "complement": "",
                        "number": 390
                    }
                },
                "distributionCenterList": [
                    {
                        "quantity": 9,
                        "minimumQuantity": 2,
                        "enabled": true,
                        "distributionCenter": {
                            "referenceCode": "malibu-shop",
                            "postcode": "85601000",
                            "city": "Francisco Beltr\u00e3o",
                            "state": "PR",
                            "country": "Brasil",
                            "district": "Centro",
                            "street": "Avenida J\u00falio Assis Cavalheiro",
                            "complement": "",
                            "number": 390
                        }
                    }
                ],
                "priceList": null,
                "dimensionGroup": {
                    "height": 40,
                    "width": 15,
                    "depth": 15,
                    "weight": 0.4
                },
                "additionalDeliveryTime": 0,
                "availableAt": null,
                "deletedAt": null
            },
            "shippingAddress": {
                "postCode": "89053180",
                "city": "Blumenau",
                "state": "SC",
                "country": "Brasil",
                "street": "Rua Soldado M\u00e1rio Luiz Bertolini",
                "district": "Itoupava Norte",
                "complement": "Zouk",
                "number": 416
            },
            "promotionsApplied": [],
            "taxSubstitutionApplied": null,
            "taxSubstitutionsApplied": [],
            "shippingMethod": {
                "name": "Bauer Transportes",
                "referenceCode": "343243224222",
                "referenceCodeService": null,
                "estimatedDeliveryFrom": 3,
                "estimatedDeliveryTo": 5,
                "deliveryTimeFrom": null,
                "deliveryTimeTo": null,
                "price": 0,
                "originalPrice": 0,
                "discountApplied": 0,
                "carrier": {
                    "referenceCode": "343243224222",
                    "name": "Bauer Transportes"
                },
                "observations": null,
                "quoteId": null,
                "gatewayInfo": []
            },
            "properties": [],
            "itemsKit": [],
            "giftList": null,
            "bookingStartDate": null,
            "bookingEndDate": null,
            "aliquotsApplied": [],
            "aliquotsTotal": 0
        }
    ],
    "promotionsApplied": [],
    "customer": {
        "firstName": "Thauan",
        "lastName": "Mendes",
        "gender": 1,
        "dateOfBirth": "1995-01-16",
        "identityNumber": "04542582248",
        "primaryPhone": "(91) 98569-1218",
        "secondPhone": null,
        "address": {
            "postCode": "89053180",
            "city": "Santo André",
            "state": "SP",
            "country": "Brasil",
            "street": "Av João Pessoa",
            "district": "Jardim Utinga",
            "complement": "Zouk",
            "number": 657
        },
        "createdAt": "2023-04-20 10:18:35",
        "updatedAt": "2023-04-21 02:07:55",
        "customerType": {
            "name": "Cooperados Viacredi",
            "referenceCode": "CooperadosViacredi",
            "usesTaxSubstitution": false,
            "priceList": null
        },
        "priceList": null,
        "email": "thauan.mendes@fluidapi.io"
    },
    "user": {
        "responsible": "Thauan Mendes",
        "email": "thauan.mendes@fluidapi.io"
    },
    "paymentMethods": [
        {
            "name": "payment.method.negotiable",
            "installments": null,
            "amount": 3611,
            "discount": 0,
            "addition": 0,
            "boletoRule": null,
            "interestValue": 0,
            "boletoUrl": null,
            "creditCardToken": null,
            "authorizationCode": null,
            "transactionId": null,
            "nsu": null,
            "pixPaymentKey": null
        }
    ],
    "orderGatewayInfo": null,
    "shoppingStore": {
        "id": 2181,
        "name": "Malibu Shop",
        "createdAt": "2022-11-01 16:03:54",
        "updatedAt": "2022-11-08 15:46:27",
        "referenceCode": "fluid",
        "logoUrl": "\/\/d8vlg9z1oftyc.cloudfront.net\/ailos\/image\/media\/logo-malibu-shop-63616d9bad209.jpeg",
        "faviconUrl": null,
        "primaryPhone": "(46) 99983-4080",
        "domain": "",
        "email": "contato@malibushop.com.br",
        "userEmail": "contato@malibushop.com.br",
        "cnpj": "43.827.066\/0001-62",
        "stateRegistration": "",
        "responsibleName": "Lucas Rodrigues Rolin",
        "companyName": "TecBel Importa\u00e7\u00e3o e Exporta\u00e7\u00e3o LTDA",
        "tradeName": "Malibu Shop",
        "isEnabled": true,
        "isActivated": true,
        "address": "Avenida J\u00falio Assis Cavalheiro, 390, Centro, Francisco Beltr\u00e3o, PR, 85601-000, Brasil",
        "addressObject": null,
        "distributionCenter": {
            "referenceCode": "malibu-shop",
            "postcode": "85601000",
            "city": "Francisco Beltr\u00e3o",
            "state": "PR",
            "country": "Brasil",
            "district": "Centro",
            "street": "Avenida J\u00falio Assis Cavalheiro",
            "complement": "",
            "number": 390
        },
        "descriptionLong": null,
        "descriptionShort": null,
        "socialMedia": {
            "facebookUrl": null,
            "twitterUrl": null,
            "youtubeUrl": null,
            "googleplusUrl": null,
            "instagramUrl": null
        },
        "attributeValues": [
            {
                "name": "Segmento",
                "referenceCode": "segmento",
                "value": "Tecnologia"
            },
            {
                "name": "Whatsapp",
                "referenceCode": "whatsapp",
                "value": "(46) 99983-4080"
            },
            {
                "name": "Li e aceito os termos de uso",
                "referenceCode": "termos-vendedor",
                "value": "Sim"
            },
            {
                "name": "IP Cadastro",
                "referenceCode": "ip-cadastro-vendedor",
                "value": "187.60.223.157"
            },
            {
                "name": "Vers\u00e3o termos de uso",
                "referenceCode": "versao-aceite-termos-vendedor",
                "value": "v1"
            },
            {
                "name": "Entrega produtos no prazo",
                "referenceCode": "entrega-produtos-no-prazo",
                "value": "N\u00e3o"
            },
            {
                "name": "Exibir n\u00famero Whatsapp no an\u00fancio",
                "referenceCode": "exibir-whatsapp",
                "value": "Sim"
            },
            {
                "name": "Cooperativa",
                "referenceCode": "campo-cooperativa",
                "value": "Evolua"
            },
            {
                "name": "Selo 1 - CDL Blumenau",
                "referenceCode": "selo-1-cdl-blumenau",
                "value": "N\u00e3o"
            },
            {
                "name": "Selo 2 - AEMFLO",
                "referenceCode": "selo-2-aemflo",
                "value": "N\u00e3o"
            },
            {
                "name": "Selo 3",
                "referenceCode": "selo-3",
                "value": "N\u00e3o"
            },
            {
                "name": "Selo 4",
                "referenceCode": "selo-4",
                "value": "N\u00e3o"
            },
            {
                "name": "Selo 5",
                "referenceCode": "selo-5",
                "value": "N\u00e3o"
            },
            {
                "name": "Selo 6",
                "referenceCode": "selo-6",
                "value": "N\u00e3o"
            }
        ]
    },
    "agent": null,
    "agents": null,
    "subscription": null,
    "attributeValues": [
        {
            "name": "E-mail do cliente",
            "referenceCode": "ailospag-user-email",
            "value": "thauan.mendes@fluidapi.io"
        },
        {
            "name": "CPF",
            "referenceCode": "ailospag-cpf",
            "value": "04542582248"
        },
        {
            "name": "Cooperativa",
            "referenceCode": "ailospag-coop-name",
            "value": "Viacredi"
        },
        {
            "name": "Vencimento 1\u00aa parcela",
            "referenceCode": "ailospag-venc-parcela",
            "value": "1\u00ba parcela: 20\/5\/2023"
        },
        {
            "name": "Parcelas",
            "referenceCode": "ailospag-valor-parcela",
            "value": "18"
        }
    ]
}
```

![](https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/ffQ8C49Uo0tk-aHcXlriN_image.png)

Após o disparo, o resultado do fluxo aparecerá em realtime no canvas:

![](https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/uMC8wmjl5fKUD00mNFKzw_image.png)

Ao clicar em detalhes, temos a requisição e a resposta retornada pela Bling:

***

## Observações adicionais

- **Rate limit**: A API v3 do Bling possui limites de requisições por minuto. Consulte a [documentação oficial](https://developer.bling.com.br) para os valores atuais e planeje fluxos de alto volume com paginação e controle de cadência.
- **Paginação**: Todas as operações de listagem utilizam paginação. Para processar grandes volumes, encadeie o conector em loops controlando o campo `página`.
- **Escopos**: Cada operação exige um escopo específico autorizado no aplicativo Bling. Certifique-se de que os escopos necessários estão habilitados antes de executar.
- **Homologação**: Aplicativos novos precisam passar pelo processo de homologação do Bling antes de operar em contas de produção. Utilize o ambiente de testes para desenvolvimento e validação.
- **IDs como referência**: Na API v3, o `id` (inteiro) é o identificador padrão para todas as entidades. Diferentemente da v2, o código/SKU não é mais utilizado como chave primária nas chamadas.

## Conclusão

O conector Bling integra a Fluid ao ERP Bling utilizando a API v3 com OAuth 2.0, permitindo automatizar operações de produtos, pedidos, contatos, estoques e notas fiscais de forma segura e escalável. A autenticação via OAuth garante controle granular de permissões por escopo, enquanto a estrutura REST da API v3 oferece respostas consistentes e previsíveis para construção de fluxos robustos.
