Tcl Stripe: List all Events

Back to Index

List events, going back up to 30 days.

Documentation: https://stripe.com/docs/api/curl#list_events

CURL Command

curl https://api.stripe.com/v1/events?limit=3 \
   -u STRIPE_SECRET_KEY: \
   -G

Tcl Example


load ./chilkat.dll

set rest [new_CkRest]

#  URL: https://api.stripe.com/v1/events?limit=3
set bTls 1
set port 443
set bAutoReconnect 1
set success [CkRest_Connect $rest "api.stripe.com" $port $bTls $bAutoReconnect]
if {[expr $success != 1]} then {
    puts "ConnectFailReason: [CkRest_ConnectFailReason $rest]"
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    exit
}

CkRest_SetAuthBasic $rest "STRIPE_SECRET_KEY" ""

set sbResponseBody [new_CkStringBuilder]

set success [CkRest_FullRequestNoBodySb $rest "GET" "/v1/events?limit=3" $sbResponseBody]
if {[expr $success != 1]} then {
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    delete_CkStringBuilder $sbResponseBody
    exit
}

set jsonResponse [new_CkJsonObject]

CkJsonObject_LoadSb $jsonResponse $sbResponseBody

set object [CkJsonObject_stringOf $jsonResponse "object"]
set url [CkJsonObject_stringOf $jsonResponse "url"]
set has_more [CkJsonObject_BoolOf $jsonResponse "has_more"]
set i 0
set count_i [CkJsonObject_SizeOfArray $jsonResponse "data"]
while {[expr $i < $count_i]} {
    CkJsonObject_put_I $jsonResponse $i
    set id [CkJsonObject_stringOf $jsonResponse "data[i].id"]
    set object [CkJsonObject_stringOf $jsonResponse "data[i].object"]
    set api_version [CkJsonObject_IsNullOf $jsonResponse "data[i].api_version"]
    set created [CkJsonObject_IntOf $jsonResponse "data[i].created"]
    set dataObjectId [CkJsonObject_stringOf $jsonResponse "data[i].data.object.id"]
    set dataObjectObject [CkJsonObject_stringOf $jsonResponse "data[i].data.object.object"]
    set dataObjectAmount [CkJsonObject_IntOf $jsonResponse "data[i].data.object.amount"]
    set dataObjectCreated [CkJsonObject_IntOf $jsonResponse "data[i].data.object.created"]
    set dataObjectCurrency [CkJsonObject_stringOf $jsonResponse "data[i].data.object.currency"]
    set dataObjectInterval [CkJsonObject_stringOf $jsonResponse "data[i].data.object.interval"]
    set dataObjectInterval_count [CkJsonObject_IntOf $jsonResponse "data[i].data.object.interval_count"]
    set dataObjectLivemode [CkJsonObject_BoolOf $jsonResponse "data[i].data.object.livemode"]
    set dataObjectName [CkJsonObject_stringOf $jsonResponse "data[i].data.object.name"]
    set dataObjectStatement_descriptor [CkJsonObject_IsNullOf $jsonResponse "data[i].data.object.statement_descriptor"]
    set dataObjectTrial_period_days [CkJsonObject_IsNullOf $jsonResponse "data[i].data.object.trial_period_days"]
    set livemode [CkJsonObject_BoolOf $jsonResponse "data[i].livemode"]
    set pending_webhooks [CkJsonObject_IntOf $jsonResponse "data[i].pending_webhooks"]
    set requestId [CkJsonObject_IsNullOf $jsonResponse "data[i].request.id"]
    set requestIdempotency_key [CkJsonObject_IsNullOf $jsonResponse "data[i].request.idempotency_key"]
    set type [CkJsonObject_stringOf $jsonResponse "data[i].type"]
    set i [expr $i + 1]
}

delete_CkRest $rest
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jsonResponse

Sample JSON Response Body

{
  "object": "list",
  "url": "/v1/events",
  "has_more": false,
  "data": [
    {
      "id": "evt_1BnETJGswQrCoh0XAl7jSmFB",
      "object": "event",
      "api_version": null,
      "created": 1516662781,
      "data": {
        "object": {
          "id": "gold",
          "object": "plan",
          "amount": 2000,
          "created": 1516662781,
          "currency": "usd",
          "interval": "month",
          "interval_count": 1,
          "livemode": false,
          "metadata": {},
          "name": "T-shirt",
          "statement_descriptor": null,
          "trial_period_days": null
        }
      },
      "livemode": false,
      "pending_webhooks": 0,
      "request": {
        "id": null,
        "idempotency_key": null
      },
      "type": "plan.created"
    }
  ]
}