AccuWeather
AccuWeather es una empresa de medios de comunicación que presta servicios de predicción meteorológica en todo el mundo. Con AccuWeather, puedes enriquecer y personalizar tus campañas de marketing, así como automatizar las traducciones mediante el uso de Contenido conectado de Braze.
Esta integración está mantenida por AccuWeather.
Requisitos previos
| Requisito | Descripción |
|---|---|
| Clave de API de AccuWeather | Ponte en contacto con tu director de cuentas de AccuWeather para obtener las claves de API compatibles que debes utilizar en tus URL de solicitud. Encontrarás más instrucciones en la página de la API empresarial de AccuWeather. |
API de AccuWeather disponibles
A continuación se indican las API de AccuWeather a las que puedes hacer referencia en tus Campaigns y Canvas de Braze.
| API | Descripción |
|---|---|
| Ubicaciones | Obtén una clave de ubicación para la ubicación deseada. Utiliza la clave de ubicación para recuperar datos meteorológicos de la API de previsión o de condiciones actuales. |
| Previsión | Obtén información de previsión para una ubicación específica. |
| Condiciones actuales | Obtén los datos de las condiciones actuales para una ubicación específica. |
| Índices | Obtén los valores diarios del índice para una ubicación específica. La disponibilidad del índice varía según la ubicación. |
| Alarmas meteorológicas | Obtén alarmas meteorológicas para una ubicación específica. Las alarmas meteorológicas de AccuWeather se determinan utilizando las previsiones diarias para una ubicación. Existe una alarma para una ubicación si el tiempo previsto alcanza o supera unos umbrales específicos. |
| Alertas | Recibe alertas de condiciones meteorológicas adversas de las agencias meteorológicas oficiales y de los principales proveedores mundiales de alertas meteorológicas. |
| Imágenes | Obtén imágenes de radar y satélite. |
| Tropical | Obtén la posición actual, las posiciones anteriores y las previsiones de ciclones tropicales en todo el mundo. |
| Traducciones | Obtén una lista de los idiomas disponibles. Obtén traducciones para grupos específicos de frases. |
Ejemplo de Contenido conectado
El siguiente ejemplo muestra una llamada de Contenido conectado que muestra dos tipos diferentes de mensajes basados en las condiciones actuales del código postal de un usuario en EE. UU. Se utilizan los puntos de conexión de la API de ubicaciones y condiciones actuales de 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 %}

En los siguientes ejemplos se desglosan las dos llamadas de Contenido conectado.
Ejemplo de API de ubicaciones
Dentro de la primera etiqueta connected_content, se realiza una solicitud GET a la API de ubicaciones. Para este ejemplo, puedes aprovechar alternativamente la {{${city}}} del usuario si no dispones de un 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 %}
Este es un ejemplo de lo que AccuWeather devolverá 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"
]
}
]
El ID “Key” es una variable útil, ya que se utiliza en la segunda solicitud GET.
Este objeto JSON puede almacenarse en una variable local location_info especificando :save location_info después de la URL.
Ejemplo de API de condiciones actuales
Para la segunda etiqueta connected_content, se realiza una solicitud GET a la API de condiciones actuales. La clave de ubicación deberá añadirse a la URL de la solicitud. Este es el ejemplo de etiqueta connected_content:
1
{% connected_content http://dataservice.accuweather.com/currentconditions/v1/{{location_info[0].Key}}?apikey={your API key} :save local_weather %}
Este es el objeto JSON devuelto:
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 se ve en la etiqueta connected_content, el objeto JSON se almacena en una variable local local_weather añadiendo :save local_weather después de la URL.
Puedes comprobar cuál debería ser la salida de WeatherText consultando {{local_weather[0].WeatherText}}.
Si la llamada a la API responde con {{local_weather[0].WeatherText}} devolviendo Rain, el usuario recibiría entonces la notificación push.