SDK recipes and code snippets
Use these recipes as implementation starters for common product and support workflows.
What it is
This page contains reusable patterns built on top of Messenger SDK methods and events.
Where to find it in OXVO
All recipe outcomes appear in Inbox conversations, labels, and contact context.
When to use it
Use these snippets when rolling out event-driven support workflows.
Recipe: Track abandoned cart context
Send cart data into conversation attributes before or during checkout exit.
await messenger.setConversationAttributes({
cart_id: 'CART_1024',
cart_value: 249.0,
cart_currency: 'USD',
checkout_step: 'shipping',
abandoned_at: new Date().toISOString(),
});
await messenger.addLabel('abandoned_cart');
Use this context in support triage, priority rules, and analytics.
Recipe: Open Messenger after a failed checkout action
try {
await submitPayment();
} catch (error) {
await messenger.setConversationAttributes({
checkout_error: 'payment_failed',
});
await messenger.open();
}
Recipe: Hide launcher on specific routes
function syncLauncherByRoute(pathname) {
const hideOn = ['/fullscreen-preview', '/auth/callback'];
messenger.setLauncherVisible(!hideOn.includes(pathname));
}
Recipe: Sync locale and theme from app settings
messenger.setLocale(currentLocale);
messenger.setTheme(currentTheme); // light | dark | auto
Recipe: Trigger backend workflow from postback
messenger.on('postback', async event => {
await fetch('/internal/support/postback', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ payload: event?.detail || {} }),
});
});
Recipe: Use live chat loader with custom appearance
messenger.setLiveChatLoader({
enabled: true,
appearance: {
position: 'right',
theme: 'auto',
type: 'expanded_bubble',
launcherTitle: 'Talk to support',
horizontalSpacing: 20,
verticalSpacing: 20,
messengerColor: '#2d6bff',
},
});
Recipe: One-time user education prompt on first open
messenger.once('opened', () => {
showToast('You can share screenshots and files directly in chat.');
});
Related guides
📷 Image (optional): Messenger SDK workflow recipes board
Why: Helps teams map common product events to concrete Messenger SDK actions without reading each recipe in sequence.
File:docs/images/sdk-recipes-workflow-board.png
AI prompt: "Clean product documentation board for OXVO SDK recipes with cards titled Abandoned Cart, Checkout Failure, Route Visibility, Theme/Locale Sync, Postback Automation, and Live Chat Loader; modern SaaS UI mock, neutral grays and primary accent, OXVO branding only, no personal data, 1600x1000."