Chilkat Online Tools

VB.NET / Support API / Incremental Sample Export

Back to Collection Items

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

Dim http As New Chilkat.Http
Dim success As Boolean

http.BasicAuth = True
http.Login = "login"
http.Password = "password"

Dim queryParams As New Chilkat.JsonObject
queryParams.UpdateString("start_time","<integer>")

http.SetRequestHeader("Accept","application/json")


Dim resp As Chilkat.HttpResponse = http.QuickRequestParams("GET","https://example.zendesk.com/api/v2/incremental/:incremental_resource/sample",queryParams)
If (http.LastMethodSuccess = False) Then
    Debug.WriteLine(http.LastErrorText)
    Exit Sub
End If


Dim sbResponseBody As New Chilkat.StringBuilder
resp.GetBodySb(sbResponseBody)

Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Debug.WriteLine("Response Body:")
Debug.WriteLine(jResp.Emit())

Dim respStatusCode As Integer = resp.StatusCode
Debug.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
    Debug.WriteLine("Response Header:")
    Debug.WriteLine(resp.Header)
    Debug.WriteLine("Failed.")

    Exit Sub
End If



' 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



Dim requester_id As String
Dim allow_attachments As String
Dim allow_channelback As String
Dim assignee_email As String
Dim assignee_id As String
Dim attribute_value_ids As String
Dim brand_id As String
Dim collaborator_ids As String
Dim created_at As String
Dim custom_fields As String
Dim custom_status_id As String
Dim description As String
Dim due_at As String
Dim email_cc_ids As String
Dim external_id As String
Dim follower_ids As String
Dim followup_ids As String
Dim forum_topic_id As String
Dim from_messaging_channel As String
Dim group_id As String
Dim has_incidents As String
Dim id As String
Dim is_public As String
Dim macro_id As String
Dim macro_ids As String
Dim organization_id As String
Dim priority As String
Dim problem_id As String
Dim raw_subject As String
Dim recipient As String
Dim safe_update As String
Dim Aliquad0 As Boolean
Dim sharing_agreement_ids As String
Dim status As String
Dim subject As String
Dim submitter_id As String
Dim tags As String
Dim ticket_form_id As String
Dim v_type As String
Dim updated_at As String
Dim updated_stamp As String
Dim url As String
Dim Channel As String
Dim Elit2f As String
Dim via_followup_source_id As String
Dim via_id As String
Dim Minim_01 As String
Dim Ipsum8c2 As Boolean
Dim Nostrud_ee As String
Dim j As Integer
Dim count_j As Integer
Dim email As String
Dim name As String

Dim count As String = jResp.StringOf("count")
Dim end_of_stream As String = jResp.StringOf("end_of_stream")
Dim end_time As String = jResp.StringOf("end_time")
Dim next_page As String = jResp.StringOf("next_page")
Dim i As Integer = 0
Dim count_i As Integer = jResp.SizeOfArray("tickets")
While i < count_i
    jResp.I = i
    requester_id = jResp.StringOf("tickets[i].requester_id")
    allow_attachments = jResp.StringOf("tickets[i].allow_attachments")
    allow_channelback = jResp.StringOf("tickets[i].allow_channelback")
    assignee_email = jResp.StringOf("tickets[i].assignee_email")
    assignee_id = jResp.StringOf("tickets[i].assignee_id")
    attribute_value_ids = jResp.StringOf("tickets[i].attribute_value_ids")
    brand_id = jResp.StringOf("tickets[i].brand_id")
    collaborator_ids = jResp.StringOf("tickets[i].collaborator_ids")
    created_at = jResp.StringOf("tickets[i].created_at")
    custom_fields = jResp.StringOf("tickets[i].custom_fields")
    custom_status_id = jResp.StringOf("tickets[i].custom_status_id")
    description = jResp.StringOf("tickets[i].description")
    due_at = jResp.StringOf("tickets[i].due_at")
    email_cc_ids = jResp.StringOf("tickets[i].email_cc_ids")
    external_id = jResp.StringOf("tickets[i].external_id")
    follower_ids = jResp.StringOf("tickets[i].follower_ids")
    followup_ids = jResp.StringOf("tickets[i].followup_ids")
    forum_topic_id = jResp.StringOf("tickets[i].forum_topic_id")
    from_messaging_channel = jResp.StringOf("tickets[i].from_messaging_channel")
    group_id = jResp.StringOf("tickets[i].group_id")
    has_incidents = jResp.StringOf("tickets[i].has_incidents")
    id = jResp.StringOf("tickets[i].id")
    is_public = jResp.StringOf("tickets[i].is_public")
    macro_id = jResp.StringOf("tickets[i].macro_id")
    macro_ids = jResp.StringOf("tickets[i].macro_ids")
    organization_id = jResp.StringOf("tickets[i].organization_id")
    priority = jResp.StringOf("tickets[i].priority")
    problem_id = jResp.StringOf("tickets[i].problem_id")
    raw_subject = jResp.StringOf("tickets[i].raw_subject")
    recipient = jResp.StringOf("tickets[i].recipient")
    safe_update = jResp.StringOf("tickets[i].safe_update")
    Aliquad0 = jResp.BoolOf("tickets[i].satisfaction_rating.aliquad0")
    sharing_agreement_ids = jResp.StringOf("tickets[i].sharing_agreement_ids")
    status = jResp.StringOf("tickets[i].status")
    subject = jResp.StringOf("tickets[i].subject")
    submitter_id = jResp.StringOf("tickets[i].submitter_id")
    tags = jResp.StringOf("tickets[i].tags")
    ticket_form_id = jResp.StringOf("tickets[i].ticket_form_id")
    v_type = jResp.StringOf("tickets[i].type")
    updated_at = jResp.StringOf("tickets[i].updated_at")
    updated_stamp = jResp.StringOf("tickets[i].updated_stamp")
    url = jResp.StringOf("tickets[i].url")
    Channel = jResp.StringOf("tickets[i].via.channel")
    Elit2f = jResp.StringOf("tickets[i].via.source.elit2f")
    via_followup_source_id = jResp.StringOf("tickets[i].via_followup_source_id")
    via_id = jResp.StringOf("tickets[i].via_id")
    Minim_01 = jResp.StringOf("tickets[i].satisfaction_rating.minim_01")
    Ipsum8c2 = jResp.BoolOf("tickets[i].satisfaction_rating.ipsum8c2")
    Nostrud_ee = jResp.StringOf("tickets[i].via.source.nostrud_ee")
    j = 0
    count_j = jResp.SizeOfArray("tickets[i].collaborators")
    While j < count_j
        jResp.J = j
        email = jResp.StringOf("tickets[i].collaborators[j].email")
        name = jResp.StringOf("tickets[i].collaborators[j].name")
        j = j + 1
    End While
    i = i + 1
End While

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}"
    }
  ]
}