Retorna recomendações por página. Utilize nosso painel de controle para definir regras de negócio e configurar vitrines.

Aqui você configura suas vitrines por página através da nossa central de controle, definindo regras de negócio e configurando elas como quiser. Inclusive, é possível definir tags e categorias para filtrar recomendações em páginas de categoria, subcategoria e produto, de acordo com o contexto de cada uma delas.

Um exemplo de várias tags aplicadas:

tagId=tolkien&tagId=fantasia

Aqui, vitrines com filtro por categoria/tags ativo terão produtos recomendados que contenham as tags 'tolkien' e 'fantasia'. Não existe relação de hierarquia. Caso as vitrines configuradas para a página tenham o filtro de produtos por categoria/tags ativo, as recomendações feitas terão todas as tags especificadas na requisição feita pela API.

Agora, um exemplo com várias categorias aplicadas:

categoryId=Livros&categoryId=Infantil&categoryId=Aventura

Neste caso, a categoria formada é 'Livros Infantil Aventura', onde:

  • Aventura é uma subcategoria de Infantil;
  • Infantil é uma subcategoria de Livros;
  • Livros é a categoria.

Assim, vitrines com filtro por categoria ativo, terão produtos recomendados que pertençam a categoria 'Livro Infantil Aventura'. Ou seja, cada elemento da lista de categoryId será um componente da árvore da categoria.

Em páginas de produto, é necessário especificar o campo productId. Caso contrário, vitrines que levem em consideração o produto referência ficarão vazias :(

Já na página de carrinho, o campo productId passa a ser usado para especificar o conjunto de produtos presentes no carrinho do clientes. Por exemplo, se tivermos os produtos 'P001' e 'P002' no carrinho:

productId=P001&productId=P002

O campo userId define qual usuário logado está navegando pelo site. Caso não seja especificado na consulta o campo userId, o campo deviceId é usado pelo sistema para recuperar o histórico de visitas do usuário a fim de preencher vitrines que utilizem históricos de produtos vistos e/ou produtos abandonados no carrinho.

Atenção

Caso a coleta de eventos seja realizada pelos nossos scripts, através do meta. É necessário que seja utilizado o campo correspondente de deviceId usado pela api de vitrines para identificação de usuários anônimos. Este campo é disponibilizado pelos scripts de coleta no domínio do lojista, no cookie chaordic_browserId.

Tracking de eventos

Eventos de interação com as vitrines

Cada produto recomendado pela API contém um campo chamado trackingUrl.

Este campo fornece uma url que deverá ser usada para registrar todos os eventos de interações dos usuários da aplicação com os produtos recomendados. É por meio destes registros que geramos métricas de performance das vitrines, além de melhorar as estratégias para acertar em cheio cada recomendação ;)

É recomendado que este evento seja disparado somente depois que o usuário acessar a página do produto, evitando assim que o browser cancele a requisição caso a página de produto seja carregada antes que o disparo tenha sido concluído.

🚧

Atenção

Para a vitrine Complementares, é necessário registrar eventos de click para cada produto adicionado ao carrinho pelo usuário.

{
    "id": "12345",
    "status": "available",
    "name": "sample-product-A",
    "price": 99.9,
    "oldPrice": 109.9,
    "installment": {
            "count": 2,
            "price": 29.50
    },
    "trackingUrl": "https://recs.chaordicsystems.com/v0/click/?trackingId=CghuZXRzaG9lcxIEaG9tZRoJYW5vbi10ZXN0IgR0ZXN0KgdkZXNrdG9wMgN0b3A6JDZmOTg3OGRjLWMwMzAtZGUxNy0zZGE2LTEyMmZhMDExY2U1N0IMRDEyLTIzOTQtMDUwSgEx",
    "url": "sample-v5.com.br/sample-product-a.html",
    "images": {
        "default": "sample-v5.com.br/img/sample-product-a.img"
    }
}

Eventos de visualização de vitrines

Cada vitrine recomendada pela API contém um campo chamado impressionUrl

O impressionUrl fornece uma url que pode ser usada para registrar o evento de visualização da vitrine. Esse evento deve ser disparado sempre que uma vitrine entra na área visível pelo usuário.

Com este evento implementado, temos um feedback sobre quais vitrines fornecidas pela API foram realmente visualizadas pelos usuários. Isso torna nosso motor de otimização de vitrines mais assertivo e também ajuda nosso sistema a melhorar a qualidade das recomendações feitas ao longo do tempo.

Como o layout mais comum das vitrines é um carrossel, onde nem todos os produtos são exibidos de uma única vez, é possível fornecer um intervalo indicando os índices do primeiro e do último produto vistos pelo usuário. Esse intervalo pode ser informado através da adição de dois parâmetros à url fornecida na resposta da api, firstOffset e lastOffset descritos abaixo:

ParâmetrosDescrição
firstOffsetContém a posição do primeiro produto mostrado na área visível da vitrine, com índice a partir de 0.
lastOffsetContém a posição do último produto mostrado na área visível da vitrine

🚧

Atenção

Caso os parâmetros firstOffset e lastOffset não sejam enviados, o registro será feito para todos os produtos da vitrine, mesmo que não tenham sido visualizados.

{
        "id": "123456-7890-1234-86d7-8160dfc940f2",
        "title": "sample title",
        "name": "Mais Populares",
        "feature": "MostPopular",
        "impressionUrl": "https://recs.chaordicsystems.com/v0/impression/?trackingImpression=CghxZGItdnRleBIEaG9tZRoKYW5vbi10ZXN0ZSILbW9zdHBvcHVsYXIqEzIwMTctMTAtMDUgMTE6MzI6MDYywQEKA3RvcBIkNzNiNWNlZDAtYjRhMC0xMWU1LTliYjgtYWRmMmM5NzRiNTk1GiQ2Yjc5MDA4OS04N2Y1LTU2MWItODZkNy04MTYwZGZjOTQwZjIiEnJrLXdtYS1taV9wdXJjaGFzZSokZjYzMTFhNjAtYTlkOS0xMWU3LWIwYzYtN2ZkODVkZDdiNjJhMiRmNTg3MWVjMC1hOWQ5LTExZTctYjBjNi03ZmQ4NWRkN2I2MmE6B2Rlc2t0b3BCBXRlc3RlOgIQEEoDNjY3SgM3MDhKAzIxMkoDMjUwSgMxOTRKAzY3NUoDMjU5SgM2NzNKAzMzMEoCNTFKAzE4MUoDMjcwSgM2NzJKAzcwM0oDMTU5SgMxMTA=",
        "displays": [{...}],
}

