Chilkat Online Tools

TCL / Support API / Incremental Sample Export

Back to Collection Items

load ./chilkat.dll

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

set http [new_CkHttp]

CkHttp_put_BasicAuth $http 1
CkHttp_put_Login $http "login"
CkHttp_put_Password $http "password"

set queryParams [new_CkJsonObject]

CkJsonObject_UpdateString $queryParams "start_time" "<integer>"

CkHttp_SetRequestHeader $http "Accept" "application/json"

# resp is a CkHttpResponse
set resp [CkHttp_QuickRequestParams $http "GET" "https://example.zendesk.com/api/v2/incremental/:incremental_resource/sample" $queryParams]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkJsonObject $queryParams
    exit
}

set sbResponseBody [new_CkStringBuilder]

CkHttpResponse_GetBodySb $resp $sbResponseBody

set jResp [new_CkJsonObject]

CkJsonObject_LoadSb $jResp $sbResponseBody
CkJsonObject_put_EmitCompact $jResp 0

puts "Response Body:"
puts [CkJsonObject_emit $jResp]

set respStatusCode [CkHttpResponse_get_StatusCode $resp]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode >= 400} then {
    puts "Response Header:"
    puts [CkHttpResponse_header $resp]
    puts "Failed."
    delete_CkHttpResponse $resp

    delete_CkHttp $http
    delete_CkJsonObject $queryParams
    delete_CkStringBuilder $sbResponseBody
    delete_CkJsonObject $jResp
    exit
}

delete_CkHttpResponse $resp

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

# {
#   "count": "<integer>",
#   "end_of_stream": "<boolean>",
#   "end_time": "<integer>",
#   "next_page": "<string>",
#   "tickets": [
#     {
#       "requester_id": "<integer>",
#       "allow_attachments": "<boolean>",
#       "allow_channelback": "<boolean>",
#       "assignee_email": "<string>",
#       "assignee_id": "<integer>",
#       "attribute_value_ids": "<array>",
#       "brand_id": "<integer>",
#       "collaborator_ids": "<array>",
#       "collaborators": [
#         {
#           "email": "<email>",
#           "name": "<string>"
#         },
#         {
#           "email": "<email>",
#           "name": "<string>"
#         }
#       ],
#       "comment": {},
#       "created_at": "<dateTime>",
#       "custom_fields": "<array>",
#       "custom_status_id": "<integer>",
#       "description": "<string>",
#       "due_at": "<dateTime>",
#       "email_cc_ids": "<array>",
#       "email_ccs": {},
#       "external_id": "<string>",
#       "follower_ids": "<array>",
#       "followers": {},
#       "followup_ids": "<array>",
#       "forum_topic_id": "<integer>",
#       "from_messaging_channel": "<boolean>",
#       "group_id": "<integer>",
#       "has_incidents": "<boolean>",
#       "id": "<integer>",
#       "is_public": "<boolean>",
#       "macro_id": "<integer>",
#       "macro_ids": "<array>",
#       "metadata": {},
#       "organization_id": "<integer>",
#       "priority": "high",
#       "problem_id": "<integer>",
#       "raw_subject": "<string>",
#       "recipient": "<string>",
#       "requester": {},
#       "safe_update": "<boolean>",
#       "satisfaction_rating": {
#         "aliquad0": false
#       },
#       "sharing_agreement_ids": "<array>",
#       "status": "pending",
#       "subject": "<string>",
#       "submitter_id": "<integer>",
#       "tags": "<array>",
#       "ticket_form_id": "<integer>",
#       "type": "question",
#       "updated_at": "<dateTime>",
#       "updated_stamp": "<string>",
#       "url": "<string>",
#       "via": {
#         "channel": "<string>",
#         "source": {
#           "elit2f": -86657295.30733354
#         }
#       },
#       "via_followup_source_id": "<integer>",
#       "via_id": "<integer>",
#       "voice_comment": {}
#     },
#     {
#       "requester_id": "<integer>",
#       "allow_attachments": "<boolean>",
#       "allow_channelback": "<boolean>",
#       "assignee_email": "<string>",
#       "assignee_id": "<integer>",
#       "attribute_value_ids": "<array>",
#       "brand_id": "<integer>",
#       "collaborator_ids": "<array>",
#       "collaborators": [
#         {
#           "email": "<email>",
#           "name": "<string>"
#         },
#         {
#           "email": "<email>",
#           "name": "<string>"
#         }
#       ],
#       "comment": {},
#       "created_at": "<dateTime>",
#       "custom_fields": "<array>",
#       "custom_status_id": "<integer>",
#       "description": "<string>",
#       "due_at": "<dateTime>",
#       "email_cc_ids": "<array>",
#       "email_ccs": {},
#       "external_id": "<string>",
#       "follower_ids": "<array>",
#       "followers": {},
#       "followup_ids": "<array>",
#       "forum_topic_id": "<integer>",
#       "from_messaging_channel": "<boolean>",
#       "group_id": "<integer>",
#       "has_incidents": "<boolean>",
#       "id": "<integer>",
#       "is_public": "<boolean>",
#       "macro_id": "<integer>",
#       "macro_ids": "<array>",
#       "metadata": {},
#       "organization_id": "<integer>",
#       "priority": "high",
#       "problem_id": "<integer>",
#       "raw_subject": "<string>",
#       "recipient": "<string>",
#       "requester": {},
#       "safe_update": "<boolean>",
#       "satisfaction_rating": {
#         "minim_01": "minim tempor",
#         "ipsum8c2": false
#       },
#       "sharing_agreement_ids": "<array>",
#       "status": "open",
#       "subject": "<string>",
#       "submitter_id": "<integer>",
#       "tags": "<array>",
#       "ticket_form_id": "<integer>",
#       "type": "task",
#       "updated_at": "<dateTime>",
#       "updated_stamp": "<string>",
#       "url": "<string>",
#       "via": {
#         "channel": "<string>",
#         "source": {
#           "nostrud_ee": "dolore veniam consequat"
#         }
#       },
#       "via_followup_source_id": "<integer>",
#       "via_id": "<integer>",
#       "voice_comment": {}
#     }
#   ]
# }

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

