Jump to content


< Back to Forum


 

Web Service In Voiceguide


  • Please log in to reply

#1 ThaoHuynh 10 April 2017 - 01:03 PM

Hi VoiceGuide Team,

 

I want to use Web Service, so i run example script GetPostDelete.vgs, using HTTP GET request

 

But it's not working (Report Fail - 9). Is my address wrong or die?

Please check my script.

 

Thank you for your support.

 

Thao Huynh



#2 SupportTeam 10 April 2017 - 01:49 PM

Please post the vgEngine trace capturing the service startup and the call. We can then see what happened on that call and advise.

 

Please .ZIP up any traces before posting.



#3 SupportTeam 10 April 2017 - 01:51 PM

Also, it looks like that web service that was used in that demonstration script no longer works.

 

Type the web service link into any web browser and you'll see what that address currently responds with...



#4 ThaoHuynh 10 April 2017 - 01:53 PM

This is my vgEngine.

  • Attached File  log.zip   46.75KB   29 downloads


#5 SupportTeam 10 April 2017 - 02:16 PM

Here is a different Web Service API call that you could use to test the Run Web Service module.

 

Click on above to see response in any web browser, and then copy the link to the Run Web Service module :

http://samples.openweathermap.org/data/2.5/forecast?id=524901&appid=b1b15e88fa797225412429c1c50c122a1


#6 ThaoHuynh 10 April 2017 - 02:50 PM

Does VoiceGuide support RESHful API? I don't see it in document.

If VoiceGuide can support RESHful API, please give me examples.



#7 SupportTeam 10 April 2017 - 03:34 PM

You must mean: RESTful API.

 

Yes. VoiceGuide supports all of the the methods used by RESTful API services: GET, PUT, POST, DELETE and UPDATE .

 

See the first drop down box in the "Web Service" module. The HTTP method to use is selected there.

 

Please let us know if you have any questions.

 

In the GetPostDelete demo script you will see three Web Service modules. One shows a GET method, one shows a POST method, and one shows a DELETE method call.



#8 SupportTeam 10 April 2017 - 03:38 PM

Also, VoiceGuide has some REST APIs that can be called from other systems. They mainly relate to status and reporting etc.

 

Please see: http://www.voiceguid...tingrestapi.htm



#9 ThaoHuynh 10 April 2017 - 05:08 PM

You must mean: RESTful API.

Yes, RESTful API not  RESHful API.

I use this Web Service API and it works for me. How can i get results and use this results to create sound file?



#10 ThaoHuynh 11 April 2017 - 01:59 PM

The POST method in the GetPostDelete demo script.  It looks like that web service not work.

How can i test POST method in Restful API?



#11 SupportTeam 11 April 2017 - 02:05 PM

Currently VoiceGuide will look at the JSON or XML returned by a Web Service and expose the top level data as Result Variables, allowing it to be immediately used in rest of script.

 

The Call Web Service module documentation shows the data that was returned by the web service used in the the GetPostDelete.vgs sample VoiceGuide script, and how that data was then made available immediate by creating Result Variables based on that data: http://www.voiceguid.../html/modws.htm

 

The openweathermap service that was suggested above returns a more complex response then the web service that was used in the GetPostDelete.vgs sample VoiceGuide script. Clicking on the openweathermap service link will show that the weather forecast data is contained in deeper nested nodes.

 

Some more work is required to extract data freedom such deeper nested responses.

 

Approaches can involve using Run VBScript module to extract the required data from the returned string. This is usually straightforward if the returned XML has no double-quote characters in it:

 

For data returned in JSON format. You can use VBScript's Instr() functions (see: https://www.w3school.../func_instr.asp) to locate the location of data to be retrieved and then read it in using the VBScript Mid() function (see: https://www.w3schools.com/asp/func_mid.asp)

VBScript reference can be found here: https://www.w3school...t_functions.asp

 

For data returned in XML format it is possible to use MSXML.DOMDocument to read in the XML and then use selectSingleNode and getAttribute functions, using XPath expression to select the node holding the data and then retrieving it.

 

 

Things gets a bit more complicated however if the returned data (JSON or XML) has double-quote characters in it.

The returned data then either has to be first saved into a file and the read back into the VBScript, or the returned data has to have the double-quote characters in it 'escaped' first before the returned string can be used in the VBScript.

 

We'll post an example of retrieving information from openweathermap service next.



#12 SupportTeam 11 April 2017 - 02:18 PM

The POST method ithe GetPostDelete demo script.  It looks like that web service not work.

How can i test POST method in Restful API?

 

That module is using a URL that is not current. The "voiceguide" account at zendesk.com was for demo only and no longer exists.

 