Tipos de Página

TipoDescrição
homePágina inicial da aplicação
productProduto
categoryCategoria
subcategorySubcategoria
cartCarrinho de compras
confirmationConfirmação de compra
userprofilePágina do usuário
not_foundErro 404
searchBusca
landing_pageLanding page
otherOutras

Formato do JSON de produto

Existem 3 formatos pré-definidos de resposta às requisições feitas para a nossa API. Muita flexibilidade para você escolher o melhor formato em cada página que as recomendações serão aplicadas. \o/

onlyIds

São retornados somente os ids de produto, juntamente com a url de tracking para que o cliente possa registrar o evento de click em um produto recomendado.

{
    "id": "12345",
    "trackingUrl": "https://recs.chaordicsystems.com/v0/click/?trackingId=CghuZXRzaG9lcxIEaG9tZRoJYW5vbi10ZXN0IgR0ZXN0KgdkZXNrdG9wMgN0b3A6JDZmOTg3OGRjLWMwMzAtZGUxNy0zZGE2LTEyMmZhMDExY2U1N0IMRDEyLTIzOTQtMDUwSgEx"
}

compact

É o formato padrão de resposta da API, e contém os campos necessários para montar a apresentação de um produto no seu front-end, com todas as informações básicas.

{
    "id": "12345",
    "status": "available",
    "name": "sample-product-A",
    "price": 99.9,
    "oldPrice": 109.9,
    "installment": {
            "count": 2,
            "price": 50.00
    },
    "trackingUrl": "https://recs.chaordicsystems.com/v0/click/?trackingId=CghuZXRzaG9lcxIEaG9tZRoJYW5vbi10ZXN0IgR0ZXN0KgdkZXNrdG9wMgN0b3A6JDZmOTg3OGRjLWMwMzAtZGUxNy0zZGE2LTEyMmZhMDExY2U1N0IMRDEyLTIzOTQtMDUwSgEx",
    "url": "sample-v5.com.br/sample-product-a.html",
    "images": {
        "default": "sample-v5.com.br/img/sample-product-a.img"
    }
}

complete

Além dos campos retornados no formato compact, são também retornados campos com a lista de skus do produto, e detalhes do produto.
As informações de sku normalmente são usadas para montar os links de adição ao carrinho.

{
    "id": "12345",
    "status": "available",
    "name": "sample-product-A",
    "price": 99.9,
    "oldPrice": 109.9,
    "installment": {
            "count": 2,
            "price": 50.00
    },
    "description": "A description about sample-product-A.",
    "url": "sample-v5.com.br/sample-product-a.html",
    "categories": [
        {
            "id": "sample_category_0003",
            "name": "sample_category_0003",
            "parents": [
                "sample_category_0002"
            ]
        },
        {
            "id": "sample_category_0002",
            "name": "sample_category_0002",
            "parents": [
                "sample_category_0001"
            ]
        },
        {
            "id": "sample_category_0001",
            "name": "sample_category_0001",
            "parents": null
        }
    ],
    "tags": [
        {
            "id": "sample_tag_0001",
            "name": "sample_tag_0001",
            "parents": null
        },
        {
            "id": "sample_tag_0002",
            "name": "sample_tag_0002",
            "parents": null
        },
        {
            "id": "sample_tag_0003",
            "name": "sample_tag_0003",
            "parents": null
        }
    ],
    "images": {
        "default": "sample-v5.com.br/img/sample-product-a.img"
    },
    "details": {
        "altura": "95 cm",
        "largura": "221 cm",
        "profundidade": "101 cm",
        "peso": "55,000 kg"
    },
    "skus": [
        {
          "images": {
              "default": "sample-v5.com.br/product-sku-image"
          },
          "price": 74,
          "oldPrice": 74,
          "installment": {
              "count": 3,
              "price": 24.66
          },
          "url": "sample-v5.com.br/product-sku-link",
          "status": "unavailable",
          "sku": "0014542",
          "specs": {
              "color": "branco"
          }
      },
        {
          "images": {
              "default": "sample-v5.com.br/product-sku-image"
          },
          "price": 74,
          "oldPrice": 74,
          "installment": {
              "count": 3,
              "price": 24.66
          },
          "url": "sample-v5.com.br/product-sku-link",
          "status": "unavailable",
          "sku": "0014542",
          "specs": {
              "color": "preto"
          }
      }
    ],
    "trackingUrl": "https://test.chaordicsystems.com/v0/click/?trackingId=CghuZXRzaG9lcxIEaG9tZRoJYW5vbi10ZXN0IgR0ZXN0KgdkZXNrdG9wMgN0b3A6JDZmOTg3OGRjLWMwMzAtZGUxNy0zZGE2LTEyMmZhMDExY2U1N0IMRDEyLTIzOTQtMDUwSgEx"
}

parâmetros adicionais

Existem alguns parâmetros que podem constar na resposta da api em momentos situacionais.

refreshReferenceUrl: Em vitrines que possuam produto referência, em alguns casos existe a possibilidade de alterar qual produto referência será utilizado para montar as recomendações. Neste caso, uma requisição para esta url refaz a recomendação usando outro produto referência.
Exemplos deste campo podem ser encontrados na seção Refresh de Vitrines com Produto Referência em Vitrine de Histórico,

getRecommendationsUrl: Em caso de vitrines de histórico com a opção de gerar recomendações para os produtos do histórico. Cada produto referência deve conter uma url para as recomendações daquele produto.
Exemplos deste campo podem ser encontrados na seção Refresh de Vitrines com Produto Referência em Vitrines Visualizados, Comprados e Abandonados,

percycleHash: Caso exista vitrine com a solução de ads, este campo é retornado para cada produto patrocinado.

