Back to Collection Items
#include <CkHttp.h>
#include <CkJsonObject.h>
#include <CkHttpResponse.h>
#include <CkStringBuilder.h>
void ChilkatSample(void)
{
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkHttp http;
bool success;
CkJsonObject queryParams;
queryParams.UpdateInt("status",2);
http.SetRequestHeader("Authorization","API-Key {{api_key}}");
CkHttpResponse *resp = http.QuickRequestParams("GET","https://api.pandadoc.com/public/v1/documents",queryParams);
if (http.get_LastMethodSuccess() == false) {
std::cout << http.lastErrorText() << "\r\n";
return;
}
CkStringBuilder sbResponseBody;
resp->GetBodySb(sbResponseBody);
CkJsonObject jResp;
jResp.LoadSb(sbResponseBody);
jResp.put_EmitCompact(false);
std::cout << "Response Body:" << "\r\n";
std::cout << jResp.emit() << "\r\n";
int respStatusCode = resp->get_StatusCode();
std::cout << "Response Status Code = " << respStatusCode << "\r\n";
if (respStatusCode >= 400) {
std::cout << "Response Header:" << "\r\n";
std::cout << resp->header() << "\r\n";
std::cout << "Failed." << "\r\n";
delete resp;
return;
}
delete resp;
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "count": 0,
// "next": null,
// "previous": null,
// "results": [
// ]
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
// Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.
int count = jResp.IntOf("count");
const char *v_next = jResp.stringOf("next");
const char *previous = jResp.stringOf("previous");
int i = 0;
int count_i = jResp.SizeOfArray("results");
while (i < count_i) {
jResp.put_I(i);
i = i + 1;
}
}
Curl Command
curl -G -d "status=2"
-H "Authorization: Bearer {{access_token}}"
-H "Authorization: API-Key {{api_key}}"
https://api.pandadoc.com/public/v1/documents
Postman Collection Item JSON
{
"name": "List Completed Documents",
"request": {
"method": "GET",
"header": [
{
"key": "Authorization",
"value": "Bearer {{access_token}}",
"disabled": true
},
{
"key": "Authorization",
"value": "API-Key {{api_key}}",
"type": "text"
}
],
"url": {
"raw": "https://api.pandadoc.com/public/v1/documents?status=2",
"protocol": "https",
"host": [
"api",
"pandadoc",
"com"
],
"path": [
"public",
"v1",
"documents"
],
"query": [
{
"key": "status",
"value": "2"
}
]
},
"description": "For details go to [https://developers.pandadoc.com/v1/reference#list-documents](https://developers.pandadoc.com/v1/reference#list-documents)."
},
"response": [
{
"name": "Empty Response",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Authorization",
"value": "Bearer {{access_token}}"
},
{
"key": "Content-Type",
"value": "application/json;charset=UTF-8",
"description": "The mime type of this content"
}
],
"url": {
"raw": "https://api.pandadoc.com/public/v1/templates",
"protocol": "https",
"host": [
"api",
"pandadoc",
"com"
],
"path": [
"public",
"v1",
"templates"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "javascript",
"header": [
{
"key": "Allow",
"value": "GET, DELETE, HEAD, OPTIONS",
"name": "Allow",
"description": "Valid actions for a specified resource. To be used for a 405 Method not allowed"
},
{
"key": "Cache-Control",
"value": "no-cache",
"name": "Cache-Control",
"description": "Tells all caching mechanisms from server to client whether they may cache this object. It is measured in seconds"
},
{
"key": "Connection",
"value": "keep-alive",
"name": "Connection",
"description": "Options that are desired for the connection"
},
{
"key": "Content-Encoding",
"value": "gzip",
"name": "Content-Encoding",
"description": "The type of encoding used on the data."
},
{
"key": "Content-Type",
"value": "application/json",
"name": "Content-Type",
"description": "The mime type of this content"
},
{
"key": "Date",
"value": "Mon, 22 Aug 2016 17:01:13 GMT",
"name": "Date",
"description": "The date and time that the message was sent"
},
{
"key": "Expires",
"value": "Mon, 22 Aug 2016 17:01:12 GMT",
"name": "Expires",
"description": "Gives the date/time after which the response is considered stale"
},
{
"key": "Pragma",
"value": "no-cache",
"name": "Pragma",
"description": "Implementation-specific headers that may have various effects anywhere along the request-response chain."
},
{
"key": "Server",
"value": "nginx/1.4.6 (Ubuntu)",
"name": "Server",
"description": "A name for the server"
},
{
"key": "Transfer-Encoding",
"value": "chunked",
"name": "Transfer-Encoding",
"description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
}
],
"cookie": [
],
"body": "{\"count\": 0, \"next\": null, \"previous\": null, \"results\": []}"
}
]
}