FluaView API (1.0)

Download OpenAPI specification:

API pública de integração ao FluaView. A nossa API é super simples de usar e foi projetada para ser intuitiva. Você pode começar a integrar rapidamente, seguindo os exemplos fornecidos. Sobre o versionamento, a API é versionada através do número da versão no subdomínio, por exemplo: apiv1.fluaview.com. Só existe break change quando o número da versão é alterado. Ou seja, 1.0 e 1.5 são compatíveis, e você não precisa alterar nada na sua integração e o dominio continua o mesmo. A única coisa que pode mudar é a documentação e campos opcionais que podem ser adicionados. Já APIs 1.0 e 2.0 não são compatíveis, e você precisa alterar a sua integração para continuar funcionando e o domínio também muda, por exemplo: apiv2.fluaview.com. Na documentação geral você encontrará a lista de versões disponíveis e os links para a documentação de cada versão.

Criar Evento Produto

Cria o registro de um evento do tipo "purchase". O evento deve conter informações detalhadas da compra, incluindo valor, itens, cliente, método de pagamento, e dados de contexto do evento. O evento será processado e ficará disponível nos relatórios e tabelas do FluaView.

Request Body schema: application/json
required
type
required
string
Value: "PRODUCT_VIEWED"

Tipo do evento. Valores permitidos: PPRODUCT_VIEWED

eventAt
required
string <date-time>

Data/hora do evento (ISO 8601) use o horário UTC. Horários que não estão em UTC podem causar problemas de sincronização e análise. O formato recomendado é o ISO 8601, que é amplamente utilizado para representar datas e horas em sistemas de computação. Por exemplo, "2024-08-01T15:00:00Z" representa o dia 1 de agosto de 2024 às 15:00:00 UTC.

customId
required
string <= 150 characters

ID customizado e ÚNICO do produto visualizado. Esse customId (id único do produto) será usado para identificar o produto no processo de geração de relatórios e análises. É importante que o customId seja único para cada produto visualizado, pois isso permitirá rastrear o desempenho de produtos específicos ao longo do tempo. Esse customId pode ser um ID que o seu sistema gera, pode ser o SKU do produto, ou qualquer outro identificador único que você utilize para identificar produtos no seu sistema. (Obrigatório)

name
required
string <= 140 characters

Nome do item (Obrigatório). É o nome que será exibido nos relatórios e análises. Geralmente é o nome que o cliente vê no site ou aplicativo. (Obrigatório)

price
required
number

Preço do produto (Obrigatório). O preço deve ser fornecido em centavos para evitar problemas de precisão. Por exemplo, se o preço for R$ 349,90, você deve enviar 34990.

sku
string or null <= 100 characters

SKU do produto (opcional). O SKU é um identificador único usado para rastrear o produto no inventário. Se você não tiver um SKU, pode deixar esse campo vazio.

variant
string <= 100 characters

Variante do produto (opcional). Se o produto tiver variações, como tamanho ou cor, você pode especificar a variante aqui. Isso ajuda a identificar diferentes versões do mesmo produto.

category
string or null <= 100 characters

Categoria DIRETA do produto (opcional). Nós recomendamos que você especifique a categoria direta do produto. Isso ajuda a organizar e analisar produtos por categoria. Por exemplo, um tablet é um eletrônico, mas um smartwatch também é um eletrônico, porém não são a mesma coisa, sendo assim, o ideal nesse caso é que a categoria direta fosse: uma Tablet e outra Smartwatch. No caso de um produto mais complexo como: Calçado, você pode especificar a categoria direta como: Tênis (ou Tênis de Corrida Masculino), Sandália, Botas, etc. Isso ajuda a segmentar os produtos de forma mais precisa.

source
string or null <= 70 characters

Origem do evento (opcional). Indica de onde o evento foi gerado, app de mídias sociais, site, ou outro canal. Isso pode ajudar a segmentar os dados por origem.

contentSourceVersion
string or null <= 70 characters

