import com.cardscan.api.CardScanApi
import com.cardscan.api.models.*
// Initialize with your API key
val apiKey = "sk_test_cardscan_ai_..."
val client = CardScanApi(apiKey)
// Generate a session token for a user
suspend fun authenticate(): String {
val tokenResponse = client.getAccessToken(userId = "unique-user-123")
val sessionToken = tokenResponse.Token
val identityId = tokenResponse.IdentityId
val sessionId = tokenResponse.session_id
// Initialize client with session token for frontend operations
val userClient = CardScanApi(sessionToken = sessionToken, live = false)
return sessionToken
}
suspend fun createCard(): CardApiResponse {
val request = CreateCardRequest(
enableBacksideScan = false,
enableLivescan = false,
metadata = mapOf(
"patient_id" to "12345",
"visit_id" to "v-67890"
)
)
val card = userClient.createCard(request)
println("Card ID: ${card.cardId}")
println("State: ${card.state}") // PENDING
return card
}