businessInfo: Em casos onde a api necessite devolver informações relevantes apenas à recomendação, este campo é utilizado para armazenar estas informações.

primeoffer: Em casos onde os produtos sejam oriundos de campanhas, não vindos de recomendações organicas, este campo é retornado para indicar quais campanhas resultou esse produto.

Refresh de Vitrines com Produto Referência

Vitrines Visualizados, Comprados e Abandonados

As vitrines Visualizados, Comprados e Abandonados possuem um produto referência, e recomendações baseadas nesse produto. Para essas vitrines existe a possibilidade do usuário trocar esse produto referência, e visualizar recomendações diferentes.

Para possibilitar esse comportamento, a resposta da api nessas vitrines contém um campo chamado refreshReferenceUrl contendo uma url para fazer uma nova chamada a api onde serão retornados os dados referentes apenas a essa vitrine, contendo um novo produto referência, as recomendações relativas a esse novo produto, além de uma nova url para refresh de referência.

Portanto o fluxo a ser implementado nas vitrines mencionadas quando o usuário pressionar o botão de trocar a referência é fazer uma requisição a url contida no campo refreshReferenceUrl e então re-renderizar a vitrine.

{
    "top": [
        {
            "id": "widget_id_001",
            "title": "Widget 001 Title",
            "name": "Visualizados",
            "feature": "ViewPersonalized",
                        "impressionUrl": "https://recs.chaordicsystems.com/v0/impression/?trackingImpression=CghxZGItdnRleBIEaG9tZRoKYW5vbi10ZXN0ZSILbW9zdHBvcHVsYXIqEzIwMTctMTAtMDUgMTE6MzI6MDYywQEKA3RvcBIkNzNiNWNlZDAtYjRhMC0xMWU1LTliYjgtYWRmMmM5NzRiNTk1GiQ2Yjc5MDA4OS04N2Y1LTU2MWItODZkNy04MTYwZGZjOTQwZjIiEnJrLXdtYS1taV9wdXJjaGFzZSokZjYzMTFhNjAtYTlkOS0xMWU3LWIwYzYtN2ZkODVkZDdiNjJhMiRmNTg3MWVjMC1hOWQ5LTExZTctYjBjNi03ZmQ4NWRkN2I2MmE6B2Rlc2t0b3BCBXRlc3RlOgIQEEoDNjY3SgM3MDhKAzIxMkoDMjUwSgMxOTRKAzY3NUoDMjU5SgM2NzNKAzMzMEoCNTFKAzE4MUoDMjcwSgM2NzJKAzcwM0oDMTU5SgMxMTA=",
            "displays": [
                {
                    "references": [
                        {
                            "id": "product-A",
                            "name": "sample-product-A",
                            //...
                        }
                    ],
                    "recommendations": [
                        {
                            "id": "product-B",
                            "name": "sample-product-B",
                            //...
                        },
                        {
                            "id": "product-C",
                            "name": "sample-product-C",
                            //...
                        },
                        {
                            "id": "product-D",
                            "name": "sample-product-D",
                            //...
                        },
                        //...
                    ],
                    "refreshReferenceUrl": "https://recs.chaordicsystems.com/v0/widgets/?data=CgpzYXJhaXZhLXY1EgRob21lGilhbm9uLWE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSIkYTYzMzg0OTAtNmY0OS0xMWU4LTg0NzQtMGY0OGIwNzRjYjM1KgdkZXNrdG9wMgN0b3A6JDUxZmIzMjg4LTYyODItZTZlYy1kMmY2LTYzMDdkNzZkMTMxOEIkZGJhOTE4ZjAtZDdjYy0xMWU0LWE4NTMtYWY0MjYwOTEzNjQ3SgkKBzk5ODUyNTU="
                }
            ]
        },
        //...
    ],
    "middle": [
        {
            "id": "widget_id_003",
            "title": "Widget 003 Title",
            "name": "Comprados",
            "feature": "PurchasePersonalized",
                        "impressionUrl": "https://recs.chaordicsystems.com/v0/impression/?trackingImpression=CghxZGItdnRleBIEaG9tZRoKYW5vbi10ZXN0ZSILbW9zdHBvcHVsYXIqEzIwMTctMTAtMDUgMTE6MzI6MDYywQEKA3RvcBIkNzNiNWNlZDAtYjRhMC0xMWU1LTliYjgtYWRmMmM5NzRiNTk1GiQ2Yjc5MDA4OS04N2Y1LTU2MWItODZkNy04MTYwZGZjOTQwZjIiEnJrLXdtYS1taV9wdXJjaGFzZSokZjYzMTFhNjAtYTlkOS0xMWU3LWIwYzYtN2ZkODVkZDdiNjJhMiRmNTg3MWVjMC1hOWQ5LTExZTctYjBjNi03ZmQ4NWRkN2I2MmE6B2Rlc2t0b3BCBXRlc3RlOgIQEEoDNjY3SgM3MDhKAzIxMkoDMjUwSgMxOTRKAzY3NUoDMjU5SgM2NzNKAzMzMEoCNTFKAzE4MUoDMjcwSgM2NzJKAzcwM0oDMTU5SgMxMTA=",
            "displays": [
                {
                    "references": [
                        //...
                    ],
                    "recommendations": [
                        //...
                    ],
                                        "refreshReferenceUrl": "https://recs.chaordicsystems.com/v0/widgets/?data=CgpzYXJhaXZhLXY1EgRob21lGilhbm9uLWE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSIkYTYzMzg0OTAtNmY0OS0xMWU4LTg0NzQtMGY0OGIwNzRjYjM1KgdkZXNrdG9wMgN0b3A6JDUxZmIzMjg4LTYyODItZTZlYy1kMmY2LTYzMDdkNzZkMTMxOEIkZGJhOTE4ZjAtZDdjYy0xMWU0LWE4NTMtYWY0MjYwOTEzNjQ3SgkKBzk5ODUyNTU="
                }
            ]
        },
        //...
    ],
    "bottom": [
        {
            "id": "widget_id_004",
            "title": "Widget 004 Title",
            "name": "Abandonados",
            "feature": "cartpersonalized",
                        "impressionUrl": "https://recs.chaordicsystems.com/v0/impression/?trackingImpression=CghxZGItdnRleBIEaG9tZRoKYW5vbi10ZXN0ZSILbW9zdHBvcHVsYXIqEzIwMTctMTAtMDUgMTE6MzI6MDYywQEKA3RvcBIkNzNiNWNlZDAtYjRhMC0xMWU1LTliYjgtYWRmMmM5NzRiNTk1GiQ2Yjc5MDA4OS04N2Y1LTU2MWItODZkNy04MTYwZGZjOTQwZjIiEnJrLXdtYS1taV9wdXJjaGFzZSokZjYzMTFhNjAtYTlkOS0xMWU3LWIwYzYtN2ZkODVkZDdiNjJhMiRmNTg3MWVjMC1hOWQ5LTExZTctYjBjNi03ZmQ4NWRkN2I2MmE6B2Rlc2t0b3BCBXRlc3RlOgIQEEoDNjY3SgM3MDhKAzIxMkoDMjUwSgMxOTRKAzY3NUoDMjU5SgM2NzNKAzMzMEoCNTFKAzE4MUoDMjcwSgM2NzJKAzcwM0oDMTU5SgMxMTA=",
            "displays": [
                {
                    "references": [
                        //...
                    ],
                    "recomendations": [
                        //...
                    ],
                                        "refreshReferenceUrl": "https://recs.chaordicsystems.com/v0/widgets/?data=CgpzYXJhaXZhLXY1EgRob21lGilhbm9uLWE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSIkYTYzMzg0OTAtNmY0OS0xMWU4LTg0NzQtMGY0OGIwNzRjYjM1KgdkZXNrdG9wMgN0b3A6JDUxZmIzMjg4LTYyODItZTZlYy1kMmY2LTYzMDdkNzZkMTMxOEIkZGJhOTE4ZjAtZDdjYy0xMWU0LWE4NTMtYWY0MjYwOTEzNjQ3SgkKBzk5ODUyNTU="
                }
            ]
        },
        //...
    ]
}