To test posting a new ticket to Zendesk like that demo is doing please set up your own Zendesk account (demo accounts should still be free) and then amend the URL accordingly to create the new ticket entries to your account. You may also want to check that current Zendesk API is still the same.

 

Or, if you want to test against some other API, please advise what API you want to use and we can assist with that as well.



#13 ThaoHuynh 11 April 2017 - 02:56 PM

I want to use validation input API (example: account number, telephone number, email...). Please give me some advice.

Thank you for your help.



#14 SupportTeam 11 April 2017 - 03:09 PM

What is this "validation input API" that you want to use?

 

Do you have any information on how this API gets called ? eg: what is the URL used to call this API, how are the parameters passed in and how does this web service return data?



#15 ThaoHuynh 12 April 2017 - 01:14 PM

I'm waiting for my partner to give you exactly what API i want to use, so i will give you my API in next time.

Thank you for your support.



#16 ThaoHuynh 13 April 2017 - 05:36 PM

We use ASP.Net Web API 2. This is a restful API which use token to authenticate users. 
 
In order to authenticate a user . 3rd party application have to send user name and password to following URL ‘http://capiivr.ifsde...:86/OAuth/Token ’. 
If the credential is valid then a token will be returned. 
 
All subsequent requests have to include this token along. 
 
To consume our API, please check attached document for details.
 
So we need to get results (eg: errorCode) from JSON format.


#17 SupportTeam 18 April 2017 - 02:08 PM

Here is how the web service at capiivr.ifsdemos.com would be used/consumed from VoiceGuide:
 
That web service first requires that an 'access_token' be obtained and then this access token is used when calling further APIs.
 
As per supplied document the access token is obtained by performing a HTTP POST to URL:
http://capiivr.ifsdemos.com:86/OAuth/Token 
with the http message body set to:
grant_type=client_credentials&client_id=IVRSystem&client_secret=123456
 
The above is done using one 'Call Web Service' type module.
 
See screenshots below for module "ws_capiivr_ifsdemos_get_token". They show what setting were made to effect this POST request.
 
 
 
The web service returns a JSON formatted response, with one of the entries in that response being: "access_token"
 
All of the data returned from the web service is saved as Result Variables ($RVs), and that returned "access_token" is now accessible using this $RV:
 
$RV[access_token]
 
and in newer versions using this $RV:
 
$RV[ws_capiivr_ifsdemos_get_token_access_token]
 
 
 
So now we use another 'Call Web Service' type module. (use a "on {sucess} goto ..."  type path to take script to next Call Web Service module)
 
The documentation provided specified to use this URL:
http://capiivr.ifsdemos.com:86/api/test/IVRSystem
and to make a HTTP POST request to above URL with this as the headers:
Content-Type : application/json
Authorization : Bearer $RV[access_token]

and with the http message body set (as per the documentation provided) to:

{
 "TLOGID": "xxxxxxxxx",
 "LocalTime": 123456789
}
 
See screenshots below for module "ws_capiivr_ifsdemos_consume_apo". They show what setting were made to effect this POST request.
 
 
 
The web service call results in this response being received back from web service:
{
  "tlogid":null, 
  "errorDetails":
  [ 
    { 
      "errorCode":"00", 
      "errorDescription":"Authorised / Passed" 
    } 
  ] 
}
and VoiceGuide then places entries in that response into $RVs that can be used later in the script.
 
 
Looking at vgEngine trace will show exactly what was returned and what  $RVs were created etc.
 

See screenshots below for module "ws_capiivr_ifsdemos_get_token". They show what setting were made to effect this POST request

 

 

We have ran the above against the provided web service. Please see the vgEngine extract attached.

 

 
Please let us know if you have any questions about all of this.
 
Please let us know if you have any questions about all of this.
  • ws1.png
  • ws2.png
  • ws2_options.png


#18 SupportTeam 18 April 2017 - 02:27 PM

And regarding the question that was asked beforehand on how to consume the openweathermap.org web service:

 

I use this Web Service API http://samples.openw...2429c1c50c122a1, and it works for me. How can i get results and use this results to create sound file?

 

