*** title: Widget with API Customization slug: guides/widget-with-api-customization subtitle: Customize the Transak widget flow using APIs and query parameters --------------------------------------------------------------------------- Transak provides a flexible solution for partners to create a more tailored Transak experience by combining query parameters and APIs to control parts of the user journey within their own application. Partners can skip screens, prefill key user details, and use the Transak UI only where it is required in the user journey. ## Problem Statement Widgets are quick to integrate, but they can still create friction when partners want more control over the user journey, branding, and prefilled data. Here are some of the **key challenges** with a standard hosted widget flow:
|
|
|
|
|
|
|
|
| Screen | Can be skipped? | Demo Link |
|---|---|---|
| Exchange Screen |
|
Skip Exchange Flow Demo |
| Wallet Confirmation Screen |
|
Skip Wallet Address Flow Demo |
| Email Verification Screen |
|
Skip Email Flow Demo |
| OTP Verification Screen |
|
NA |
| Lite KYC Screen |
|
Skip Lite KYC Flow Demo |
| Standard KYC Screen |
|
NA |
| Confirm Order Screen |
|
NA |
| Payment Screen |
|
NA |
| Payment Authorization Screen |
|
NA |
| Order Status Screen |
|
Skip Order Status Flow - API Demo |
| Order History Screen |
|
Skip Order History Flow - API Demo |
|
Recommended parameters `apiKey`, `productsAvailed`, `fiatAmount`, `fiatCurrency`, `cryptoCurrencyCode`, `network`, `paymentMethod`, `hideExchangeScreen` |
|
Useful APIs [Get Price](/api/public/get-price), [Get Fiat Currencies](/api/public/get-fiat-currencies), [Get Crypto Currencies](/api/public/get-crypto-currencies) |
|
Required parameters `walletAddress`, `disableWalletAddressForm=true` |
|
Required parameter `email` |
|
Required parameter `userData` |
|
How it works Once the event is received, you can close the widget or move users to the next step in your own flow instead of keeping them on the completion screen. |
|
Supported integrations [JavaScript SDK](/integration/web/js-sdk), [Android](/integration/mobile/native-android), [iOS](/integration/mobile/native-ios), [React Native](/integration/mobile/react-native) |
|
Supported options [Get Order By ID](/api/public/get-order-by-order-id), [Webhooks](/features/webhooks), [WebSockets](/features/websockets) |
|
Supported option [Get Orders](/api/public/get-orders) |