Advanced Query Parameters

Use advanced parameters for powerful customization

Beyond basic configuration, OZZOBiT supports advanced query parameters that enable sophisticated use cases like multi-wallet support, pre-filled user data, custom redirects, and analytics tracking.

Support multiple blockchain networks with different wallet addresses per network:

javascriptjavascript
// Pass multiple wallet addresses for different networks
const params = new URLSearchParams({
  apiKey: 'YOUR_KEY',
  productsAvailed: 'BUY',
  walletAddressesData: JSON.stringify({
    ethereum: '0x742d...eth',
    polygon: '0xabc1...poly',
    bsc: '0xdef2...bsc',
    avalanche: '0x4567...avax',
  }),
})

// When user switches network, the correct wallet address is auto-selected
const url = `https://OZZOBiT.com/global?${params.toString()}`

Pass comprehensive user data for Auth Reliance and auto-filling forms:

javascriptjavascript
// Full userData object
const userData = {
  firstName: 'John',
  lastName: 'Doe',
  email: 'john@example.com',
  phoneNumber: '+14155551234',   // E.164 format
  userId: 'user_12345',         // Your internal user ID
  countryCode: 'US',            // ISO country code
}

// URL encode and pass as parameter
const params = new URLSearchParams({
  apiKey: 'YOUR_KEY',
  userData: JSON.stringify(userData),
})

Control where users are sent after completing or canceling a transaction:

typescripttypescript
// Basic redirect URL
redirectURL=https://your-app.com/OZZOBiT/callback

// With UTM tracking appended
redirectURL=https://your-app.com/OZZOBiT/callback?utm_source=OZZOBiT&utm_medium=buy-widget

// Your callback handler parses:
// ?status=SUCCESS&orderId=OZZOBiT-xxx&partnerOrderId=your-ref-123

// Example handler (Next.js):
// app/OZZOBiT/callback/page.tsx
export default function CallbackPage() {
  const searchParams = useSearchParams()
  const status = searchParams.get('status')
  const orderId = searchParams.get('orderId')
  
  // Handle success/failure accordingly
}

Pass your own order reference ID that will be returned in webhooks and API responses:

javascriptjavascript
// Set your internal order ID
partnerOrderId=ORDER-${Date.now()}-${userId}

// This value comes back in:
// 1. Webhook payload: data.partnerOrderId
// 2. API response: order.partnerOrderId  
// 3. Redirect URL: ?partnerOrderId=...

// Use it to reconcile OZZOBiT orders with your database
const myOrder = await db.orders.findUnique({
  where: { id: webhook.data.partnerOrderId }
})
myOrder.OZZOBiTStatus = webhook.data.status
await db.orders.update({ data: myOrder })

Add UTM and affiliate tracking parameters:

javascriptjavascript
// Full analytics setup
const params = {
  apiKey: 'YOUR_KEY',
  // UTM parameters
  utmSource: 'website',
  utmMedium: 'buy-button',
  utmCampaign: 'summer_sale_2024',
  utmContent: 'hero_banner',
  utmTerm: 'ethereum',
  // Affiliate tracking
  affiliateClientId: 'affiliate_123',
  // Custom tracking
  paymentAttempt: 'first_time',
}

// These appear in your dashboard analytics
// and can be used for conversion tracking

Limit available options to simplify the user experience:

texttext
// Only allow specific networks
networks=ethereum,polygon

// Only show specific cryptocurrencies
cryptoCurrencyList=ETH,BTC,MATIC,SOL,AVAX

// Only accept specific fiat currencies
fiatCurrencyList=USD,EUR,GBP

// Combine for a focused experience
const restrictedWidgetUrl =
  'https://OZZOBiT.com/global?' +
  'apiKey=YOUR_KEY&' +
  'networks=ethereum,polygon&' +
  'cryptoCurrencyList=ETH,MATIC,USDT,USDC&' +
  'fiatCurrencyList=USD,EUR'