Skip to content

Algolia

A Algolia é uma plataforma de pesquisa e descoberta que ajuda desenvolvedores a criar experiências de pesquisa rápidas, relevantes e escaláveis. Com uma abordagem poderosa baseada em API, a Algolia combina algoritmos avançados de ranqueamento com insights orientados por IA para pesquisa em sites, navegação e descoberta de conteúdo personalizado de forma integrada.

A integração entre Algolia e Braze usa o Conteúdo conectado para preencher resultados de pesquisa e recomendações de produtos da Algolia nas suas mensagens da Braze. Ao consultar a API da Algolia no momento do envio, você pode entregar conteúdo personalizado que direciona os usuários para páginas de detalhes de produtos ou landing pages de alta conversão.

Casos de uso

  • Promover produtos em alta: Extraia automaticamente produtos em alta ou com melhor desempenho da Algolia para mensagens da Braze, promovendo itens de alto interesse e aumentando o engajamento.
  • Personalizar campanhas com inteligência de pesquisa: Personalize Campaigns da Braze usando a inteligência de pesquisa e navegação da Algolia para entregar produtos ou categorias alinhados com os interesses de cada usuário.

Pré-requisitos

Integração

Etapa 1: Configure sua solicitação de API da Algolia

Para saber mais sobre formatos de solicitação, estruturas de resposta e uso, consulte a documentação da API de Search da Algolia e da API de Recommend da Algolia. Se precisar de ajuda com a configuração, entre em contato com a equipe da Algolia.

Exemplo de solicitação da Search API

1
2
3
4
POST https://{ALGOLIA_APP_ID}-dsn.algolia.net/1/indexes/{INDEX_NAME}/query
Content-Type: application/json
X-Algolia-API-Key: {ALGOLIA_API_KEY}
X-Algolia-Application-Id: {ALGOLIA_APP_ID}

Exemplo de carga útil da consulta

1
2
3
4
5
6
{
  "query": "",
  "hitsPerPage": 4,
  "filters": "category_page_id:'this week's offers'",
  "attributesToRetrieve": ["name", "price", "image", "url"]
}

Neste exemplo, a consulta recupera os quatro principais resultados de uma página que usa um filtro de categoria baseado em um atributo chamado category_page_id. O parâmetro attributesToRetrieve limita a resposta para manter a carga útil em um tamanho gerenciável.

Exemplo de caso de uso: Para exibir resultados de pesquisa de https://www.yoursite.com/weekly-offers em uma Campaign de ofertas semanais da Braze, consulte o índice correspondente da Algolia e aplique filtros para recuperar os principais resultados dessa página.

Exemplo de solicitação da Recommend API

1
2
3
4
POST https://{ALGOLIA_APP_ID}.algolia.net/1/indexes/*/recommendations
Content-Type: application/json
X-Algolia-API-Key: {ALGOLIA_API_KEY}
X-Algolia-Application-Id: {ALGOLIA_APP_ID}

Exemplo de carga útil da consulta

1
2
3
4
5
6
7
8
9
10
{
  "requests": [
    {
      "indexName": "prod_ECOM",
      "model": "trending-items",
      "threshold": 40,
      "maxRecommendations": 4
    }
  ]
}

A Recommend API suporta múltiplos modelos, incluindo Frequently Bought Together, Related Products, Trending Items, Trending Facet Values e Looking Similar. Este exemplo usa o modelo Trending Items.

Etapa 2: Implemente o Conteúdo conectado da Braze

Use o recurso de Conteúdo conectado da Braze para fazer chamadas de API para os endpoints da Algolia e injetar dinamicamente a resposta em uma mensagem. Para saber mais sobre configuração, formatação de solicitações e melhores práticas, consulte Conteúdo conectado.

Exemplo de solicitação de Conteúdo conectado para Search

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{% capture request_body %}
{
  "query": "",
  "hitsPerPage": 4,
  "filters": "category_page_id:'this week's offers'",
  "attributesToRetrieve": ["name", "price", "image", "url"]
}
{% endcapture %}

{% connected_content https://{{ALGOLIA_APP_ID}}-dsn.algolia.net/1/indexes/{{INDEX_NAME}}/query
  :method post
  :headers {"X-Algolia-API-Key":"{{ALGOLIA_API_KEY}}", "X-Algolia-Application-Id":"{{ALGOLIA_APP_ID}}", "Content-Type": "application/json"}
  :body {{request_body}}
  :save algolia_search
%}

Exemplo de solicitação de Conteúdo conectado para Recommend

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% capture request_body %}
{
  "requests": [
    {
      "indexName": "prod_ECOM",
      "model": "trending-items",
      "threshold": 40,
      "maxRecommendations": 4
    }
  ]
}
{% endcapture %}

{% connected_content https://{{ALGOLIA_APP_ID}}.algolia.net/1/indexes/*/recommendations
  :method post
  :headers {"X-Algolia-Application-Id":"{{ALGOLIA_APP_ID}}", "X-Algolia-API-Key":"{{ALGOLIA_API_KEY}}", "Content-Type": "application/json"}
  :body {{request_body}}
  :save algolia_recommendations
%}

Etapa 3: Formate os resultados de pesquisa nas mensagens da Braze

Após buscar os resultados da Algolia, use Liquid para analisar a resposta da API e renderizar dinamicamente os resultados dentro da sua mensagem.

Exemplo de modelo de e-mail em Liquid para Search API

1
2
3
4
5
6
7
8
{% for item in algolia_search.hits %}
  <div style="margin-bottom: 10px;">
    <img src="{{ item.image }}" alt="{{ item.name }}" width="100"/>
    <p><strong>{{ item.name }}</strong></p>
    <p>Price: ${{ item.price }}</p>
    <a href="{{ item.url }}">View Product</a>
  </div>
{% endfor %}

Isso gera uma lista de produtos a partir dos resultados da Search API dentro do corpo da mensagem. Cada link de produto direciona os usuários para uma página de detalhes do produto (PDP) ou uma landing page específica da Campaign.

Exemplo de modelo de e-mail em Liquid para Recommend API

1
2
3
4
5
6
7
8
{% for item in algolia_recommendations.hits %}
  <div style="margin-bottom: 10px;">
    <img src="{{ item.image }}" alt="{{ item.name }}" width="100"/>
    <p><strong>{{ item.name }}</strong></p>
    <p>Price: ${{ item.price }}</p>
    <a href="{{ item.url }}">View Product</a>
  </div>
{% endfor %}

Isso gera uma lista de produtos recomendados a partir dos resultados da Recommend API dentro do corpo da mensagem. Cada link de produto direciona os usuários para uma página de detalhes do produto (PDP) ou uma landing page específica da Campaign.

Considerações

Evitar consultas únicas

Esteja atento aos limites de taxa da Algolia definidos no seu contrato. Evite fazer consultas específicas por usuário, pois elas podem exceder rapidamente o número de solicitações permitidas. Para personalizar os resultados, direcione para um segmento em vez de um ID de usuário individual, ou filtre por categoria ou marca em vez de um objectID específico. Use atributos da Braze para personalizar ainda mais as recomendações.

Armazenar em cache os resultados do Conteúdo conectado

Armazene em cache os resultados do Conteúdo conectado usando cache_max_age para minimizar as solicitações de API para a Algolia e melhorar o desempenho. Para saber mais, consulte Armazenamento de respostas em cache.

New Stuff!