Essa url retornará uma única vitrine que também possui o campo refreshReferenceUrl, que será utilizada para obter a próxima referência e suas recomendações.

{
  "id": "widget_id_004",
  "title": "Widget 004 Title",
  "name": "Widget 004 Name",
  "feature": "feature_004",
  "impressionUrl": "https://recs.chaordicsystems.com/v0/impression/?trackingImpression=CghxZGItdnRleBIEaG9tZRoKYW5vbi10ZXN0ZSILbW9zdHBvcHVsYXIqEzIwMTctMTAtMDUgMTE6MzI6MDYywQEKA3RvcBIkNzNiNWNlZDAtYjRhMC0xMWU1LTliYjgtYWRmMmM5NzRiNTk1GiQ2Yjc5MDA4OS04N2Y1LTU2MWItODZkNy04MTYwZGZjOTQwZjIiEnJrLXdtYS1taV9wdXJjaGFzZSokZjYzMTFhNjAtYTlkOS0xMWU3LWIwYzYtN2ZkODVkZDdiNjJhMiRmNTg3MWVjMC1hOWQ5LTExZTctYjBjNi03ZmQ4NWRkN2I2MmE6B2Rlc2t0b3BCBXRlc3RlOgIQEEoDNjY3SgM3MDhKAzIxMkoDMjUwSgMxOTRKAzY3NUoDMjU5SgM2NzNKAzMzMEoCNTFKAzE4MUoDMjcwSgM2NzJKAzcwM0oDMTU5SgMxMTA=",
  "displays": [
    {
      "references": [
        //...
      ],
      "recomendations": [
        //...
      ],
      "refreshReferenceUrl": "https://recs.chaordicsystems.com/v0/widgets/?data=CgpzYXJhaXZhLXY1EgRob21lGilhbm9uLWE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSIkYTYzMzg0OTAtNmY0OS0xMWU4LTg0NzQtMGY0OGIwNzRjYjM1KgdkZXNrdG9wMgN0b3A6JDUxZmIzMjg4LTYyODItZTZlYy1kMmY2LTYzMDdkNzZkMTMxOEIkZGJhOTE4ZjAtZDdjYy0xMWU0LWE4NTMtYWY0MjYwOTEzNjQ3SgkKBzk5ODUyNTU="
    }
  ]
}

Vitrine de Histórico

Quando for feita uma requisição para api que possua vitrine de Histórico com a configuração de recomendações ativada, ela retornará produtos relacionados ao histórico de interesses do usuário e recomendações relacionadas ao primeiro produto do histórico.

Para cada produto referência, existe um campo chamado getRecommendationsUrl que fornece uma url que retornará a recomendação do produto referência especifico.

