Common issues, error codes, and solutions for Sync As A Service integration.
Error Structure
All errors follow this format:
Copy {
code : " rate_limited " , // Machine-readable error code
message : " Too many requests " , // Human-readable message
details : { retryAfter : 60 } // Optional additional context
} Authentication Errors
Widget shows login automatically
SDK refreshes automatically
User needs to re-authenticate
Connection Errors
Re-enter username/password
Check internet connection
Check sync session for details
Normal - retailer has no orders
Wait 60 seconds, then retry
Too many failed login attempts
Retry with exponential backoff
Symptoms: Blank space where widget should be
Solutions:
Check browser console for errors
Cause: SDK CDN file not found
Solution: Contact Sync As A Service support - this indicates a deployment issue.
Check:
Network connection is working
Browser console for specific error
Authentication Issues
"Invalid client" Error
Cause: Client ID not recognized
Solutions:
Verify client ID matches registration
Ensure client is active (not disabled)
OAuth Redirect Loop
Symptoms: Page keeps redirecting back and forth
Cause: Redirect URI mismatch
Solution:
Check registered redirect URI: https://yourapp.com/callback
Verify actual callback URL matches exactly
Ensure /callback route exists and loads SDK
Phone Number Not Working
Cause: Invalid phone format or account doesn't exist
Solutions:
Format: Must include country code
✗ 555-0100 (missing country code)
Test accounts: Use demo client for testing
Connection Issues
Can't Connect Retailer
Symptoms: Credentials form returns error
Common causes:
Invalid credentials - User entered wrong username/password
Solution: User must re-enter correct credentials
Retailer site down - Target retailer is experiencing issues
Solution: Try again later, check retailer's website status
MFA not entered - Retailer requires additional verification
Solution: Widget shows MFA prompt automatically
Connection Says "Expired"
Cause: Retailer session expired (common after 30-90 days)
Solution: User needs to reconnect the retailer (re-enter credentials)
Orders Not Appearing
Check:
Sync completed successfully
Correct date range
We sync orders from the last 90 days by default
Qualifying purchases
Some retailers only track online orders
In-store purchases may not be available
Permissions
Contact Sync As A Service support if you suspect a permissions issue
Sync Stuck at "Scanning"
Cause: MFA required but not completed
Solution: Check widget state - it should show MFA prompt
Sync Shows "Error"
Check sync session for details:
401 Unauthorized
Cause: Missing or invalid token
Solutions:
Verify token hasn't expired
Ensure you're using the correct client ID
Cause: Access not configured for this endpoint
Solution: Contact Sync As A Service support—your client may need additional access configured.
Common causes:
Wrong endpoint URL
✓ https://sync.brandclub.com/sync/orders
✗ https://sync.brandclub.com/orders (missing /sync prefix)
Resource doesn't exist
Check retailer ID is correct
429 Rate Limited
Cause: Too many requests
Solution: Implement exponential backoff (see Integration Guides )
"No Access-Control-Allow-Origin" Error
Cause: Making API calls directly from browser
Solution: Proxy through your backend
Integration Issues
Solution: Widget auto-resizes. Ensure container has no height restrictions:
Multiple Widgets on Same Page
Not supported. Only initialize once per page:
Enable Verbose Logging
Test with Demo Client
Inspect Network Requests
Open DevTools → Network tab
Filter by "sync.brandclub.com"
Check request/response for errors
Check CloudFront Cache
Error Not Listed Here?
Check browser console for error details
Contact Sync As A Service support with:
Network request/response (if API issue)
Check rate limits aren't being exceeded
Verify caching is implemented
Q: Can I customize the widget UI? A: The widget is fully styled. Custom themes (light/dark) are supported.
Q: How often should I sync? A: We auto-sync users weekly. You can trigger manual syncs, but respect rate limits (10/hour per retailer).
Q: Can users connect the same retailer in multiple apps? A: Yes! That's the portable identity feature - one connection works everywhere.
Q: What if a retailer's API changes? A: Sync As A Service maintains integrations. Your app continues working without changes.
Q: Can I sync historical orders? A: We sync orders from the last 90 days by default.
Q: What about in-store purchases? A: Varies by retailer. Most online-only retailers provide online orders only.