Versão do conteúdo associado ao evento (opcional). Se o evento estiver relacionado a um conteúdo específico, como uma página de produto ou uma campanha, você pode especificar a versão do conteúdo aqui. Isso ajuda a rastrear alterações no conteúdo ao longo do tempo. Além de facilitar Testes A/B e análises de desempenho de conteúdo.

campaign
string or null <= 70 characters

Campanha associada ao evento (opcional). Se o evento estiver relacionado a uma campanha de marketing específica, você pode especificar o nome da campanha aqui. Isso ajuda a rastrear o desempenho de campanhas específicas.

medium
string or null <= 70 characters

Meio de marketing associado ao evento (opcional). Indica o meio pelo qual o evento foi gerado, como email, social media, etc. Isso pode ajudar a segmentar os dados por meio.

object or null (customerSchema)

Cliente que realizou a compra (opcional). O cliente é responsável por enviar as informações do cliente. A FluaView não valida o cliente, mas recomenda que seja um cliente válido. (opcional)

object or null (deviceSchema)

Dispositivo usado para a compra (opcional). O cliente é responsável por enviar o dispositivo usado para a compra. A FluaView não valida o dispositivo, mas recomenda que seja um dispositivo válido.

Responses

Request samples

Content type
application/json
{
  • "type": "PRODUCT_VIEWED",
  • "eventAt": "2024-08-01T15:00:00Z",
  • "customId": "1234567890",
  • "name": "Produto 1",
  • "price": 34990,
  • "sku": "NK-AIR-ZOOM-42",
  • "variant": "Preto - 42",
  • "category": "Tablet ou Tênis de Corrida Masculino",
  • "source": "instagram_story",
  • "contentSourceVersion": "1.0.0",
  • "campaign": "campanha_de_lancamento",
  • "medium": "email",
  • "customer": {
    },
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "eventId": "event-12345",
  • "status": "pending",
  • "createdAt": "2025-07-07T15:00:00Z",
  • "message": "Evento criado com sucesso"
}

Criar Evento Cart

Cria eventos relacionados ao carrinho de compras, como adição, remoção ou atualização de itens. O evento pode conter informações detalhadas do carrinho, incluindo itens, cliente, e dados de contexto do evento. O evento será processado e ficará disponível nos relatórios e tabelas do FluaView.

Request Body schema: application/json
required
type
required
string
Enum: "ECOMMERCE_CART_CREATED" "ECOMMERCE_CART_ABANDONED" "ECOMMERCE_CART_DELETED"

Tipo do evento. Define o tipo de evento. Deve ser um dos valores permitidos. ECOMMERCE_CART_CREATED é quando a pessoa adiciona ao menos um item ao carrinho. Já o ECOMMERCE_CART_ABANDONED é quando a pessoa não finaliza a compra, ou seja, abandona o carrinho, se você nunca enviar o evento ECOMMERCE_CART_ABANDONED o sistema vai contar qualquer carrinho que não tenha checkout em 24 horas como abandonado. E o ECOMMERCE_CART_DELETEDé quando a pessoa cancela a compra, ou seja, não finaliza a compra e não abandona o carrinho, mas cancela a compra de forma explícita, limpar o carrinho por exemplo. Ou quando o seu sistema, baseado em alguma regra de negócio, cancela o carrinho de compras. (Obrigatório)

eventAt
required
string <date-time>

Data/hora do evento (ISO 8601) use o horário UTC. Horários que não estão em UTC podem causar problemas de sincronização e análise. O formato recomendado é o ISO 8601, que é amplamente utilizado para representar datas e horas em sistemas de computação. Por exemplo, "2024-08-01T15:00:00Z" representa o dia 1 de agosto de 2024 às 15:00:00 UTC. (Obrigatório)

customId
required
string <= 150 characters

ID customizado e ÚNICO para o evento. Aqui o CustomID pode ser o id de compra no seu sistema, ou o ID de carrinho de compras, enfim, alguma ID relacionado aos eventos de purchase. Não será validado como Unique ID, mas é recomendado que seja único para cada evento de compra. Por que não será validado como Unique ID? Porque você pode usar um customID para agrupar eventos relacionados a uma mesma compra, como reembolsos, atualizações de status, etc. Isso permite que você tenha um controle mais granular sobre os eventos de compra sem a necessidade de um ID único global. (Obrigatório)