{
    "top": [
        {
            "id": "widget_id_001",
            "title": "Últimos Vistos",
            "name": "Histórico",
            "feature": "HistoryPersonalized",
                        "impressionUrl": "https://recs.chaordicsystems.com/v0/impression/?trackingImpression=CghxZGItdnRleBIEaG9tZRoKYW5vbi10ZXN0ZSILbW9zdHBvcHVsYXIqEzIwMTctMTAtMDUgMTE6MzI6MDYywQEKA3RvcBIkNzNiNWNlZDAtYjRhMC0xMWU1LTliYjgtYWRmMmM5NzRiNTk1GiQ2Yjc5MDA4OS04N2Y1LTU2MWItODZkNy04MTYwZGZjOTQwZjIiEnJrLXdtYS1taV9wdXJjaGFzZSokZjYzMTFhNjAtYTlkOS0xMWU3LWIwYzYtN2ZkODVkZDdiNjJhMiRmNTg3MWVjMC1hOWQ5LTExZTctYjBjNi03ZmQ4NWRkN2I2MmE6B2Rlc2t0b3BCBXRlc3RlOgIQEEoDNjY3SgM3MDhKAzIxMkoDMjUwSgMxOTRKAzY3NUoDMjU5SgM2NzNKAzMzMEoCNTFKAzE4MUoDMjcwSgM2NzJKAzcwM0oDMTU5SgMxMTA=",
            "displays": [
                {
                    "references": [
                        {
                            "id": "product-A",
                            "name": "sample-product-A",
                            "getRecommendationsUrl": "https://recs.chaordicsystems.com/v0/widgets/?data=CgpzYXJhaXZhLXY1Egdwcm9kdWN0Gilhbm9uLWE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSIkYTYzMzg0OTAtNmY0OS0xMWU4LTg0NzQtMGY0OGIwNzRjYjM1KgdkZXNrdG9wMgZib3R0b206JGRkNWEyNTllLTY1MzUtOTFjOC1lNjEwLTQxODAwZGVhNjNiZUIkZGU5NTYzNzAtZDdjYy0xMWU0LWE4NTMtYWY0MjYwOTEzNjQ3SgkKBzg4ODQyMjJKCQoHOTk4NTI1NUoJCgc3NzA2MzIxSgkKBzg5MDE3NTdKCgoIMTAxNDc3NTJKCgoIMTAyNzE2NzJKCQoHOTkwOTQ2M0oKCggxMDExMjk4NUoJCgc0OTAzNjMxSgkKBzkzMDI3MDlaFQoHODg4NDIyMhIKc2FyYWl2YS12NQ"
                            //...
                        },
                        {
                            "id": "product-A",
                            "name": "sample-product-A",
                            "getRecommendationsUrl": "https://recs.chaordicsystems.com/v0/widgets/?data=CgpzYXJhaXZhLXY1Egdwcm9kdWN0Gilhbm9uLWE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSIkYTYzMzg0OTAtNmY0OS0xMWU4LTg0NzQtMGY0OGIwNzRjYjM1KgdkZXNrdG9wMgZib3R0b206JGRkNWEyNTllLTY1MzUtOTFjOC1lNjEwLTQxODAwZGVhNjNiZUIkZGU5NTYzNzAtZDdjYy0xMWU0LWE4NTMtYWY0MjYwOTEzNjQ3SgkKBzg4ODQyMjJKCQoHOTk4NTI1NUoJCgc3NzA2MzIxSgkKBzg5MDE3NTdKCgoIMTAxNDc3NTJKCgoIMTAyNzE2NzJKCQoHOTkwOTQ2M0oKCggxMDExMjk4NUoJCgc0OTAzNjMxSgkKBzkzMDI3MDlaFQoHODg4NDIyMhIKc2FyYWl2YS12NQ"
                            //...
                        },
                        {
                            "id": "product-A",
                            "name": "sample-product-A",
                            "getRecommendationsUrl": "https://recs.chaordicsystems.com/v0/widgets/?data=CgpzYXJhaXZhLXY1Egdwcm9kdWN0Gilhbm9uLWE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSIkYTYzMzg0OTAtNmY0OS0xMWU4LTg0NzQtMGY0OGIwNzRjYjM1KgdkZXNrdG9wMgZib3R0b206JGRkNWEyNTllLTY1MzUtOTFjOC1lNjEwLTQxODAwZGVhNjNiZUIkZGU5NTYzNzAtZDdjYy0xMWU0LWE4NTMtYWY0MjYwOTEzNjQ3SgkKBzg4ODQyMjJKCQoHOTk4NTI1NUoJCgc3NzA2MzIxSgkKBzg5MDE3NTdKCgoIMTAxNDc3NTJKCgoIMTAyNzE2NzJKCQoHOTkwOTQ2M0oKCggxMDExMjk4NUoJCgc0OTAzNjMxSgkKBzkzMDI3MDlaFQoHODg4NDIyMhIKc2FyYWl2YS12NQ"
                            //...
                        },
                        {
                            "id": "product-A",
                            "name": "sample-product-A",
                            "getRecommendationsUrl": "https://recs.chaordicsystems.com/v0/widgets/?data=CgpzYXJhaXZhLXY1Egdwcm9kdWN0Gilhbm9uLWE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSIkYTYzMzg0OTAtNmY0OS0xMWU4LTg0NzQtMGY0OGIwNzRjYjM1KgdkZXNrdG9wMgZib3R0b206JGRkNWEyNTllLTY1MzUtOTFjOC1lNjEwLTQxODAwZGVhNjNiZUIkZGU5NTYzNzAtZDdjYy0xMWU0LWE4NTMtYWY0MjYwOTEzNjQ3SgkKBzg4ODQyMjJKCQoHOTk4NTI1NUoJCgc3NzA2MzIxSgkKBzg5MDE3NTdKCgoIMTAxNDc3NTJKCgoIMTAyNzE2NzJKCQoHOTkwOTQ2M0oKCggxMDExMjk4NUoJCgc0OTAzNjMxSgkKBzkzMDI3MDlaFQoHODg4NDIyMhIKc2FyYWl2YS12NQ"
                            //...
                        }
                    ],
                    "recommendations": [
                        {
                            "id": "product-B",
                            "name": "sample-product-B",
                            //...
                        },
                        {
                            "id": "product-C",
                            "name": "sample-product-C",
                            //...
                        },
                        {
                            "id": "product-D",
                            "name": "sample-product-D",
                            //...
                        },
                        //...
                    ]
                }
            ]
        },
    ],
    "middle": [
    ],
    "bottom": [
    ]
}

A url do campo getRecommendationsUrl retorna uma vitrine com apenas um produto referência e as recomendações referentes a esse produto.

