Use the WOPI protocol to integrate with Office for the web
You can use the Web Application Open Platform Interface (WOPI) protocol to integrate Office for the web with your application. The WOPI protocol lets Office for the web access and change files that are stored in your service.
To integrate your application with Office for the web, do the following:
Be a member of the Office 365 - Cloud Storage Partner Program. Currently, integration with the Office for the web cloud service is available to cloud storage partners. You can learn more about the program, as well as how to apply, at https://developer.microsoft.com/office/cloud-storage-partner-program.
Important
The Office 365 - Cloud Storage Partner Program is for independent software vendors whose business is cloud storage. It's not open to Office 365 customers directly.
Set up the WOPI protocol - a set of REST endpoints that expose information about the documents that you want to view or edit in Office for the web. The set of WOPI operations that must be supported is described in the section titled WOPI implementation requirements on Office for the web integration.
Read some XML from an Office for the web URL that provides information about the capabilities that Office for the web applications expose, and information on how to invoke them. This process is called WOPI discovery.
Provide an HTML page (or pages) that host the Office for the web iframe. This is called the host page and is the page your users visit when they open or edit Office documents in Office for the web.
Optionally integrate your own UI elements with Office for the web. For example, when users choose
Share
in Office for the web, you can show your own sharing UI. These interaction points are described in the section titled Using PostMessage to interact with the Office for the web application iframe.
How to read this documentation
This documentation contains complete information on how to integrate with Office for the web, including:
- How to implement the WOPI protocol
- How Office for the web uses the protocol
- How to test your integration
- The process for shipping your integration, and much more.
It can be difficult to know where to begin. The following guidelines can direct you to the specific sections of the most help to you.
If you want to know why Office integration might be useful to you, and what capabilities it provides, read the following sections:
- Integrate with Office for the web - A high level overview of the scenarios enabled by Office for the web integration, as well as a brief description of some of the key technical elements in a successful integration.
- Use the WOPI protocol to integrate with Office for the web - A brief description of the technical pieces that you must implement to integrate with Office for the web.
If you are an engineer about to begin implementing a WOPI host, read the Key concepts section first. When designing your WOPI implementation, you must keep in mind the expectations around file IDs, access tokens, and locks. These concepts are critical to a successful integration with Office for the web.
And also be sure to read the following sections:
If you are a back-end engineer, begin with the following sections in addition to the Key concepts section and other general sections listed above:
Once you have read these sections, any of the other core WOPI operations are useful to read through, such as GetFile, PutFile, PutRelativeFile, UnlockAndRelock, and so on.
If you are a front-end engineer, begin with the following sections in addition to the Key concepts section and other general sections listed above:
- Building a host page
- Using PostMessage to interact with the Office for the web application iframe
- WOPI discovery, specifically the WOPI actions section
Finally, if you are looking for more details about the process for shipping your integration, see the Shipping your Office for the web integration section.