Doshii is constantly listening to its partners and looking for new ways to allow Apps and POS to connect. As a result of discussions and feedback with its development partners via its Community Forum, Doshii is pleased to announce that it now offers webhooks, in addition to its existing support for WebSockets.
Doshii CTO, John Twomey, explains that while most web service APIs support a standard RESTful request/ response mode of interaction, some may provide additional or alternative options via webhooks or WebSockets. “These technologies enable different means of communicating with an API, with strengths and weaknesses that vary depending on the context in which they’re used,” he says.
“WebSockets provide a persistent, real-time socket-like connection between two endpoints (most typically, a client and a server). Either party to the connection can send data at any time, and the connection is long-lived, making WebSockets an ideal option for subscribing to server-side event feeds that may produce updates at infrequent and unknown intervals.”
“But, while WebSockets can be powerful, they are not always the best solution,” John goes on. “Because WebSockets are persistent over long periods of time, they require a stable, always-on network connection and active maintenance to be effective.”
“They are suited to scenarios that require real- or near-real-time communication between a client and a server, particularly where one or both sides need to be informed of events that may occur on the other side with little to no warning. For scenarios that lack this, webhooks now offer an alternative on the Doshii platform.”
“Webhooks turn the standard RESTful request/ response model on its head by allowing the API server to post unsolicited updates back to a client,” John explains. “To use a webhook the client will register a callback URL with the API provider. Your system receives the data, and can then perform whatever processing your application needs.”
“While Doshii prefers and recommends WebSockets – which generally come with fewer caveats than using webhooks – webhooks can be a more appropriate choice in certain cases. The best approach depends upon the context of the application being built and the features of its runtime and deployment environment.”