アキュウェザー
アキュウェザーは、世界中の天気予報サービスを提供するメディア企業である。アキュウェザーでは、Braze [Connected Content]60.
前提条件
必要条件 | 説明 |
---|---|
アキュウェザーAPIキー | リクエストURLに使用する互換性のあるAPIキーについては、アキュウェザーアカウントマネージャーに問い合わせること。 詳細な手順は、[AccuWeather Enterprise API]57 page]に記載されている。 |
利用可能なAccuWeather API
以下は、BrazeのキャンペーンやCanvasで参照できるAccuWeather APIである。
API | 説明 |
---|---|
[所在地]48 | 希望の場所のロケーションキーを取得する。ロケーションキーを使って、ForecastまたはCurrent Conditions APIから気象データを取得する。 |
予想]49 | 特定の場所の予報情報を得る。 |
[現在の状況]50 | 特定の場所の現況データを取得する。 |
[インデックス]51 | 特定の場所の日次指数値を取得する。インデックスの入手可能性は地域によって異なる。 |
[ウェザーアラーム]52 | 特定の場所の天気アラームを取得する。AccuWeatherの天気予報アラームは、その場所の毎日の予報を使って決定される。予報天候が[特定の閾値]58]を満たすか超える場合、その場所にアラームが存在する。 |
[アラート]53 | 政府気象機関や世界的な気象警報プロバイダーから、悪天候警報を受け取ることができる。 |
[イメージ]54 | レーダーと衛星画像を入手する。 |
[トロピカル]55 | 世界中の熱帯低気圧の現在位置、過去位置、予報を入手できる。 |
翻訳]56 | 利用可能な言語のリストを取得する。特定のフレーズグループの翻訳を取得する。 |
コネクテッド・コンテンツの例
次の例は、コネクテッド・コンテンツの呼び出しが、ユーザーのアメリカの郵便番号の現在の状況に基づいて、2つの異なるタイプのメッセージを表示することを示している。AccuWeather locations and current conditions APIエンドポイントが使用される。
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 %}
つのコネクテッド・コンテンツの呼び出しの内訳は、以下の例で見ることができる。
ロケーションAPIの例
最初のconnected_content
タグ内で、Locations APIへのGETリクエストが行われる。この例では、郵便番号のカスタム属性がない場合、ユーザーの{{${city}}}
。
1
{% connected_content http://dataservice.accuweather.com/locations/v1/postalcodes/{{${country}}}/search?q={{custom_attribute.${Zip Code}}}&apikey={your API key} :save location_info %}
以下は、AccuWeatherが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"
]
}
]
Key “IDは、2番目のGETリクエストで使われるので、便利な変数である。
このJSONオブジェクトは、URLの後に:save location_info
を指定することで、ローカル変数location_info
に格納することができる。
現状APIの例
2つ目のconnected_content
、現在の状況APIにGETリクエストが行われる。リクエストURLにロケーションキーを追加する必要がある。connected_content
:
1
{% connected_content http://dataservice.accuweather.com/currentconditions/v1/{{location_info[0].Key}}?apikey={your API key} :save local_weather %}
以下は、返されたJSONオブジェクトである:
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"
}
]
connected_content
タグに見られるように、JSONオブジェクトは、URLの後に:save local_weather
を追加することで、ローカル変数local_weather
に格納される。
{{local_weather[0].WeatherText}}
を参照することで、WeatherTextの出力がどうなるかをテストすることができる。
APIコールが{{local_weather[0].WeatherText}}
、Rain
を返すと、ユーザーはプッシュを受け取る。