Edit Spreadsheet

Purpose

To edit a spreadsheet in Zoho Sheet. Users can upload an existing spreadsheet from either their local drive or a publicly accessible Web URL and edit it online in Zoho Sheet.

Quick Reference

PropertyValue
MethodPOST
Request URLhttps://{api.office-integrator_domain}/sheet/officeapi/v1/spreadsheet
Content-Typemultipart/form-data

Parameters

Request Parameters

ParameterValueMandatory / OptionalDescription
apikey423s*****MandatoryUniquely identifies the web application in which the sheet editor is integrated.
document or urlFile or StringMandatoryMethod of providing the input file depending on its location.
document - if the input file is from your local drive or desktop.
url - if the input file is from a publicly accessible Web URL.
callback_settings{
 "save_format": "zsheet",
 "save_url": "https://zylker.com/save.php",
 "save_url_params": {
    ....
  }
}
MandatoryUsing this param, you will be able to specify the following;
save_format -> Specify the output format in which the edited spreadsheet 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 value is optional;
save_url_params -> To customize the output parameters in which the spreadsheet details will be pushed from our end.
editor_settings{
 "language": "en",
 "country": "IN"
}
OptionalSet Editor preferences like interface language and country for new spreadsheets.
permissions{
 "document.export": true,
 "document.print": true,
 "document.edit": true,
 "document.allowedformat": ["csv","tsv","xlsx","ods"]
}
OptionalDefine spreadsheet permissions for user. Option to allow or revoke spreadsheet "Export", "Print" and "Edit" access.
You can also specify the download formats which needs to be allowed. Supported file formats list.
document_info{
 "document_name": "Sample",
 "document_id": "1349"
}
OptionalSet a unique id and specify display name of the new spreadsheet.
user_info{
 "display_name": "Ken"
}
OptionalIdentify a user in the spreadsheet with "display_name".
ui_options{
 "save_button": "hide"
}
OptionalSpecify whether the "Save button" option needs to be shown or hidden.

Editor Customization Parameters

editor_settings

ParameterTypePossible ValuesDefault Value
languagestringen / de / es / fr / ja / nl, and more...en
countrystringIN / US / GB / MX / BR ...IN

permissions

ParameterTypePossible ValuesDefault Value
document.exportbooleantrue / falsetrue
document.printbooleantrue / falsetrue
document.editbooleantrue / falsefalse
document.allowedformatstringcsv, tsv, xlsx, odsAll supported formats will be allowed

callback_settings

ParameterTypeMandatory / OptionalPossible ValuesDefault Value
save_formatstringMandatoryzsheet / xlsx / xls / ods / csv / tsvxlsx
save_urlstringMandatoryhttps://zylker.com/save.phpURL
save_url_paramsJSONOptionalMaximum key count - 10
Allowed characters for <additional_user_key> - Alphabets, Numbers, Hyphen, Underscore and Dot. Maximum Length - 100 characters
Maximum length of <value> - 1000 characters
 

document_info

ParameterTypePossible ValuesDefault Value
document_idstring24eru24960v 
document_namestringSample SpreadsheetUntitled

user_info

ParameterTypePossible ValuesDefault Value
display_namestringKen / James / AdamGuest

ui_options

ParameterTypePossible ValuesDefault Value
save_buttonstringshow / hideshow

save_url Usage

Zoho Office Integrator allows partners and businesses to save the spreadsheet 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 spreadsheet content from the Sheet editor to the partner's server.

In order to use the save_url method, partners should fulfill the below requirements:

  1. Partner's remote servers need to expose one of their ports — port 443 (HTTPS) or port 80 (HTTP) — from their location, for Zoho Sheet to push the data back.
  2. 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 NameTypeDescription
contentFileFile content will be pushed back in the form of bytes.
filenameStringSpreadsheet name
formatStringSpecifies the format in which the spreadsheet 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 using the system variables $format and $filename 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,
  <additional_user_key>: <value>,
  <additional_user_key>: <value>,
  ....
  <additional_user_key>: <value>
},

Example:

"save_url_params": {
  file: $content,
  extension: $format,
  spreadsheet_name: $filename,
  <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' and spreadsheet filename in the key name 'spreadsheet_name'.

Notes and Limits

  • Editor customization parameters and their values are case-sensitive.
  • For possible error codes, refer to: Error Codes

Sample Request

Copiedcurl -X POST \
  https://api.office-integrator.com/sheet/officeapi/v1/spreadsheet \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  -F apikey=423s***** \
  -F 'editor_settings={'\''language'\'':'\''en'\'','\''country'\'':'\''IN'\''}' \
  -F 'permissions={'\''document.export'\'':true,'\''document.print'\'':true,'\''document.edit'\'':true,'\''document.allowedformat'\'':["csv","xlsx"]}' \
  -F 'callback_settings={'\''save_format'\'':'\''zsheet'\'','\''save_url'\'':'\''https://zylker.com/save.php/'\''}' \
  -F 'document_info={'\''document_name'\'':'\''Sample'\'', '\''document_id'\'':1349}' \
  -F 'user_info={'\''display_name'\'':'\''Ken'\''}' \
  -F 'ui_options={'\''save_button'\'':'\''show'\''}' 

Sample Response

Copied{
    "gridview_url": "https://api.office-integrator.com/sheet/officeapi/v1/57a295e6ccb2be712117c8bffec4fb166838b7abae482d80e1e3be25edcfc5a71d371cbd6dca44febfba35e74261899c585f4e2f6e7487cdb9c65a4c1bc18a34?zview=rgrid",
    "save_url": "https://api.office-integrator.com/sheet/officeapi/v1/spreadsheet/57a295e6ccb2be712117c8bffec4fb166838b7abae482d80e1e3be25edcfc5a71d371cbd6dca44febfba35e74261899c585f4e2f6e7487cdb9c65a4c1bc18a34/save",
    "session_delete_url": "https://api.office-integrator.com/sheet/officeapi/v1/session/273ca6c7afcf01b28e852233a7ae61f85fd7b3458ac1f29bc1f10a11e17e9c09a451cb5b41c6ee6993a42296f369a0d4",
    "session_id": “273ca6c7afcf01b28e852233a7ae61f85fd7b3458ac1f29bc1f10a11e17e9c09a451cb5b41c6ee6993a42296f369a0d4",
    "document_delete_url": "https://api.office-integrator.com/sheet/officeapi/v1/spreadsheet/1349",
    "document_id": "1349",
    "document_url": "https://sheet.zoho.com/sheet/officeapi/v1/57a295e6ccb2be712117c8bffec4fb166838b7abae482d80e1e3be25edcfc5a71d371cbd6dca44febfba35e74261899c585f4e2f6e7487cdb9c65a4c1bc18a34",
    "download_url": "https://sheet.zoho.com/sheet/officeapi/v1/57a295e6ccb2be712117c8bffec4fb166838b7abae482d80e1e3be25edcfc5a71d371cbd6dca44febfba35e74261899c585f4e2f6e7487cdb9c65a4c1bc18a34/download"
}