Skip to content
Oclavex is in private preview, available to selected users. Public signup is blocked. Request access at [email protected].

Collect feedback from your users

Your application can let its users tell you what they want, what is not working, or anything else. Each message arrives in your Feedback inbox in the portal, where you accept it, decline it or mark it a duplicate.

The Oclavex portal does exactly this. Its feedback button sends to Oclavex’s own inbox with the call on this page, on the portal’s own license.

ConsumerFeedbackApi().SubmitFeedbackAsync sends one message on the user’s license session and returns the stored item. It is an ordinary awaited call, not a buffered report, so your application can tell the user it arrived.

var license = (await session.AccessLicenseAsync()).Value!;
var sent = await client.ConsumerFeedbackApi().SubmitFeedbackAsync(new SubmitFeedbackDto
{
SessionId = license.LicenseValidation.CurrentSession,
Kind = FeedbackKindDto.ProblemReport,
Title = "Export times out",
Body = "Exporting the yearly report never finishes.",
ApplicationVersion = appVersion,
Location = currentPage,
ContactEmail = signedInEmail,
});
Console.WriteLine($"Feedback {sent.Id} received.");

client is an IOclavexHttpClient that presents the license session token, as set up in Authentication.

Field What it carries
Kind FeatureRequest, ProblemReport or GeneralComment
Title, Body A one-line summary (up to 100 characters) and the detail (up to 5,120)
ApplicationVersion Optional. The version of your application the user is running
Location Optional. The page, screen or route the user was on. Leave out the query string
IsSecurityIssue Optional. The user says this is a security issue
ContactEmail Optional. Where a reply should go when the session itself carries no email address
FeatureCatalogId Optional. The feature the message is about

The entitlement, product and device come from the session, so a message cannot be filed against a license that is not the caller’s. The reply address is the email address in the session’s token when there is one. When there is none, as for a session activated for a machine rather than a signed-in user, it is ContactEmail.

Each session can send 20 messages in any 24 hours. Sending the same text twice for the same reply address returns the first item instead of storing a copy, so a retry after a lost response is safe.

A message with IsSecurityIssue set carries a red Security label in your inbox. You can add or remove the label there; each change is recorded in the audit log.

The Feedback.Submitted and Feedback.Reviewed webhooks of a labelled message carry "securityIssue": true and leave out its title, body, review note and requester email, so the text stays out of whatever system receives your webhooks. See Webhooks.

The Feedback page under Insights lists what arrived, newest first, with the page and version each message was sent from. Accept, decline or mark each one a duplicate. Your note is the reason the user sees.

To have the sender emailed when you decide, switch on Email the sender when you review their feedback at the top of the page. It is off until you switch it on. The Feedback.Reviewed webhook is sent either way. See Emails.