Sample code for 30+ languages & platforms
Lua

WIN Air Freight Login POST Request

See more HTTP Misc Examples

Demonstrates the "login" POST method endpoint to obtain an initial authToken as a cookie. Each API request will return a fresh authToken cookie which must be passed back to WIN in the next API request.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

-- This example assumes the Chilkat HTTP API to have been previously unlocked.
-- See Global Unlock Sample for sample code.

local http = chilkat.Http.new()

-- Set the "Accept" header to tell the web server that we'll accept an XML response.
http.accept = "application/xml"
-- Tell Chilkat to cache any received cookies to files in a particular directory
http.cookie_dir = "c:/qa_data/cookies"
http.save_cookies = true

local xml = chilkat.Xml.new()
xml.tag = "LogOnModel"
xml:new_child2("UserName", "win-air-freight-user@company.com")
xml:new_child2("Password", "win-air-freight-password")
xml.emit_xml_decl = false

local httpRequestBody = xml:get_xml()
local resp = chilkat.HttpResponse.new()
local success = http:http_str("POST", "http://integration.winwebconnect.com/api/v1/Login", httpRequestBody, "utf-8", "application/xml", resp)
if not success then
    print(http.last_error_text)
    return
end

local xmlResponse = chilkat.Xml.new()
xmlResponse:load_xml(resp.body_str)

-- See below for an example XML response body.
print("Response Body:")
print(xmlResponse:get_xml())
print("---")

print("Response Header:")
print(resp.header)

-- An example resp header:
--
--     Cache-Control: no-cache
--     Pragma: no-cache
--     Content-Length: 1671
--     Content-Type: application/xml; charset=utf-8
--     Expires: -1
--     Set-Cookie: authToken=1467EC8A5D2F1390F89F9DB65AAAAB5C709D1AE7275B72B6DDBDA44C54AE5D5C19648F76AAB12C9D9E2690F0DD69BE6E1C0F6D725C9392E99E1904A6B76D7852948C01A49E2FF20914092843C062778B91EE7497DDF4C1AC4117110E414195C9726E3467BD98094437044A8E94F1BCA1; path=/; HttpOnly
--     Access-Control-Allow-Origin: http://integration.winwebconnect.com
--     Date: Mon, 21 Nov 2016 21:29:57 GMT
print("Success.")

-- An example XML response body:
-- -----------------------------
--     <?xml version="1.0" encoding="utf-8" ?>
--     <AuthResponseDTO>
--         <LastLogin>2016-11-21T21:29:58.229986Z</LastLogin>
--         <UserDetails>
--             <ContactID>16528</ContactID>
--             <AgentID>96592</AgentID>
--             <FirstName>System</FirstName>
--             <LastName>User</LastName>
--             <Email>test@company.com</Email>
--             <JobTitle />
--             <ContactNumber />
--             <IsActivated>true</IsActivated>
--             <OperatedBy />
--             <AddressBookID />
--             <Permissions>integrationapi</Permissions>
--             <ContactType>Primary</ContactType>
--             <UCTReferer />
--             <UCTIsCaptcha>false</UCTIsCaptcha>
--             <UATReferer />
--             <UATIsCaptcha>false</UATIsCaptcha>
--             <Username>test@company.com</Username>
--         </UserDetails>
--         <AgentDetails>
--             <AgentID>96592</AgentID>
--             <AgentName>My Company</AgentName>
--             <AccountNumber />
--             <IATACode />
--             <Address1>P.O. Box 555</Address1>
--             <Address2 />
--             <Place />
--             <StateProvince>NC</StateProvince>
--             <City>
--                 <Code>USBFO</Code>
--                 <Name>Raleigh</Name>
--             </City>
--             <Country>
--                 <Code>US</Code>
--                 <Name>US - United States</Name>
--             </Country>
--             <ZipCode>28522</ZipCode>
--             <Email />
--             <Phone />
--             <Fax />
--             <IsEAirwayBill>false</IsEAirwayBill>
--             <EYProgram>false</EYProgram>
--             <WhiteLabelMobileApp>false</WhiteLabelMobileApp>
--             <Limits>
--                 <UCTSearchesRemaining />
--                 <UATSearchesRemaining />
--                 <AgentID>96592</AgentID>
--             </Limits>
--             <Permissions>integrationapi</Permissions>
--         </AgentDetails>
--         <UserPreferences>
--             <AboutUs />
--             <MOTD />
--             <Language>en-US</Language>
--             <Currency>USD</Currency>
--             <UnitSystem>Metric</UnitSystem>
--             <TimeZone>
--                 <TheID>450</TheID>
--                 <KeyIdentifier>TimeZone</KeyIdentifier>
--                 <KeyValue>GMT</KeyValue>
--                 <KeyDescription>(GMT-11:00)UTC-11</KeyDescription>
--                 <IsDefault>false</IsDefault>
--             </TimeZone>
--             <DateFormat>dd-MMM-yyyy</DateFormat>
--             <TimeFormat>h:mm t</TimeFormat>
--             <Controls />
--             <ContactEmail />
--         </UserPreferences>
--         <Version>
--             <APIVersion>3.4.0.0ah8</APIVersion>
--             <UIVersion>3.1</UIVersion>
--         </Version>
--         <NumNonMSDBContacts />
--     </AuthResponseDTO>
--