Skip to content

AccuWeather

AccuWeather est une société de médias qui fournit des services de prévisions météorologiques dans le monde entier. Avec AccuWeather, vous pouvez enrichir et personnaliser vos campagnes marketing, ainsi qu’automatiser les traductions grâce au Contenu connecté de Braze.

Cette intégration est maintenue par AccuWeather.

Conditions préalables

API AccuWeather disponibles

Voici les API AccuWeather que vous pouvez référencer dans vos Campaigns et Canvas Braze.

Exemple de Contenu connecté

L’exemple suivant montre un appel de Contenu connecté affichant deux types de messages différents en fonction des conditions actuelles du code postal d’un utilisateur aux États-Unis. Les endpoints de l’API des localisations et des conditions actuelles d’AccuWeather sont utilisés.

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 %}

Un message push de Contenu connecté indiquant « It's raining! Grab an Umbrella! » affiché sur un appareil Android

Vous trouverez le détail des deux appels de Contenu connecté dans les exemples suivants.

Exemple d’API de localisation

Dans la première balise connected_content, une requête GET est envoyée à l’API des localisations. Pour cet exemple, vous pouvez également utiliser le {{${city}}} de l’utilisateur si vous ne disposez pas d’un attribut personnalisé de code 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 %}

Voici un exemple de ce qu’AccuWeather renverra sous forme d’objet 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"
    ]
  }
]

L’ID « Key » est une variable utile, car elle est utilisée dans la deuxième requête GET. Cet objet JSON peut être stocké dans une variable locale location_info en spécifiant :save location_info après l’URL.

Exemple d’API pour les conditions actuelles

Pour la deuxième balise connected_content, une requête GET est envoyée à l’API des conditions actuelles. La clé d’emplacement devra être ajoutée à l’URL de la requête. Voici l’exemple de la balise connected_content :

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

Voici l’objet JSON renvoyé :

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"
  }
]

Comme le montre la balise connected_content, l’objet JSON est stocké dans une variable locale local_weather en ajoutant :save local_weather après l’URL.

Vous pouvez tester la valeur renvoyée par WeatherText en référençant {{local_weather[0].WeatherText}}.

Si l’appel d’API répond avec {{local_weather[0].WeatherText}} renvoyant Rain, l’utilisateur recevra alors la notification push.

New Stuff!