totalValue
required
number

Valor total da compra. O número deve ser um int, o valor deve ser representado em centavos. Por exemplo, se o valor total da compra for R$ 190,99, o valor deve ser 19099. Isso é importante para garantir que os valores sejam armazenados e processados corretamente, especialmente em sistemas financeiros onde a precisão é crucial.

totalDiscount
number or null

Valor total do desconto aplicado na compra. O número deve ser um int, o valor deve ser representado em centavos. Por exemplo, se o valor total do desconto for R$ 10,00, o valor deve ser 1000. Isso é importante para garantir que os valores sejam armazenados e processados corretamente, especialmente em sistemas financeiros onde a precisão é crucial.

totalValueWithoutDiscount
number or null

Valor total da compra com desconto aplicado. O número deve ser um int, o valor deve ser representado em centavos. Por exemplo, se o valor total da compra com desconto for R$ 180,99, o valor deve ser 18099. Isso é importante para garantir que os valores sejam armazenados e processados corretamente, especialmente em sistemas financeiros onde a precisão é crucial.

cuponCode
string or null <= 150 characters

Código do cupom utilizado na compra. O cupomCode é usado para identificar o cupom que foi aplicado na transação, permitindo rastrear quais cupons estão sendo utilizados pelos clientes e qual o impacto deles nas vendas. (opcional)

object or null

É o carrinho de compras, ou seja, os itens que foram selecionados para transação(seja antes ou após a efetivação da transação). É um array de objetos. Cada item no array tem propriedades úteis para relatórios, que inclui informações como ID do item, quantidade, preço, SKU, UPC e nome do item. (opcional)

object or null (customerSchema)

Cliente que realizou a compra (opcional). O cliente é responsável por enviar as informações do cliente. A FluaView não valida o cliente, mas recomenda que seja um cliente válido. (opcional)

object or null (deviceSchema)

Dispositivo usado para a compra (opcional). O cliente é responsável por enviar o dispositivo usado para a compra. A FluaView não valida o dispositivo, mas recomenda que seja um dispositivo válido.

Responses

Request samples

Content type
application/json
{
  • "type": "ECOMMERCE_CART_CREATED",
  • "eventAt": "2024-08-01T15:00:00Z",
  • "customId": "purchase-12345",
  • "totalValue": 19099,
  • "totalDiscount": 1000,
  • "totalValueWithoutDiscount": 18099,
  • "cuponCode": "PROMO2024",
  • "cart": {
    },
  • "customer": {
    },
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "eventId": "event-12345",
  • "status": "pending",
  • "createdAt": "2025-07-07T15:00:00Z",
  • "message": "Evento criado com sucesso"
}

Criar Evento Checkout

Cria eventos relacionados ao carrinho de compras, como adição, remoção ou atualização de itens. O evento pode conter informações detalhadas do carrinho, incluindo itens, cliente, e dados de contexto do evento. O evento será processado e ficará disponível nos relatórios e tabelas do FluaView.

Request Body schema: application/json
required
type
required
string
Enum: "ECOMMERCE_CHECKOUT_COMPLETED" "ECOMMERCE_CHECKOUT_CANCELLED"

Tipo do evento. Define o tipo de evento. Deve ser um dos valores permitidos.

eventAt
required
string <date-time>

Data/hora do evento (ISO 8601) use o horário UTC. Horários que não estão em UTC podem causar problemas de sincronização e análise. O formato recomendado é o ISO 8601, que é amplamente utilizado para representar datas e horas em sistemas de computação. Por exemplo, "2024-08-01T15:00:00Z" representa o dia 1 de agosto de 2024 às 15:00:00 UTC. (Obrigatório)

customId
required
string <= 150 characters

ID customizado e ÚNICO do checkout. Isso ajudará a identificar o checkout no processo de geração de relatórios e análises. Caso o checkout não tenha um ID único, você pode usar o ID do carrinho de compras, mesmo não sendo o ideal, porque pode afetar a precisão dos relatórios, mas ainda é possível utilizá-lo. (Obrigatório)

