Chilkat Examples

ChilkatHOME.NET Core C#Android™AutoItCC#C++Chilkat2-PythonCkPythonClassic ASPDataFlexDelphi ActiveXDelphi DLLGoJavaLianjaMono C#Node.jsObjective-CPHP ActiveXPHP ExtensionPerlPowerBuilderPowerShellPureBasicRubySQL ServerSwift 2Swift 3,4,5...TclUnicode CUnicode C++VB.NETVBScriptVisual Basic 6.0Visual FoxProXojo Plugin

PureBasic Web API Examples

Primary Categories

ABN AMRO
AWS Secrets Manager
AWS Security Token Service
AWS Translate
Activix CRM
Adyen
Alibaba Cloud OSS
Amazon Cognito
Amazon DynamoDB
Amazon MWS
Amazon Pay
Amazon Rekognition
Amazon SP-API
Amazon Voice ID
Aruba Fatturazione
Azure Maps
Azure Monitor
Azure OAuth2
Azure Storage Accounts
Backblaze S3
Banco Inter
Belgian eHealth Platform
Bitfinex v2 REST
Bluzone
BrickLink
Bunny CDN
CallRail
CardConnect
Cerved
ClickBank
Clickatell
Cloudfare
Constant Contact
DocuSign
Duo Auth MFA
ETrade
Ecwid
Egypt ITIDA
Egypt eReceipt
Etsy
Facebook
Faire
Frame.io
GeoOp
GetHarvest
Global Payments
Google People
Google Search Console
Google Translate
Google Vision
Hungary NAV Invoicing
IBM Text to Speech
Ibanity
IntakeQ
Jira
Lightspeed
MYOB
Magento
Mailgun

Mastercard
MedTunnel
MercadoLibre
MessageMedia
Microsoft Calendar
Microsoft Group
Microsoft Tasks and Plans
Microsoft Teams
Moody's
Okta OAuth/OIDC
OneLogin OIDC
OneNote
OpenAI ChatGPT
PRODA
PayPal
Paynow.pl
Peoplevox
Populi
QuickBooks
Rabobank
Refinitiv
Royal Mail OBA
SCiS Schools Catalogue
SII Chile
SMSAPI
SOAP finkok.com
SendGrid
Shippo
Shopify
Shopware
Shopware 6
SimpleTexting
Square
Stripe
SugarCRM
TicketBAI
Trello
Twilio
Twitter API v2
Twitter v1
UPS
UniPin
VoiceBase
Vonage
WaTrend
Walmart v3
Wasabi
WhatsApp
WiX
WooCommerce
WordPress
Xero
Yahoo Mail
Yapily
Yousign
ZATCA
Zendesk
Zoom
_Miscellaneous_
eBay
effectconnect
hacienda.go.cr

 

 

 

(PureBasic) Etsy: Find a Shop's Active Listings

Finds all active Listings associated with a Shop.

For more information, see https://www.etsy.com/developers/documentation/reference/listing

Chilkat PureBasic Module Download

Chilkat PureBasic Module

IncludeFile "CkHttp.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkJsonObject.pb"

