GET /api/v3/data-source-providers/{lcuid}/feed-param-fields¶
Summary¶
GET data-source-providers/{id}/feed-param-fields
Description¶
Return a list of the fields that must be provided when configuring a data source that has been created from this data source provider.
These fields are presented in the UI on the Settings for a data source.
Tags: data-source-providers
Parameters¶
Header Parameters¶
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
Authorization |
string |
✓ Yes | Bearer {AuthToken} |
|
Content-Type |
string |
✓ Yes | application/json |
|
Accept |
string |
✓ Yes | application/json |
|
AppIdV3 |
string |
✓ Yes | LCUID-LAP-********-****-****-****-************ |
Responses¶
Response: 200¶
Description: Sample Response
Content Type: application/json¶
Schema¶
Type: object
Properties:
success(boolean): Indicates whether the request was successful or notfeed_param_fields(array): An array of fields required by the data source provider-
Array items:
objectType:objectProperties:
key(string)name(string)type(string)grid_size(integer)description(string)
Example Response¶
{
"success": true,
"feed_param_fields": [
{
"key": "header1",
"name": "Weather Data from Weather API",
"type": "header",
"grid_size": 12,
"description": "For each screen attached to your campaign, add weather data elements to your creatives in the template designer."
},
{
"key": "additional_forecast_days",
"enum": true,
"name": "Additional forecast days",
"type": "int",
"required": true,
"grid_size": 6,
"description": "How many additional days of forecast data to fetch",
"enum_options": [
{
"label": "Today",
"value": 0
},
{
"label": "Today & Tomorrow",
"value": 1
},
{
"label": "Today plus 2 days",
"value": 2
},
{
"label": "+3 Days",
"value": 3
},
{
"label": "4 Days",
"value": 4
},
{
"label": "5 Days",
"value": 5
},
{
"label": "6 Days",
"value": 6
}
],
"default_value": 0
},
{
"key": "limit_weather_keys",
"name": "Limit weather data to fields",
"type": "text",
"advanced": "true",
"required": false,
"grid_size": 12,
"description": "A comma separated list of fields to limit the weather data to. Useful for campaigns with 100 or more screens",
"default_value": ""
},
{
"key": "custom_weather_icon_pack",
"enum": true,
"name": "Weather Icons (Experimental)",
"type": "text",
"advanced": true,
"required": false,
"grid_size": 6,
"description": "Choose a custom set of icons",
"enum_options": [
{
"label": "Basic",
"value": ""
},
{
"label": "Sample Pack 1",
"value": "https://lucit-feeds-weather-icons.s3.us-east-2.amazonaws.com/verde_test/verde-test.json"
}
],
"default_value": ""
},
{
"key": "retriever_class",
"enum": true,
"name": "Large Campaign Support",
"type": "text",
"advanced": true,
"grid_size": 12,
"description": "Enable large screen support for large programmatic campaigns to improve performance",
"enum_options": [
{
"label": "No",
"value": "\\App\\LuCore\\Feeds\\Retrievers\\DigitalBoardWeatherApiFeedRetriever"
},
{
"label": "Yes - Enable Large Campaign Support",
"value": "\\App\\LuCore\\Feeds\\Retrievers\\DigitalBoardBulkWeatherApiFeedRetriever"
}
],
"default_value": "\\App\\LuCore\\Feeds\\Retrievers\\DigitalBoardWeatherApiFeedRetriever"
},
{
"key": "h3_clustering_resolution",
"enum": true,
"name": "Distance From Screen Resolution",
"type": "int",
"advanced": true,
"required": false,
"grid_size": 6,
"description": "The radius around a screen to pull a single weather data point for.",
"enum_options": [
{
"label": "0.5 Miles",
"value": 8
},
{
"label": "1.5 Miles",
"value": 7
},
{
"label": "4 Miles",
"value": 6
},
{
"label": "10 Miles",
"value": 5
},
{
"label": "25 Miles",
"value": 4
},
{
"label": "75 Miles",
"value": 3
},
{
"label": "200 Miles",
"value": 2
}
],
"default_value": 5
}
]
}
Example Implementations¶
Bash (cURL)¶
curl --request GET \
--get "https://api.lucit.app/api/v3/data-source-providers/LCUID-LFP-506fc585-77be-11ec-acb9-c2cdb617d190/feed-param-fields" \
--header "Authorization: Bearer {AuthToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "AppIdV3: LCUID-LAP-********-****-****-****-************"
JavaScript (Fetch API)¶
const url = new URL(
"https://api.lucit.app/api/v3/data-source-providers/LCUID-LFP-506fc585-77be-11ec-acb9-c2cdb617d190/feed-param-fields"
);
const headers = {
"Authorization": "Bearer {AuthToken}",
"Content-Type": "application/json",
"Accept": "application/json",
"AppIdV3": "LCUID-LAP-********-****-****-****-************",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
PHP (Guzzle)¶
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.lucit.app/api/v3/data-source-providers/LCUID-LFP-506fc585-77be-11ec-acb9-c2cdb617d190/feed-param-fields',
[
'headers' => [
'Authorization' => 'Bearer {AuthToken}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'AppIdV3' => 'LCUID-LAP-********-****-****-****-************',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Python (Requests)¶
import requests
import json
url = 'https://api.lucit.app/api/v3/data-source-providers/LCUID-LFP-506fc585-77be-11ec-acb9-c2cdb617d190/feed-param-fields'
headers = {
'Authorization': 'Bearer {AuthToken}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'AppIdV3': 'LCUID-LAP-********-****-****-****-************'
}
response = requests.request('GET', url, headers=headers)
response.json()