Modules

Modules are a functionality that the customer, or an external developer, can create and connect (or not) to Toqio's APIs to produce specific funtionalities of their own. These plugins will be embeded in Toqio as a secure iframe.

Product Requirements

The purpose of these modules is for the customer to be able to build their functionality (backend and frontend) using any programming language of their choice and hosting the application in their system

Modules Types:

Static

We consider a module as a static one when it's not connected to our API and therefore doesn't need to know who the user is, or if the user is logged in or not.

It can be used to render commercial information, call-to-action features, or content that is managed externally by Toqio.

Dynamic

A dynamic module is connected to our API and the backend of your applications is using Toqio API-based functionality. To enable this, with the I-frame call we are passing a JWT with the information needed to call the API and perform different actions.

FAQs

Q: Can a module be embedded in an existing page or feature?

A: No, a module must be a stand-alone functionality, as part of an isolated feature in the manu.

Q: Can a module interact with functionality?

A: Yes, a module can interact with an existing functionality if the given functionality is exposed via public API in Toqio.

Q: How do I get my module published?

A: Get in touch with you CSM to provide them with the details of the module and the expected flow.

Q: How will the current customer info be passed to the iframe?

A: Toqio uses oAuth2 authentication within apps and webs, providing a JWT upon login. This JWT contains certain user information that will be shared via i-frame with the customer. This data contains information that can afterwards be used to call Toqio’s API such as the userId , companyId and customerId.

Q: How do we confirm that the app is being accessed by an authenticated user, rather than someone just visiting the page in their browser?

A:The only way to access the app or web is by previously passing an authentication screen. There is no way a user can access the app or web without login in.

When a module (plugin) is created, we will also set a permission to the plugin that will be shared with the customer and also in the JWT passed through the i-frame. An endpoint will be available in the Toqio API to allow the customer to validate the token.

Q: What endpoints are available within Toqio?
All Toqio API documentation sits within this link Authenticating against Toqio API

Q: Can I add my new module anywhere in Toqios' side?

A: Displaying the new modules will be limited to a new module in the side menu or certain screens such as the main dashboard screen for the time being, but going forward this could expand to enable deeper connectivity across the Toqio platform.

Q: Is there any restriction in new developments?

A: Toqio is PCI compliant so the only restriction we have related to new developments is cards. We don’t allow any development related to card functionality unless the customer is also PCI compliant.

Q: Will the iFramed widgets be the same for Desktop/Web as for Mobile or will we be required to construct two versions?

A:The components would be the same as what is embebed is a webpage, the client will need to make sure the component is responsive. It is embebed via iframe in Web versions and WebView in App versions.