DataFlex / Support API / List Trigger Revisions
Back to Collection Items
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoHttp
Boolean iSuccess
Variant vSbResponseBody
Handle hoSbResponseBody
Handle hoJResp
Integer iRespStatusCode
String sAuthor_id
String sCreated_at
String sSource_id
String sTarget_id
String sId
String sActive
String sDescription
String sTitle
String sUrl
Integer j
Integer iCount_j
Integer k
Integer iCount_k
String sChange
String sContent
String sField
String sValue
String sOperator
String sAfter_cursor
String sAfter_url
String sBefore_cursor
String sBefore_url
String sCount
Integer i
Integer iCount_i
String sTemp1
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
Set ComBasicAuth Of hoHttp To True
Set ComLogin Of hoHttp To "login"
Set ComPassword Of hoHttp To "password"
Send ComSetRequestHeader To hoHttp "Accept" "application/json"
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
Send CreateComObject of hoSbResponseBody
End
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComQuickGetSb Of hoHttp "https://example.zendesk.com/api/v2/triggers/:trigger_id/revisions" vSbResponseBody To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJResp
If (Not(IsComObjectCreated(hoJResp))) Begin
Send CreateComObject of hoJResp
End
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess
Set ComEmitCompact Of hoJResp To False
Showln "Response Body:"
Get ComEmit Of hoJResp To sTemp1
Showln sTemp1
Get ComLastStatus Of hoHttp To iRespStatusCode
Showln "Response Status Code = " iRespStatusCode
If (iRespStatusCode >= 400) Begin
Showln "Response Header:"
Get ComLastHeader Of hoHttp To sTemp1
Showln sTemp1
Showln "Failed."
Procedure_Return
End
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "after_cursor": "<string>",
// "after_url": "<string>",
// "before_cursor": "<string>",
// "before_url": "<string>",
// "count": "<integer>",
// "trigger_revisions": [
// {
// "author_id": "<integer>",
// "created_at": "<string>",
// "diff": {
// "actions": [
// {
// "field": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "value": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ]
// },
// {
// "field": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "value": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ]
// }
// ],
// "active": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "conditions": {
// "field": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "operator": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "value": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ]
// },
// "description": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "source_id": "<integer>",
// "target_id": "<integer>",
// "title": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ]
// },
// "id": "<integer>",
// "snapshot": {
// "actions": [
// {
// "field": "<string>",
// "value": "<string>"
// },
// {
// "field": "<string>",
// "value": "<string>"
// }
// ],
// "active": "<boolean>",
// "conditions": {
// "all": [
// {
// "field": "<string>",
// "operator": "<string>",
// "value": "<string>"
// },
// {
// "field": "<string>",
// "operator": "<string>",
// "value": "<string>"
// }
// ],
// "any": [
// {
// "field": "<string>",
// "operator": "<string>",
// "value": "<string>"
// },
// {
// "field": "<string>",
// "operator": "<string>",
// "value": "<string>"
// }
// ]
// },
// "description": "<string>",
// "title": "<string>"
// },
// "url": "<string>"
// },
// {
// "author_id": "<integer>",
// "created_at": "<string>",
// "diff": {
// "actions": [
// {
// "field": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "value": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ]
// },
// {
// "field": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "value": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ]
// }
// ],
// "active": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "conditions": {
// "field": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "operator": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "value": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ]
// },
// "description": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ],
// "source_id": "<integer>",
// "target_id": "<integer>",
// "title": [
// {
// "change": "<string>",
// "content": "<boolean>"
// },
// {
// "change": "<string>",
// "content": "<boolean>"
// }
// ]
// },
// "id": "<integer>",
// "snapshot": {
// "actions": [
// {
// "field": "<string>",
// "value": "<string>"
// },
// {
// "field": "<string>",
// "value": "<string>"
// }
// ],
// "active": "<boolean>",
// "conditions": {
// "all": [
// {
// "field": "<string>",
// "operator": "<string>",
// "value": "<string>"
// },
// {
// "field": "<string>",
// "operator": "<string>",
// "value": "<string>"
// }
// ],
// "any": [
// {
// "field": "<string>",
// "operator": "<string>",
// "value": "<string>"
// },
// {
// "field": "<string>",
// "operator": "<string>",
// "value": "<string>"
// }
// ]
// },
// "description": "<string>",
// "title": "<string>"
// },
// "url": "<string>"
// }
// ]
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Get ComStringOf Of hoJResp "after_cursor" To sAfter_cursor
Get ComStringOf Of hoJResp "after_url" To sAfter_url
Get ComStringOf Of hoJResp "before_cursor" To sBefore_cursor
Get ComStringOf Of hoJResp "before_url" To sBefore_url
Get ComStringOf Of hoJResp "count" To sCount
Move 0 To i
Get ComSizeOfArray Of hoJResp "trigger_revisions" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Get ComStringOf Of hoJResp "trigger_revisions[i].author_id" To sAuthor_id
Get ComStringOf Of hoJResp "trigger_revisions[i].created_at" To sCreated_at
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.source_id" To sSource_id
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.target_id" To sTarget_id
Get ComStringOf Of hoJResp "trigger_revisions[i].id" To sId
Get ComStringOf Of hoJResp "trigger_revisions[i].snapshot.active" To sActive
Get ComStringOf Of hoJResp "trigger_revisions[i].snapshot.description" To sDescription
Get ComStringOf Of hoJResp "trigger_revisions[i].snapshot.title" To sTitle
Get ComStringOf Of hoJResp "trigger_revisions[i].url" To sUrl
Move 0 To j
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].diff.actions" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Move 0 To k
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].diff.actions[j].field" To iCount_k
While (k < iCount_k)
Set ComK Of hoJResp To k
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.actions[j].field[k].change" To sChange
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.actions[j].field[k].content" To sContent
Move (k + 1) To k
Loop
Move 0 To k
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].diff.actions[j].value" To iCount_k
While (k < iCount_k)
Set ComK Of hoJResp To k
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.actions[j].value[k].change" To sChange
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.actions[j].value[k].content" To sContent
Move (k + 1) To k
Loop
Move (j + 1) To j
Loop
Move 0 To j
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].diff.active" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.active[j].change" To sChange
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.active[j].content" To sContent
Move (j + 1) To j
Loop
Move 0 To j
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].diff.conditions.field" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.conditions.field[j].change" To sChange
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.conditions.field[j].content" To sContent
Move (j + 1) To j
Loop
Move 0 To j
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].diff.conditions.operator" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.conditions.operator[j].change" To sChange
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.conditions.operator[j].content" To sContent
Move (j + 1) To j
Loop
Move 0 To j
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].diff.conditions.value" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.conditions.value[j].change" To sChange
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.conditions.value[j].content" To sContent
Move (j + 1) To j
Loop
Move 0 To j
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].diff.description" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.description[j].change" To sChange
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.description[j].content" To sContent
Move (j + 1) To j
Loop
Move 0 To j
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].diff.title" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.title[j].change" To sChange
Get ComStringOf Of hoJResp "trigger_revisions[i].diff.title[j].content" To sContent
Move (j + 1) To j
Loop
Move 0 To j
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].snapshot.actions" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "trigger_revisions[i].snapshot.actions[j].field" To sField
Get ComStringOf Of hoJResp "trigger_revisions[i].snapshot.actions[j].value" To sValue
Move (j + 1) To j
Loop
Move 0 To j
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].snapshot.conditions.all" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "trigger_revisions[i].snapshot.conditions.all[j].field" To sField
Get ComStringOf Of hoJResp "trigger_revisions[i].snapshot.conditions.all[j].operator" To sOperator
Get ComStringOf Of hoJResp "trigger_revisions[i].snapshot.conditions.all[j].value" To sValue
Move (j + 1) To j
Loop
Move 0 To j
Get ComSizeOfArray Of hoJResp "trigger_revisions[i].snapshot.conditions.any" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJResp To j
Get ComStringOf Of hoJResp "trigger_revisions[i].snapshot.conditions.any[j].field" To sField
Get ComStringOf Of hoJResp "trigger_revisions[i].snapshot.conditions.any[j].operator" To sOperator
Get ComStringOf Of hoJResp "trigger_revisions[i].snapshot.conditions.any[j].value" To sValue
Move (j + 1) To j
Loop
Move (i + 1) To i
Loop
End_Procedure
Curl Command
curl -u login:password -X GET
-H "Accept: application/json"
https://example.zendesk.com/api/v2/triggers/:trigger_id/revisions
Postman Collection Item JSON
{
"name": "List Trigger Revisions",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
}
],
"url": {
"raw": "{{baseUrl}}/api/v2/triggers/:trigger_id/revisions",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v2",
"triggers",
":trigger_id",
"revisions"
],
"variable": [
{
"key": "trigger_id",
"value": "<integer>"
}
]
},
"description": "List the revisions associated with a trigger. Trigger revision history is only available on Enterprise plans.\n\n#### Allowed For\n\n * Agents\n\n#### Sideloads\n\nThe following sideloads are supported:\n\n| Name | Will sideload\n| ----- | -------------\n| users | The user that authored each revision\n\n#### Pagination\n\nThis endpoint uses cursor-based pagination. The records are ordered in\ndescending order by the `created_at` timestamp, then by `id` on duplicate\n`created_at` values.\n\nThe `cursor` parameter is a non-human-readable argument you can use to move\nforward or backward in time.\n\nEach JSON response will contain the following attributes to help you get\nmore results:\n\n- `after_url` requests more recent results\n- `before_url` requests older results\n- `after_cursor` is the cursor to build the request yourself\n- `before_cursor` is the cursor to build the request yourself\n\nThe properties are null if no more records are available.\n\nYou can request a maximum of 1000 records using the `limit` parameter. If\nno `limit` parameter is supplied, it will default to 1,000.\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/triggers/:trigger_id/revisions",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v2",
"triggers",
":trigger_id",
"revisions"
],
"variable": [
{
"key": "trigger_id"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"after_cursor\": \"<string>\",\n \"after_url\": \"<string>\",\n \"before_cursor\": \"<string>\",\n \"before_url\": \"<string>\",\n \"count\": \"<integer>\",\n \"trigger_revisions\": [\n {\n \"author_id\": \"<integer>\",\n \"created_at\": \"<string>\",\n \"diff\": {\n \"actions\": [\n {\n \"field\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"value\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ]\n },\n {\n \"field\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"value\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ]\n }\n ],\n \"active\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"conditions\": {\n \"field\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"operator\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"value\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ]\n },\n \"description\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"source_id\": \"<integer>\",\n \"target_id\": \"<integer>\",\n \"title\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ]\n },\n \"id\": \"<integer>\",\n \"snapshot\": {\n \"actions\": [\n {\n \"field\": \"<string>\",\n \"value\": \"<string>\"\n },\n {\n \"field\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"active\": \"<boolean>\",\n \"conditions\": {\n \"all\": [\n {\n \"field\": \"<string>\",\n \"operator\": \"<string>\",\n \"value\": \"<string>\"\n },\n {\n \"field\": \"<string>\",\n \"operator\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"any\": [\n {\n \"field\": \"<string>\",\n \"operator\": \"<string>\",\n \"value\": \"<string>\"\n },\n {\n \"field\": \"<string>\",\n \"operator\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n },\n \"description\": \"<string>\",\n \"title\": \"<string>\"\n },\n \"url\": \"<string>\"\n },\n {\n \"author_id\": \"<integer>\",\n \"created_at\": \"<string>\",\n \"diff\": {\n \"actions\": [\n {\n \"field\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"value\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ]\n },\n {\n \"field\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"value\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ]\n }\n ],\n \"active\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"conditions\": {\n \"field\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"operator\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"value\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ]\n },\n \"description\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ],\n \"source_id\": \"<integer>\",\n \"target_id\": \"<integer>\",\n \"title\": [\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n },\n {\n \"change\": \"<string>\",\n \"content\": \"<boolean>\"\n }\n ]\n },\n \"id\": \"<integer>\",\n \"snapshot\": {\n \"actions\": [\n {\n \"field\": \"<string>\",\n \"value\": \"<string>\"\n },\n {\n \"field\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"active\": \"<boolean>\",\n \"conditions\": {\n \"all\": [\n {\n \"field\": \"<string>\",\n \"operator\": \"<string>\",\n \"value\": \"<string>\"\n },\n {\n \"field\": \"<string>\",\n \"operator\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"any\": [\n {\n \"field\": \"<string>\",\n \"operator\": \"<string>\",\n \"value\": \"<string>\"\n },\n {\n \"field\": \"<string>\",\n \"operator\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n },\n \"description\": \"<string>\",\n \"title\": \"<string>\"\n },\n \"url\": \"<string>\"\n }\n ]\n}"
}
]
}