Back to Collection Items
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <CkoHttpResponse.h>
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
BOOL success;
// Use this online tool to generate code from sample JSON: Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "name": "API Sample Document from PandaDoc Template",
// "template_uuid": "{{template_id}}",
// "folder_uuid": "{{documents_folder_uuid}}",
// "recipients": [
// {
// "email": "{{recipient_email}}",
// "first_name": "Jane",
// "last_name": "Roe",
// "role": "user"
// }
// ],
// "tokens": [
// {
// "name": "Favorite.Pet",
// "value": "Panda"
// }
// ],
// "fields": {
// "Favorite.Color": {
// "value": "PandaDoc green"
// },
// "Delivery": {
// "value": "Same Day Delivery"
// },
// "Like": {
// "value": true
// },
// "Date": {
// "value": "2019-12-31T00:00:00.000Z"
// }
// },
// "metadata": {
// "opp_id": "123456",
// "my_favorite_pet": "Panda"
// },
// "tags": [
// "created_via_api",
// "test_document"
// ],
// "pricing_tables": [
// {
// "name": "PricingTable1",
// "options": {
// "currency": "USD",
// "discount": {
// "is_global": true,
// "type": "absolute",
// "name": "Global Discount",
// "value": 2.26
// }
// },
// "sections": [
// {
// "title": "Sample Section",
// "default": true,
// "rows": [
// {
// "options": {
// "optional": true,
// "optional_selected": true,
// "qty_editable": true
// },
// "data": {
// "name": "Toy Panda",
// "description": "Fluffy!",
// "price": 10,
// "qty": 3,
// "tax_first": {
// "value": 7.5,
// "type": "percent"
// }
// },
// "custom_fields": {
// "Fluffiness": "5 / 5"
// }
// }
// ]
// }
// ]
// }
// ]
// }
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"name" value: @"API Sample Document from PandaDoc Template"];
[json UpdateString: @"template_uuid" value: @"{{template_id}}"];
[json UpdateString: @"folder_uuid" value: @"{{documents_folder_uuid}}"];
[json UpdateString: @"recipients[0].email" value: @"{{recipient_email}}"];
[json UpdateString: @"recipients[0].first_name" value: @"Jane"];
[json UpdateString: @"recipients[0].last_name" value: @"Roe"];
[json UpdateString: @"recipients[0].role" value: @"user"];
[json UpdateString: @"tokens[0].name" value: @"Favorite.Pet"];
[json UpdateString: @"tokens[0].value" value: @"Panda"];
[json UpdateString: @"fields.\"Favorite.Color\".value" value: @"PandaDoc green"];
[json UpdateString: @"fields.Delivery.value" value: @"Same Day Delivery"];
[json UpdateBool: @"fields.Like.value" value: YES];
[json UpdateString: @"fields.Date.value" value: @"2019-12-31T00:00:00.000Z"];
[json UpdateString: @"metadata.opp_id" value: @"123456"];
[json UpdateString: @"metadata.my_favorite_pet" value: @"Panda"];
[json UpdateString: @"tags[0]" value: @"created_via_api"];
[json UpdateString: @"tags[1]" value: @"test_document"];
[json UpdateString: @"pricing_tables[0].name" value: @"PricingTable1"];
[json UpdateString: @"pricing_tables[0].options.currency" value: @"USD"];
[json UpdateBool: @"pricing_tables[0].options.discount.is_global" value: YES];
[json UpdateString: @"pricing_tables[0].options.discount.type" value: @"absolute"];
[json UpdateString: @"pricing_tables[0].options.discount.name" value: @"Global Discount"];
[json UpdateNumber: @"pricing_tables[0].options.discount.value" numericStr: @"2.26"];
[json UpdateString: @"pricing_tables[0].sections[0].title" value: @"Sample Section"];
[json UpdateBool: @"pricing_tables[0].sections[0].default" value: YES];
[json UpdateBool: @"pricing_tables[0].sections[0].rows[0].options.optional" value: YES];
[json UpdateBool: @"pricing_tables[0].sections[0].rows[0].options.optional_selected" value: YES];
[json UpdateBool: @"pricing_tables[0].sections[0].rows[0].options.qty_editable" value: YES];
[json UpdateString: @"pricing_tables[0].sections[0].rows[0].data.name" value: @"Toy Panda"];
[json UpdateString: @"pricing_tables[0].sections[0].rows[0].data.description" value: @"Fluffy!"];
[json UpdateInt: @"pricing_tables[0].sections[0].rows[0].data.price" value: [NSNumber numberWithInt: 10]];
[json UpdateInt: @"pricing_tables[0].sections[0].rows[0].data.qty" value: [NSNumber numberWithInt: 3]];
[json UpdateNumber: @"pricing_tables[0].sections[0].rows[0].data.tax_first.value" numericStr: @"7.5"];
[json UpdateString: @"pricing_tables[0].sections[0].rows[0].data.tax_first.type" value: @"percent"];
[json UpdateString: @"pricing_tables[0].sections[0].rows[0].custom_fields.Fluffiness" value: @"5 / 5"];
[http SetRequestHeader: @"Authorization" value: @"API-Key {{api_key}}"];
[http SetRequestHeader: @"Content-Type" value: @"application/json"];
CkoHttpResponse *resp = [http PostJson3: @"https://api.pandadoc.com/public/v1/documents" contentType: @"application/json" json: json];
if (http.LastMethodSuccess == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
NSLog(@"%d",[resp.StatusCode intValue]);
NSLog(@"%@",resp.BodyStr);
Curl Command
curl -X POST
-H "Authorization: Bearer {{access_token}}"
-H "Authorization: API-Key {{api_key}}"
-H "Content-Type: application/json"
-d '{
"name": "API Sample Document from PandaDoc Template",
"template_uuid": "{{template_id}}",
"folder_uuid": "{{documents_folder_uuid}}",
"recipients": [
{
"email": "{{recipient_email}}",
"first_name": "Jane",
"last_name": "Roe",
"role": "user"
}
],
"tokens": [
{
"name": "Favorite.Pet",
"value": "Panda"
}
],
"fields": {
"Favorite.Color": {
"value": "PandaDoc green"
},
"Delivery": {
"value": "Same Day Delivery"
},
"Like": {
"value": true
},
"Date": {
"value": "2019-12-31T00:00:00.000Z"
}
},
"metadata":{
"opp_id": "123456",
"my_favorite_pet": "Panda"
},
"tags": [
"created_via_api",
"test_document"
],
"pricing_tables": [
{
"name": "PricingTable1",
"options": {
"currency": "USD",
"discount": {
"is_global": true,
"type": "absolute",
"name": "Global Discount",
"value": 2.26
}
},
"sections": [
{
"title": "Sample Section",
"default": true,
"rows": [
{
"options": {
"optional": true,
"optional_selected": true,
"qty_editable": true
},
"data":{
"name": "Toy Panda",
"description": "Fluffy!",
"price": 10,
"qty": 3,
"tax_first": {
"value": 7.5,
"type": "percent"
}
},
"custom_fields": {
"Fluffiness": "5 / 5"
}
}
]
}
]
}
]
}'
https://api.pandadoc.com/public/v1/documents
Postman Collection Item JSON
{
"name": "Create Document in a Folder",
"event": [
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
"var jsonData = JSON.parse(responseBody);",
"if (jsonData.uuid !== undefined) {",
" postman.setEnvironmentVariable(\"document_id\", jsonData.uuid);",
"}"
]
}
}
],
"request": {
"method": "POST",
"header": [
{
"key": "Authorization",
"value": "Bearer {{access_token}}",
"disabled": true
},
{
"key": "Authorization",
"value": "API-Key {{api_key}}",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{ \n \"name\": \"API Sample Document from PandaDoc Template\",\n \"template_uuid\": \"{{template_id}}\",\n \"folder_uuid\": \"{{documents_folder_uuid}}\",\n \"recipients\": [ \n { \n \"email\": \"{{recipient_email}}\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Roe\",\n \"role\": \"user\"\n }\n ],\n \"tokens\": [ \n { \n \"name\": \"Favorite.Pet\",\n \"value\": \"Panda\"\n }\n ],\n \"fields\": { \n \"Favorite.Color\": { \n \"value\": \"PandaDoc green\"\n },\n \"Delivery\": {\n \t\"value\": \"Same Day Delivery\"\n },\n \"Like\": {\n \t\"value\": true\n },\n \"Date\": {\n \t\"value\": \"2019-12-31T00:00:00.000Z\"\n }\n },\n \"metadata\":{ \n \"opp_id\": \"123456\",\n \"my_favorite_pet\": \"Panda\"\n },\n \"tags\": [\n \"created_via_api\",\n \"test_document\"\n\t], \n \"pricing_tables\": [ \n { \n \"name\": \"PricingTable1\",\n \"options\": { \n \"currency\": \"USD\",\n \"discount\": { \n \"is_global\": true,\n \"type\": \"absolute\",\n \"name\": \"Global Discount\",\n \"value\": 2.26\n }\n },\n \"sections\": [ \n { \n \"title\": \"Sample Section\",\n \"default\": true,\n \"rows\": [ \n { \n \"options\": { \n \"optional\": true,\n \"optional_selected\": true,\n \"qty_editable\": true\n },\n \"data\":{ \n \"name\": \"Toy Panda\",\n \"description\": \"Fluffy!\",\n \"price\": 10,\n \"qty\": 3,\n \"tax_first\": { \n \"value\": 7.5,\n \"type\": \"percent\"\n }\n },\n \"custom_fields\": { \n \"Fluffiness\": \"5 / 5\"\n }\n }\n ]\n }\n ]\n }\n ]\n}"
},
"url": {
"raw": "https://api.pandadoc.com/public/v1/documents",
"protocol": "https",
"host": [
"api",
"pandadoc",
"com"
],
"path": [
"public",
"v1",
"documents"
]
},
"description": "Provide value to variables: template_id and documents_folder_uuid ([Postman environments](https://www.getpostman.com/docs/postman/environments_and_globals/manage_environments) is great for it).\n\nFor details and the sample template go to [https://developers.pandadoc.com/v1/reference#create-document-from-pandadoc-template](https://developers.pandadoc.com/v1/reference#create-document-from-pandadoc-template).\n\nFor details of document creation in general go to [https://developers.pandadoc.com/v1/reference#new-document](https://developers.pandadoc.com/v1/reference#new-document)."
},
"response": [
]
}