Chilkat Online Tools

C# / 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.

Chilkat.Http http = new Chilkat.Http();
bool success;

http.BasicAuth = true;
http.Login = "login";
http.Password = "password";

Chilkat.JsonObject queryParams = new Chilkat.JsonObject();
queryParams.UpdateString("start_time","<integer>");

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

Chilkat.HttpResponse resp = http.QuickRequestParams("GET","https://example.zendesk.com/api/v2/incremental/:incremental_resource/sample",queryParams);
if (http.LastMethodSuccess == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

Chilkat.StringBuilder sbResponseBody = new Chilkat.StringBuilder();
resp.GetBodySb(sbResponseBody);

Chilkat.JsonObject jResp = new Chilkat.JsonObject();
jResp.LoadSb(sbResponseBody);
jResp.EmitCompact = false;

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

int respStatusCode = resp.StatusCode;
Debug.WriteLine("Response Status Code = " + Convert.ToString(respStatusCode));
if (respStatusCode >= 400) {
    Debug.WriteLine("Response Header:");
    Debug.WriteLine(resp.Header);
    Debug.WriteLine("Failed.");

    return;
}

// 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

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

string count = jResp.StringOf("count");
string end_of_stream = jResp.StringOf("end_of_stream");
string end_time = jResp.StringOf("end_time");
string next_page = jResp.StringOf("next_page");
int i = 0;
int count_i = 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;
    }

    i = i + 1;
}

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