Skip to content

Radar

Radar é a principal plataforma de geofencing e monitoramento de localização. A plataforma Radar possui três produtos principais: Geofences, Trip Tracking e Geo APIs. Combinar a plataforma de engajamento líder do setor da Braze com as capacidades de geofencing líderes do setor da Radar permite que você impulsione a receita e a fidelidade por meio de uma ampla gama de experiências de produtos e serviços baseados em localização. Isso inclui rastreamento de coleta e entrega, notificações acionadas por localização, personalização contextual, verificação de localização, localizadores de lojas, preenchimento automático de endereço e mais.

Esta integração é mantida pela Radar.

Sobre a integração

A integração entre a Braze e a Radar permite acessar gatilhos sofisticados de campanhas baseadas em localização e enriquecimento de perfil de usuário com dados primários de localização. Quando eventos de geofence ou rastreamento de viagem da Radar são gerados, eventos personalizados e atributos de usuário são enviados para a Braze em tempo real. Esses eventos e atributos podem então ser usados para disparar campanhas baseadas em localização, impulsionar operações de coleta e entrega na última milha, monitorar a logística de frotas e remessas, ou construir segmentos de usuários com base em padrões de localização.

Além disso, as Geo APIs da Radar podem ser usadas para enriquecer ou personalizar suas campanhas de marketing por meio de Conteúdo conectado.

Pré-requisitos

Integração

Para mapear dados entre os SDKs da Braze e da Radar, você deve definir os mesmos IDs de usuário ou aliases de usuário em ambos os sistemas. Isso pode ser feito usando o método changeUser() no SDK da Braze e o método setUserId() no SDK da Radar.

Para ativar a integração:

  1. Na Radar, na página Integrações, localize Braze.
  2. Defina Enabled para Yes.
  3. Cole seu identificador de app e chaves de API.
  1. Selecione seu endpoint da Braze.
  2. Insira qualquer filtragem de evento ou atributo de evento para garantir que apenas dados relevantes sejam enviados para a Braze para marketing de engajamento. Sempre que eventos da Radar são gerados, a Radar enviará eventos personalizados e atributos de usuário para a Braze. Eventos de dispositivos iOS serão enviados usando suas chaves de API do iOS; eventos e atributos de usuário de dispositivos Android serão enviados usando suas chaves de API do Android.

Casos de uso baseados em eventos e atributos

Você pode usar eventos personalizados e atributos de usuário para construir segmentos baseados em localização ou disparar campanhas baseadas em localização.

Disparar uma notificação de chegada na loja para retirada na calçada

Envie uma notificação por push para o usuário com instruções de chegada assim que ele chegar à sua loja para uma retirada na calçada.

Uma campanha de entrega baseada em ação mostrando que a campanha será entregue quando o evento personalizado "arrived_at_trip_destination" ocorrer, e o "trip_metadata" for igual a "curbside".

Construir um segmento de público de visitantes recentes da loja

Por exemplo, direcione qualquer usuário que tenha visitado sua loja nos últimos 7 dias, independentemente de ter feito uma compra ou não.

Um segmento onde "radar_geofence_tags" inclui o valor my_store e "radar_updated_at" foi há menos de 7 dias.

Conteúdo conectado

O exemplo a seguir mostra como executar uma promoção para atrair usuários próximos à loja com uma oferta digital.

Uma imagem do Android de uma mensagem por push de Conteúdo conectado que exibe "New In Store Deals, Walmart and target near you".

Para começar, você precisará ter sua chave de API publicável da Radar em mãos para usar nos URLs de suas solicitações.

Em seguida, dentro de uma tag connected_content, faça uma solicitação GET para a API Search Places. A API Search Places retorna locais próximos com base em Radar Places: um banco de dados de locais para lugares, redes e categorias que fornece uma visão abrangente do mundo.

O trecho de código a seguir é um exemplo do que a Radar retornará como objeto JSON da chamada da API:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{
  "meta": {
    "code": 200
  },
  "places": [
    {
      "_id": "5dc9b0fd2004860034bf2b06",
      "name": "Target",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.42653983613333,
          40.548302893822985
        ]
      },
      "categories": [
        "shopping-retail",
        "department-store"
      ],
      "chain": {
        "slug": "target",
        "name": "Target",
        "domain": "target.com"
      }
    },
    {
      "_id": "5dc9b3d82004860034bfec54",
      "name": "Walmart",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.44121885326864,
          40.554603296187224
        ]
      },
      "categories": [
        "shopping-retail"
      ],
      "chain": {
        "slug": "walmart",
        "name": "Walmart",
        "domain": "walmart.com"
      }
    }
  ]
}

Para construir a mensagem da Braze com Conteúdo conectado direcionada e personalizada, você pode usar o atributo most_recent_location da Braze como entrada para o parâmetro near na URL da solicitação da API. O atributo most_recent_location é coletado por meio da integração de eventos da Radar ou diretamente pelo SDK da Braze.

No exemplo a seguir, o filtro de rede da Radar é aplicado para as localizações do Target e Walmart, e o raio de busca para locais próximos é definido em 2 km.

1
{% connected_content https://api.radar.io/v1/search/places?radius=2000&near={{${most_recent_location}.latitude}},{{${most_recent_location}.longitude}}&chains=target,walmart&limit=5 :method get :headers {"Authorization": "<yourRadarPublishableKey>"} :content_type application/json :save nearbyplaces %}

Como você pode ver na tag connect_content, o objeto JSON é armazenado na variável local nearbyplaces adicionando :save nearbyplaces após a URL. Você pode testar qual deve ser a saída referenciando {{nearbyplaces.places}}.

Reunindo nosso caso de uso, aqui está como seria a sintaxe da campanha. O código a seguir itera pelo objeto nearbyplaces.places, extraindo valores únicos e concatenando-os com delimitadores legíveis para a mensagem.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{% connected_content https://api.radar.io/v1/search/places?radius=2000&near={{${most_recent_location}.latitude}},{{${most_recent_location}.longitude}}&chains=target,walmart&limit=5 :method get :headers {"Authorization": "<yourRadarPublishableKey>"} :content_type application/json :save nearbyplaces %}
{% if nearbyplaces.**http_status_code** != 200 %}
{% abort_message('Connected Content returned a non-200 http status code') %}
{% endif %}
{% if nearbyplaces.meta.code != 200 %}
{% abort_message('Connected Content returned a non-200 meta code') %}
{% endif %}
{% if nearbyplaces.places.size == 0 %}
{% abort_message('Connected Content returned no nearby places') %}
{% else %}
{% assign delimiter = ", " %}
{% assign names = nearbyplaces.places | map: 'name' | uniq %}
{% if names.size == 2 %}
{{ names | join: ' and ' }}
{% elsif names.size > 2 %}
{% assign names_final_str = "" %}
{% for name in names %}
{% if forloop.first == true %}
{% assign names_final_str = names_final_str  | append: name %}
{% elsif forloop.last == true %}
{% assign names_final_str = names_final_str | append: ", and "  | append: name %}
{% else %}
{% assign names_final_str = names_final_str | append: delimiter  | append: name %}
{% endif %}
{% endfor %}
{{ names_final_str }}
{% else %}
{{ names }}
{% endif %}
near you!
New Stuff!