Here are the $RVs that are created when calling the XML version of the above API (using http://api.openweath...094aec&mode=xml ) :

 

Extract from vgEngine:

 

205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_location_name|City of Sydney
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_location_country|AU
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_location_location_altitude|0
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_location_location_latitude|-33.8678
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_location_location_longitude|151.2084
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_location_location_geobase|geonames
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_location_location_geobaseid|6619279
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_meta_calctime|0.0116
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_sun_rise|2017-04-16T20:19:23
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_sun_set|2017-04-17T07:29:29
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_from|2017-04-17T09:00:00
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_to|2017-04-17T12:00:00
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_symbol_number|800
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_symbol_name|clear sky
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_symbol_var|01n
205458.765  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_windDirection_deg|128.007
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_windDirection_code|SE
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_windDirection_name|SouthEast
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_windSpeed_mps|1.37
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_windSpeed_name|Calm
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_temperature_unit|kelvin
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_temperature_value|291.11
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_temperature_min|289.366
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_temperature_max|291.11
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_pressure_unit|hPa
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_pressure_value|1032.31
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_humidity_value|100
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_humidity_unit|%
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_clouds_value|clear sky
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_clouds_all|0
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_clouds_unit|%
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_from|2017-04-17T12:00:00
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_to|2017-04-17T15:00:00
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_symbol_number|800
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_symbol_name|clear sky
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_symbol_var|01n
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_windDirection_deg|210.5
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_windDirection_code|SSW
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_windDirection_name|South-southwest
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_windSpeed_mps|0.91
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_windSpeed_name|Calm
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_temperature_unit|kelvin
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_temperature_value|289.77
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_temperature_min|288.46
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_temperature_max|289.77
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_pressure_unit|hPa
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_pressure_value|1032.27
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_humidity_value|100
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_humidity_unit|%
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_clouds_value|clear sky
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_clouds_all|0
205458.766  24   5   1       rvns  add   sydney_weather_weatherdata_forecast_time_2_clouds_unit|%

etc...

 

 

 

  • ws_openweather.png


#19 ThaoHuynh 18 April 2017 - 03:17 PM

Extract in vgEngine:

 

 

114726.019   9               rv    dbg   rv_retrieve did not find [ws_capiivr_ifsdemos_get_token_access_token]

 

How can i get access token and errorCode from ws_capiivr_ifsdemos_get_token_Result_Data?

 

 

114726.015  26   3   1       rv    add   ws_capiivr_ifsdemos_get_token_Result_Data|{"access_token":"516inOdJZYJwZOVF-u66G4NGB3H4Mi3OUOyGgjJlPV0hIx5kfvwsPXUHxJKS1X0j2Mt8G5bf3C1pYR0uJXK8EozA2c55QYP-yycIDUadiAjERmO8JOpByqToORF8v7FGkeohzf10yrG6JFyEWJBxbeEmECrWtfbnYaAHJiKU5WCW4Sll3gFNlD8ZOsDvGtzbAjZq58KnPJ-5-Qq2yayKFFJGIJDXg7qnvQ-T1LCYvZvDKhLY","token_type":"bearer","expires_in":1799,"refresh_token":"T74xsKvcojFirpfbVeI40QKIiJoeOb8qkx58vXTmAfEewUZJzRznOcaE2Q-N6ZVrpQlxlz-5Gixzk0MP8lz3glgvLbLQ79VXMlAUHZcwsEWN-9anC7dOcyt4ySQv7p1VoHhsuvZRqsM4kNTPHZNzSwkGhl71LsfrfS-_d8Ems3dp5d4axFMH6otofhMPEadAD-43Vpj7SRPS4HCv-MM0EBoFewZtIN2fQiMU9O9wH1wlgZ-t"

 

 

114726.354   9   3   1       rv    replace start [The result is $RV[ws_capiivr_ifsdemos_consume_apo_errorCode]]

114726.354   9               rv    dbg   rv_retrieve did not find [ws_capiivr_ifsdemos_consume_apo_errorCode]

 



#20 SupportTeam 18 April 2017 - 03:30 PM

How can i get access token and errorCode from ws_capiivr_ifsdemos_get_token_Result_Data?

 

 

Please try this in your version:

 

$RV[access_token]



#21 ThaoHuynh 18 April 2017 - 04:55 PM

I have tried and it worked for me. 

 

How can i get errorCode from errorDetails?

 

 

134429.772  27   3   1       rv    add   errorDetails|[
  {
    "errorCode": "00",
    "errorDescription": "Authorised / Passed"
  }
]

 

 

134429.773  27   3   1       rv    add   ws_capiivr_ifsdemos_consume_apo_Result_Data|{ "tlogid":null, "errorDetails":[ { "errorCode":"00", "errorDescription":"Authorised / Passed"



#22 SupportTeam 20 April 2017 - 02:25 PM

Please update your system to this version:

 

[old link removed]

 

To change from one release of VoiceGuide v7 to another:

1. Stop VoiceGuide Service and exit all VoiceGuide programs. (eg Script Designer, Voicemail Manager, etc) and all other programs.

2. Run the VoiceGuide install and install into same directory as existing installation. (Do NOT uninstall the previous VoiceGuide installation).

3. Start  VoiceGuide service.

 

Running a VoiceGuide install over the top of an existing install will NOT overwrite existing configuration or license files (Config.xml, ConfigLine.xml, VG.INI, VmBoxList.xml, etc) and will not remove any of users script or sound files, and will not remove any log files etc.

 
 
This new version handles more complicated JSON responses better.
Previous versions only saves 'top' layer objects into own $RVs - and remainder needing to be parsed out (eg. using VBScript modules)
This version assigns an $RV to each response entry, with the $RV name consisting of module name and a 'JSON Path' to the response entry.
It performs similarly with XML responses, with the $RV name consisting of module name and the 'XPath' to the response entry.
 
 
Was not able to test directly against your API as it appears not to respond at this time.
Looking at vgEngine traces you should see the Result Variables which are created when the JSON response arrives from the Web Service.
 
 
 
 
The JSON response:
[
  {
    "errorCode": "00",
    "errorDescription": "Authorised / Passed"
  }
]

should result in these two $RVs being created:

 

$RV[ModuleTitle_errorCode]

$RV[ModuleTitle_errorDescription]

 
 
Please try using new version with your API and please post traces as before if you still encounter any issues.
 
 

 

 

Here are the $RVs that are created when calling the JSON version of the Openweather API ( http://api.openweath...5e7628d83094aec) :

 

Extract from vgEngine:

133951.970  15   5   1 state [sydney_weather_json] Web Service Call
133951.970  15   5   1       modWs SetTimeoutEventInVgm->-1
133951.970  15   5   1 t     timer set   30 sec : EV_TIMEOUT_HANGUP
133951.973  10   5   1       ws    RunModule_WebService start iModuleIdx=40, iRunWait=1
133951.973  10   5   1       ws    sLogFromConstructor: taskParams_in.hash=1589322333, taskParams.hash=1589322333
133951.973  10   5   1       ws    RunModule_WebService start taskParams.hash=1589322333
133951.973  10   5   1       ws    PlayOnHoldFile
133951.974  10   5   1       moh file not specified
133951.974  10   5   1       ws    [http://api.openweathermap.org/data/2.5/forecast?id=6619279&APPID=6ef9cb723afa6226e5e7628d83094aec] call
133951.974  10   5   1       ws    Method=[GET]

133952.277  17   5   1       ws    GetWsResponse_Callback start. class' taskParams.hash=1589322333 clsRequestStateData.taskParams.hash=1589322333
133952.277  17   5   1       ws    GetWsResponse_Callback request.hash=56935209
133952.277  17   5   1       ws    GetWsResponse_Callback start [sydney_weather_json], time since WsUserWorkItemCreated=00:00:00.3069241
133952.278  17   5   1       ws          header Connection 0 = close
133952.278  17   5   1       ws          header X-Cache-Key 0 = /data/2.5/forecast?APPID=6ef9cb723afa6226e5e7628d83094aec&id=6619279
133952.278  17   5   1       ws          header Access-Control-Allow-Origin 0 = *
133952.278  17   5   1       ws          header Access-Control-Allow-Credentials 0 = true
133952.278  17   5   1       ws          header Access-Control-Allow-Methods 0 = GET, POST
133952.278  17   5   1       ws          header Content-Length 0 = 13937
133952.278  17   5   1       ws          header Content-Type 0 = application/json; charset=utf-8
133952.278  17   5   1       ws          header Date 0 = Thu, 20 Apr 2017 03:39:52 GMT
133952.278  17   5   1       ws          header Server 0 = openresty
133952.278  17   5   1       ws          header scan returns: []
133952.278  17   5   1       ws          header list returns: [[sydney_weather_json_http_resp_hdr_Connection]{close}[sydney_weather_json_http_resp_hdr_X-Cache-Key]{/data/2.5/forecast?APPID=6ef9cb723afa6226e5e7628d83094aec&id=6619279}[sydney_weather_json_http_resp_hdr_Access-Control-Allow-Origin]{*}[sydney_weather_json_http_resp_hdr_Access-Control-Allow-Credentials]{true}[sydney_weather_json_http_resp_hdr_Access-Control-Allow-Methods]{GET, POST}[sydney_weather_json_http_resp_hdr_Content-Length]{13937}[sydney_weather_json_http_resp_hdr_Content-Type]{application/json; charset=utf-8}[sydney_weather_json_http_resp_hdr_Date]{Thu, 20 Apr 2017 03:39:52 GMT}[sydney_weather_json_http_resp_hdr_Server]{openresty}]
133952.278  17   5   1       ws    GetWsResponse_Callback ListHeadersAndReturnSomeRVs returned. sRV=[sydney_weather_json_http_resp_hdr_Connection]{close}[sydney_weather_json_http_resp_hdr_X-Cache-Key]{/data/2.5/forecast?APPID=6ef9cb723afa6226e5e7628d83094aec&id=6619279}[sydney_weather_json_http_resp_hdr_Access-Control-Allow-Origin]{*}[sydney_weather_json_http_resp_hdr_Access-Control-Allow-Credentials]{true}[sydney_weather_json_http_resp_hdr_Access-Control-Allow-Methods]{GET, POST}[sydney_weather_json_http_resp_hdr_Content-Length]{13937}[sydney_weather_json_http_resp_hdr_Content-Type]{application/json; charset=utf-8}[sydney_weather_json_http_resp_hdr_Date]{Thu, 20 Apr 2017 03:39:52 GMT}[sydney_weather_json_http_resp_hdr_Server]{openresty}
133952.278  17   5   1       ws    response.GetResponseStream call
133952.280  17   5   1       ws    sreaderResponse.ReadToEnd completed ret_bytes=13937
133952.281  17   5   1       ws    strReturnedByByHttpResponse JSON parse : {"cod":"200","message":0.0055,"cnt":38,"list":[{"dt":1492668000,"main":{"temp":296.7,"temp_min":294.281,"temp_max":296.7,"pressure":1035.39,"sea_level":1041.42,"grnd_level":1035.39,"humidity":84,"temp_kf":2.42},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":{"all":0},"wind":{"speed":1.77,"deg":66.5032},"rain":{},"sys":{"pod":"d"},"dt_txt":"2017-04-20 06:00:00"},{"dt":1492678800,"main":{"temp":292.71,"temp_min":291.094,"temp_max":292.71,"pressure":1036.06,"sea_level":1042.28,"grnd_level":1036.06,"humidity":97,"temp_kf":1.61},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"02n"}],"clouds":{"all":8},"wind":{"speed":2.47,"deg":55.5009},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-20 09:00:00"},{"dt":1492689600,"main":{"temp":290.16,"temp_min":289.349,"temp_max":290.16,"pressure":1036.47,"sea_level":1042.72,"grnd_level":1036.47,"humidity":100,"temp_kf":0.81},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"clouds":{"all":0},"wind":{"speed":1.76,"deg":38.5064},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-20 12:00:00"},{"dt":1492700400,"main":{"temp":288.255,"temp_min":288.255,"temp_max":288.255,"pressure":1035.42,"sea_level":1041.65,"grnd_level":1035.42,"humidity":100,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"clouds":{"all":0},"wind":{"speed":1.62,"deg":26.5017},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-20 15:00:00"},{"dt":1492711200,"main":{"temp":287.151,"temp_min":287.151,"temp_max":287.151,"pressure":1035.1,"sea_level":1041.26,"grnd_level":1035.1,"humidity":100,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"clouds":{"all":0},"wind":{"speed":0.96,"deg":287.005},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-20 18:00:00"},{"dt":1492722000,"main":{"temp":286.973,"temp_min":286.973,"temp_max":286.973,"pressure":1036,"sea_level":1042.1,"grnd_level":1036,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":88},"wind":{"speed":0.81,"deg":268.501},"rain":{"3h":0.08},"sys":{"pod":"d"},"dt_txt":"2017-04-20 21:00:00"},{"dt":1492732800,"main":{"temp":289.891,"temp_min":289.891,"temp_max":289.891,"pressure":1036.59,"sea_level":1042.54,"grnd_level":1036.59,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":92},"wind":{"speed":0.94,"deg":291.01},"rain":{"3h":0.385},"sys":{"pod":"d"},"dt_txt":"2017-04-21 00:00:00"},{"dt":1492743600,"main":{"temp":293.183,"temp_min":293.183,"temp_max":293.183,"pressure":1034.68,"sea_level":1040.7,"grnd_level":1034.68,"humidity":94,"temp_kf":0},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"clouds":{"all":44},"wind":{"speed":1.07,"deg":153.001},"rain":{},"sys":{"pod":"d"},"dt_txt":"2017-04-21 03:00:00"},{"dt":1492754400,"main":{"temp":293.244,"temp_min":293.244,"temp_max":293.244,"pressure":1033.42,"sea_level":1039.44,"grnd_level":1033.42,"humidity":91,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":48},"wind":{"speed":1.96,"deg":78.5018},"rain":{"3h":0.015},"sys":{"pod":"d"},"dt_txt":"2017-04-21 06:00:00"},{"dt":1492765200,"main":{"temp":292.014,"temp_min":292.014,"temp_max":292.014,"pressure":1033.83,"sea_level":1039.99,"grnd_level":1033.83,"humidity":91,"temp_kf":0},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"clouds":{"all":68},"wind":{"speed":2.71,"deg":49.0002},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-21 09:00:00"},{"dt":1492776000,"main":{"temp":291.341,"temp_min":291.341,"temp_max":291.341,"pressure":1034.18,"sea_level":1040.36,"grnd_level":1034.18,"humidity":96,"temp_kf":0},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04n"}],"clouds":{"all":88},"wind":{"speed":2.52,"deg":28.5076},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-21 12:00:00"},{"dt":1492786800,"main":{"temp":290.058,"temp_min":290.058,"temp_max":290.058,"pressure":1033.69,"sea_level":1039.81,"grnd_level":1033.69,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"clouds":{"all":68},"wind":{"speed":1.96,"deg":9.5007},"rain":{"3h":0.01},"sys":{"pod":"n"},"dt_txt":"2017-04-21 15:00:00"},{"dt":1492797600,"main":{"temp":289.503,"temp_min":289.503,"temp_max":289.503,"pressure":1033.09,"sea_level":1039.14,"grnd_level":1033.09,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"clouds":{"all":92},"wind":{"speed":1.32,"deg":350.001},"rain":{"3h":0.555},"sys":{"pod":"n"},"dt_txt":"2017-04-21 18:00:00"},{"dt":1492808400,"main":{"temp":288.935,"temp_min":288.935,"temp_max":288.935,"pressure":1033.7,"sea_level":1039.83,"grnd_level":1033.7,"humidity":100,"temp_kf":0},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"clouds":{"all":80},"wind":{"speed":1.31,"deg":272.001},"rain":{},"sys":{"pod":"d"},"dt_txt":"2017-04-21 21:00:00"},{"dt":1492819200,"main":{"temp":290.654,"temp_min":290.654,"temp_max":290.654,"pressure":1033.97,"sea_level":1040.02,"grnd_level":1033.97,"humidity":100,"temp_kf":0},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],"clouds":{"all":92},"wind":{"speed":1.23,"deg":285.509},"rain":{},"sys":{"pod":"d"},"dt_txt":"2017-04-22 00:00:00"},{"dt":1492830000,"main":{"temp":292.262,"temp_min":292.262,"temp_max":292.262,"pressure":1032.67,"sea_level":1038.79,"grnd_level":1032.67,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":92},"wind":{"speed":1.2,"deg":329.502},"rain":{"3h":0.035},"sys":{"pod":"d"},"dt_txt":"2017-04-22 03:00:00"},{"dt":1492840800,"main":{"temp":292.203,"temp_min":292.203,"temp_max":292.203,"pressure":1031.66,"sea_level":1037.83,"grnd_level":1031.66,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":92},"wind":{"speed":1.51,"deg":46.0026},"rain":{"3h":0.46},"sys":{"pod":"d"},"dt_txt":"2017-04-22 06:00:00"},{"dt":1492851600,"main":{"temp":290.71,"temp_min":290.71,"temp_max":290.71,"pressure":1032.24,"sea_level":1038.25,"grnd_level":1032.24,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"clouds":{"all":92},"wind":{"speed":0.97,"deg":65.5003},"rain":{"3h":1.41},"sys":{"pod":"n"},"dt_txt":"2017-04-22 09:00:00"},{"dt":1492862400,"main":{"temp":290.319,"temp_min":290.319,"temp_max":290.319,"pressure":1032.45,"sea_level":1038.58,"grnd_level":1032.45,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"clouds":{"all":92},"wind":{"speed":1.01,"deg":140},"rain":{"3h":1.085},"sys":{"pod":"n"},"dt_txt":"2017-04-22 12:00:00"},{"dt":1492873200,"main":{"temp":290.11,"temp_min":290.11,"temp_max":290.11,"pressure":1031.57,"sea_level":1037.74,"grnd_level":1031.57,"humidity":100,"temp_kf":0},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04n"}],"clouds":{"all":92},"wind":{"speed":0.93,"deg":232.001},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-22 15:00:00"},{"dt":1492884000,"main":{"temp":289.813,"temp_min":289.813,"temp_max":289.813,"pressure":1030.75,"sea_level":1036.72,"grnd_level":1030.75,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"clouds":{"all":80},"wind":{"speed":1.66,"deg":239.5},"rain":{"3h":0.015000000000001},"sys":{"pod":"n"},"dt_txt":"2017-04-22 18:00:00"},{"dt":1492894800,"main":{"temp":289.827,"temp_min":289.827,"temp_max":289.827,"pressure":1031.3,"sea_level":1037.31,"grnd_level":1031.3,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":88},"wind":{"speed":1.62,"deg":248.005},"rain":{"3h":0.05},"sys":{"pod":"d"},"dt_txt":"2017-04-22 21:00:00"},{"dt":1492905600,"main":{"temp":291.54,"temp_min":291.54,"temp_max":291.54,"pressure":1031.59,"sea_level":1037.58,"grnd_level":1031.59,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":24},"wind":{"speed":1.46,"deg":237.005},"rain":{"3h":0.035},"sys":{"pod":"d"},"dt_txt":"2017-04-23 00:00:00"},{"dt":1492916400,"main":{"temp":294.084,"temp_min":294.084,"temp_max":294.084,"pressure":1029.62,"sea_level":1035.65,"grnd_level":1029.62,"humidity":93,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":{"all":0},"wind":{"speed":1.06,"deg":164.003},"rain":{},"sys":{"pod":"d"},"dt_txt":"2017-04-23 03:00:00"},{"dt":1492927200,"main":{"temp":294.211,"temp_min":294.211,"temp_max":294.211,"pressure":1028.62,"sea_level":1034.68,"grnd_level":1028.62,"humidity":89,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":{"all":0},"wind":{"speed":1.36,"deg":98.5022},"rain":{},"sys":{"pod":"d"},"dt_txt":"2017-04-23 06:00:00"},{"dt":1492938000,"main":{"temp":291.239,"temp_min":291.239,"temp_max":291.239,"pressure":1029.61,"sea_level":1035.72,"grnd_level":1029.61,"humidity":100,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"clouds":{"all":0},"wind":{"speed":0.75,"deg":78.0004},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-23 09:00:00"},{"dt":1492948800,"main":{"temp":289.285,"temp_min":289.285,"temp_max":289.285,"pressure":1030.32,"sea_level":1036.37,"grnd_level":1030.32,"humidity":100,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"clouds":{"all":0},"wind":{"speed":1.12,"deg":287.501},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-23 12:00:00"},{"dt":1492959600,"main":{"temp":288.019,"temp_min":288.019,"temp_max":288.019,"pressure":1029.78,"sea_level":1035.89,"grnd_level":1029.78,"humidity":100,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"clouds":{"all":0},"wind":{"speed":1.25,"deg":265.501},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-23 15:00:00"},{"dt":1492970400,"main":{"temp":287.379,"temp_min":287.379,"temp_max":287.379,"pressure":1029.09,"sea_level":1035.22,"grnd_level":1029.09,"humidity":100,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"clouds":{"all":0},"wind":{"speed":1.41,"deg":245.501},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-23 18:00:00"},{"dt":1492981200,"main":{"temp":287.403,"temp_min":287.403,"temp_max":287.403,"pressure":1029.79,"sea_level":1035.91,"grnd_level":1029.79,"humidity":100,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":{"all":0},"wind":{"speed":1.41,"deg":245.502},"rain":{},"sys":{"pod":"d"},"dt_txt":"2017-04-23 21:00:00"},{"dt":1492992000,"main":{"temp":292.973,"temp_min":292.973,"temp_max":292.973,"pressure":1030.01,"sea_level":1036.06,"grnd_level":1030.01,"humidity":95,"temp_kf":0},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"02d"}],"clouds":{"all":8},"wind":{"speed":1.52,"deg":224.501},"rain":{},"sys":{"pod":"d"},"dt_txt":"2017-04-24 00:00:00"},{"dt":1493002800,"main":{"temp":294.058,"temp_min":294.058,"temp_max":294.058,"pressure":1028.26,"sea_level":1034.22,"grnd_level":1028.26,"humidity":91,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":36},"wind":{"speed":1.52,"deg":161.5},"rain":{"3h":0.02},"sys":{"pod":"d"},"dt_txt":"2017-04-24 03:00:00"},{"dt":1493013600,"main":{"temp":292.421,"temp_min":292.421,"temp_max":292.421,"pressure":1027.11,"sea_level":1033.17,"grnd_level":1027.11,"humidity":98,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":68},"wind":{"speed":1.67,"deg":137.5},"rain":{"3h":0.21},"sys":{"pod":"d"},"dt_txt":"2017-04-24 06:00:00"},{"dt":1493024400,"main":{"temp":290.972,"temp_min":290.972,"temp_max":290.972,"pressure":1027.36,"sea_level":1033.43,"grnd_level":1027.36,"humidity":100,"temp_kf":0},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"clouds":{"all":36},"wind":{"speed":0.86,"deg":103.005},"rain":{"3h":0.1},"sys":{"pod":"n"},"dt_txt":"2017-04-24 09:00:00"},{"dt":1493035200,"main":{"temp":289.643,"temp_min":289.643,"temp_max":289.643,"pressure":1027.25,"sea_level":1033.33,"grnd_level":1027.25,"humidity":100,"temp_kf":0},"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"clouds":{"all":20},"wind":{"speed":1.16,"deg":13.5005},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-24 12:00:00"},{"dt":1493046000,"main":{"temp":288.969,"temp_min":288.969,"temp_max":288.969,"pressure":1025.94,"sea_level":1032.05,"grnd_level":1025.94,"humidity":100,"temp_kf":0},"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"clouds":{"all":24},"wind":{"speed":1.82,"deg":318.006},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-24 15:00:00"},{"dt":1493056800,"main":{"temp":288.118,"temp_min":288.118,"temp_max":288.118,"pressure":1024.45,"sea_level":1030.6,"grnd_level":1024.45,"humidity":100,"temp_kf":0},"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"clouds":{"all":24},"wind":{"speed":1.61,"deg":330.502},"rain":{},"sys":{"pod":"n"},"dt_txt":"2017-04-24 18:00:00"},{"dt":1493067600,"main":{"temp":288.316,"temp_min":288.316,"temp_max":288.316,"pressure":1024.32,"sea_level":1030.51,"grnd_level":1024.32,"humidity":100,"temp_kf":0},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"clouds":{"all":36},"wind":{"speed":2.21,"deg":351.501},"rain":{},"sys":{"pod":"d"},"dt_txt":"2017-04-24 21:00:00"}],"city":{"id":6619279,"name":"City of Sydney","coord":{"lat":-33.8678,"lon":151.2084},"country":"AU"}}
133952.282  17   5   1       ws    rv TokenType None loop i=1
133952.288  17   5   1       rvns  add   sydney_weather_json_cod|200
133952.290  17   5   1       rvns  add   sydney_weather_json_message|0.0055
133952.290  17   5   1       rvns  add   sydney_weather_json_cnt|38
133952.291  17   5   1       rvns  add   sydney_weather_json_list_1_dt|1492668000
133952.291  17   5   1       rvns  add   sydney_weather_json_list_1_main_temp|296.7
133952.291  17   5   1       rvns  add   sydney_weather_json_list_1_main_temp_min|294.281
133952.291  17   5   1       rvns  add   sydney_weather_json_list_1_main_temp_max|296.7
133952.291  17   5   1       rvns  add   sydney_weather_json_list_1_main_pressure|1035.39
133952.291  17   5   1       rvns  add   sydney_weather_json_list_1_main_sea_level|1041.42
133952.291  17   5   1       rvns  add   sydney_weather_json_list_1_main_grnd_level|1035.39
133952.291  17   5   1       rvns  add   sydney_weather_json_list_1_main_humidity|84
133952.291  17   5   1       rvns  add   sydney_weather_json_list_1_main_temp_kf|2.42
133952.292  17   5   1       rvns  add   sydney_weather_json_list_1_weather_1_id|800
133952.292  17   5   1       rvns  add   sydney_weather_json_list_1_weather_1_main|Clear
133952.292  17   5   1       rvns  add   sydney_weather_json_list_1_weather_1_description|clear sky
133952.292  17   5   1       rvns  add   sydney_weather_json_list_1_weather_1_icon|01d
133952.292  17   5   1       rvns  add   sydney_weather_json_list_1_clouds_all|0
133952.292  17   5   1       rvns  add   sydney_weather_json_list_1_wind_speed|1.77
133952.292  17   5   1       rvns  add   sydney_weather_json_list_1_wind_deg|66.5032
133952.292  17   5   1       rvns  add   sydney_weather_json_list_1_sys_pod|d
133952.292  17   5   1       rvns  add   sydney_weather_json_list_1_dt_txt|2017-04-20 06:00:00
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_dt|1492678800
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_main_temp|292.71
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_main_temp_min|291.094
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_main_temp_max|292.71
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_main_pressure|1036.06
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_main_sea_level|1042.28
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_main_grnd_level|1036.06
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_main_humidity|97
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_main_temp_kf|1.61
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_weather_1_id|800
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_weather_1_main|Clear
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_weather_1_description|clear sky
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_weather_1_icon|02n
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_clouds_all|8
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_wind_speed|2.47
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_wind_deg|55.5009
133952.292  17   5   1       rvns  add   sydney_weather_json_list_2_sys_pod|n 

etc...


#23 ThaoHuynh 20 April 2017 - 05:46 PM

It worked. Thank you so much.