This can be accomplished in many different ways; here below we describe one way of implementing it:
- The user interacts with your App, which communicates with your server. During the session, the data to be used in the card commands is retrieved or generated.
For example, an access control application determines the building, area and beginning and end times to grant access to the cardholder.
- Your server communicates to your App the serviceId to be used when requesting Fidesmo to deliver the service to the contactless card.
Fidesmo puts no constraints on serviceIds, so Service Providers are free to generate them dynamically if needed.
- Your App launches the Service Delivery process, sending as parameters your appId and the serviceId received from your server. The Service Delivery process executes normally – your server will recognize the serviceId and send the appropriate card commands.
- After completion, the Fidesmo backend returns the result code to your App, which can continue execution.
- Your App can continue interacting with your server, if necessary. Both components are now aware of the successful delivery of the service.
An alternative is to use a URL that will open the Fidesmo App and launch the service delivery process. Such URL must be built according to this syntax:
https://apps.fidesmo.com/{appId}/services/{serviceId}