Skip to content

AccuWeather

A AccuWeather é uma empresa de mídia que fornece serviços de previsão do tempo em todo o mundo. Com a AccuWeather, você pode enriquecer e personalizar suas campanhas de marketing, bem como automatizar traduções por meio do uso [conteúdo conectado][60] da Braze.

Pré-requisitos

APIs AccuWeather disponíveis

A seguir, confira as APIs do AccuWeather que você pode consultar nas suas campanhas e canvas da Braze.

Exemplo de conteúdo conectado

O exemplo a seguir mostra uma chamada de Connected Content exibindo dois tipos diferentes de mensagens com base nas condições atuais do código postal de um usuário nos EUA. São usados os endpoints da API de locais e condições atuais do Accuweather.

1
2
3
4
5
6
7
8
9
10
11
{% connected_content http:///dataservice.accuweather.com/locations/v1/postalcodes/{{${country}}}/search?q={{custom_attribute.${Zip Code}}}&apikey={your API key} :save location_info %}

{% connected_content http://dataservice.accuweather.com/currentconditions/v1/{{location_info[0].Key}}?apikey={your API key} :save local_weather %}

{% if {{local_weather[0].WeatherText}} == 'Cloudy' %}
No sunscreen needed :)
{% elsif {{local_weather[0].WeatherText}} == 'Rain' %}
It's raining! Grab an umbrella!
{% else %}
Enjoy the weather!
{% endif %}

Uma mensagem por push do conteúdo conectado que diz "Está chovendo! Pegue um guarda-chuva!" exibida em um dispositivo Android

Um detalhamento das duas chamadas do conteúdo conectado está disponível nos exemplos a seguir.

Exemplo de API de locais

Na primeira tag connected_content, é feita uma solicitação GET para a API de locais. Para este exemplo, você pode também poderá aproveitar o site {{${city}}} do usuário se não tiver um atributo personalizado de código postal.

1
{% connected_content http://dataservice.accuweather.com/locations/v1/postalcodes/{{${country}}}/search?q={{custom_attribute.${Zip Code}}}&apikey={your API key} :save location_info %}

Aqui está um exemplo do que o Accuweather retornará como objeto JSON:

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
[
  {
    "Version": 1,
    "Key": "41333_PC",
    "Type": "PostalCode",
    "Rank": 35,
    "LocalizedName": "Seattle",
    "EnglishName": "Seattle",
    "PrimaryPostalCode": "98102",
    "Region": {
      "ID": "NAM",
      "LocalizedName": "North America",
      "EnglishName": "North America"
    },
    "Country": {
      "ID": "US",
      "LocalizedName": "United States",
      "EnglishName": "United States"
    },
    "AdministrativeArea": {
      "ID": "WA",
      "LocalizedName": "Washington",
      "EnglishName": "Washington",
      "Level": 1,
      "LocalizedType": "State",
      "EnglishType": "State",
      "CountryID": "US"
    },
    "TimeZone": {
      "Code": "PDT",
      "Name": "America/Los_Angeles",
      "GmtOffset": -7.0,
      "IsDaylightSaving": true,
      "NextOffsetChange": "2018-11-04T09:00:00Z"
    },
    "GeoPosition": {
      "Latitude": 47.636,
      "Longitude": -122.327,
      "Elevation": {
        "Metric": {
          "Value": 26.0,
          "Unit": "m",
          "UnitType": 5
        },
        "Imperial": {
          "Value": 85.0,
          "Unit": "ft",
          "UnitType": 0
        }
      }
    },
    "IsAlias": false,
    "ParentCity": {
      "Key": "351409",
      "LocalizedName": "Seattle",
      "EnglishName": "Seattle"
    },
    "SupplementalAdminAreas": [
      {
        "Level": 2,
        "LocalizedName": "King",
        "EnglishName": "King"
      }
    ],
    "DataSets": [
      "Alerts",
      "DailyAirQualityForecast",
      "DailyPollenForecast",
      "ForecastConfidence",
      "MinuteCast"
    ]
  }
]

O ID “Key” (Chave) é uma variável útil, pois é usada na segunda solicitação GET. Esse objeto JSON pode ser armazenado em uma variável local location_info especificando :save location_info após o URL.

Exemplo de API de condições atuais

Para a segunda tag connected_content, é feita uma solicitação GET à API de condições atuais. A chave do local precisará ser adicionada ao URL da solicitação. Aqui está o exemplo da tag connected_content:

1
{% connected_content http://dataservice.accuweather.com/currentconditions/v1/{{location_info[0].Key}}?apikey={your API key} :save local_weather %}

Aqui está o objeto JSON retornado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[
  {
    "LocalObservationDateTime": "2018-04-10T09:35:00-07:00",
    "EpochTime": 1523378100,
    "WeatherText": "Rain",
    "WeatherIcon": 18,
    "IsDayTime": true,
    "Temperature": {
      "Metric": {
        "Value": 11.0,
        "Unit": "C",
        "UnitType": 17
      },
      "Imperial": {
        "Value": 52.0,
        "Unit": "F",
        "UnitType": 18
      }
    },
    "MobileLink": "http://m.accuweather.com/en/us/seattle-wa/98104/current-weather/41333_pc?lang=en-us",
    "Link": "http://www.accuweather.com/en/us/seattle-wa/98104/current-weather/41333_pc?lang=en-us"
  }
]

Como visto na tag connected_content, o objeto JSON é armazenado em uma variável local local_weather adicionando :save local_weather após o URL.

Você pode testar qual deve ser a saída do WeatherText fazendo referência a {{local_weather[0].WeatherText}}.

Se a chamada da API responder com {{local_weather[0].WeatherText}} retornando Rain, o usuário receberá o push.

Daqui a [49]: https://apidev.accuweather.com/developers/forecastsAPIguide Daqui a [50]: https://apidev.accuweather.com/developers/currentConditionsAPIGuide Daqui a [51]: https://apidev.accuweather.com/developers/indicesApiGuide Daqui a [52]: https://apidev.accuweather.com/developers/weatheralarmsAPIguide Daqui a [53]: https://apidev.accuweather.com/developers/alertsApiGuide Daqui a [54]: https://apidev.accuweather.com/developers/imageryAPIguide Daqui a [55]: https://apidev.accuweather.com/developers/tropicalAPIGuide Daqui a [56]: https://apidev.accuweather.com/developers/translationsApiGuide Daqui a [57]: https://apidev.accuweather.com/developers/ [58]: https://apidev.accuweather.com/developers/weatheralarms [60]: /docs/pt-br/user_guide/personalization_and_dynamic_content/connected_content/about_connected_content/

QUÃO ÚTIL FOI ESTA PÁGINA?
New Stuff!