Select to view content in your preferred language

Use URL parameters to retrieve historical data.

148
4
4 weeks ago
wchou_esrica
Esri Contributor

Hi Experts,

I'm attempting to ingest GPS data into ArcGIS Velocity using the HTTP Poller.

The GPS API endpoint supports retrieving historical data by specifying a timestamp in the URL:

https://gpsfeed/api/v1/locations/{logDateUTC}

For example, sending a request to:

https://gpsfeed/api/v1/locations/2018-12-01T08:00:00Z

returns the vehicle locations recorded at that specific time.

I tried using a dynamic URL by passing the timestamp as a URL parameter, but since Velocity's HTTP Poller only supports key-value pairs, the request was sent as:

https://gpsfeed/api/v1/locations/?=2018-12-01T08:00:00Z

which is invalid.

Is there a way to configure the HTTP Poller to send a dynamic URL path (not just parameters) so that I can query historical data by timestamp?

My ultimate goal is to ingest GPS data from the past 2 years.

Any input would be greatly appreciated!

 
0 Kudos
4 Replies
PeterNasuti
Esri Contributor

Hi @wchou_esrica I just did some testing on this -

While not documented, Velocity HTTP Poller feed type does replace timestamp values in the URL when using the feed global variables. However, for the URL feed global variables, the date formatting string is not honored and all dates will be sent as an epoch millisecond. I'll check with a developer to see if this is something we can enhance for. In the meantime, does your API support epoch MS time reference in the URL?

Related documentation, see section under feed global variables: https://doc.arcgis.com/en/velocity/ingest/website-poll-feed.htm

0 Kudos
wchou_esrica
Esri Contributor

Hi @PeterNasuti ,

Thanks for the reply. 

Unfortunately, the API only supports "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" format . 

I did try setting the global variable, but the main issue is that the API's parameter is not key-value pair, so I have to put " " in key field.  After url encoding, the request becomes " /api/v1/locations/?%20=2025-07-05T16%3A27%3A14Z and ?%20= is not acceptable.

wchou_esrica_1-1753280228345.png

Is there a way to add parameters without using key-value format?

 

Thank you,

 

 

 

 

0 Kudos
PeterNasuti
Esri Contributor

@wchou_esrica Yes - try this such as 

https://yourSite.com/yourURL/$feed.FeedScheduledStartTime OR https://yourSite.com/yourURL/$feed.FeedLastScheduledStartTime

And also specify the Global variables date formatting string:

PeterNasuti_1-1753288848766.png

I am seeing success with this in testing where the value ends up being substituted for the request.

0 Kudos
wchou_esrica
Esri Contributor

Hi @PeterNasuti ,

What I attempt to do is retrieving all the historical data of a period of time.

The API only returns  the location history recorded in the next hour from the provided log date.

For example, 

https://gpsfeed/api/v1/locations/2024-12-01T08:00:00Z

returns the locations from 2024-12-01 08:00-09:00.

To retrieve data between 2024-12-01 to 2024-12-30, I would like to dynamically change the url by using URL parameters.

Send a request to

https://gpsfeed/api/v1/locations/2024-12-01T08:00:00Z

After 15 secs,Send a request to

https://gpsfeed/api/v1/locations/2024-12-01T09:00:00Z

and so on.

$feed.FeedLastScheduledStartTime seems doesn't work in my case...

 

 

 

 

0 Kudos