sections in the article
This article is a high-level description of how the inriver REST API works and the benefits of using it.
Benefits of a REST API
Note: REST API is preferred over Remoting API. The REST API is more modern and will lead to better performance, especially when working with large data sets.
The inriver REST API has multiple use cases. For instance, you can use it to:
- Build integrations in any code language, integrating inriver with other systems such as CMS, e-commerce, and ERP.
- Customize the interfaces within inriver, providing a strong framework for HTML templates like Application Templates or In-Context Editing.
- Extend Enrich PDF/Preview templates with information from other entities.
Security aspects and recommended usage of the REST API
The REST API exposes functionality that is present in both Portal and ControlCenter.
It provides endpoints for both reading and updating your iPMC data and business model.
The api key should be seen as a username + password with access to your Portal and, if generated on a user with administrator rights, also to ControlCenter!
Even though you could restrict access based on the user on which you generate the api key, we advice against using the REST API as a tool for exposing/exporting entity data to your resellers or other 3:rd parts. For such purposes we instead recommend creating Syndications and/or inbound data extensions.
Trigger syndications via REST API
It is possible to trigger syndications via the REST API, an additional option to triggering them manually in the Web Portal. This allows for building more automatic syndication processes where an external snippet of code or a schema-based extension can call and trigger the syndication in a given time interval, or on some event.
Relay system events
A customer or partner that wants to build most of their integration code in another language than C# can set up listener extensions that relay any of the events that are of interest to that specific integration.
For instance, they can set up a ChannelListener if the integration is built around a channel. A ChannelListener is a type of inriver extension. The listener can then relay the channel events that it receives to an external endpoint.
The external endpoint receiving the events is hosted by the customer or partner themselves. As long as the ChannelListener can communicate with the endpoint, often using a web request of some sort, the customer or partner can use any tech stack they prefer. Any additional calls needed to facilitate the integration can be made using the REST API, which is by design code-language agnostic.
Good to know
Note: The REST API has a 10 concurrent request limitation. The limit is per environment and IP address..
Questions
If you have any questions post a comment below.
Comments
3 comments
Since there is a "Good to know":
There is a timeout that we are aware of in Azure, and there is an idle timeout for 4 minutes end to end.
That means all HTTP request will have less than 4 minutes to reply.
- inRiver
Dany Raymond
Thanks for providing the information.
The timeout issue was for InRiver's extensions, specifically the inbound-extension. We're improving the functionality and increasing the timeslot in our future releases, see https://servicecenter.inriver.com/hc/en-us/articles/360015668500-M-1-Release-Notes-September-2020
Does IP whitelisting possible for API requests?
Please sign in to leave a comment.