Skip to content

アキュウェザー

アキュウェザーは、世界中の天気予報サービスを提供するメディア企業である。アキュウェザーでは、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 を返すと、ユーザーはプッシュを受け取る。

「このページはどの程度役に立ちましたか?」
New Stuff!