totalValue
required
number

Valor total da compra. O número deve ser um int, o valor deve ser representado em centavos. Por exemplo, se o valor total da compra for R$ 190,99, o valor deve ser 19099. Isso é importante para garantir que os valores sejam armazenados e processados corretamente, especialmente em sistemas financeiros onde a precisão é crucial.

totalDiscount
number or null

Valor total do desconto aplicado na compra. O número deve ser um int, o valor deve ser representado em centavos. Por exemplo, se o valor total do desconto for R$ 10,00, o valor deve ser 1000. Isso é importante para garantir que os valores sejam armazenados e processados corretamente, especialmente em sistemas financeiros onde a precisão é crucial.

totalValueWithoutDiscount
number or null

Valor total da compra com desconto aplicado. O número deve ser um int, o valor deve ser representado em centavos. Por exemplo, se o valor total da compra com desconto for R$ 180,99, o valor deve ser 18099. Isso é importante para garantir que os valores sejam armazenados e processados corretamente, especialmente em sistemas financeiros onde a precisão é crucial.

cuponCode
string or null <= 150 characters

Código do cupom utilizado na compra. O cupomCode é usado para identificar o cupom que foi aplicado na transação, permitindo rastrear quais cupons estão sendo utilizados pelos clientes e qual o impacto deles nas vendas. (opcional)

transactionId
string or null <= 140 characters

ID da transação. Esse ID é geralmente fornecido pelo sistema de pagamento e pode ser usado para rastrear a transação financeira associada à compra. É importante que o transactionId seja único para cada transação, pois ele é usado para identificar a transação no sistema de pagamento. (opcional)

paymentMethod
string or null <= 70 characters
Enum: "credit_card" "debit_card" "bank_transfer" "pix" "bank_installment" "multiple_methods" "bnpl" "bank_slip" "cash" "on_the_cuff" "digital_wallet" "voucher" "gift_card" "cryptocurrency" "other"

Método de pagamento. Em caso de mais de um método de pagamento, utilize o campo paymentMethodDescription para descrever de forma livre quais foram os métodos. O campo paymentMethod é usado para identificar o tipo de pagamento utilizado na transação, como cartão de crédito, débito, transferência bancária, etc. É importante que o valor seja um dos valores permitidos na enumeração para garantir a consistência dos dados. (opcional)

paymentMethodDescription
string or null <= 255 characters

Descrição do método de pagamento. Esse campo é usado para fornecer uma descrição mais detalhada do método de pagamento utilizado na transação. Por exemplo, se o método de pagamento for "cartão de crédito", você pode usar esse campo para especificar a bandeira do cartão, como "Visa" ou "Mastercard". Isso é útil para relatórios e análises mais detalhadas sobre os métodos de pagamento utilizados pelos clientes. (opcional)

object or null

É o carrinho de compras, ou seja, os itens que foram selecionados para transação(seja antes ou após a efetivação da transação). É um array de objetos. Cada item no array tem propriedades úteis para relatórios, que inclui informações como ID do item, quantidade, preço, SKU, UPC e nome do item. (opcional)

object or null (customerSchema)

Cliente que realizou a compra (opcional). O cliente é responsável por enviar as informações do cliente. A FluaView não valida o cliente, mas recomenda que seja um cliente válido. (opcional)

object or null (deviceSchema)

Dispositivo usado para a compra (opcional). O cliente é responsável por enviar o dispositivo usado para a compra. A FluaView não valida o dispositivo, mas recomenda que seja um dispositivo válido.

Responses

Request samples

Content type
application/json
{
  • "type": "ECOMMERCE_CHECKOUT_COMPLETED",
  • "eventAt": "2024-08-01T15:00:00Z",
  • "customId": "string",
  • "totalValue": 19099,
  • "totalDiscount": 1000,
  • "totalValueWithoutDiscount": 18099,
  • "cuponCode": "PROMO2024",
  • "transactionId": "abc123",
  • "paymentMethod": "credit_card",
  • "paymentMethodDescription": "Cartão de Crédito",
  • "cart": {
    },
  • "customer": {
    },
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "eventId": "event-12345",
  • "status": "pending",
  • "createdAt": "2025-07-07T15:00:00Z",
  • "message": "Evento criado com sucesso"
}