set count [CkJsonObject_stringOf $jResp "count"]
set end_of_stream [CkJsonObject_stringOf $jResp "end_of_stream"]
set end_time [CkJsonObject_stringOf $jResp "end_time"]
set next_page [CkJsonObject_stringOf $jResp "next_page"]
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "tickets"]
while {$i < $count_i} {
    CkJsonObject_put_I $jResp $i
    set requester_id [CkJsonObject_stringOf $jResp "tickets[i].requester_id"]
    set allow_attachments [CkJsonObject_stringOf $jResp "tickets[i].allow_attachments"]
    set allow_channelback [CkJsonObject_stringOf $jResp "tickets[i].allow_channelback"]
    set assignee_email [CkJsonObject_stringOf $jResp "tickets[i].assignee_email"]
    set assignee_id [CkJsonObject_stringOf $jResp "tickets[i].assignee_id"]
    set attribute_value_ids [CkJsonObject_stringOf $jResp "tickets[i].attribute_value_ids"]
    set brand_id [CkJsonObject_stringOf $jResp "tickets[i].brand_id"]
    set collaborator_ids [CkJsonObject_stringOf $jResp "tickets[i].collaborator_ids"]
    set created_at [CkJsonObject_stringOf $jResp "tickets[i].created_at"]
    set custom_fields [CkJsonObject_stringOf $jResp "tickets[i].custom_fields"]
    set custom_status_id [CkJsonObject_stringOf $jResp "tickets[i].custom_status_id"]
    set description [CkJsonObject_stringOf $jResp "tickets[i].description"]
    set due_at [CkJsonObject_stringOf $jResp "tickets[i].due_at"]
    set email_cc_ids [CkJsonObject_stringOf $jResp "tickets[i].email_cc_ids"]
    set external_id [CkJsonObject_stringOf $jResp "tickets[i].external_id"]
    set follower_ids [CkJsonObject_stringOf $jResp "tickets[i].follower_ids"]
    set followup_ids [CkJsonObject_stringOf $jResp "tickets[i].followup_ids"]
    set forum_topic_id [CkJsonObject_stringOf $jResp "tickets[i].forum_topic_id"]
    set from_messaging_channel [CkJsonObject_stringOf $jResp "tickets[i].from_messaging_channel"]
    set group_id [CkJsonObject_stringOf $jResp "tickets[i].group_id"]
    set has_incidents [CkJsonObject_stringOf $jResp "tickets[i].has_incidents"]
    set id [CkJsonObject_stringOf $jResp "tickets[i].id"]
    set is_public [CkJsonObject_stringOf $jResp "tickets[i].is_public"]
    set macro_id [CkJsonObject_stringOf $jResp "tickets[i].macro_id"]
    set macro_ids [CkJsonObject_stringOf $jResp "tickets[i].macro_ids"]
    set organization_id [CkJsonObject_stringOf $jResp "tickets[i].organization_id"]
    set priority [CkJsonObject_stringOf $jResp "tickets[i].priority"]
    set problem_id [CkJsonObject_stringOf $jResp "tickets[i].problem_id"]
    set raw_subject [CkJsonObject_stringOf $jResp "tickets[i].raw_subject"]
    set recipient [CkJsonObject_stringOf $jResp "tickets[i].recipient"]
    set safe_update [CkJsonObject_stringOf $jResp "tickets[i].safe_update"]
    set Aliquad0 [CkJsonObject_BoolOf $jResp "tickets[i].satisfaction_rating.aliquad0"]
    set sharing_agreement_ids [CkJsonObject_stringOf $jResp "tickets[i].sharing_agreement_ids"]
    set status [CkJsonObject_stringOf $jResp "tickets[i].status"]
    set subject [CkJsonObject_stringOf $jResp "tickets[i].subject"]
    set submitter_id [CkJsonObject_stringOf $jResp "tickets[i].submitter_id"]
    set tags [CkJsonObject_stringOf $jResp "tickets[i].tags"]
    set ticket_form_id [CkJsonObject_stringOf $jResp "tickets[i].ticket_form_id"]
    set v_type [CkJsonObject_stringOf $jResp "tickets[i].type"]
    set updated_at [CkJsonObject_stringOf $jResp "tickets[i].updated_at"]
    set updated_stamp [CkJsonObject_stringOf $jResp "tickets[i].updated_stamp"]
    set url [CkJsonObject_stringOf $jResp "tickets[i].url"]
    set Channel [CkJsonObject_stringOf $jResp "tickets[i].via.channel"]
    set Elit2f [CkJsonObject_stringOf $jResp "tickets[i].via.source.elit2f"]
    set via_followup_source_id [CkJsonObject_stringOf $jResp "tickets[i].via_followup_source_id"]
    set via_id [CkJsonObject_stringOf $jResp "tickets[i].via_id"]
    set Minim_01 [CkJsonObject_stringOf $jResp "tickets[i].satisfaction_rating.minim_01"]
    set Ipsum8c2 [CkJsonObject_BoolOf $jResp "tickets[i].satisfaction_rating.ipsum8c2"]
    set Nostrud_ee [CkJsonObject_stringOf $jResp "tickets[i].via.source.nostrud_ee"]
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "tickets[i].collaborators"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set email [CkJsonObject_stringOf $jResp "tickets[i].collaborators[j].email"]
        set name [CkJsonObject_stringOf $jResp "tickets[i].collaborators[j].name"]
        set j [expr $j + 1]
    }
    set i [expr $i + 1]
}

