Skip to content

Scanner

Public surface (scanner): scanBadge

iOS app only — scanBadge throws UnsupportedEnvironment (unsupported_environment) outside iOS.

scanner.scanBusinessCard() and POST /api/open-scanner are removed. There is no SDK replacement. Badge scanning is still scanner.scanBadge(eventID).

type ScanStatus = 'success' | 'cancelled' | 'failed'
type ScanResult = WithStatusBooleans<
| { status: 'success'; attendee: Attendee }
| { status: 'cancelled' }
| { status: 'failed'; error: string }
>
// booleans: isSuccess, isCancelled, isFailed
scanBadge(eventID: number): Promise<ScanResult> // eventID required
import mobilelocker from '@mobilelocker/javascript-sdk'
const result = await mobilelocker.scanner.scanBadge(eventID)
if (result.isSuccess) {
console.log(result.attendee)
} else if (result.isCancelled) {
// user cancelled
} else if (result.isFailed) {
console.error(result.error)
}

Always check isSuccess / status === 'success' before reading attendee.