Sample code for 30+ languages & platforms
AutoIt

Faire - Get All Products

See more Faire Examples

Retrieves a list of products, ordered ascending by updated_at. By default, it only returns non-deleted products.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oHttp = ObjCreate("Chilkat.Http")

; Implements the following CURL command:

; curl -X GET -H "X-FAIRE-ACCESS-TOKEN: <access_token>" -d "limit=50" -d "page=1" https://www.faire.com/api/v1/products

; Use the following online tool to generate HTTP code from a CURL command
; Convert a cURL Command to HTTP Source Code

$oQueryParams = ObjCreate("Chilkat.JsonObject")
$oQueryParams.UpdateInt("limit",50)
$oQueryParams.UpdateInt("page",1)

$oHttp.SetRequestHeader "X-FAIRE-ACCESS-TOKEN","<access_token>"

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpParams("GET","https://www.faire.com/api/v1/products",$oQueryParams,$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

$oSbResponseBody = ObjCreate("Chilkat.StringBuilder")
$oResp.GetBodySb($oSbResponseBody)

$oJResp = ObjCreate("Chilkat.JsonObject")
$oJResp.LoadSb($oSbResponseBody)
$oJResp.EmitCompact = False

ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($oJResp.Emit() & @CRLF)

Local $iRespStatusCode = $oResp.StatusCode
ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode >= 400) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oResp.Header & @CRLF)
    ConsoleWrite("Failed." & @CRLF)
    Exit
EndIf

; Sample JSON response:
; (Sample code for parsing the JSON response is shown below)

; {
;   "page": 1,
;   "limit": 50,
;   "products": [
;     {
;       "id": "p_123",
;       "brand_id": "b_abc",
;       "short_description": "Our candles smell fantastic. Want to know how good? Read our description!",
;       "description": "Glad you decided to read our description! We have significantly more characters to describe to you just how good our candles smell.",
;       "wholesale_price_cents": 500,
;       "retail_price_cents": 1000,
;       "sale_state": "FOR_SALE",
;       "active": true,
;       "deleted": false,
;       "name": "Faire's fantastic candle",
;       "unit_multiplier": 8,
;       "taxonomy_type": {
;         "id": "tt_23nl3bzl00",
;         "name": "Votive Candle"
;       },
;       "options": [
;       ],
;       "created_at": "20190314T000915.000Z",
;       "updated_at": "20190315T000915.000Z"
;     }
;   ]
; }

; Sample code for parsing the JSON response...
; Use the following online tool to generate parsing code from sample JSON:
; Generate Parsing Code from JSON

Local $sId
Local $sBrand_id
Local $short_description
Local $sDescription
Local $iWholesale_price_cents
Local $iRetail_price_cents
Local $sale_state
Local $bActive
Local $bDeleted
Local $sName
Local $iUnit_multiplier
Local $sTaxonomy_typeId
Local $sTaxonomy_typeName
Local $sCreated_at
Local $sUpdated_at
Local $iJ
Local $iCount_j

Local $iPage = $oJResp.IntOf("page")
Local $iLimit = $oJResp.IntOf("limit")
Local $i = 0
Local $iCount_i = $oJResp.SizeOfArray("products")
While $i < $iCount_i
    $oJResp.I = $i
    $sId = $oJResp.StringOf("products[i].id")
    $sBrand_id = $oJResp.StringOf("products[i].brand_id")
    $short_description = $oJResp.StringOf("products[i].short_description")
    $sDescription = $oJResp.StringOf("products[i].description")
    $iWholesale_price_cents = $oJResp.IntOf("products[i].wholesale_price_cents")
    $iRetail_price_cents = $oJResp.IntOf("products[i].retail_price_cents")
    $sale_state = $oJResp.StringOf("products[i].sale_state")
    $bActive = $oJResp.BoolOf("products[i].active")
    $bDeleted = $oJResp.BoolOf("products[i].deleted")
    $sName = $oJResp.StringOf("products[i].name")
    $iUnit_multiplier = $oJResp.IntOf("products[i].unit_multiplier")
    $sTaxonomy_typeId = $oJResp.StringOf("products[i].taxonomy_type.id")
    $sTaxonomy_typeName = $oJResp.StringOf("products[i].taxonomy_type.name")
    $sCreated_at = $oJResp.StringOf("products[i].created_at")
    $sUpdated_at = $oJResp.StringOf("products[i].updated_at")
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("products[i].options")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $iJ = $iJ + 1
    Wend
    $i = $i + 1
Wend