Procedure ChilkatExample()

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

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success.i

    ; Implements the following CURL command:

    ; curl -X GET \
    ;   https://openapi.etsy.com/v2/shops/shop_id/listings/active?api_key=MY_ETSY_KEYSTRING&limit=2

    sbResponseBody.i = CkStringBuilder::ckCreate()
    If sbResponseBody.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkHttp::ckQuickGetSb(http,"https://openapi.etsy.com/v2/shops/shop_id/listings/active?api_key=MY_ETSY_KEYSTRING&limit=2",sbResponseBody)
    If success = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkStringBuilder::ckDispose(sbResponseBody)
        ProcedureReturn
    EndIf

    jResp.i = CkJsonObject::ckCreate()
    If jResp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckLoadSb(jResp,sbResponseBody)
    CkJsonObject::setCkEmitCompact(jResp, 0)

    Debug "Response Body:"
    Debug CkJsonObject::ckEmit(jResp)

    respStatusCode.i = CkHttp::ckLastStatus(http)
    Debug "Response Status Code = " + Str(respStatusCode)
    If respStatusCode >= 400
        Debug "Response Header:"
        Debug CkHttp::ckLastHeader(http)
        Debug "Failed."
        CkHttp::ckDispose(http)
        CkStringBuilder::ckDispose(sbResponseBody)
        CkJsonObject::ckDispose(jResp)
        ProcedureReturn
    EndIf

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

    ; {
    ;   "count": 176,
    ;   "results": [
    ;     {
    ;       "listing_id": 720138253,
    ;       "state": "active",
    ;       "user_id": 17132443,
    ;       "category_id": 68890894,
    ;       "title": "Star face, Galaxy wall mask, Weird wall mask, Crazy art sculpture,  Original Wall Mask, Wire art sculpture, Wall art sculpture, 3D art",
    ;       "description": "The crazy hair says it all. This galaxy face is something every art lover should possess in their collection. The two crazy eyes are so lovable and so in tune with the nose. The thin decorative black  lines emphasize the facial characteristics and the white dots around the face all lead to this gorgeous crazy hair, made of thick metal wire. This unique star face is made of terracotta, ceramic elements,  and sand plaster than it was glued to a wooden board, painted in dark blue. There is a hook on the back for easy hanging. The awesome art piece is perfect for your personal collection or a gift for someone very special.\n\nThe night sky can always be an artist\u2019s inspiration: the countless stars and the vastness can acquire different images and shapes. In this case, this incredible face, filled with numerous stars, emerges from the sky for me. \n  \nTagged: 99heads\n\nThe following materials are used: \n\nTerracotta, ceramic elements, ceramic glaze, ceramic paint, wood, metal wire, glass, sand plaster.\n\nSize:\nHeight: (hair included): 30 cm (11 3\/4")\nWidth: 36cm (14 1\/4 )\nDepth: 6 cm ( 2 1\/2")",
    ;       "creation_tsz": 1562700678,
    ;       "ending_tsz": 1573331478,
    ;       "original_creation_tsz": 1562700678,
    ;       "last_modified_tsz": 1562704479,
    ;       "price": "160.00",
    ;       "currency_code": "USD",
    ;       "quantity": 1,
    ;       "sku": [
    ;       ],
    ;       "tags": [
    ;         "Crazy art sculpture",
    ;         "Wall Ceramic mask",
    ;         "Abstract face",
    ;         "3D sculpture",
    ;         "Wall art Sculpture",
    ;         "wire art sculpture",
    ;         "wired art",
    ;         "modern ceramics",
    ;         "wall mask",
    ;         "star face",
    ;         "galaxy art",
    ;         "galaxy wall mask",
    ;         "galaxy sculpture"
    ;       ],
    ;       "category_path": [
    ;         "Art",
    ;         "Mixed Media"
    ;       ],
    ;       "category_path_ids": [
    ;         68887312,
    ;         68890894
    ;       ],
    ;       "materials": [
    ;         "Terracotta",
    ;         "ceramic elements",
    ;         "ceramic glaze",
    ;         "ceramic paint",
    ;         "wood",
    ;         "metal wire",
    ;         "glass",
    ;         "sand plaster"
    ;       ],
    ;       "shop_section_id": 24002839,
    ;       "featured_rank": null,
    ;       "state_tsz": 1562700678,
    ;       "url": "https:\/\/www.etsy.com\/listing\/720138253\/star-face-galaxy-wall-mask-weird-wall?utm_source=chilkattest&utm_medium=api&utm_campaign=api",
    ;       "views": 7,
    ;       "num_favorers": 1,
    ;       "shipping_template_id": null,
    ;       "processing_min": 1,
    ;       "processing_max": 2,
    ;       "who_made": "i_did",
    ;       "is_supply": "false",
    ;       "when_made": "2010_2019",
    ;       "item_weight": null,
    ;       "item_weight_unit": "g",
    ;       "item_length": null,
    ;       "item_width": null,
    ;       "item_height": null,
    ;       "item_dimensions_unit": "mm",
    ;       "is_private": false,
    ;       "recipient": null,
    ;       "occasion": null,
    ;       "style": null,
    ;       "non_taxable": false,
    ;       "is_customizable": true,
    ;       "is_digital": false,
    ;       "file_data": "",
    ;       "should_auto_renew": false,
    ;       "language": "en-US",
    ;       "has_variations": false,
    ;       "taxonomy_id": 101,
    ;       "taxonomy_path": [
    ;         "Art & Collectibles",
    ;         "Mixed Media & Collage",
    ;         "Other Assemblage"
    ;       ],
    ;       "used_manufacturer": false
    ;     },
    ;     {
    ;       "listing_id": 643852266,
    ;       "state": "active",
    ;       "user_id": 17132443,
    ;       "category_id": 68890894,
    ;       "title": "Art gift for couple, Weird art  figures, Ceramic Wall Figurines, Colorful sculptures, 3D wall art, Mixed Media Sculpture by 99heads",
    ;       "description": "The faces of the sculptures are made of white clay elements and ceramic glazes. Their bodies are wooden and painted with acrylic paints. Each sculpture has got a hook on the back for you to hang it on the desired place and in the desired arrangement.  These two look amazing next to each other on the wall... they look like good buddies. They are indeed very good friends that want to make your home more comfortable for you and your family or be a surprise gift for someone special :)\n\nMaterials:\nWhite clay, ceramic elements, wood, glass.\n\nTagged by 99heads\n\nSize:\n\nBlue Figure:\nHeight 62cm, width 10cm, depth 3cm\n(Height 24 1\/4" width 4", depth 1 1\/4")\n\nRed Figure:\nHeight 61,5cm, width 9cm, depth 3cm\n(Height 24" width 3 1\/2", depth 1 1\/4")\n\nIf you're interested in having only one of them:\n\nBlue figure:\nhttps:\/\/www.etsy.com\/listing\/609986541\/abstract-ceramic-modern-ceramic-doll\n\nRed figure:\nhttps:\/\/www.etsy.com\/listing\/596145976\/abstract-doll-figure-colorful-sculpture",
    ;       "creation_tsz": 1562699323,
    ;       "ending_tsz": 1573330123,
    ;       "original_creation_tsz": 1541802400,
    ;       "last_modified_tsz": 1562699323,
    ;       "price": "230.00",
    ;       "currency_code": "USD",
    ;       "quantity": 1,
    ;       "sku": [
    ;       ],
    ;       "tags": [
    ;         "ceramic home decor",
    ;         "wall art ceramic",
    ;         "abstract ceramic",
    ;         "ceramic wall art",
    ;         "ceramic sculpture",
    ;         "3d wall art",
    ;         "Ceramic doll",
    ;         "wall art sculpture",
    ;         "wall sculpture",
    ;         "weird  art figures",
    ;         "Art gift for couple",
    ;         "colorful sculpture",
    ;         "Fun wall hanging art"
    ;       ],
    ;       "category_path": [
    ;         "Art",
    ;         "Mixed Media"
    ;       ],
    ;       "category_path_ids": [
    ;         68887312,
    ;         68890894
    ;       ],
    ;       "materials": [
    ;         "white clay",
    ;         "ceramic elements",
    ;         "glass",
    ;         "ceramic glazes",
    ;         "wood"
    ;       ],
    ;       "shop_section_id": 24002915,
    ;       "featured_rank": null,
    ;       "state_tsz": 1541802400,
    ;       "url": "https:\/\/www.etsy.com\/listing\/643852266\/art-gift-for-couple-weird-art-figures?utm_source=chilkattest&utm_medium=api&utm_campaign=api",
    ;       "views": 143,
    ;       "num_favorers": 16,
    ;       "shipping_template_id": null,
    ;       "processing_min": 1,
    ;       "processing_max": 2,
    ;       "who_made": "i_did",
    ;       "is_supply": "false",
    ;       "when_made": "2010_2019",
    ;       "item_weight": null,
    ;       "item_weight_unit": "g",
    ;       "item_length": null,
    ;       "item_width": null,
    ;       "item_height": null,
    ;       "item_dimensions_unit": "mm",
    ;       "is_private": false,
    ;       "recipient": null,
    ;       "occasion": null,
    ;       "style": [
    ;         "Abstract"
    ;       ],
    ;       "non_taxable": false,
    ;       "is_customizable": true,
    ;       "is_digital": false,
    ;       "file_data": "",
    ;       "should_auto_renew": false,
    ;       "language": "en-US",
    ;       "has_variations": false,
    ;       "taxonomy_id": 101,
    ;       "taxonomy_path": [
    ;         "Art & Collectibles",
    ;         "Mixed Media & Collage",
    ;         "Other Assemblage"
    ;       ],
    ;       "used_manufacturer": false
    ;     }
    ;   ],
    ;   "params": {
    ;     "limit": "2",
    ;     "offset": 0,
    ;     "page": null,
    ;     "shop_id": "6634711",
    ;     "keywords": null,
    ;     "sort_on": "created",
    ;     "sort_order": "down",
    ;     "min_price": null,
    ;     "max_price": null,
    ;     "color": null,
    ;     "color_accuracy": 0,
    ;     "tags": null,
    ;     "category": null,
    ;     "translate_keywords": "false",
    ;     "include_private": 0
    ;   },
    ;   "type": "Listing",
    ;   "pagination": {
    ;     "effective_limit": 2,
    ;     "effective_offset": 0,
    ;     "next_offset": 2,
    ;     "effective_page": 1,
    ;     "next_page": 2
    ;   }
    ; }

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

    listing_id.i
    state.s
    user_id.i
    category_id.i
    title.s
    description.s
    creation_tsz.i
    ending_tsz.i
    original_creation_tsz.i
    last_modified_tsz.i
    price.s
    currency_code.s
    quantity.i
    shop_section_id.i
    featured_rank.s
    state_tsz.i
    url.s
    views.i
    num_favorers.i
    shipping_template_id.s
    processing_min.i
    processing_max.i
    who_made.s
    is_supply.s
    when_made.s
    item_weight.s
    item_weight_unit.s
    item_length.s
    item_width.s
    item_height.s
    item_dimensions_unit.s
    is_private.i
    recipient.s
    occasion.s
    style.s
    non_taxable.i
    is_customizable.i
    is_digital.i
    file_data.s
    should_auto_renew.i
    language.s
    has_variations.i
    taxonomy_id.i
    used_manufacturer.i
    j.i
    count_j.i
    strVal.s
    intVal.i

    count.i = CkJsonObject::ckIntOf(jResp,"count")
    paramsLimit.s = CkJsonObject::ckStringOf(jResp,"params.limit")
    paramsOffset.i = CkJsonObject::ckIntOf(jResp,"params.offset")
    paramsPage.s = CkJsonObject::ckStringOf(jResp,"params.page")
    paramsShop_id.s = CkJsonObject::ckStringOf(jResp,"params.shop_id")
    paramsKeywords.s = CkJsonObject::ckStringOf(jResp,"params.keywords")
    paramsSort_on.s = CkJsonObject::ckStringOf(jResp,"params.sort_on")
    paramsSort_order.s = CkJsonObject::ckStringOf(jResp,"params.sort_order")
    paramsMin_price.s = CkJsonObject::ckStringOf(jResp,"params.min_price")
    paramsMax_price.s = CkJsonObject::ckStringOf(jResp,"params.max_price")
    paramsColor.s = CkJsonObject::ckStringOf(jResp,"params.color")
    paramsColor_accuracy.i = CkJsonObject::ckIntOf(jResp,"params.color_accuracy")
    paramsTags.s = CkJsonObject::ckStringOf(jResp,"params.tags")
    paramsCategory.s = CkJsonObject::ckStringOf(jResp,"params.category")
    paramsTranslate_keywords.s = CkJsonObject::ckStringOf(jResp,"params.translate_keywords")
    paramsInclude_private.i = CkJsonObject::ckIntOf(jResp,"params.include_private")
    v_type.s = CkJsonObject::ckStringOf(jResp,"type")
    paginationEffective_limit.i = CkJsonObject::ckIntOf(jResp,"pagination.effective_limit")
    paginationEffective_offset.i = CkJsonObject::ckIntOf(jResp,"pagination.effective_offset")
    paginationNext_offset.i = CkJsonObject::ckIntOf(jResp,"pagination.next_offset")
    paginationEffective_page.i = CkJsonObject::ckIntOf(jResp,"pagination.effective_page")
    paginationNext_page.i = CkJsonObject::ckIntOf(jResp,"pagination.next_page")
    i.i = 0
    count_i.i = CkJsonObject::ckSizeOfArray(jResp,"results")
    While i < count_i
        CkJsonObject::setCkI(jResp, i)
        listing_id = CkJsonObject::ckIntOf(jResp,"results[i].listing_id")
        state = CkJsonObject::ckStringOf(jResp,"results[i].state")
        user_id = CkJsonObject::ckIntOf(jResp,"results[i].user_id")
        category_id = CkJsonObject::ckIntOf(jResp,"results[i].category_id")
        title = CkJsonObject::ckStringOf(jResp,"results[i].title")
        description = CkJsonObject::ckStringOf(jResp,"results[i].description")
        creation_tsz = CkJsonObject::ckIntOf(jResp,"results[i].creation_tsz")
        ending_tsz = CkJsonObject::ckIntOf(jResp,"results[i].ending_tsz")
        original_creation_tsz = CkJsonObject::ckIntOf(jResp,"results[i].original_creation_tsz")
        last_modified_tsz = CkJsonObject::ckIntOf(jResp,"results[i].last_modified_tsz")
        price = CkJsonObject::ckStringOf(jResp,"results[i].price")
        currency_code = CkJsonObject::ckStringOf(jResp,"results[i].currency_code")
        quantity = CkJsonObject::ckIntOf(jResp,"results[i].quantity")
        shop_section_id = CkJsonObject::ckIntOf(jResp,"results[i].shop_section_id")
        featured_rank = CkJsonObject::ckStringOf(jResp,"results[i].featured_rank")
        state_tsz = CkJsonObject::ckIntOf(jResp,"results[i].state_tsz")
        url = CkJsonObject::ckStringOf(jResp,"results[i].url")
        views = CkJsonObject::ckIntOf(jResp,"results[i].views")
        num_favorers = CkJsonObject::ckIntOf(jResp,"results[i].num_favorers")
        shipping_template_id = CkJsonObject::ckStringOf(jResp,"results[i].shipping_template_id")
        processing_min = CkJsonObject::ckIntOf(jResp,"results[i].processing_min")
        processing_max = CkJsonObject::ckIntOf(jResp,"results[i].processing_max")
        who_made = CkJsonObject::ckStringOf(jResp,"results[i].who_made")
        is_supply = CkJsonObject::ckStringOf(jResp,"results[i].is_supply")
        when_made = CkJsonObject::ckStringOf(jResp,"results[i].when_made")
        item_weight = CkJsonObject::ckStringOf(jResp,"results[i].item_weight")
        item_weight_unit = CkJsonObject::ckStringOf(jResp,"results[i].item_weight_unit")
        item_length = CkJsonObject::ckStringOf(jResp,"results[i].item_length")
        item_width = CkJsonObject::ckStringOf(jResp,"results[i].item_width")
        item_height = CkJsonObject::ckStringOf(jResp,"results[i].item_height")
        item_dimensions_unit = CkJsonObject::ckStringOf(jResp,"results[i].item_dimensions_unit")
        is_private = CkJsonObject::ckBoolOf(jResp,"results[i].is_private")
        recipient = CkJsonObject::ckStringOf(jResp,"results[i].recipient")
        occasion = CkJsonObject::ckStringOf(jResp,"results[i].occasion")
        style = CkJsonObject::ckStringOf(jResp,"results[i].style")
        non_taxable = CkJsonObject::ckBoolOf(jResp,"results[i].non_taxable")
        is_customizable = CkJsonObject::ckBoolOf(jResp,"results[i].is_customizable")
        is_digital = CkJsonObject::ckBoolOf(jResp,"results[i].is_digital")
        file_data = CkJsonObject::ckStringOf(jResp,"results[i].file_data")
        should_auto_renew = CkJsonObject::ckBoolOf(jResp,"results[i].should_auto_renew")
        language = CkJsonObject::ckStringOf(jResp,"results[i].language")
        has_variations = CkJsonObject::ckBoolOf(jResp,"results[i].has_variations")
        taxonomy_id = CkJsonObject::ckIntOf(jResp,"results[i].taxonomy_id")
        used_manufacturer = CkJsonObject::ckBoolOf(jResp,"results[i].used_manufacturer")
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].sku")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].tags")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            strVal = CkJsonObject::ckStringOf(jResp,"results[i].tags[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].category_path")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            strVal = CkJsonObject::ckStringOf(jResp,"results[i].category_path[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].category_path_ids")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            intVal = CkJsonObject::ckIntOf(jResp,"results[i].category_path_ids[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].materials")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            strVal = CkJsonObject::ckStringOf(jResp,"results[i].materials[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].taxonomy_path")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            strVal = CkJsonObject::ckStringOf(jResp,"results[i].taxonomy_path[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].style")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            strVal = CkJsonObject::ckStringOf(jResp,"results[i].style[j]")
            j = j + 1
        Wend
        i = i + 1
    Wend


    CkHttp::ckDispose(http)
    CkStringBuilder::ckDispose(sbResponseBody)
    CkJsonObject::ckDispose(jResp)


    ProcedureReturn
EndProcedure

 

© 2000-2024 Chilkat Software, Inc. All Rights Reserved.