Chilkat Online Tools

Swift3 / Support API / Incremental Sample Export

Back to Collection Items

func chilkatTest() {
    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    let http = CkoHttp()!
    var success: Bool

    http.basicAuth = true
    http.login = "login"
    http.password = "password"

    let queryParams = CkoJsonObject()!
    queryParams.update("start_time", value: "<integer>")

    http.setRequestHeader("Accept", value: "application/json")

    var resp: CkoHttpResponse? = http.quickRequestParams("GET", url: "https://example.zendesk.com/api/v2/incremental/:incremental_resource/sample", json: queryParams)
    if http.lastMethodSuccess == false {
        print("\(http.lastErrorText!)")
        return
    }

    let sbResponseBody = CkoStringBuilder()!
    resp!.getBodySb(sbResponseBody)

    let jResp = CkoJsonObject()!
    jResp.loadSb(sbResponseBody)
    jResp.emitCompact = false

    print("Response Body:")
    print("\(jResp.emit()!)")

    var respStatusCode: Int = resp!.statusCode.intValue
    print("Response Status Code = \(respStatusCode)")
    if respStatusCode >= 400 {
        print("Response Header:")
        print("\(resp!.header!)")
        print("Failed.")
        resp = nil
        return
    }

    resp = nil

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

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

    var count: String? = jResp.string(of: "count")
    var end_of_stream: String? = jResp.string(of: "end_of_stream")
    var end_time: String? = jResp.string(of: "end_time")
    var next_page: String? = jResp.string(of: "next_page")
    var i: Int = 0
    var count_i: Int = jResp.size(ofArray: "tickets").intValue
    while i < count_i {
        jResp.i = i
        requester_id = jResp.string(of: "tickets[i].requester_id")
        allow_attachments = jResp.string(of: "tickets[i].allow_attachments")
        allow_channelback = jResp.string(of: "tickets[i].allow_channelback")
        assignee_email = jResp.string(of: "tickets[i].assignee_email")
        assignee_id = jResp.string(of: "tickets[i].assignee_id")
        attribute_value_ids = jResp.string(of: "tickets[i].attribute_value_ids")
        brand_id = jResp.string(of: "tickets[i].brand_id")
        collaborator_ids = jResp.string(of: "tickets[i].collaborator_ids")
        created_at = jResp.string(of: "tickets[i].created_at")
        custom_fields = jResp.string(of: "tickets[i].custom_fields")
        custom_status_id = jResp.string(of: "tickets[i].custom_status_id")
        description = jResp.string(of: "tickets[i].description")
        due_at = jResp.string(of: "tickets[i].due_at")
        email_cc_ids = jResp.string(of: "tickets[i].email_cc_ids")
        external_id = jResp.string(of: "tickets[i].external_id")
        follower_ids = jResp.string(of: "tickets[i].follower_ids")
        followup_ids = jResp.string(of: "tickets[i].followup_ids")
        forum_topic_id = jResp.string(of: "tickets[i].forum_topic_id")
        from_messaging_channel = jResp.string(of: "tickets[i].from_messaging_channel")
        group_id = jResp.string(of: "tickets[i].group_id")
        has_incidents = jResp.string(of: "tickets[i].has_incidents")
        id = jResp.string(of: "tickets[i].id")
        is_public = jResp.string(of: "tickets[i].is_public")
        macro_id = jResp.string(of: "tickets[i].macro_id")
        macro_ids = jResp.string(of: "tickets[i].macro_ids")
        organization_id = jResp.string(of: "tickets[i].organization_id")
        priority = jResp.string(of: "tickets[i].priority")
        problem_id = jResp.string(of: "tickets[i].problem_id")
        raw_subject = jResp.string(of: "tickets[i].raw_subject")
        recipient = jResp.string(of: "tickets[i].recipient")
        safe_update = jResp.string(of: "tickets[i].safe_update")
        Aliquad0 = jResp.bool(of: "tickets[i].satisfaction_rating.aliquad0")
        sharing_agreement_ids = jResp.string(of: "tickets[i].sharing_agreement_ids")
        status = jResp.string(of: "tickets[i].status")
        subject = jResp.string(of: "tickets[i].subject")
        submitter_id = jResp.string(of: "tickets[i].submitter_id")
        tags = jResp.string(of: "tickets[i].tags")
        ticket_form_id = jResp.string(of: "tickets[i].ticket_form_id")
        v_type = jResp.string(of: "tickets[i].type")
        updated_at = jResp.string(of: "tickets[i].updated_at")
        updated_stamp = jResp.string(of: "tickets[i].updated_stamp")
        url = jResp.string(of: "tickets[i].url")
        Channel = jResp.string(of: "tickets[i].via.channel")
        Elit2f = jResp.string(of: "tickets[i].via.source.elit2f")
        via_followup_source_id = jResp.string(of: "tickets[i].via_followup_source_id")
        via_id = jResp.string(of: "tickets[i].via_id")
        Minim_01 = jResp.string(of: "tickets[i].satisfaction_rating.minim_01")
        Ipsum8c2 = jResp.bool(of: "tickets[i].satisfaction_rating.ipsum8c2")
        Nostrud_ee = jResp.string(of: "tickets[i].via.source.nostrud_ee")
        j = 0
        count_j = jResp.size(ofArray: "tickets[i].collaborators").intValue
        while j < count_j {
            jResp.j = j
            email = jResp.string(of: "tickets[i].collaborators[j].email")
            name = jResp.string(of: "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}"
    }
  ]
}