{
  "id": "widget_id_001",
  "title": "Últimos Vistos",
  "name": "Histórico",
  "feature": "HistoryPersonalized",
  "impressionUrl": "https://recs.chaordicsystems.com/v0/impression/?trackingImpression=CghxZGItdnRleBIEaG9tZRoKYW5vbi10ZXN0ZSILbW9zdHBvcHVsYXIqEzIwMTctMTAtMDUgMTE6MzI6MDYywQEKA3RvcBIkNzNiNWNlZDAtYjRhMC0xMWU1LTliYjgtYWRmMmM5NzRiNTk1GiQ2Yjc5MDA4OS04N2Y1LTU2MWItODZkNy04MTYwZGZjOTQwZjIiEnJrLXdtYS1taV9wdXJjaGFzZSokZjYzMTFhNjAtYTlkOS0xMWU3LWIwYzYtN2ZkODVkZDdiNjJhMiRmNTg3MWVjMC1hOWQ5LTExZTctYjBjNi03ZmQ4NWRkN2I2MmE6B2Rlc2t0b3BCBXRlc3RlOgIQEEoDNjY3SgM3MDhKAzIxMkoDMjUwSgMxOTRKAzY3NUoDMjU5SgM2NzNKAzMzMEoCNTFKAzE4MUoDMjcwSgM2NzJKAzcwM0oDMTU5SgMxMTA=",
  "displays": [
    {
      "references": [
        {
          "id": "product-A",
          "name": "sample-product-A",
          "getRecommendationsUrl": "https://recs.chaordicsystems.com/v0/widgets/?data=CgpzYXJhaXZhLXY1Egdwcm9kdWN0Gilhbm9uLWE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSIkYTYzMzg0OTAtNmY0OS0xMWU4LTg0NzQtMGY0OGIwNzRjYjM1KgdkZXNrdG9wMgZib3R0b206JGRkNWEyNTllLTY1MzUtOTFjOC1lNjEwLTQxODAwZGVhNjNiZUIkZGU5NTYzNzAtZDdjYy0xMWU0LWE4NTMtYWY0MjYwOTEzNjQ3SgkKBzg4ODQyMjJKCQoHOTk4NTI1NUoJCgc3NzA2MzIxSgkKBzg5MDE3NTdKCgoIMTAxNDc3NTJKCgoIMTAyNzE2NzJKCQoHOTkwOTQ2M0oKCggxMDExMjk4NUoJCgc0OTAzNjMxSgkKBzkzMDI3MDlaFQoHODg4NDIyMhIKc2FyYWl2YS12NQ"
        },
      ],
      "recommendations": [
        {
          "id": "product-B",
          "name": "sample-product-B",
          //...
        },
        {
          "id": "product-C",
          "name": "sample-product-C",
          //...
        },
        {
          "id": "product-D",
          "name": "sample-product-D",
          //...
        },
        //...
      ]
    }
  ]
}

Promovidos com Menu

Na vitrine de promovidos com menu existe um campo chamado menu que contém uma lista de campanhas que compõe o menu.

Em cada item dessa lista existe um campo chamado url que contém um link que retornará a campanha relacionada a esse item.

{
    "top": [
        {
            "id": "widget_id_001",
            "title": "Widget 001 Title",
            "name": "Promovidos",
            "feature": "Push",
                        "impressionUrl": "https://recs.chaordicsystems.com/v0/impression/?trackingImpression=CghxZGItdnRleBIEaG9tZRoKYW5vbi10ZXN0ZSILbW9zdHBvcHVsYXIqEzIwMTctMTAtMDUgMTE6MzI6MDYywQEKA3RvcBIkNzNiNWNlZDAtYjRhMC0xMWU1LTliYjgtYWRmMmM5NzRiNTk1GiQ2Yjc5MDA4OS04N2Y1LTU2MWItODZkNy04MTYwZGZjOTQwZjIiEnJrLXdtYS1taV9wdXJjaGFzZSokZjYzMTFhNjAtYTlkOS0xMWU3LWIwYzYtN2ZkODVkZDdiNjJhMiRmNTg3MWVjMC1hOWQ5LTExZTctYjBjNi03ZmQ4NWRkN2I2MmE6B2Rlc2t0b3BCBXRlc3RlOgIQEEoDNjY3SgM3MDhKAzIxMkoDMjUwSgMxOTRKAzY3NUoDMjU5SgM2NzNKAzMzMEoCNTFKAzE4MUoDMjcwSgM2NzJKAzcwM0oDMTU5SgMxMTA=",
            "displays": [
                {
                    "references": [
                    ],
                    "recommendations": [
                        {
                            "id": "product-B",
                            "name": "sample-product-B",
                            //...
                        },
                        {
                            "id": "product-C",
                            "name": "sample-product-C",
                            //...
                        },
                        {
                            "id": "product-D",
                            "name": "sample-product-D",
                            //...
                        },
                        //...
                    ],
                    "menu": [
                      {
                        "campaignId": "campaignId-00",
                        "label": "label0",
                        "index": 0,
                        "selected": true,
                        "url": "https://recs.chaordicsystems.com/v0/widgets/?data=Cg5jb21wcmVpcG9udHVlaRIEaG9tZRopYW5vbi1hNjMzODQ5MC02ZjQ5LTExZTgtODQ3NC0wZjQ4YjA3NGNiMzUiJGE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSoHZGVza3RvcDIDdG9wOiQ1Zjg3NDU4MC0yZjYyLTcxOWYtZmQ4NS1jNzViNDFiMWJkMTRCJDllYzE0OGIwLTk4YjEtMTFlNy05NzQ5LTA3OWVlYzMyNDkzMlIkMTNmYmIxYzAtNWRlYi0xMWU4LTg4ZTMtZGY2NDVlZTA3Zjgw"
                      },
                      {
                        "campaignId": "campaignId-01",
                        "label": "label1",
                        "index": 1,
                        "url": "https://recs.chaordicsystems.com/v0/widgets/?data=Cg5jb21wcmVpcG9udHVlaRIEaG9tZRopYW5vbi1hNjMzODQ5MC02ZjQ5LTExZTgtODQ3NC0wZjQ4YjA3NGNiMzUiJGE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSoHZGVza3RvcDIDdG9wOiQ1Zjg3NDU4MC0yZjYyLTcxOWYtZmQ4NS1jNzViNDFiMWJkMTRCJDllYzE0OGIwLTk4YjEtMTFlNy05NzQ5LTA3OWVlYzMyNDkzMlIkMTNmYmIxYzAtNWRlYi0xMWU4LTg4ZTMtZGY2NDVlZTA3Zjgw"
                      },
                      {
                        "campaignId": "campaignId-02",
                        "label": "label2",
                        "index": 2,
                        "url": "https://recs.chaordicsystems.com/v0/widgets/?data=Cg5jb21wcmVpcG9udHVlaRIEaG9tZRopYW5vbi1hNjMzODQ5MC02ZjQ5LTExZTgtODQ3NC0wZjQ4YjA3NGNiMzUiJGE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSoHZGVza3RvcDIDdG9wOiQ1Zjg3NDU4MC0yZjYyLTcxOWYtZmQ4NS1jNzViNDFiMWJkMTRCJDllYzE0OGIwLTk4YjEtMTFlNy05NzQ5LTA3OWVlYzMyNDkzMlIkMTNmYmIxYzAtNWRlYi0xMWU4LTg4ZTMtZGY2NDVlZTA3Zjgw"
                      }
                    ]
                }
            ]
        },
    ],
    "middle": [
    ],
    "bottom": [
    ]
}