delete_CkHttp $http
delete_CkJsonObject $queryParams
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp

Curl Command

curl  -u login:password -G -d "start_time=%3Cinteger%3E"
	-H "Accept: application/json"
https://example.zendesk.com/api/v2/incremental/:incremental_resource/sample

Postman Collection Item JSON

{
  "name": "Incremental Sample Export",
  "request": {
    "method": "GET",
    "header": [
      {
        "key": "Accept",
        "value": "application/json"
      }
    ],
    "url": {
      "raw": "{{baseUrl}}/api/v2/incremental/:incremental_resource/sample?start_time=<integer>",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "v2",
        "incremental",
        ":incremental_resource",
        "sample"
      ],
      "query": [
        {
          "key": "start_time",
          "value": "<integer>",
          "description": "(Required) The time to start the incremental export from"
        }
      ],
      "variable": [
        {
          "key": "incremental_resource",
          "value": "<string>"
        }
      ]
    },
    "description": "Use this endpoint to test the incremental export format. It's more strict in terms of rate limiting,\nat 10 requests per 20 minutes instead of 10 requests per minute. It also returns only up to 50\nresults per request. Otherwise, it's identical to the above APIs.\n\nUse the `incremental_resource` parameter to specify the resource. Possible values are \"tickets\", \"ticket_events\", \"users\", or \"organizations\".\n"
  },
  "response": [
    {
      "name": "Success response",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: basic",
            "key": "Authorization",
            "value": "Basic <credentials>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v2/incremental/:incremental_resource/sample?start_time=<integer>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v2",
            "incremental",
            ":incremental_resource",
            "sample"
          ],
          "query": [
            {
              "key": "start_time",
              "value": "<integer>",
              "description": "(Required) The time to start the incremental export from"
            }
          ],
          "variable": [
            {
              "key": "incremental_resource"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"count\": \"<integer>\",\n  \"end_of_stream\": \"<boolean>\",\n  \"end_time\": \"<integer>\",\n  \"next_page\": \"<string>\",\n  \"tickets\": [\n    {\n      \"requester_id\": \"<integer>\",\n      \"allow_attachments\": \"<boolean>\",\n      \"allow_channelback\": \"<boolean>\",\n      \"assignee_email\": \"<string>\",\n      \"assignee_id\": \"<integer>\",\n      \"attribute_value_ids\": \"<array>\",\n      \"brand_id\": \"<integer>\",\n      \"collaborator_ids\": \"<array>\",\n      \"collaborators\": [\n        {\n          \"email\": \"<email>\",\n          \"name\": \"<string>\"\n        },\n        {\n          \"email\": \"<email>\",\n          \"name\": \"<string>\"\n        }\n      ],\n      \"comment\": {},\n      \"created_at\": \"<dateTime>\",\n      \"custom_fields\": \"<array>\",\n      \"custom_status_id\": \"<integer>\",\n      \"description\": \"<string>\",\n      \"due_at\": \"<dateTime>\",\n      \"email_cc_ids\": \"<array>\",\n      \"email_ccs\": {},\n      \"external_id\": \"<string>\",\n      \"follower_ids\": \"<array>\",\n      \"followers\": {},\n      \"followup_ids\": \"<array>\",\n      \"forum_topic_id\": \"<integer>\",\n      \"from_messaging_channel\": \"<boolean>\",\n      \"group_id\": \"<integer>\",\n      \"has_incidents\": \"<boolean>\",\n      \"id\": \"<integer>\",\n      \"is_public\": \"<boolean>\",\n      \"macro_id\": \"<integer>\",\n      \"macro_ids\": \"<array>\",\n      \"metadata\": {},\n      \"organization_id\": \"<integer>\",\n      \"priority\": \"high\",\n      \"problem_id\": \"<integer>\",\n      \"raw_subject\": \"<string>\",\n      \"recipient\": \"<string>\",\n      \"requester\": {},\n      \"safe_update\": \"<boolean>\",\n      \"satisfaction_rating\": {\n        \"aliquad0\": false\n      },\n      \"sharing_agreement_ids\": \"<array>\",\n      \"status\": \"pending\",\n      \"subject\": \"<string>\",\n      \"submitter_id\": \"<integer>\",\n      \"tags\": \"<array>\",\n      \"ticket_form_id\": \"<integer>\",\n      \"type\": \"question\",\n      \"updated_at\": \"<dateTime>\",\n      \"updated_stamp\": \"<string>\",\n      \"url\": \"<string>\",\n      \"via\": {\n        \"channel\": \"<string>\",\n        \"source\": {\n          \"elit2f\": -86657295.30733354\n        }\n      },\n      \"via_followup_source_id\": \"<integer>\",\n      \"via_id\": \"<integer>\",\n      \"voice_comment\": {}\n    },\n    {\n      \"requester_id\": \"<integer>\",\n      \"allow_attachments\": \"<boolean>\",\n      \"allow_channelback\": \"<boolean>\",\n      \"assignee_email\": \"<string>\",\n      \"assignee_id\": \"<integer>\",\n      \"attribute_value_ids\": \"<array>\",\n      \"brand_id\": \"<integer>\",\n      \"collaborator_ids\": \"<array>\",\n      \"collaborators\": [\n        {\n          \"email\": \"<email>\",\n          \"name\": \"<string>\"\n        },\n        {\n          \"email\": \"<email>\",\n          \"name\": \"<string>\"\n        }\n      ],\n      \"comment\": {},\n      \"created_at\": \"<dateTime>\",\n      \"custom_fields\": \"<array>\",\n      \"custom_status_id\": \"<integer>\",\n      \"description\": \"<string>\",\n      \"due_at\": \"<dateTime>\",\n      \"email_cc_ids\": \"<array>\",\n      \"email_ccs\": {},\n      \"external_id\": \"<string>\",\n      \"follower_ids\": \"<array>\",\n      \"followers\": {},\n      \"followup_ids\": \"<array>\",\n      \"forum_topic_id\": \"<integer>\",\n      \"from_messaging_channel\": \"<boolean>\",\n      \"group_id\": \"<integer>\",\n      \"has_incidents\": \"<boolean>\",\n      \"id\": \"<integer>\",\n      \"is_public\": \"<boolean>\",\n      \"macro_id\": \"<integer>\",\n      \"macro_ids\": \"<array>\",\n      \"metadata\": {},\n      \"organization_id\": \"<integer>\",\n      \"priority\": \"high\",\n      \"problem_id\": \"<integer>\",\n      \"raw_subject\": \"<string>\",\n      \"recipient\": \"<string>\",\n      \"requester\": {},\n      \"safe_update\": \"<boolean>\",\n      \"satisfaction_rating\": {\n        \"minim_01\": \"minim tempor\",\n        \"ipsum8c2\": false\n      },\n      \"sharing_agreement_ids\": \"<array>\",\n      \"status\": \"open\",\n      \"subject\": \"<string>\",\n      \"submitter_id\": \"<integer>\",\n      \"tags\": \"<array>\",\n      \"ticket_form_id\": \"<integer>\",\n      \"type\": \"task\",\n      \"updated_at\": \"<dateTime>\",\n      \"updated_stamp\": \"<string>\",\n      \"url\": \"<string>\",\n      \"via\": {\n        \"channel\": \"<string>\",\n        \"source\": {\n          \"nostrud_ee\": \"dolore veniam consequat\"\n        }\n      },\n      \"via_followup_source_id\": \"<integer>\",\n      \"via_id\": \"<integer>\",\n      \"voice_comment\": {}\n    }\n  ]\n}"
    }
  ]
}