Create Presentation
Purpose
To create a new presentation in Zoho Show.
Quick Reference
| Property | Value |
|---|---|
| Method | POST |
| Request URL | https://{api.office-integrator_domain}/show/officeapi/v1/presentation |
| Content-Type | multipart/form-data |
Parameters
Request Parameters
| Parameter | Value | Mandatory / Optional | Description |
|---|---|---|---|
| apikey | 423s***** | Mandatory | Uniquely identifies the web application in which the Show editor is integrated. |
| callback_settings | { "save_format": "zslides", "save_url": <Your Save URL>, "http_method_type": "post", "retries": <Integer>, "timeout": <Integer>, "save_url_params": { .... } } | Mandatory | Using this param, you will be able to specify the following; save_format -> Specify the output format in which the edited presentation needs to be saved. save_url -> Provide your server location to which the latest content needs to be pushed back when the 'Save' is performed. The below key values are optional; http_method_type -> Specify the http method in which the save request has to be triggered. retries -> Specify the number of retries required when the 'Save' fails. timeout -> Specify the timeout for the given saveurl. save_url_params -> To customize the output parameters in which the document details will be pushed from our end. |
| editor_settings | { "language": "en" } | Optional | Set Editor preferences like interface language for new presentations. |
| permissions | { "document.export": true, "document.print": true, "document.edit": true } | Optional | Define presentation permissions for user. Option to allow or revoke presentation "Export", "Print" and "Edit" access. |
| document_info | { "document_name": "New", "document_id": "1349" } | Optional | Set a unique id and specify display name of the new presentation. |
| user_info | { "user_id": "9173", "display_name": "Ken" } | Optional | Identify a user in the presentation with "user_id" and "display_name". |
Editor Customization Parameters
editor_settings
| Parameter | Type | Possible Values | Default Value |
|---|---|---|---|
| language | string | en / de / es / fr / ja / nl, and more... | en |
permissions
| Parameter | Type | Possible Values | Default Value |
|---|---|---|---|
| document.export | boolean | true / false | true |
| document.print | boolean | true / false | true |
| document.edit | boolean | true / false | false |
callback_settings
| Parameter | Type | Mandatory / Optional | Possible Values | Default Value |
|---|---|---|---|---|
| save_format | string | Mandatory | zslides / pptx / pps / ppsx / odp / sxi and more... | zslides |
| save_url | string | Mandatory | URL - Maximum length -> 65535 | URL |
| save_url_params | JSON | Optional | Maximum key count - 10 Allowed characters for <additional_user_key> - Alphabets, Numbers, Hyphen, Underscore and Dot. Maximum Length - 100 characters Maximum length of <value> - 2500 characters | |
| http_method_type | string | Optional | post / put | post |
| retries | integer | Optional | 0 to 3 | 0 |
| timeout | integer | Optional | 1 to 120000 milliseconds | 120000 |
document_info
| Parameter | Type | Possible Values | Default Value |
|---|---|---|---|
| document_id | string | Alphabets, Numbers, Hyphen, Underscore and Dot. | Example: ab-3 |
| document_name | string | New Presentation | Untitled |
user_info
| Parameter | Type | Possible Values | Default Value |
|---|---|---|---|
| user_id | integer | 03588563264 | |
| display_name | string | Ken / James / Adam | Guest |
save_url Usage
Zoho Office Integrator allows partners and businesses to save the presentation content back to their specified storage server through the "save_url" method.
A save_url is a publicly accessible Webhook or a Web URL to which Zoho will push the updated presentation content from Show editor to the partner's server.
In order to use the save_url method, partners should fulfill the below requirements:
- Partner's remote servers need to expose one of their ports — port 443 (HTTPS) or port 80 (HTTP) — from their location, for Zoho Show to push the data back.
- The save_url value specified in the HTTPS/HTTP POST request should be a proper domain name and publicly accessible over the web. Example: https://zylker.com/save.php
save_url_params Usage
By default, when the 'Save' is performed, we will be pushing back the information with the following key names:
| Key Name | Type | Description |
|---|---|---|
| content | File | File content will be pushed back in the form of bytes. |
| filename | String | Presentation name |
| format | String | Specifies the format in which the presentation has been exported. |
If you wish to customize the above key names, you can make use of the 'save_url_params' key inside 'callback_settings' parameter.
Once the save_url_params key is configured, only the key values defined inside will be pushed back to your server. The default key names (like filename and format) will not be included. To include them, you need to define your own keys for format, filename and session_id by using the system variables $format, $filename and $session_id respectively.
If save_url_params is passed as an empty JSON or the system variable $content is not configured, the file bytes will be pushed back with the multipart name 'content' by default.
Syntax:
"save_url_params": {
<custom_content_key>: $content,
<custom_format_key>: $format,
<custom_filename_key>: $filename,
<custom_sessionId_key>: $session_id,
<additional_user_key>: <value>,
<additional_user_key>: <value>,
....
<additional_user_key>: <value>
},
Example:
"save_url_params": {
file: $content,
extension: $format,
presentation_name: $filename,
session_id: $session_id,
<additional_user_key>: <value>,
<additional_user_key>: <value>
},
In the above example, the file bytes will be pushed back in the multipart name 'file', file format in the key name 'extension', presentation filename in the key name 'presentation_name' and the file session id in the key name 'session_id'.
Notes and Limits
- Editor customization parameters and their values are case-sensitive.
- For a full list of error handling cases in Create Presentation, refer to Error Codes.
Sample Request
Copiedcurl -X POST \
https://api.office-integrator.com/show/officeapi/v1/presentation \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-F apikey=423s***** \
-F 'editor_settings={'\''language'\'':'\''en'\''}' \
-F 'permissions={'\''document.export'\'':true,'\''document.print'\'':true,'\''document.edit'\'':true}' \
-F 'callback_settings={'\''save_format'\'':'\''zslides'\'','\''save_url'\'':'\''https://domain.com/save.php/'\''}' \
-F 'document_info={'\''document_name'\'':'\''New'\'', '\''document_id'\'':1349}' \
-F 'user_info={'\''user_id'\'':'\''9173'\'','\''display_name'\'':'\''Ken'\''}' Sample Response
Copied{
"document_url": "https://api.office-integrator.com/show/officeapi/presentation/d26aa7b8029bf4f8d34c7dd0013939234a6e15dac88646f02a69582375b8da130efffac249d086aae4667dcbcfb7ac1d/open",
"document_id": "1349",
"save_url": "https://api.office-integrator.com/show/officeapi/presentation/d26aa7b8029bf4f8d34c7dd0013939234a6e15dac88646f02a69582375b8da130efffac249d086aae4667dcbcfb7ac1d/save",
"session_id": "d26aa7b8029bf4f8d34c7dd0013939234a6e15dac88646f02a69582375b8da130efffac249d086aae4667dcbcfb7ac1d",
"session_delete_url": "https://api.office-integrator.com/show/officeapi/v1/session/d26aa7b8029bf4f8d34c7dd0013939234a6e15dac88646f02a69582375b8da130efffac249d086aae4667dcbcfb7ac1d",
"document_delete_url": "https://api.office-integrator.com/show/officeapi/v1/presentation/1349",
}