Esta url retornará uma vitrine Promovidos nesse formato:

{
  "id": "widget_id_001",
  "title": "Widget 001 Title",
  "name": "Promovidos",
  "feature": "Push",
  "impressionUrl": "https://recs.chaordicsystems.com/v0/impression/?trackingImpression=CghxZGItdnRleBIEaG9tZRoKYW5vbi10ZXN0ZSILbW9zdHBvcHVsYXIqEzIwMTctMTAtMDUgMTE6MzI6MDYywQEKA3RvcBIkNzNiNWNlZDAtYjRhMC0xMWU1LTliYjgtYWRmMmM5NzRiNTk1GiQ2Yjc5MDA4OS04N2Y1LTU2MWItODZkNy04MTYwZGZjOTQwZjIiEnJrLXdtYS1taV9wdXJjaGFzZSokZjYzMTFhNjAtYTlkOS0xMWU3LWIwYzYtN2ZkODVkZDdiNjJhMiRmNTg3MWVjMC1hOWQ5LTExZTctYjBjNi03ZmQ4NWRkN2I2MmE6B2Rlc2t0b3BCBXRlc3RlOgIQEEoDNjY3SgM3MDhKAzIxMkoDMjUwSgMxOTRKAzY3NUoDMjU5SgM2NzNKAzMzMEoCNTFKAzE4MUoDMjcwSgM2NzJKAzcwM0oDMTU5SgMxMTA=",
  "displays": [
    {
      "references": [
      ],
      "recommendations": [
        {
          "id": "product-B",
          "name": "sample-product-B",
          //...
        },
        {
          "id": "product-C",
          "name": "sample-product-C",
          //...
        },
        {
          "id": "product-D",
          "name": "sample-product-D",
          //...
        },
        //...
      ],
      "menu": [
        {
          "campaignId": "campaignId-00",
          "label": "label0",
          "index": 0,
          "url": "https://recs.chaordicsystems.com/v0/widgets/?data=Cg5jb21wcmVpcG9udHVlaRIEaG9tZRopYW5vbi1hNjMzODQ5MC02ZjQ5LTExZTgtODQ3NC0wZjQ4YjA3NGNiMzUiJGE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSoHZGVza3RvcDIDdG9wOiQ1Zjg3NDU4MC0yZjYyLTcxOWYtZmQ4NS1jNzViNDFiMWJkMTRCJDllYzE0OGIwLTk4YjEtMTFlNy05NzQ5LTA3OWVlYzMyNDkzMlIkMTNmYmIxYzAtNWRlYi0xMWU4LTg4ZTMtZGY2NDVlZTA3Zjgw"
        },
        {
          "campaignId": "campaignId-01",
          "label": "label1",
          "index": 1,
          "selected": true,
          "url": "https://recs.chaordicsystems.com/v0/widgets/?data=Cg5jb21wcmVpcG9udHVlaRIEaG9tZRopYW5vbi1hNjMzODQ5MC02ZjQ5LTExZTgtODQ3NC0wZjQ4YjA3NGNiMzUiJGE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSoHZGVza3RvcDIDdG9wOiQ1Zjg3NDU4MC0yZjYyLTcxOWYtZmQ4NS1jNzViNDFiMWJkMTRCJDllYzE0OGIwLTk4YjEtMTFlNy05NzQ5LTA3OWVlYzMyNDkzMlIkMTNmYmIxYzAtNWRlYi0xMWU4LTg4ZTMtZGY2NDVlZTA3Zjgw"
        },
        {
          "campaignId": "campaignId-02",
          "label": "label2",
          "index": 2,
          "url": "https://recs.chaordicsystems.com/v0/widgets/?data=Cg5jb21wcmVpcG9udHVlaRIEaG9tZRopYW5vbi1hNjMzODQ5MC02ZjQ5LTExZTgtODQ3NC0wZjQ4YjA3NGNiMzUiJGE2MzM4NDkwLTZmNDktMTFlOC04NDc0LTBmNDhiMDc0Y2IzNSoHZGVza3RvcDIDdG9wOiQ1Zjg3NDU4MC0yZjYyLTcxOWYtZmQ4NS1jNzViNDFiMWJkMTRCJDllYzE0OGIwLTk4YjEtMTFlNy05NzQ5LTA3OWVlYzMyNDkzMlIkMTNmYmIxYzAtNWRlYi0xMWU4LTg4ZTMtZGY2NDVlZTA3Zjgw"
        }
      ]
    }
  ]
}

O campo selected indica qual item do menu está selecionado e label é o nome da campanha criada.

Promovidos com CountDown

Na vitrine de Promovidos com countdown existem um campo chamado deadline que contém a data final do agendamento da campanha associada a essa vitrine. Essa informação é usada para montar o contador regressivo da vitrine.

{
  "id": "widget_id_001",
  "title": "Widget 001 Title",
  "name": "Promovidos",
  "feature": "Push",
  "impressionUrl": "https://recs.chaordicsystems.com/v0/impression/?trackingImpression=CghxZGItdnRleBIEaG9tZRoKYW5vbi10ZXN0ZSILbW9zdHBvcHVsYXIqEzIwMTctMTAtMDUgMTE6MzI6MDYywQEKA3RvcBIkNzNiNWNlZDAtYjRhMC0xMWU1LTliYjgtYWRmMmM5NzRiNTk1GiQ2Yjc5MDA4OS04N2Y1LTU2MWItODZkNy04MTYwZGZjOTQwZjIiEnJrLXdtYS1taV9wdXJjaGFzZSokZjYzMTFhNjAtYTlkOS0xMWU3LWIwYzYtN2ZkODVkZDdiNjJhMiRmNTg3MWVjMC1hOWQ5LTExZTctYjBjNi03ZmQ4NWRkN2I2MmE6B2Rlc2t0b3BCBXRlc3RlOgIQEEoDNjY3SgM3MDhKAzIxMkoDMjUwSgMxOTRKAzY3NUoDMjU5SgM2NzNKAzMzMEoCNTFKAzE4MUoDMjcwSgM2NzJKAzcwM0oDMTU5SgMxMTA=",
  "displays": [
    {
      "references": [
      ],
      "recommendations": [
        {
          "id": "product-B",
          "name": "sample-product-B",
          //...
        },
        {
          "id": "product-C",
          "name": "sample-product-C",
          //...
        },
        {
          "id": "product-D",
          "name": "sample-product-D",
          //...
        },
        //...
      ],
      "deadline": "YYY-MM-DD"
    }
  ]
}