Criar Evento Payment

Cria eventos relacionados ao pagamento, como início, conclusão, falha ou reembolso. O evento deve conter informações detalhadas do pagamento, incluindo valor, cliente, método de pagamento, e dados de contexto do evento. O evento será processado e ficará disponível nos relatórios e tabelas do FluaView.

Request Body schema: application/json
required
type
required
string
Enum: "ECOMMERCE_PAYMENT_COMPLETED" "ECOMMERCE_PAYMENT_FAILED" "ECOMMERCE_PAYMENT_REFUNDED" "ECOMMERCE_PAYMENT_PENDING"

Tipo do evento. Define o tipo de evento. Deve ser um dos valores permitidos.

eventAt
required
string <date-time>

Data/hora do evento (ISO 8601) use o horário UTC. Horários que não estão em UTC podem causar problemas de sincronização e análise. O formato recomendado é o ISO 8601, que é amplamente utilizado para representar datas e horas em sistemas de computação. Por exemplo, "2024-08-01T15:00:00Z" representa o dia 1 de agosto de 2024 às 15:00:00 UTC. (Obrigatório)

customId
required
string <= 150 characters

ID customizado e ÚNICO do pagamento. Isso ajudará a identificar o pagamento no processo de geração de relatórios e análises. Caso o pagamento não tenha um ID único, você pode usar o ID do checkout, mesmo não sendo o ideal, porque pode afetar a precisão dos relatórios, mas ainda é possível utilizá-lo. (Obrigatório)

totalValue
required
number

Valor total da compra ou reembolsos. O número deve ser um int, o valor deve ser representado em centavos. Por exemplo, se o valor total da compra for R$ 190,99, o valor deve ser 19099. Isso é importante para garantir que os valores sejam armazenados e processados corretamente, especialmente em sistemas financeiros onde a precisão é crucial.

paymentMethod
required
string <= 100 characters

Método de pagamento utilizado. Indica o método de pagamento usado pelo cliente, como cartão de crédito, boleto bancário, Pix, etc. Isso pode ajudar a segmentar os dados por método de pagamento e entender as preferências dos clientes.

checkoutReferenceId
required
string <= 140 characters

ID de referência do checkout. Utilize o mesmo ID que foi utilizado no evento de checkout. Isso ajuda a vincular o pagamento ao checkout específico, facilitando o rastreamento e a análise de transações. (opcional)

paymentMethodDescription
string or null <= 100 characters

Descrição do método de pagamento. Fornece uma descrição mais detalhada do método de pagamento utilizado, como o nome da bandeira do cartão de crédito ou o nome do banco no caso de boleto bancário. Isso pode ajudar a identificar o método de pagamento específico utilizado pelo cliente.

transactionId
string or null <= 140 characters

ID da transação. Esse ID é geralmente fornecido pelo sistema de pagamento e pode ser usado para rastrear a transação financeira associada à compra. É importante que o transactionId seja único para cada transação, pois ele é usado para identificar a transação no sistema de pagamento. Esse campo é opcional, visto que ele só serve para debug e rastreamento de problemas. (opcional)

object or null (deviceSchema)

Dispositivo usado para a compra (opcional). O cliente é responsável por enviar o dispositivo usado para a compra. A FluaView não valida o dispositivo, mas recomenda que seja um dispositivo válido.

Responses

Request samples

Content type
application/json
{
  • "type": "ECOMMERCE_PAYMENT_COMPLETED",
  • "eventAt": "2024-08-01T15:00:00Z",
  • "customId": "string",
  • "totalValue": 19099,
  • "paymentMethod": "credit_card",
  • "checkoutReferenceId": "ref123",
  • "paymentMethodDescription": "Visa",
  • "transactionId": "abc123",
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "eventId": "event-12345",
  • "status": "pending",
  • "createdAt": "2025-07-07T15:00:00Z",
  • "message": "Evento criado com sucesso"
}