postMessage API

Purpose

Zoho Sheet document messaging or postMessage API enables your web application to interact with Zoho Sheet editor frame by securely sending messages and making the editor work your way.

How it works

To integrate with Zoho Sheet online editor and communicate from your web application, Zoho has come up with XDC (Cross Domain Communicator) API wrapper.

The XDC wrapper is written over the Web Messaging protocol and handles all the communication between the host page and Sheet editor window with minimal configuration. To facilitate ease of integration and accomplish required tasks, partners will be using Zoho Sheet's custom XDC methods instead of Web Message protocol methods directly.

The XDC.setTarget wrapper defines the origin host page and target editor iFrame (Zoho Sheet) that will be used for sending and receiving messages.

Admin Note: To enable postMessage APIs, you need to register your domain(s) with us. Please refer to this link to know how to add your postMessage domains using Office Integrator Dashboard.

Posting Messages to the Sheet Editor Window

To post messages to the Sheet editor iFrame, you need to send a request from the host page using the XDC.postMessage method.

Request Parameters

ParameterData TypeDescription
Mandatory Parameters
messageStringSpecifies the method name
dataObjectDefines the data to be sent from the host page
oncompleteSuccess callbackReturns successful response
onexceptionException callbackReturns error cases

Note: You can check the available postMessage APIs in our Sheet service here.

Load xdc-1.0.min.js and set target

To use postMessage APIs, load the XDC script and set the target iFrame:

<script type="text/javascript" src="https://js.zohocdn.com/officeplatform/v1/js/common/xdc-1.0.min.js"></script>
<script type="text/javascript">
  // Cross Domain Communicator
  XDC.setTarget({
    "origin": "https://sheet.zoho.com",
    "window": document.getElementById("updateIframe").contentWindow
  });
</script>

Load xdc-1.0.min.js and set target:

Copied<script type="text/javascript" src="https://js.zohocdn.com/officeplatform/v1/js/common/xdc-1.0.min.js"></script>
<script type="text/javascript">
	// Cross Domain Communicator
	XDC.setTarget({
		"origin": "https://sheet.zoho.com",
		"window": document.getElementById("updateIframe").contentWindow
	});
</script>

Posting messages:

CopiedXDC.postMessage({
	*"message": [<MethodName: String>],
	*"data": {<Any Object>},
	*"oncomplete": function(data){
 		//Handle completion
	},
	*"onexception": function(data){
	 	//Handle exception
	}
});