Loading...
Loading...
The Quiltt Capacitor SDK provides native Capacitor plugin support for Quiltt Connector, with framework-specific adapters for React and Vue 3.
| Package | Use case |
|---|---|
@quiltt/capacitor | Any framework (Vue, Angular, Svelte, vanilla JS) |
@quiltt/capacitor/vue | Vue 3 components and composables |
@quiltt/capacitor/react | React components and hooks |
For full documentation, additional examples and the source code, see the Quiltt Capacitor SDK on GitHub.
$ npm install @quiltt/capacitor @quiltt/react react react-dom
$ npx cap sync
$ npm install @quiltt/capacitor @quiltt/vue vue
$ npx cap sync
$ npm install @quiltt/capacitor
$ npx cap sync
OAuth bank authentication redirects the user back to your app via a deep link. You need to configure a URL scheme for this callback.
ios/App/App/Info.plist<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>myapp</string>
</array>
</dict>
</array>
android/app/src/main/AndroidManifest.xml<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" />
</intent-filter>
After making configuration changes, run npx cap sync to propagate them to the native projects.
import { QuilttProvider, QuilttConnector } from '@quiltt/capacitor/react'
export const App = () => (
<QuilttProvider token="<SESSION_TOKEN_FROM_SERVER>">
<QuilttConnector
connectorId="<CONNECTOR_ID>"
appLauncherUrl="https://app.example.com/quiltt/callback"
onExitSuccess={(m) => console.log('Connected:', m.connectionId)}
style={{ flex: 1 }}
/>
</QuilttProvider>
)
OAuth is handled automatically — bank auth opens in the system browser and deep link callbacks are captured on return.
For modal-based connection, use QuilttButton:
<QuilttButton connectorId="<CONNECTOR_ID>" onExitSuccess={handleSuccess}>
Add Account
</QuilttButton>
@quiltt/capacitor/react re-exports everything from @quiltt/react, including QuilttProvider, QuilttButton, QuilttContainer, useQuilttSession, useQuilttConnector, useQuilttClient, useQuery, useMutation, and gql.
Register the plugin and set up deep link handling:
// main.ts
import { createApp } from 'vue'
import { QuilttPlugin } from '@quiltt/capacitor/vue'
createApp(App).use(QuilttPlugin).mount('#app')
<script setup lang="ts">
import { QuilttConnector, QuilttConnectorPlugin } from '@quiltt/capacitor/vue'
import { onMounted, onUnmounted, ref } from 'vue'
const connectorRef = ref()
onMounted(() => {
QuilttConnectorPlugin.addListener('deepLink', ({ url }) => {
connectorRef.value?.handleOAuthCallback(url)
})
})
onUnmounted(() => QuilttConnectorPlugin.removeAllListeners())
</script>
<template>
<QuilttConnector
ref="connectorRef"
connector-id="<CONNECTOR_ID>"
app-launcher-url="https://app.example.com/quiltt/callback"
@exit-success="(m) => console.log('Connected:', m.connectionId)"
@navigate="(url) => QuilttConnectorPlugin.openUrl({ url })"
style="width: 100%; height: 100vh"
/>
</template>
For modal-based connection:
<QuilttButton connector-id="<CONNECTOR_ID>" @exit-success="handleSuccess">
Add Bank Account
</QuilttButton>
@quiltt/capacitor/vue re-exports everything from @quiltt/vue.
Use the native plugin directly with Angular, Svelte, or vanilla JS:
import { QuilttConnector } from '@quiltt/capacitor'
// Open OAuth URL in system browser
await QuilttConnector.openUrl({ url: 'https://...' })
// Listen for deep link callbacks
await QuilttConnector.addListener('deepLink', ({ url }) => {
console.log('OAuth callback:', url)
})
Pass connectionId (React) or connection-id (Vue) to repair or reconnect an existing Connection. See the Reconnect Flow guide for more information.
<QuilttConnector connectionId="<CONNECTION_ID>" connectorId="<CONNECTOR_ID>" ... />
import { QuilttConnector } from '@quiltt/capacitor'
| Method | Description |
|---|---|
openUrl({ url }) | Opens a URL in the system browser |
getAppLauncherUrl() | Returns the app launcher URL |
addListener('deepLink', callback) | Listens for deep link callbacks |
removeAllListeners() | Removes all event listeners |
| Prop | Type | Description |
|---|---|---|
connectorId | string | Required. Quiltt Connector ID |
connectionId | string | Existing connection ID for reconnection |
institution | string | Pre-select an institution |
appLauncherUrl | string | Deep link URL for OAuth callbacks |
onLoad | (metadata) => void | Connector loaded |
onExitSuccess | (metadata) => void | Connection successful |
onExitAbort | (metadata) => void | User cancelled |
onExitError | (metadata) => void | Error occurred |
appLauncherUrl matches your configured URL scheme.npx cap sync after any configuration changes.