WorkAdventure APIs
Choosing the right API for your project
WorkAdventure comes with 5 APIs:
- The Room API
- The Inbound API
- The Webhooks
- The Map Storage API
- The Scripting API
Before trying to integrate your application with WorkAdventure, it is important to understand the scope of each API.
Room API
The Room API is a gRPC-based API that allows an external server to connect to a room and to perform actions such as reading/modifying/listening to a room variable.
Inbound API
The inbound API a classic REST API. From your server, you can connect to WorkAdventure to create / edit / delete members in your world. There is also an existing Zapier plugin that is using the inbound API under the hood.
Sample use case: The inbound API is perfect if you want to integrate WorkAdventure with a ticketing system (for instance to create a new member with each ticket sold in your ticketing system).
Webhooks
Webhooks go the other way: WorkAdventure calls your server. An endpoint subscribes to what it wants to hear about (a new recording, every analytics event of the world, the pre-authentication hook) and receives a signed JSON POST each time it happens.
Sample use case: Archive every meeting recording in your own storage as soon as it is ready, or feed your data warehouse with the activity of your world without polling.
Map Storage API
The map storage API is a REST API that allows you to create and update maps stored in the WorkAdventure server.
Sample use case: The map storage API is perfect if you want to dynamically create maps for your users. Say you have a web application that allows users to create "spaces". Using the map storage API, you can create a new map for each space created by your users.
Scripting API
The scripting API is a client-side API. It is executed in the browser only and can be used to add dynamic behaviours on your maps.