Calling Iguana X APIs locally:
If you are calling Iguana’s APIs from a Translator within the same Iguana instance, you can use the iguana.call()
function to call the API. This allows you to quickly call the desired API without having to authenticate.
Calling Iguana X APIs externally:
If you are calling Iguana’s APIs from outside of Iguana or from a different Iguana instance, you will need to use the net.http.*
and authenticate before making API requests. This involves three steps:
Try this out in the Translator with the following code:
local function login(Credentials) -- url-encoded POST parameters local _, _, header = net.http.post{ url = '127.0.0.1:7654/session/login', parameters = Credentials, live = true } -- return only the set cookie from header return header["Set-Cookie"]:split(';')[1] end local function logout(Cookie) net.http.post{ url = '127.0.0.1:7654/session/logout', headers = {['Cookie'] = Cookie}, live = true } end function main() local credentials = { username='admin', password='password' } -- Log in and get a session cookie local cookie = login(credentials) -- Call an Iguana X API using the cookie local componentList = net.http.post{ url = '127.0.0.1:7654/component/list', headers = {['Cookie'] = cookie}, live = true } local componentList = json.parse{data=componentList} -- Make more API calls with the cookie -- Log out logout(cookie) end