Admin: Appendix D - Callback Service Configuration
Overview
The RPI Callback Service is used to retrieve results from the following channel providers:
SendGrid
MPulse
Configuration
The redpoint-interaction-plugins-callbackservicewebapi container's port 8080 or 8443 must be exposed. The following application settings JSON file provides an example of a Callback service configured to use the RabbitMQ and Azure Storage providers.
{
"CallbackServiceConfig": {
"QueueEnabled": true,
"QueueProvider": {
"ChannelLabel": "SendGrid",
"CallbackServiceQueuePath": "RPICallbackService",
"CallbackServiceQueueSettings": {
"Assembly": "RedPoint.Resonance.RabbitMQAccess",
"Type": "RedPoint.Resonance.RabbitMQAccess.RabbitMQFactory",
"Settings": [
{
"Key": "HostName",
"Value": "queueservice",
"Values": []
},
{
"Key": "VirtualHost",
"Value": "/",
"Values": []
},
{
"Key": "UserName",
"Value": "redpointdev",
"Values": []
},
{
"Key": "Password",
"Value": "RP$v51wGtDDvqIYuf/L6vJ1c09Bw==",
"Values": []
}
]
}
},
"ExternalContentProvider": {
"Folder": "https://rpidevstorage3.blob.core.windows.net/rpi",
"SaveEmailEvents": false,
"ExternalContentSettings": {
"Assembly": "RedPoint.Azure.Shared",
"Type": "RedPoint.Azure.Shared.AzureStorage.AzureStorageConnector",
"Settings": [
{
"Key": "StorageAccount",
"Value": "rpidevstorage3",
"Values": null
},
{
"Key": "AccessKey",
"Value": "$v51lxxxxxxxxxO",
"Values": null
},
{
"Key": "EnableCdn",
"Value": false,
"Values": null
},
{
"Key": "BlobServiceEndpoint",
"Value": null,
"Values": null
},
{
"Key": "CdnEndpoint",
"Value": null,
"Values": null
},
{
"Key": "UseAzureIdentityAuthentication",
"Value": true,
"Values": null
}
]
}
},
"EnableHttpsRedirection": false
}
}
The QueueProvider
setting can be sourced from the RPI Realtime Queue Providers Configuration interface, by selecting the Copy JSON configuration to clipboard button.
The ExternalContentProvider
setting is only utilized for the Events external folder property in the SendGrid channel configuration setting. This can be done selecting the Copy JSON configuration to clipboard button in the RPI External Content Providers configuration interface.
The setting is not used when configuring the Callback Service for use with mPulse. If the ExternalContentProvider
setting is not configured, a call to the /status API endpoint will return an overall Error state. However, this error has no bearing on processing callback service events if QueueEnabled
is set to true
.
API Endpoints
The Callback service supports the following API endpoints (where <channel label> is one of 'SendGrid' or 'mPulse'):
/test: tests service accessibility
/status?channelLabel=<channel label>: returns specified channel's overall state
/postevents?channelLabel=<channel label>: returns captures specified channel events