Vitrine de Coleções

Na vitrine de coleções, ao invés de um campo recommendations existe um array chamado collections. Cada elemento do array corresponde a uma coleção, e possui as seguintes informações:

  • active: o status da coleção.
  • updatedAt: Data da última atualização
  • images: Um array de imagens da coleção
  • id: ID da coleção
  • items: Um array contendo os produtos da coleção
  • name: O nome da coleção
{
  "id": "widget_id_001",
  "title": "Widget 001 Title",
  "name": "Coleções",
  "feature": "collections",
  "impressionUrl": "https://recs.chaordicsystems.com/v1/impression/?trackingImpression=CghxZGItdnRleBIEaG9tZRoKYW5vbi10ZXN0ZSILbW9zdHBvcHVsYXIqEzIwMTctMTAtMDUgMTE6MzI6MDYywQEKA3RvcBIkNzNiNWNlZDAtYjRhMC0xMWU1LTliYjgtYWRmMmM5NzRiNTk1GiQ2Yjc5MDA4OS04N2Y1LTU2MWItODZkNy04MTYwZGZjOTQwZjIiEnJrLXdtYS1taV9wdXJjaGFzZSokZjYzMTFhNjAtYTlkOS0xMWU3LWIwYzYtN2ZkODVkZDdiNjJhMiRmNTg3MWVjMC1hOWQ5LTExZTctYjBjNi03ZmQ4NWRkN2I2MmE6B2Rlc2t0b3BCBXRlc3RlOgIQEEoDNjY3SgM3MDhKAzIxMkoDMjUwSgMxOTRKAzY3NUoDMjU5SgM2NzNKAzMzMEoCNTFKAzE4MUoDMjcwSgM2NzJKAzcwM0oDMTU5SgMxMTA=",
  "references": [],
  "recommendations": [],
  "collections": [
    {
      apiKey: "sample",
      active: true,
      updatedAt: "2020-04-14T15:21:32.530Z",
      images: [
        "https://www.sualoja.com/images/collection_01.jpg"
      ],
      id: "collection_id_001",
      items: [
        {
          "id": "product-A",
          "name": "sample-product-A",
          //...
        },
        {
          "id": "product-B",
          "name": "sample-product-B",
          //...
        },
        {
          "id": "product-C",
          "name": "sample-product-C",
          //...
        },
      ],
      name: "Coleção 01",
      type: "url"
    },
    {
      apiKey: "sample",
      active: true,
      updatedAt: "2020-04-14T15:25:31.794Z",
      images: [
        "https://www.sualoja.com/images/collection_02.jpg"
      ],
      id: "collection_id_002",
      items: [
        {
          "id": "product-D",
          "name": "sample-product-D",
          //...
        },
        {
          "id": "product-E",
          "name": "sample-product-E",
          //...
        },
        {
          "id": "product-F",
          "name": "sample-product-F",
          //...
        },
      ],
      name: "Coleção 02",
      type: "url"
    }
  ],
}

Exemplos de uso

Recomendação de produtos na página inicial

curl --request GET \
  --url 'https://recs.chaordicsystems.com/v0/pages/recommendations?apiKey=sample&secretKey=xjg139DDiaj&source=desktop&name=home&deviceId=sample-deviceId&userId=sample-userId'

Recomendação de produtos na página de categoria

curl --request GET \
  --url 'https://recs.chaordicsystems.com/v0/pages/recommendations?apiKey=sample&secretKey=xjg139DDiaj&source=desktop&name=category&deviceId=sample-deviceId&userId=sample-userId&categoryId[]=Skate&categoryId[]=Tênis'

Caso o site não trabalhe com categorias, também é possível especificar uma página de categoria por meio de tags

curl --request GET \
  --url 'https://recs.chaordicsystems.com/v0/pages/recommendations?apiKey=sample&secretKey=xjg139DDiaj&source=desktop&name=category&deviceId=sample-deviceId&userId=sample-userId&tagId[]=tenis&tagId[]=masculino'

Recomendação de produtos em uma página de subcategoria

curl --request GET \
  --url 'https://recs.chaordicsystems.com/v0/pages/recommendations?apiKey=sample&secretKey=xjg139DDiaj&source=desktop&name=subcategory&deviceId=sample-deviceId&userId=sample-userId&categoryId[]=Skate&categoryId[]=Tênis'

Recomendação de produtos em uma página de carrinho

curl --request GET \
  --url 'https://recs.chaordicsystems.com/v0/pages/recommendations?apiKey=sample&secretKey=xjg139DDiaj&source=desktop&name=cart&deviceId=sample-deviceId&userId=sample-userId&productId[]=D12-2758-256&productId[]=D12-2759-026'

Recomendação de produtos em uma landing page

curl --request GET \
  --url 'https://recs.chaordicsystems.com/v0/pages/recommendations?apiKey=sample&secretKey=xjg139DDiaj&source=desktop&name=landing_page&deviceId=sample-deviceId&userId=sample-userId&url=https://www.sample.com.br/feminino/home'

Recomendação de produtos em uma página de resultados de busca

curl --request GET \
  --url 'https://recs.chaordicsystems.com/v0/pages/recommendations?apiKey=sample&secretKey=xjg139DDiaj&source=desktop&name=search&eviceId=sample-deviceId&userId=sample-userId&productId[]=HZM-1731-026&productId[]=D22-3196-012&productId[]=E74-0492-006'
Language
Click Try It! to start a request and see the response here!