PentaServiceChannelConnector to ServiceChannel - Technical Guide
What is PentaServiceChannelConnector?
PentaServiceChannelConnector is a middleware solution that facilitates the automatic synchronization of work orders between PENTA and ServiceChannel, allowing clients to maintain up-to-date work order data while leveraging the power of both ServiceChannel and Penta. The solution uses webhook notifications from ServiceChannel to queue work order creation in Penta in real-time.
How Does it Work?
When a work order has been accepted in ServiceChannel - the status has been set to In Progress - a webhook, created by Penta, is notified of the change. The webhook calls an Azure function which will then immediately place the notification information in an Azure Storage Queue. Upon entering the Azure Storage Queue, a second Azure function is triggered within a minute, which processes the notification, adding the individual work orders to the Penta system using the PentaConnect API. If a problem is detected (typically, missing or invalid data) the ServiceChannel Provider will be notified via email, and another attempt to process the notification will occur in 10 minutes. An attempt to process the notification will occur up to 5 times before it will move out of the processing queue, at which point the Provider would either have to reset the work order’s status in ServiceChannel to restart the whole process, or they would have to contact Penta Support.
Token Management
ServiceChannel authentication uses an OAUTH2 framework and manages access to its APIs via tokens using a “password” grant type to get access tokens. Token management requires no input from the customer. Access Tokens can then be used in communications between PentaServiceChannelConnector and ServiceChannel APIs. Penta will get a new Access Tokens on a per-request basis to ensure validity.
Logging
By default, the following messages will be logged within Azure, and will be available upon request:
All serialized request and response objects to and from PentaConnectServiceManagement API
All serialized request and response objects to and from ServiceChannel APIs
The URLs that these messages are being sent to
Notifications
Notifications will be sent, via email, to the ServiceChannel Provider at the email address(es) specified during implementation. Email notifications will be sent in the the following circumstances:
No customer/location was found within Penta which matches the location specified on the work order in ServiceChannel.
One or more required pieces of work order data was not available at the time the PentaServiceChannelConnector attempted to add the work order to Penta.
Work order data from ServiceChannel was in the incorrect data type or length.
Penta rejected the work order during validation.
The ServiceChannel work order was removed from the system after the PentaServiceChannelConnector was sent a notification to add it to Penta.
ServiceChannel is unavailable.
(This list does not represent every scenario in which a notification may be sent.)